Skip to content
This repository was archived by the owner on Nov 25, 2020. It is now read-only.

Commit 3f1e891

Browse files
Merge pull request #2 from jeremyvergnas/csv-export
Bump version
2 parents 704ec6e + 7683d92 commit 3f1e891

28 files changed

+831
-10
lines changed

.eslintrc.json

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"extends": "./node_modules/aurelia-tools/.eslintrc.json",
3+
"rules": {}
4+
}

bower.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "aurelia-datatable-export",
3-
"version": "0.0.10",
3+
"version": "0.0.1",
44
"description": "Aurelia-datatable only export",
55
"keywords": [
66
"aurelia",

dist/amd/aurelia-datatable-export.js

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
define(['exports', './datatable-export', 'aurelia-view-manager'], function (exports, _datatableExport, _aureliaViewManager) {
2+
'use strict';
3+
4+
Object.defineProperty(exports, "__esModule", {
5+
value: true
6+
});
7+
exports.configure = configure;
8+
function configure(aurelia) {
9+
aurelia.container.get(_aureliaViewManager.Config).configureNamespace('aurelia-datatable-export', {
10+
location: './{{framework}}/{{view}}.html'
11+
});
12+
13+
aurelia.globalResources('./datatable-export');
14+
}
15+
});
+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<template>
2+
<button
3+
click.trigger="doExport()"
4+
class="btn btn-white">
5+
<i class="fa fa-table"></i>
6+
<span t="Export"></span>
7+
</button>
8+
</template>

dist/amd/datatable-export.js

+121
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
define(['exports', 'aurelia-templating', 'aurelia-view-manager', 'json2csv'], function (exports, _aureliaTemplating, _aureliaViewManager, _json2csv) {
2+
'use strict';
3+
4+
Object.defineProperty(exports, "__esModule", {
5+
value: true
6+
});
7+
exports.DatatableExport = undefined;
8+
9+
var _json2csv2 = _interopRequireDefault(_json2csv);
10+
11+
function _interopRequireDefault(obj) {
12+
return obj && obj.__esModule ? obj : {
13+
default: obj
14+
};
15+
}
16+
17+
function _initDefineProp(target, property, descriptor, context) {
18+
if (!descriptor) return;
19+
Object.defineProperty(target, property, {
20+
enumerable: descriptor.enumerable,
21+
configurable: descriptor.configurable,
22+
writable: descriptor.writable,
23+
value: descriptor.initializer ? descriptor.initializer.call(context) : void 0
24+
});
25+
}
26+
27+
28+
29+
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
30+
var desc = {};
31+
Object['ke' + 'ys'](descriptor).forEach(function (key) {
32+
desc[key] = descriptor[key];
33+
});
34+
desc.enumerable = !!desc.enumerable;
35+
desc.configurable = !!desc.configurable;
36+
37+
if ('value' in desc || desc.initializer) {
38+
desc.writable = true;
39+
}
40+
41+
desc = decorators.slice().reverse().reduce(function (desc, decorator) {
42+
return decorator(target, property, desc) || desc;
43+
}, desc);
44+
45+
if (context && desc.initializer !== void 0) {
46+
desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
47+
desc.initializer = undefined;
48+
}
49+
50+
if (desc.initializer === void 0) {
51+
Object['define' + 'Property'](target, property, desc);
52+
desc = null;
53+
}
54+
55+
return desc;
56+
}
57+
58+
function _initializerWarningHelper(descriptor, context) {
59+
throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');
60+
}
61+
62+
var _dec, _dec2, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3;
63+
64+
var DatatableExport = exports.DatatableExport = (_dec = (0, _aureliaTemplating.customElement)('datatable-export'), _dec2 = (0, _aureliaViewManager.resolvedView)('aurelia-datatable-export', 'datatable-export'), _dec(_class = _dec2(_class = (_class2 = function () {
65+
function DatatableExport() {
66+
67+
68+
_initDefineProp(this, 'columns', _descriptor, this);
69+
70+
_initDefineProp(this, 'datatable', _descriptor2, this);
71+
72+
_initDefineProp(this, 'criteria', _descriptor3, this);
73+
}
74+
75+
DatatableExport.prototype.doExport = function doExport() {
76+
var _this = this;
77+
78+
if (!this.datatable) {
79+
return;
80+
}
81+
82+
return this.datatable.gatherData(this.criteria).then(function (result) {
83+
try {
84+
var csv = (0, _json2csv2.default)({ data: result, fields: _this.columns });
85+
var blob = new Blob([csv]);
86+
87+
if (window.navigator.msSaveOrOpenBlob) {
88+
return window.navigator.msSaveBlob(blob, 'export.csv');
89+
}
90+
91+
var a = window.document.createElement('a');
92+
93+
a.href = window.URL.createObjectURL(blob, { type: 'text/plain' });
94+
a.download = 'export.csv';
95+
document.body.appendChild(a);
96+
a.click();
97+
document.body.removeChild(a);
98+
} catch (err) {
99+
_this.datatable.triggerEvent('exception', { on: 'export', error: err });
100+
}
101+
});
102+
};
103+
104+
return DatatableExport;
105+
}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'columns', [_aureliaTemplating.bindable], {
106+
enumerable: true,
107+
initializer: function initializer() {
108+
return [];
109+
}
110+
}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'datatable', [_aureliaTemplating.bindable], {
111+
enumerable: true,
112+
initializer: function initializer() {
113+
return null;
114+
}
115+
}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'criteria', [_aureliaTemplating.bindable], {
116+
enumerable: true,
117+
initializer: function initializer() {
118+
return {};
119+
}
120+
})), _class2)) || _class) || _class);
121+
});

