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
+ } ) ;
0 commit comments