dist/amd/index.js

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
define(['exports', './aurelia-datatable-export'], function (exports, _aureliaDatatableExport) {
2+
'use strict';
3+
4+
Object.defineProperty(exports, "__esModule", {
5+
value: true
6+
});
7+
Object.keys(_aureliaDatatableExport).forEach(function (key) {
8+
if (key === "default" || key === "__esModule") return;
9+
Object.defineProperty(exports, key, {
10+
enumerable: true,
11+
get: function () {
12+
return _aureliaDatatableExport[key];
13+
}
14+
});
15+
});
16+
});

dist/aurelia-datatable-export.d.ts

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import json2csv from 'json2csv';
2+
import {Config,resolvedView} from 'aurelia-view-manager';
3+
import {bindable,customElement} from 'aurelia-templating';
4+
5+
// added for bundling
6+
// eslint-disable-line no-unused-vars
7+
export declare function configure(aurelia?: any): any;
8+
export declare class DatatableExport {
9+
columns: any;
10+
datatable: any;
11+
criteria: any;
12+
doExport(): any;
13+
}

dist/aurelia-datatable-export.js

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import {DatatableExport} from './datatable-export';
2+
import {Config} from 'aurelia-view-manager';
3+
4+
// added for bundling
5+
// eslint-disable-line no-unused-vars
6+
7+
export function configure(aurelia) {
8+
aurelia.container.get(Config).configureNamespace('aurelia-datatable-export', {
9+
location: './{{framework}}/{{view}}.html'
10+
});
11+
12+
aurelia.globalResources('./datatable-export');
13+
}

dist/bootstrap/datatable-export.html

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<template>
2+
<button
3+
click.trigger="doExport()"
4+
class="btn btn-white">
5+
<i class="fa fa-table"></i>
6+
<span t="Export"></span>
7+
</button>
8+
</template>
+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
'use strict';
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
exports.configure = configure;
7+
8+
var _datatableExport = require('./datatable-export');
9+
10+
var _aureliaViewManager = require('aurelia-view-manager');
11+
12+
function configure(aurelia) {
13+
aurelia.container.get(_aureliaViewManager.Config).configureNamespace('aurelia-datatable-export', {
14+
location: './{{framework}}/{{view}}.html'
15+
});
16+
17+
aurelia.globalResources('./datatable-export');
18+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<template>
2+
<button
3+
click.trigger="doExport()"
4+
class="btn btn-white">
5+
<i class="fa fa-table"></i>
6+
<span t="Export"></span>
7+
</button>
8+
</template>

dist/commonjs/datatable-export.js

+121
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
'use strict';
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
exports.DatatableExport = undefined;
7+
8+
var _dec, _dec2, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3;
9+
10+
var _aureliaTemplating = require('aurelia-templating');
11+
12+
var _aureliaViewManager = require('aurelia-view-manager');
13+
14+
var _json2csv = require('json2csv');
15+
16+
var _json2csv2 = _interopRequireDefault(_json2csv);
17+
18+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19+
20+
function _initDefineProp(target, property, descriptor, context) {
21+
if (!descriptor) return;
22+
Object.defineProperty(target, property, {
23+
enumerable: descriptor.enumerable,
24+
configurable: descriptor.configurable,
25+
writable: descriptor.writable,
26+
value: descriptor.initializer ? descriptor.initializer.call(context) : void 0
27+
});
28+
}
29+
30+
31+
32+
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
33+
var desc = {};
34+
Object['ke' + 'ys'](descriptor).forEach(function (key) {
35+
desc[key] = descriptor[key];
36+
});
37+
desc.enumerable = !!desc.enumerable;
38+
desc.configurable = !!desc.configurable;
39+
40+
if ('value' in desc || desc.initializer) {
41+
desc.writable = true;
42+
}
43+
44+
desc = decorators.slice().reverse().reduce(function (desc, decorator) {
45+
return decorator(target, property, desc) || desc;
46+
}, desc);
47+
48+
if (context && desc.initializer !== void 0) {
49+
desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
50+
desc.initializer = undefined;
51+
}
52+
53+
if (desc.initializer === void 0) {
54+
Object['define' + 'Property'](target, property, desc);
55+
desc = null;
56+
}
57+
58+
return desc;
59+
}
60+
61+
function _initializerWarningHelper(descriptor, context) {
62+
throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');
63+
}
64+
65+
var DatatableExport = exports.DatatableExport = (_dec = (0, _aureliaTemplating.customElement)('datatable-export'), _dec2 = (0, _aureliaViewManager.resolvedView)('aurelia-datatable-export', 'datatable-export'), _dec(_class = _dec2(_class = (_class2 = function () {
66+
function DatatableExport() {
67+
68+
69+
_initDefineProp(this, 'columns', _descriptor, this);
70+
71+
_initDefineProp(this, 'datatable', _descriptor2, this);
72+
73+
_initDefineProp(this, 'criteria', _descriptor3, this);
74+
}
75+
76+
DatatableExport.prototype.doExport = function doExport() {
77+
var _this = this;
78+
79+
if (!this.datatable) {
80+
return;
81+
}
82+
83+
return this.datatable.gatherData(this.criteria).then(function (result) {
84+
try {
85+
var csv = (0, _json2csv2.default)({ data: result, fields: _this.columns });
86+
var blob = new Blob([csv]);
87+
88+
if (window.navigator.msSaveOrOpenBlob) {
89+
return window.navigator.msSaveBlob(blob, 'export.csv');
90+
}
91+
92+
var a = window.document.createElement('a');
93+
94+
a.href = window.URL.createObjectURL(blob, { type: 'text/plain' });
95+
a.download = 'export.csv';
96+
document.body.appendChild(a);
97+
a.click();
98+
document.body.removeChild(a);
99+
} catch (err) {
100+
_this.datatable.triggerEvent('exception', { on: 'export', error: err });
101+
}
102+
});
103+
};
104+
105+
return DatatableExport;
106+
}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'columns', [_aureliaTemplating.bindable], {
107+
enumerable: true,
108+
initializer: function initializer() {
109+
return [];
110+
}
111+
}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'datatable', [_aureliaTemplating.bindable], {
112+
enumerable: true,
113+
initializer: function initializer() {
114+
return null;
115+
}
116+
}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'criteria', [_aureliaTemplating.bindable], {
117+
enumerable: true,
118+
initializer: function initializer() {
119+
return {};
120+
}
121+
})), _class2)) || _class) || _class);

dist/commonjs/index.js

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
'use strict';
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
7+
var _aureliaDatatableExport = require('./aurelia-datatable-export');
8+
9+
Object.keys(_aureliaDatatableExport).forEach(function (key) {
10+
if (key === "default" || key === "__esModule") return;
11+
Object.defineProperty(exports, key, {
12+
enumerable: true,
13+
get: function get() {
14+
return _aureliaDatatableExport[key];
15+
}
16+
});
17+
});

0 commit comments

Comments
 (0)