ngx-flexmonster 2.9.51-beta.3 → 2.9.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Angular 12+ directive for Flexmonster Pivot Table & Charts
1
+ # Angular 14+ wrapper for Flexmonster Pivot Table & Charts
2
2
  [![Flexmonster Pivot Table & Charts](https://cdn.flexmonster.com/landing.png)](https://flexmonster.com)
3
3
  Website: www.flexmonster.com
4
4
 
@@ -6,7 +6,9 @@ Website: www.flexmonster.com
6
6
 
7
7
  Flexmonster Pivot is a powerful JavaScript tool for interactive web reporting. It allows you to visualize and analyze data from JSON, CSV, SQL, NoSQL, Elasticsearch, and OLAP data sources quickly and conveniently. Flexmonster is designed to integrate seamlessly with any client-side framework and can be easily embedded into your application.
8
8
 
9
- This repository holds the TypeScript source code for using [Flexmonster Pivot](https://www.flexmonster.com/) in [Angular](https://angular.io/) applications.
9
+ This package is an Ivy-compatible [Flexmonster Pivot](https://www.flexmonster.com/) wrapper for [Angular](https://angular.io/) 14+ applications.
10
+
11
+ For older Angular versions, use [ng-flexmonster](https://www.npmjs.com/package/ng-flexmonster). It works with versions from 5 to 15.
10
12
 
11
13
  * [Usage](#usage)
12
14
  * [Sample project](#sample-project)
@@ -15,7 +17,7 @@ This repository holds the TypeScript source code for using [Flexmonster Pivot](h
15
17
 
16
18
  ## <a name="usage"></a>Usage ##
17
19
 
18
- Refer to [Flexmonster Integration with Angular](https://www.flexmonster.com/doc/integration-with-angular/) tutorial for details on the directive usage.
20
+ Refer to [Flexmonster Integration with Angular](https://www.flexmonster.com/doc/integration-with-angular/) for details on the wrapper usage.
19
21
 
20
22
  ## <a name="sample-project"></a>Sample Project ##
21
23
 
@@ -23,9 +25,9 @@ See our [sample Angular project with Flexmonster](https://github.com/flexmonster
23
25
 
24
26
  ## <a name="license"></a>License ##
25
27
 
26
- Here is [Flexmonster licensing page](https://www.flexmonster.com/pivot-table-editions-and-pricing/). We have free 30 day trial!
28
+ Here is the [Flexmonster licensing page](https://www.flexmonster.com/pivot-table-editions-and-pricing/). We have a free 30-day trial!
27
29
 
28
- Flexmonster Angular directive is released as a MIT-licensed (free and open-source) add-on to Flexmonster Pivot.
30
+ Flexmonster Angular wrapper is released as an MIT-licensed (free and open-source) add-on to Flexmonster Pivot.
29
31
 
30
32
  ## <a name="support-feedback"></a>Support & feedback ##
31
33
 
@@ -0,0 +1,234 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import * as Flexmonster from 'flexmonster';
3
+ import * as i0 from "@angular/core";
4
+ export class FlexmonsterPivot {
5
+ constructor(el) {
6
+ // events
7
+ this.cellclick = new EventEmitter();
8
+ this.celldoubleclick = new EventEmitter();
9
+ this.chartclick = new EventEmitter();
10
+ this.dataerror = new EventEmitter();
11
+ this.datafilecancelled = new EventEmitter();
12
+ this.dataloaded = new EventEmitter();
13
+ this.datachanged = new EventEmitter();
14
+ this.fieldslistclose = new EventEmitter();
15
+ this.fieldslistopen = new EventEmitter();
16
+ this.filterclose = new EventEmitter();
17
+ this.filteropen = new EventEmitter();
18
+ this.drillthroughopen = new EventEmitter();
19
+ this.exportcomplete = new EventEmitter();
20
+ this.exportstart = new EventEmitter();
21
+ this.drillthroughclose = new EventEmitter();
22
+ this.fullscreen = new EventEmitter();
23
+ this.loadingdata = new EventEmitter();
24
+ this.loadinglocalization = new EventEmitter();
25
+ this.loadingolapstructure = new EventEmitter();
26
+ this.loadingreportfile = new EventEmitter();
27
+ this.localizationerror = new EventEmitter();
28
+ this.localizationloaded = new EventEmitter();
29
+ this.olapstructureerror = new EventEmitter();
30
+ this.olapstructureloaded = new EventEmitter();
31
+ this.openingreportfile = new EventEmitter();
32
+ this.printcomplete = new EventEmitter();
33
+ this.printstart = new EventEmitter();
34
+ this.querycomplete = new EventEmitter();
35
+ this.queryerror = new EventEmitter();
36
+ this.ready = new EventEmitter();
37
+ this.reportchange = new EventEmitter();
38
+ this.reportcomplete = new EventEmitter();
39
+ this.reportfilecancelled = new EventEmitter();
40
+ this.reportfileerror = new EventEmitter();
41
+ this.runningquery = new EventEmitter();
42
+ this.unauthorizederror = new EventEmitter();
43
+ this.update = new EventEmitter();
44
+ this.beforetoolbarcreated = new EventEmitter();
45
+ this.beforegriddraw = new EventEmitter();
46
+ this.aftergriddraw = new EventEmitter();
47
+ this.afterchartdraw = new EventEmitter();
48
+ this.root = el.nativeElement;
49
+ }
50
+ ngOnInit() {
51
+ console.log(Flexmonster);
52
+ this.flexmonster = new window.Flexmonster({
53
+ container: this.root.getElementsByClassName('fm-ng-wrapper')[0],
54
+ componentFolder: this.componentFolder,
55
+ width: this.width,
56
+ height: this.height,
57
+ toolbar: this.toolbar,
58
+ licenseKey: this.licenseKey,
59
+ licenseFilePath: this.licenseFilePath,
60
+ report: this.report,
61
+ global: this.global,
62
+ accessibility: this.accessibility,
63
+ shareReportConnection: this.shareReportConnection,
64
+ customizeAPIRequest: this.customizeAPIRequest,
65
+ customizeCell: this.customizeCell,
66
+ customizeChartElement: this.customizeChartElement,
67
+ customizeContextMenu: this.customizeContextMenu,
68
+ sortFieldsList: this.sortFieldsList,
69
+ cellclick: (cell) => this.cellclick.next(cell),
70
+ celldoubleclick: (cell) => this.celldoubleclick.next(cell),
71
+ chartclick: (event) => this.chartclick.next(event),
72
+ datachanged: (event) => this.datachanged.next(event),
73
+ dataerror: (event) => this.dataerror.next(event),
74
+ datafilecancelled: () => this.datafilecancelled.next(),
75
+ dataloaded: () => this.dataloaded.next(),
76
+ fieldslistclose: () => this.fieldslistclose.next(),
77
+ fieldslistopen: () => this.fieldslistopen.next(),
78
+ filterclose: () => this.filterclose.next(),
79
+ filteropen: (event) => this.filteropen.next(event),
80
+ drillthroughopen: (cell) => this.drillthroughopen.next(cell),
81
+ exportcomplete: () => this.exportcomplete.next(),
82
+ exportstart: () => this.exportstart.next(),
83
+ drillthroughclose: () => this.drillthroughclose.next(),
84
+ loadingdata: () => this.loadingdata.next(),
85
+ loadinglocalization: () => this.loadinglocalization.next(),
86
+ loadingolapstructure: () => this.loadingolapstructure.next(),
87
+ loadingreportfile: () => this.loadingreportfile.next(),
88
+ localizationerror: () => this.localizationerror.next(),
89
+ localizationloaded: () => this.localizationloaded.next(),
90
+ olapstructureerror: (event) => this.olapstructureerror.next(event),
91
+ olapstructureloaded: () => this.olapstructureloaded.next(),
92
+ openingreportfile: () => this.openingreportfile.next(),
93
+ printcomplete: () => this.printcomplete.next(),
94
+ printstart: () => this.printstart.next(),
95
+ querycomplete: () => this.querycomplete.next(),
96
+ queryerror: (event) => this.queryerror.next(event),
97
+ ready: () => this.ready.next(this.flexmonster),
98
+ reportchange: () => this.reportchange.next(),
99
+ reportcomplete: () => this.reportcomplete.next(),
100
+ reportfilecancelled: () => this.reportfilecancelled.next(),
101
+ reportfileerror: () => this.reportfileerror.next(),
102
+ runningquery: () => this.runningquery.next(),
103
+ unauthorizederror: (done) => this.unauthorizederror.next(done),
104
+ update: () => this.update.next(),
105
+ beforetoolbarcreated: (toolbar) => this.beforetoolbarcreated.next(toolbar),
106
+ beforegriddraw: (event) => this.beforegriddraw.next(event),
107
+ aftergriddraw: (event) => this.aftergriddraw.next(event),
108
+ afterchartdraw: () => this.afterchartdraw.next()
109
+ });
110
+ }
111
+ }
112
+ FlexmonsterPivot.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FlexmonsterPivot, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
113
+ FlexmonsterPivot.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FlexmonsterPivot, selector: "fm-pivot", inputs: { toolbar: "toolbar", licenseKey: "licenseKey", licenseFilePath: "licenseFilePath", width: "width", height: "height", componentFolder: "componentFolder", report: "report", shareReportConnection: "shareReportConnection", global: "global", accessibility: "accessibility", customizeAPIRequest: "customizeAPIRequest", customizeCell: "customizeCell", customizeChartElement: "customizeChartElement", customizeContextMenu: "customizeContextMenu", sortFieldsList: "sortFieldsList" }, outputs: { cellclick: "cellclick", celldoubleclick: "celldoubleclick", chartclick: "chartclick", dataerror: "dataerror", datafilecancelled: "datafilecancelled", dataloaded: "dataloaded", datachanged: "datachanged", fieldslistclose: "fieldslistclose", fieldslistopen: "fieldslistopen", filterclose: "filterclose", filteropen: "filteropen", drillthroughopen: "drillthroughopen", exportcomplete: "exportcomplete", exportstart: "exportstart", drillthroughclose: "drillthroughclose", fullscreen: "fullscreen", loadingdata: "loadingdata", loadinglocalization: "loadinglocalization", loadingolapstructure: "loadingolapstructure", loadingreportfile: "loadingreportfile", localizationerror: "localizationerror", localizationloaded: "localizationloaded", olapstructureerror: "olapstructureerror", olapstructureloaded: "olapstructureloaded", openingreportfile: "openingreportfile", printcomplete: "printcomplete", printstart: "printstart", querycomplete: "querycomplete", queryerror: "queryerror", ready: "ready", reportchange: "reportchange", reportcomplete: "reportcomplete", reportfilecancelled: "reportfilecancelled", reportfileerror: "reportfileerror", runningquery: "runningquery", unauthorizederror: "unauthorizederror", update: "update", beforetoolbarcreated: "beforetoolbarcreated", beforegriddraw: "beforegriddraw", aftergriddraw: "aftergriddraw", afterchartdraw: "afterchartdraw" }, ngImport: i0, template: '<div style="width:100%;height:100%;"><div class="fm-ng-wrapper"></div></div>', isInline: true });
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FlexmonsterPivot, decorators: [{
115
+ type: Component,
116
+ args: [{
117
+ selector: 'fm-pivot',
118
+ template: '<div style="width:100%;height:100%;"><div class="fm-ng-wrapper"></div></div>',
119
+ //providers: [FlexmonsterPivotService]
120
+ }]
121
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { toolbar: [{
122
+ type: Input
123
+ }], licenseKey: [{
124
+ type: Input
125
+ }], licenseFilePath: [{
126
+ type: Input
127
+ }], width: [{
128
+ type: Input
129
+ }], height: [{
130
+ type: Input
131
+ }], componentFolder: [{
132
+ type: Input
133
+ }], report: [{
134
+ type: Input
135
+ }], shareReportConnection: [{
136
+ type: Input
137
+ }], global: [{
138
+ type: Input
139
+ }], accessibility: [{
140
+ type: Input
141
+ }], customizeAPIRequest: [{
142
+ type: Input
143
+ }], customizeCell: [{
144
+ type: Input
145
+ }], customizeChartElement: [{
146
+ type: Input
147
+ }], customizeContextMenu: [{
148
+ type: Input
149
+ }], sortFieldsList: [{
150
+ type: Input
151
+ }], cellclick: [{
152
+ type: Output
153
+ }], celldoubleclick: [{
154
+ type: Output
155
+ }], chartclick: [{
156
+ type: Output
157
+ }], dataerror: [{
158
+ type: Output
159
+ }], datafilecancelled: [{
160
+ type: Output
161
+ }], dataloaded: [{
162
+ type: Output
163
+ }], datachanged: [{
164
+ type: Output
165
+ }], fieldslistclose: [{
166
+ type: Output
167
+ }], fieldslistopen: [{
168
+ type: Output
169
+ }], filterclose: [{
170
+ type: Output
171
+ }], filteropen: [{
172
+ type: Output
173
+ }], drillthroughopen: [{
174
+ type: Output
175
+ }], exportcomplete: [{
176
+ type: Output
177
+ }], exportstart: [{
178
+ type: Output
179
+ }], drillthroughclose: [{
180
+ type: Output
181
+ }], fullscreen: [{
182
+ type: Output
183
+ }], loadingdata: [{
184
+ type: Output
185
+ }], loadinglocalization: [{
186
+ type: Output
187
+ }], loadingolapstructure: [{
188
+ type: Output
189
+ }], loadingreportfile: [{
190
+ type: Output
191
+ }], localizationerror: [{
192
+ type: Output
193
+ }], localizationloaded: [{
194
+ type: Output
195
+ }], olapstructureerror: [{
196
+ type: Output
197
+ }], olapstructureloaded: [{
198
+ type: Output
199
+ }], openingreportfile: [{
200
+ type: Output
201
+ }], printcomplete: [{
202
+ type: Output
203
+ }], printstart: [{
204
+ type: Output
205
+ }], querycomplete: [{
206
+ type: Output
207
+ }], queryerror: [{
208
+ type: Output
209
+ }], ready: [{
210
+ type: Output
211
+ }], reportchange: [{
212
+ type: Output
213
+ }], reportcomplete: [{
214
+ type: Output
215
+ }], reportfilecancelled: [{
216
+ type: Output
217
+ }], reportfileerror: [{
218
+ type: Output
219
+ }], runningquery: [{
220
+ type: Output
221
+ }], unauthorizederror: [{
222
+ type: Output
223
+ }], update: [{
224
+ type: Output
225
+ }], beforetoolbarcreated: [{
226
+ type: Output
227
+ }], beforegriddraw: [{
228
+ type: Output
229
+ }], aftergriddraw: [{
230
+ type: Output
231
+ }], afterchartdraw: [{
232
+ type: Output
233
+ }] } });
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWZsZXhtb25zdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mbGV4bW9uc3Rlci9zcmMvbGliL25neC1mbGV4bW9uc3Rlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFPLGVBQWUsQ0FBQztBQUM1RixPQUFPLEtBQUssV0FBVyxNQUFNLGFBQWEsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLGdCQUFnQjtJQWlFM0IsWUFBWSxFQUFjO1FBL0MxQixTQUFTO1FBQ0MsY0FBUyxHQUF1QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25FLG9CQUFlLEdBQXVDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDekUsZUFBVSxHQUF3QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JFLGNBQVMsR0FBeUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyRSxzQkFBaUIsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzRCxlQUFVLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsZ0JBQVcsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN2RCxvQkFBZSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3pELG1CQUFjLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEQsZ0JBQVcsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyRCxlQUFVLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEQscUJBQWdCLEdBQStELElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEcsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RCxnQkFBVyxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JELHNCQUFpQixHQUF1QixJQUFJLFlBQVksRUFBRSxD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QXBCLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQgfSAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIEZsZXhtb25zdGVyIGZyb20gJ2ZsZXhtb25zdGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZm0tcGl2b3QnLFxyXG4gIHRlbXBsYXRlOiAnPGRpdiBzdHlsZT1cIndpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7XCI+PGRpdiBjbGFzcz1cImZtLW5nLXdyYXBwZXJcIj48L2Rpdj48L2Rpdj4nLFxyXG4gIC8vcHJvdmlkZXJzOiBbRmxleG1vbnN0ZXJQaXZvdFNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGbGV4bW9uc3RlclBpdm90IHsgLy8gaW1wbGVtZW50cyBPbkluaXRcclxuICAvLyBwYXJhbXNcclxuICBASW5wdXQoKSB0b29sYmFyOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGxpY2Vuc2VLZXk6IHN0cmluZztcclxuICBASW5wdXQoKSBsaWNlbnNlRmlsZVBhdGg6IHN0cmluZztcclxuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGNvbXBvbmVudEZvbGRlcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHJlcG9ydDogRmxleG1vbnN0ZXIuUmVwb3J0IHwgc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNoYXJlUmVwb3J0Q29ubmVjdGlvbjogRmxleG1vbnN0ZXIuQVBJQ2xpZW50T3B0aW9ucztcclxuICBASW5wdXQoKSBnbG9iYWw6IEZsZXhtb25zdGVyLlJlcG9ydDtcclxuICBASW5wdXQoKSBhY2Nlc3NpYmlsaXR5OiBGbGV4bW9uc3Rlci5BY2Nlc3NpYmlsaXR5T3B0aW9ucztcclxuICBASW5wdXQoKSBjdXN0b21pemVBUElSZXF1ZXN0OiAocmVxdWVzdDogT2JqZWN0KSA9PiBPYmplY3Q7XHJcbiAgQElucHV0KCkgY3VzdG9taXplQ2VsbDogKGNlbGw6IEZsZXhtb25zdGVyLkNlbGxCdWlsZGVyLCBkYXRhOiBGbGV4bW9uc3Rlci5DZWxsRGF0YSkgPT4gdm9pZDtcclxuICBASW5wdXQoKSBjdXN0b21pemVDaGFydEVsZW1lbnQ6IChlbGVtZW50OiBFbGVtZW50LCBkYXRhOiBGbGV4bW9uc3Rlci5DaGFydERhdGEgfCBGbGV4bW9uc3Rlci5DaGFydExlZ2VuZEl0ZW1EYXRhKSA9PiB2b2lkO1xyXG4gIEBJbnB1dCgpIGN1c3RvbWl6ZUNvbnRleHRNZW51OiAoY2VsbDogRmxleG1vbnN0ZXIuQ29udGV4dE1lbnVJdGVtW10sIGRhdGE6IEZsZXhtb25zdGVyLkNlbGxEYXRhIHwgRmxleG1vbnN0ZXIuQ2hhcnREYXRhLCB2aWV3VHlwZTogc3RyaW5nKSA9PiBGbGV4bW9uc3Rlci5Db250ZXh0TWVudUl0ZW1bXTtcclxuICBASW5wdXQoKSBzb3J0RmllbGRzTGlzdDogKGZpcnN0OiBGbGV4bW9uc3Rlci5GaWVsZHNMaXN0U29ydGluZ0l0ZW0sIHNlY29uZDogRmxleG1vbnN0ZXIuRmllbGRzTGlzdFNvcnRpbmdJdGVtLCBmaWVsZHNMaXN0VHlwZTogc3RyaW5nKSA9PiBudW1iZXI7XHJcblxyXG4gIC8vIGV2ZW50c1xyXG4gIEBPdXRwdXQoKSBjZWxsY2xpY2s6IEV2ZW50RW1pdHRlcjxGbGV4bW9uc3Rlci5DZWxsRGF0YT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNlbGxkb3VibGVjbGljazogRXZlbnRFbWl0dGVyPEZsZXhtb25zdGVyLkNlbGxEYXRhPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2hhcnRjbGljazogRXZlbnRFbWl0dGVyPEZsZXhtb25zdGVyLkNoYXJ0RGF0YT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGRhdGFlcnJvcjogRXZlbnRFbWl0dGVyPEZsZXhtb25zdGVyLkVycm9yRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBkYXRhZmlsZWNhbmNlbGxlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBkYXRhbG9hZGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGRhdGFjaGFuZ2VkOiBFdmVudEVtaXR0ZXI8T2JqZWN0PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZmllbGRzbGlzdGNsb3NlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGZpZWxkc2xpc3RvcGVuOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGZpbHRlcmNsb3NlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGZpbHRlcm9wZW46IEV2ZW50RW1pdHRlcjxPYmplY3Q+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBkcmlsbHRocm91Z2hvcGVuOiBFdmVudEVtaXR0ZXI8RmxleG1vbnN0ZXIuQ2VsbERhdGEgfCBGbGV4bW9uc3Rlci5DaGFydERhdGE+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBleHBvcnRjb21wbGV0ZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBleHBvcnRzdGFydDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBkcmlsbHRocm91Z2hjbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBmdWxsc2NyZWVuOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGxvYWRpbmdkYXRhOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGxvYWRpbmdsb2NhbGl6YXRpb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgbG9hZGluZ29sYXBzdHJ1Y3R1cmU6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgbG9hZGluZ3JlcG9ydGZpbGU6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgbG9jYWxpemF0aW9uZXJyb3I6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgbG9jYWxpemF0aW9ubG9hZGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9sYXBzdHJ1Y3R1cmVlcnJvcjogRXZlbnRFbWl0dGVyPEZsZXhtb25zdGVyLkVycm9yRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbGFwc3RydWN0dXJlbG9hZGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9wZW5pbmdyZXBvcnRmaWxlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHByaW50Y29tcGxldGU6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcHJpbnRzdGFydDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBxdWVyeWNvbXBsZXRlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHF1ZXJ5ZXJyb3I6IEV2ZW50RW1pdHRlcjxGbGV4bW9uc3Rlci5FcnJvckV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcmVhZHk6IEV2ZW50RW1pdHRlcjxGbGV4bW9uc3Rlci5QaXZvdD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHJlcG9ydGNoYW5nZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSByZXBvcnRjb21wbGV0ZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSByZXBvcnRmaWxlY2FuY2VsbGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHJlcG9ydGZpbGVlcnJvcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBydW5uaW5ncXVlcnk6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgdW5hdXRob3JpemVkZXJyb3I6IEV2ZW50RW1pdHRlcjxGbGV4bW9uc3Rlci5VbmF1dGhvcml6ZWRFcnJvckhhbmRsZXI+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSB1cGRhdGU6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgYmVmb3JldG9vbGJhcmNyZWF0ZWQ6IEV2ZW50RW1pdHRlcjxGbGV4bW9uc3Rlci5Ub29sYmFyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgYmVmb3JlZ3JpZGRyYXc6IEV2ZW50RW1pdHRlcjxPYmplY3Q+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBhZnRlcmdyaWRkcmF3OiBFdmVudEVtaXR0ZXI8T2JqZWN0PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgYWZ0ZXJjaGFydGRyYXc6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvLyBhcGlcclxuICBwdWJsaWMgZmxleG1vbnN0ZXI6IEZsZXhtb25zdGVyLlBpdm90O1xyXG4gIC8vIHByaXZhdGVcclxuICBwcml2YXRlIHJvb3Q6IEhUTUxFbGVtZW50O1xyXG5cclxuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5yb290ID0gPEhUTUxFbGVtZW50PmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnNvbGUubG9nKEZsZXhtb25zdGVyKVxyXG4gICAgdGhpcy5mbGV4bW9uc3RlciA9IG5ldyB3aW5kb3cuRmxleG1vbnN0ZXIoe1xyXG4gICAgICBjb250YWluZXI6IHRoaXMucm9vdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdmbS1uZy13cmFwcGVyJylbMF0sXHJcbiAgICAgIGNvbXBvbmVudEZvbGRlcjogdGhpcy5jb21wb25lbnRGb2xkZXIsXHJcbiAgICAgIHdpZHRoOiB0aGlzLndpZHRoLFxyXG4gICAgICBoZWlnaHQ6IHRoaXMuaGVpZ2h0LFxyXG4gICAgICB0b29sYmFyOiB0aGlzLnRvb2xiYXIsXHJcbiAgICAgIGxpY2Vuc2VLZXk6IHRoaXMubGljZW5zZUtleSxcclxuICAgICAgbGljZW5zZUZpbGVQYXRoOiB0aGlzLmxpY2Vuc2VGaWxlUGF0aCxcclxuICAgICAgcmVwb3J0OiB0aGlzLnJlcG9ydCxcclxuICAgICAgZ2xvYmFsOiB0aGlzLmdsb2JhbCxcclxuICAgICAgYWNjZXNzaWJpbGl0eTogdGhpcy5hY2Nlc3NpYmlsaXR5LFxyXG4gICAgICBzaGFyZVJlcG9ydENvbm5lY3Rpb246IHRoaXMuc2hhcmVSZXBvcnRDb25uZWN0aW9uLFxyXG4gICAgICBjdXN0b21pemVBUElSZXF1ZXN0OiB0aGlzLmN1c3RvbWl6ZUFQSVJlcXVlc3QsXHJcbiAgICAgIGN1c3RvbWl6ZUNlbGw6IHRoaXMuY3VzdG9taXplQ2VsbCxcclxuICAgICAgY3VzdG9taXplQ2hhcnRFbGVtZW50OiB0aGlzLmN1c3RvbWl6ZUNoYXJ0RWxlbWVudCxcclxuICAgICAgY3VzdG9taXplQ29udGV4dE1lbnU6IHRoaXMuY3VzdG9taXplQ29udGV4dE1lbnUsXHJcbiAgICAgIHNvcnRGaWVsZHNMaXN0OiB0aGlzLnNvcnRGaWVsZHNMaXN0LFxyXG4gICAgICBjZWxsY2xpY2s6IChjZWxsOiBGbGV4bW9uc3Rlci5DZWxsRGF0YSkgPT4gdGhpcy5jZWxsY2xpY2submV4dChjZWxsKSxcclxuICAgICAgY2VsbGRvdWJsZWNsaWNrOiAoY2VsbDogRmxleG1vbnN0ZXIuQ2VsbERhdGEpID0+IHRoaXMuY2VsbGRvdWJsZWNsaWNrLm5leHQoY2VsbCksXHJcbiAgICAgIGNoYXJ0Y2xpY2s6IChldmVudDogRmxleG1vbnN0ZXIuQ2hhcnREYXRhKSA9PiB0aGlzLmNoYXJ0Y2xpY2submV4dChldmVudCksXHJcbiAgICAgIGRhdGFjaGFuZ2VkOiAoZXZlbnQ6IE9iamVjdCkgPT4gdGhpcy5kYXRhY2hhbmdlZC5uZXh0KGV2ZW50KSxcclxuICAgICAgZGF0YWVycm9yOiAoZXZlbnQ6IEZsZXhtb25zdGVyLkVycm9yRXZlbnQgfCB1bmRlZmluZWQpID0+IHRoaXMuZGF0YWVycm9yLm5leHQoZXZlbnQhKSxcclxuICAgICAgZGF0YWZpbGVjYW5jZWxsZWQ6ICgpID0+IHRoaXMuZGF0YWZpbGVjYW5jZWxsZWQubmV4dCgpLFxyXG4gICAgICBkYXRhbG9hZGVkOiAoKSA9PiB0aGlzLmRhdGFsb2FkZWQubmV4dCgpLFxyXG4gICAgICBmaWVsZHNsaXN0Y2xvc2U6ICgpID0+IHRoaXMuZmllbGRzbGlzdGNsb3NlLm5leHQoKSxcclxuICAgICAgZmllbGRzbGlzdG9wZW46ICgpID0+IHRoaXMuZmllbGRzbGlzdG9wZW4ubmV4dCgpLFxyXG4gICAgICBmaWx0ZXJjbG9zZTogKCkgPT4gdGhpcy5maWx0ZXJjbG9zZS5uZXh0KCksXHJcbiAgICAgIGZpbHRlcm9wZW46IChldmVudDogT2JqZWN0KSA9PiB0aGlzLmZpbHRlcm9wZW4ubmV4dChldmVudCksXHJcbiAgICAgIGRyaWxsdGhyb3VnaG9wZW46IChjZWxsOiBGbGV4bW9uc3Rlci5DZWxsRGF0YSB8IEZsZXhtb25zdGVyLkNoYXJ0RGF0YSkgPT4gdGhpcy5kcmlsbHRocm91Z2hvcGVuLm5leHQoY2VsbCksXHJcbiAgICAgIGV4cG9ydGNvbXBsZXRlOiAoKSA9PiB0aGlzLmV4cG9ydGNvbXBsZXRlLm5leHQoKSxcclxuICAgICAgZXhwb3J0c3RhcnQ6ICgpID0+IHRoaXMuZXhwb3J0c3RhcnQubmV4dCgpLFxyXG4gICAgICBkcmlsbHRocm91Z2hjbG9zZTogKCkgPT4gdGhpcy5kcmlsbHRocm91Z2hjbG9zZS5uZXh0KCksXHJcbiAgICAgIGxvYWRpbmdkYXRhOiAoKSA9PiB0aGlzLmxvYWRpbmdkYXRhLm5leHQoKSxcclxuICAgICAgbG9hZGluZ2xvY2FsaXphdGlvbjogKCkgPT4gdGhpcy5sb2FkaW5nbG9jYWxpemF0aW9uLm5leHQoKSxcclxuICAgICAgbG9hZGluZ29sYXBzdHJ1Y3R1cmU6ICgpID0+IHRoaXMubG9hZGluZ29sYXBzdHJ1Y3R1cmUubmV4dCgpLFxyXG4gICAgICBsb2FkaW5ncmVwb3J0ZmlsZTogKCkgPT4gdGhpcy5sb2FkaW5ncmVwb3J0ZmlsZS5uZXh0KCksXHJcbiAgICAgIGxvY2FsaXphdGlvbmVycm9yOiAoKSA9PiB0aGlzLmxvY2FsaXphdGlvbmVycm9yLm5leHQoKSxcclxuICAgICAgbG9jYWxpemF0aW9ubG9hZGVkOiAoKSA9PiB0aGlzLmxvY2FsaXphdGlvbmxvYWRlZC5uZXh0KCksXHJcbiAgICAgIG9sYXBzdHJ1Y3R1cmVlcnJvcjogKGV2ZW50OiBGbGV4bW9uc3Rlci5FcnJvckV2ZW50ICB8IHVuZGVmaW5lZCkgPT4gdGhpcy5vbGFwc3RydWN0dXJlZXJyb3IubmV4dChldmVudCEpLFxyXG4gICAgICBvbGFwc3RydWN0dXJlbG9hZGVkOiAoKSA9PiB0aGlzLm9sYXBzdHJ1Y3R1cmVsb2FkZWQubmV4dCgpLFxyXG4gICAgICBvcGVuaW5ncmVwb3J0ZmlsZTogKCkgPT4gdGhpcy5vcGVuaW5ncmVwb3J0ZmlsZS5uZXh0KCksXHJcbiAgICAgIHByaW50Y29tcGxldGU6ICgpID0+IHRoaXMucHJpbnRjb21wbGV0ZS5uZXh0KCksXHJcbiAgICAgIHByaW50c3RhcnQ6ICgpID0+IHRoaXMucHJpbnRzdGFydC5uZXh0KCksXHJcbiAgICAgIHF1ZXJ5Y29tcGxldGU6ICgpID0+IHRoaXMucXVlcnljb21wbGV0ZS5uZXh0KCksXHJcbiAgICAgIHF1ZXJ5ZXJyb3I6IChldmVudDogRmxleG1vbnN0ZXIuRXJyb3JFdmVudCAgfCB1bmRlZmluZWQpID0+IHRoaXMucXVlcnllcnJvci5uZXh0KGV2ZW50ISksXHJcbiAgICAgIHJlYWR5OiAoKSA9PiB0aGlzLnJlYWR5Lm5leHQodGhpcy5mbGV4bW9uc3RlciksXHJcbiAgICAgIHJlcG9ydGNoYW5nZTogKCkgPT4gdGhpcy5yZXBvcnRjaGFuZ2UubmV4dCgpLFxyXG4gICAgICByZXBvcnRjb21wbGV0ZTogKCkgPT4gdGhpcy5yZXBvcnRjb21wbGV0ZS5uZXh0KCksXHJcbiAgICAgIHJlcG9ydGZpbGVjYW5jZWxsZWQ6ICgpID0+IHRoaXMucmVwb3J0ZmlsZWNhbmNlbGxlZC5uZXh0KCksXHJcbiAgICAgIHJlcG9ydGZpbGVlcnJvcjogKCkgPT4gdGhpcy5yZXBvcnRmaWxlZXJyb3IubmV4dCgpLFxyXG4gICAgICBydW5uaW5ncXVlcnk6ICgpID0+IHRoaXMucnVubmluZ3F1ZXJ5Lm5leHQoKSxcclxuICAgICAgdW5hdXRob3JpemVkZXJyb3I6IChkb25lOiBGbGV4bW9uc3Rlci5VbmF1dGhvcml6ZWRFcnJvckhhbmRsZXIpID0+IHRoaXMudW5hdXRob3JpemVkZXJyb3IubmV4dChkb25lKSxcclxuICAgICAgdXBkYXRlOiAoKSA9PiB0aGlzLnVwZGF0ZS5uZXh0KCksXHJcbiAgICAgIGJlZm9yZXRvb2xiYXJjcmVhdGVkOiAodG9vbGJhcjogRmxleG1vbnN0ZXIuVG9vbGJhcikgPT4gdGhpcy5iZWZvcmV0b29sYmFyY3JlYXRlZC5uZXh0KHRvb2xiYXIpLFxyXG4gICAgICBiZWZvcmVncmlkZHJhdzogKGV2ZW50OiBPYmplY3QpID0+IHRoaXMuYmVmb3JlZ3JpZGRyYXcubmV4dChldmVudCksXHJcbiAgICAgIGFmdGVyZ3JpZGRyYXc6IChldmVudDogT2JqZWN0KSA9PiB0aGlzLmFmdGVyZ3JpZGRyYXcubmV4dChldmVudCksXHJcbiAgICAgIGFmdGVyY2hhcnRkcmF3OiAoKSA9PiB0aGlzLmFmdGVyY2hhcnRkcmF3Lm5leHQoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FlexmonsterPivot } from './ngx-flexmonster.component';
4
+ import * as i0 from "@angular/core";
5
+ export class FlexmonsterPivotModule {
6
+ }
7
+ FlexmonsterPivotModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FlexmonsterPivotModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ FlexmonsterPivotModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FlexmonsterPivotModule, declarations: [FlexmonsterPivot], imports: [CommonModule], exports: [FlexmonsterPivot] });
9
+ FlexmonsterPivotModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FlexmonsterPivotModule, imports: [CommonModule] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FlexmonsterPivotModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ imports: [
14
+ CommonModule
15
+ ],
16
+ declarations: [FlexmonsterPivot],
17
+ exports: [FlexmonsterPivot]
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWZsZXhtb25zdGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mbGV4bW9uc3Rlci9zcmMvbGliL25neC1mbGV4bW9uc3Rlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBUy9ELE1BQU0sT0FBTyxzQkFBc0I7O21IQUF0QixzQkFBc0I7b0hBQXRCLHNCQUFzQixpQkFIbEIsZ0JBQWdCLGFBRjdCLFlBQVksYUFHSixnQkFBZ0I7b0hBRWYsc0JBQXNCLFlBTC9CLFlBQVk7MkZBS0gsc0JBQXNCO2tCQVBsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUNoQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgRmxleG1vbnN0ZXJQaXZvdCB9IGZyb20gJy4vbmd4LWZsZXhtb25zdGVyLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbRmxleG1vbnN0ZXJQaXZvdF0sXHJcbiAgZXhwb3J0czogW0ZsZXhtb25zdGVyUGl2b3RdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGbGV4bW9uc3RlclBpdm90TW9kdWxlIHsgfVxyXG4iXX0=
@@ -0,0 +1,262 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Component, Input, Output, NgModule } from '@angular/core';
3
+ import * as Flexmonster from 'flexmonster';
4
+ import { CommonModule } from '@angular/common';
5
+
6
+ class FlexmonsterPivot {
7
+ constructor(el) {
8
+ // events
9
+ this.cellclick = new EventEmitter();
10
+ this.celldoubleclick = new EventEmitter();
11
+ this.chartclick = new EventEmitter();
12
+ this.dataerror = new EventEmitter();
13
+ this.datafilecancelled = new EventEmitter();
14
+ this.dataloaded = new EventEmitter();
15
+ this.datachanged = new EventEmitter();
16
+ this.fieldslistclose = new EventEmitter();
17
+ this.fieldslistopen = new EventEmitter();
18
+ this.filterclose = new EventEmitter();
19
+ this.filteropen = new EventEmitter();
20
+ this.drillthroughopen = new EventEmitter();
21
+ this.exportcomplete = new EventEmitter();
22
+ this.exportstart = new EventEmitter();
23
+ this.drillthroughclose = new EventEmitter();
24
+ this.fullscreen = new EventEmitter();
25
+ this.loadingdata = new EventEmitter();
26
+ this.loadinglocalization = new EventEmitter();
27
+ this.loadingolapstructure = new EventEmitter();
28
+ this.loadingreportfile = new EventEmitter();
29
+ this.localizationerror = new EventEmitter();
30
+ this.localizationloaded = new EventEmitter();
31
+ this.olapstructureerror = new EventEmitter();
32
+ this.olapstructureloaded = new EventEmitter();
33
+ this.openingreportfile = new EventEmitter();
34
+ this.printcomplete = new EventEmitter();
35
+ this.printstart = new EventEmitter();
36
+ this.querycomplete = new EventEmitter();
37
+ this.queryerror = new EventEmitter();
38
+ this.ready = new EventEmitter();
39
+ this.reportchange = new EventEmitter();
40
+ this.reportcomplete = new EventEmitter();
41
+ this.reportfilecancelled = new EventEmitter();
42
+ this.reportfileerror = new EventEmitter();
43
+ this.runningquery = new EventEmitter();
44
+ this.unauthorizederror = new EventEmitter();
45
+ this.update = new EventEmitter();
46
+ this.beforetoolbarcreated = new EventEmitter();
47
+ this.beforegriddraw = new EventEmitter();
48
+ this.aftergriddraw = new EventEmitter();
49
+ this.afterchartdraw = new EventEmitter();
50
+ this.root = el.nativeElement;
51
+ }
52
+ ngOnInit() {
53
+ console.log(Flexmonster);
54
+ this.flexmonster = new window.Flexmonster({
55
+ container: this.root.getElementsByClassName('fm-ng-wrapper')[0],
56
+ componentFolder: this.componentFolder,
57
+ width: this.width,
58
+ height: this.height,
59
+ toolbar: this.toolbar,
60
+ licenseKey: this.licenseKey,
61
+ licenseFilePath: this.licenseFilePath,
62
+ report: this.report,
63
+ global: this.global,
64
+ accessibility: this.accessibility,
65
+ shareReportConnection: this.shareReportConnection,
66
+ customizeAPIRequest: this.customizeAPIRequest,
67
+ customizeCell: this.customizeCell,
68
+ customizeChartElement: this.customizeChartElement,
69
+ customizeContextMenu: this.customizeContextMenu,
70
+ sortFieldsList: this.sortFieldsList,
71
+ cellclick: (cell) => this.cellclick.next(cell),
72
+ celldoubleclick: (cell) => this.celldoubleclick.next(cell),
73
+ chartclick: (event) => this.chartclick.next(event),
74
+ datachanged: (event) => this.datachanged.next(event),
75
+ dataerror: (event) => this.dataerror.next(event),
76
+ datafilecancelled: () => this.datafilecancelled.next(),
77
+ dataloaded: () => this.dataloaded.next(),
78
+ fieldslistclose: () => this.fieldslistclose.next(),
79
+ fieldslistopen: () => this.fieldslistopen.next(),
80
+ filterclose: () => this.filterclose.next(),
81
+ filteropen: (event) => this.filteropen.next(event),
82
+ drillthroughopen: (cell) => this.drillthroughopen.next(cell),
83
+ exportcomplete: () => this.exportcomplete.next(),
84
+ exportstart: () => this.exportstart.next(),
85
+ drillthroughclose: () => this.drillthroughclose.next(),
86
+ loadingdata: () => this.loadingdata.next(),
87
+ loadinglocalization: () => this.loadinglocalization.next(),
88
+ loadingolapstructure: () => this.loadingolapstructure.next(),
89
+ loadingreportfile: () => this.loadingreportfile.next(),
90
+ localizationerror: () => this.localizationerror.next(),
91
+ localizationloaded: () => this.localizationloaded.next(),
92
+ olapstructureerror: (event) => this.olapstructureerror.next(event),
93
+ olapstructureloaded: () => this.olapstructureloaded.next(),
94
+ openingreportfile: () => this.openingreportfile.next(),
95
+ printcomplete: () => this.printcomplete.next(),
96
+ printstart: () => this.printstart.next(),
97
+ querycomplete: () => this.querycomplete.next(),
98
+ queryerror: (event) => this.queryerror.next(event),
99
+ ready: () => this.ready.next(this.flexmonster),
100
+ reportchange: () => this.reportchange.next(),
101
+ reportcomplete: () => this.reportcomplete.next(),
102
+ reportfilecancelled: () => this.reportfilecancelled.next(),
103
+ reportfileerror: () => this.reportfileerror.next(),
104
+ runningquery: () => this.runningquery.next(),
105
+ unauthorizederror: (done) => this.unauthorizederror.next(done),
106
+ update: () => this.update.next(),
107
+ beforetoolbarcreated: (toolbar) => this.beforetoolbarcreated.next(toolbar),
108
+ beforegriddraw: (event) => this.beforegriddraw.next(event),
109
+ aftergriddraw: (event) => this.aftergriddraw.next(event),
110
+ afterchartdraw: () => this.afterchartdraw.next()
111
+ });
112
+ }
113
+ }
114
+ FlexmonsterPivot.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FlexmonsterPivot, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
115
+ FlexmonsterPivot.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FlexmonsterPivot, selector: "fm-pivot", inputs: { toolbar: "toolbar", licenseKey: "licenseKey", licenseFilePath: "licenseFilePath", width: "width", height: "height", componentFolder: "componentFolder", report: "report", shareReportConnection: "shareReportConnection", global: "global", accessibility: "accessibility", customizeAPIRequest: "customizeAPIRequest", customizeCell: "customizeCell", customizeChartElement: "customizeChartElement", customizeContextMenu: "customizeContextMenu", sortFieldsList: "sortFieldsList" }, outputs: { cellclick: "cellclick", celldoubleclick: "celldoubleclick", chartclick: "chartclick", dataerror: "dataerror", datafilecancelled: "datafilecancelled", dataloaded: "dataloaded", datachanged: "datachanged", fieldslistclose: "fieldslistclose", fieldslistopen: "fieldslistopen", filterclose: "filterclose", filteropen: "filteropen", drillthroughopen: "drillthroughopen", exportcomplete: "exportcomplete", exportstart: "exportstart", drillthroughclose: "drillthroughclose", fullscreen: "fullscreen", loadingdata: "loadingdata", loadinglocalization: "loadinglocalization", loadingolapstructure: "loadingolapstructure", loadingreportfile: "loadingreportfile", localizationerror: "localizationerror", localizationloaded: "localizationloaded", olapstructureerror: "olapstructureerror", olapstructureloaded: "olapstructureloaded", openingreportfile: "openingreportfile", printcomplete: "printcomplete", printstart: "printstart", querycomplete: "querycomplete", queryerror: "queryerror", ready: "ready", reportchange: "reportchange", reportcomplete: "reportcomplete", reportfilecancelled: "reportfilecancelled", reportfileerror: "reportfileerror", runningquery: "runningquery", unauthorizederror: "unauthorizederror", update: "update", beforetoolbarcreated: "beforetoolbarcreated", beforegriddraw: "beforegriddraw", aftergriddraw: "aftergriddraw", afterchartdraw: "afterchartdraw" }, ngImport: i0, template: '<div style="width:100%;height:100%;"><div class="fm-ng-wrapper"></div></div>', isInline: true });
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FlexmonsterPivot, decorators: [{
117
+ type: Component,
118
+ args: [{
119
+ selector: 'fm-pivot',
120
+ template: '<div style="width:100%;height:100%;"><div class="fm-ng-wrapper"></div></div>',
121
+ //providers: [FlexmonsterPivotService]
122
+ }]
123
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { toolbar: [{
124
+ type: Input
125
+ }], licenseKey: [{
126
+ type: Input
127
+ }], licenseFilePath: [{
128
+ type: Input
129
+ }], width: [{
130
+ type: Input
131
+ }], height: [{
132
+ type: Input
133
+ }], componentFolder: [{
134
+ type: Input
135
+ }], report: [{
136
+ type: Input
137
+ }], shareReportConnection: [{
138
+ type: Input
139
+ }], global: [{
140
+ type: Input
141
+ }], accessibility: [{
142
+ type: Input
143
+ }], customizeAPIRequest: [{
144
+ type: Input
145
+ }], customizeCell: [{
146
+ type: Input
147
+ }], customizeChartElement: [{
148
+ type: Input
149
+ }], customizeContextMenu: [{
150
+ type: Input
151
+ }], sortFieldsList: [{
152
+ type: Input
153
+ }], cellclick: [{
154
+ type: Output
155
+ }], celldoubleclick: [{
156
+ type: Output
157
+ }], chartclick: [{
158
+ type: Output
159
+ }], dataerror: [{
160
+ type: Output
161
+ }], datafilecancelled: [{
162
+ type: Output
163
+ }], dataloaded: [{
164
+ type: Output
165
+ }], datachanged: [{
166
+ type: Output
167
+ }], fieldslistclose: [{
168
+ type: Output
169
+ }], fieldslistopen: [{
170
+ type: Output
171
+ }], filterclose: [{
172
+ type: Output
173
+ }], filteropen: [{
174
+ type: Output
175
+ }], drillthroughopen: [{
176
+ type: Output
177
+ }], exportcomplete: [{
178
+ type: Output
179
+ }], exportstart: [{
180
+ type: Output
181
+ }], drillthroughclose: [{
182
+ type: Output
183
+ }], fullscreen: [{
184
+ type: Output
185
+ }], loadingdata: [{
186
+ type: Output
187
+ }], loadinglocalization: [{
188
+ type: Output
189
+ }], loadingolapstructure: [{
190
+ type: Output
191
+ }], loadingreportfile: [{
192
+ type: Output
193
+ }], localizationerror: [{
194
+ type: Output
195
+ }], localizationloaded: [{
196
+ type: Output
197
+ }], olapstructureerror: [{
198
+ type: Output
199
+ }], olapstructureloaded: [{
200
+ type: Output
201
+ }], openingreportfile: [{
202
+ type: Output
203
+ }], printcomplete: [{
204
+ type: Output
205
+ }], printstart: [{
206
+ type: Output
207
+ }], querycomplete: [{
208
+ type: Output
209
+ }], queryerror: [{
210
+ type: Output
211
+ }], ready: [{
212
+ type: Output
213
+ }], reportchange: [{
214
+ type: Output
215
+ }], reportcomplete: [{
216
+ type: Output
217
+ }], reportfilecancelled: [{
218
+ type: Output
219
+ }], reportfileerror: [{
220
+ type: Output
221
+ }], runningquery: [{
222
+ type: Output
223
+ }], unauthorizederror: [{
224
+ type: Output
225
+ }], update: [{
226
+ type: Output
227
+ }], beforetoolbarcreated: [{
228
+ type: Output
229
+ }], beforegriddraw: [{
230
+ type: Output
231
+ }], aftergriddraw: [{
232
+ type: Output
233
+ }], afterchartdraw: [{
234
+ type: Output
235
+ }] } });
236
+
237
+ class FlexmonsterPivotModule {
238
+ }
239
+ FlexmonsterPivotModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FlexmonsterPivotModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
240
+ FlexmonsterPivotModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FlexmonsterPivotModule, declarations: [FlexmonsterPivot], imports: [CommonModule], exports: [FlexmonsterPivot] });
241
+ FlexmonsterPivotModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FlexmonsterPivotModule, imports: [CommonModule] });
242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FlexmonsterPivotModule, decorators: [{
243
+ type: NgModule,
244
+ args: [{
245
+ imports: [
246
+ CommonModule
247
+ ],
248
+ declarations: [FlexmonsterPivot],
249
+ exports: [FlexmonsterPivot]
250
+ }]
251
+ }] });
252
+
253
+ /*
254
+ * Public API Surface of ngx-flexmonster
255
+ */
256
+
257
+ /**
258
+ * Generated bundle index. Do not edit.
259
+ */
260
+
261
+ export { FlexmonsterPivot, FlexmonsterPivotModule };
262
+ //# sourceMappingURL=ngx-flexmonster.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-flexmonster.mjs","sources":["../../../projects/ngx-flexmonster/src/lib/ngx-flexmonster.component.ts","../../../projects/ngx-flexmonster/src/lib/ngx-flexmonster.module.ts","../../../projects/ngx-flexmonster/src/public-api.ts","../../../projects/ngx-flexmonster/src/ngx-flexmonster.ts"],"sourcesContent":["import { Component, ElementRef, Input, Output, EventEmitter, OnInit } from '@angular/core';\r\nimport * as Flexmonster from 'flexmonster';\r\n\r\n@Component({\r\n selector: 'fm-pivot',\r\n template: '<div style=\"width:100%;height:100%;\"><div class=\"fm-ng-wrapper\"></div></div>',\r\n //providers: [FlexmonsterPivotService]\r\n})\r\nexport class FlexmonsterPivot { // implements OnInit\r\n // params\r\n @Input() toolbar: boolean;\r\n @Input() licenseKey: string;\r\n @Input() licenseFilePath: string;\r\n @Input() width: string | number;\r\n @Input() height: string | number;\r\n @Input() componentFolder: string;\r\n @Input() report: Flexmonster.Report | string;\r\n @Input() shareReportConnection: Flexmonster.APIClientOptions;\r\n @Input() global: Flexmonster.Report;\r\n @Input() accessibility: Flexmonster.AccessibilityOptions;\r\n @Input() customizeAPIRequest: (request: Object) => Object;\r\n @Input() customizeCell: (cell: Flexmonster.CellBuilder, data: Flexmonster.CellData) => void;\r\n @Input() customizeChartElement: (element: Element, data: Flexmonster.ChartData | Flexmonster.ChartLegendItemData) => void;\r\n @Input() customizeContextMenu: (cell: Flexmonster.ContextMenuItem[], data: Flexmonster.CellData | Flexmonster.ChartData, viewType: string) => Flexmonster.ContextMenuItem[];\r\n @Input() sortFieldsList: (first: Flexmonster.FieldsListSortingItem, second: Flexmonster.FieldsListSortingItem, fieldsListType: string) => number;\r\n\r\n // events\r\n @Output() cellclick: EventEmitter<Flexmonster.CellData> = new EventEmitter();\r\n @Output() celldoubleclick: EventEmitter<Flexmonster.CellData> = new EventEmitter();\r\n @Output() chartclick: EventEmitter<Flexmonster.ChartData> = new EventEmitter();\r\n @Output() dataerror: EventEmitter<Flexmonster.ErrorEvent> = new EventEmitter();\r\n @Output() datafilecancelled: EventEmitter<void> = new EventEmitter();\r\n @Output() dataloaded: EventEmitter<void> = new EventEmitter();\r\n @Output() datachanged: EventEmitter<Object> = new EventEmitter();\r\n @Output() fieldslistclose: EventEmitter<void> = new EventEmitter();\r\n @Output() fieldslistopen: EventEmitter<void> = new EventEmitter();\r\n @Output() filterclose: EventEmitter<void> = new EventEmitter();\r\n @Output() filteropen: EventEmitter<Object> = new EventEmitter();\r\n @Output() drillthroughopen: EventEmitter<Flexmonster.CellData | Flexmonster.ChartData> = new EventEmitter();\r\n @Output() exportcomplete: EventEmitter<void> = new EventEmitter();\r\n @Output() exportstart: EventEmitter<void> = new EventEmitter();\r\n @Output() drillthroughclose: EventEmitter<void> = new EventEmitter();\r\n @Output() fullscreen: EventEmitter<void> = new EventEmitter();\r\n @Output() loadingdata: EventEmitter<void> = new EventEmitter();\r\n @Output() loadinglocalization: EventEmitter<void> = new EventEmitter();\r\n @Output() loadingolapstructure: EventEmitter<void> = new EventEmitter();\r\n @Output() loadingreportfile: EventEmitter<void> = new EventEmitter();\r\n @Output() localizationerror: EventEmitter<void> = new EventEmitter();\r\n @Output() localizationloaded: EventEmitter<void> = new EventEmitter();\r\n @Output() olapstructureerror: EventEmitter<Flexmonster.ErrorEvent> = new EventEmitter();\r\n @Output() olapstructureloaded: EventEmitter<void> = new EventEmitter();\r\n @Output() openingreportfile: EventEmitter<void> = new EventEmitter();\r\n @Output() printcomplete: EventEmitter<void> = new EventEmitter();\r\n @Output() printstart: EventEmitter<void> = new EventEmitter();\r\n @Output() querycomplete: EventEmitter<void> = new EventEmitter();\r\n @Output() queryerror: EventEmitter<Flexmonster.ErrorEvent> = new EventEmitter();\r\n @Output() ready: EventEmitter<Flexmonster.Pivot> = new EventEmitter();\r\n @Output() reportchange: EventEmitter<void> = new EventEmitter();\r\n @Output() reportcomplete: EventEmitter<void> = new EventEmitter();\r\n @Output() reportfilecancelled: EventEmitter<void> = new EventEmitter();\r\n @Output() reportfileerror: EventEmitter<void> = new EventEmitter();\r\n @Output() runningquery: EventEmitter<void> = new EventEmitter();\r\n @Output() unauthorizederror: EventEmitter<Flexmonster.UnauthorizedErrorHandler> = new EventEmitter();\r\n @Output() update: EventEmitter<void> = new EventEmitter();\r\n @Output() beforetoolbarcreated: EventEmitter<Flexmonster.Toolbar> = new EventEmitter();\r\n @Output() beforegriddraw: EventEmitter<Object> = new EventEmitter();\r\n @Output() aftergriddraw: EventEmitter<Object> = new EventEmitter();\r\n @Output() afterchartdraw: EventEmitter<void> = new EventEmitter();\r\n // api\r\n public flexmonster: Flexmonster.Pivot;\r\n // private\r\n private root: HTMLElement;\r\n\r\n constructor(el: ElementRef) {\r\n this.root = <HTMLElement>el.nativeElement;\r\n }\r\n\r\n ngOnInit() {\r\n console.log(Flexmonster)\r\n this.flexmonster = new window.Flexmonster({\r\n container: this.root.getElementsByClassName('fm-ng-wrapper')[0],\r\n componentFolder: this.componentFolder,\r\n width: this.width,\r\n height: this.height,\r\n toolbar: this.toolbar,\r\n licenseKey: this.licenseKey,\r\n licenseFilePath: this.licenseFilePath,\r\n report: this.report,\r\n global: this.global,\r\n accessibility: this.accessibility,\r\n shareReportConnection: this.shareReportConnection,\r\n customizeAPIRequest: this.customizeAPIRequest,\r\n customizeCell: this.customizeCell,\r\n customizeChartElement: this.customizeChartElement,\r\n customizeContextMenu: this.customizeContextMenu,\r\n sortFieldsList: this.sortFieldsList,\r\n cellclick: (cell: Flexmonster.CellData) => this.cellclick.next(cell),\r\n celldoubleclick: (cell: Flexmonster.CellData) => this.celldoubleclick.next(cell),\r\n chartclick: (event: Flexmonster.ChartData) => this.chartclick.next(event),\r\n datachanged: (event: Object) => this.datachanged.next(event),\r\n dataerror: (event: Flexmonster.ErrorEvent | undefined) => this.dataerror.next(event!),\r\n datafilecancelled: () => this.datafilecancelled.next(),\r\n dataloaded: () => this.dataloaded.next(),\r\n fieldslistclose: () => this.fieldslistclose.next(),\r\n fieldslistopen: () => this.fieldslistopen.next(),\r\n filterclose: () => this.filterclose.next(),\r\n filteropen: (event: Object) => this.filteropen.next(event),\r\n drillthroughopen: (cell: Flexmonster.CellData | Flexmonster.ChartData) => this.drillthroughopen.next(cell),\r\n exportcomplete: () => this.exportcomplete.next(),\r\n exportstart: () => this.exportstart.next(),\r\n drillthroughclose: () => this.drillthroughclose.next(),\r\n loadingdata: () => this.loadingdata.next(),\r\n loadinglocalization: () => this.loadinglocalization.next(),\r\n loadingolapstructure: () => this.loadingolapstructure.next(),\r\n loadingreportfile: () => this.loadingreportfile.next(),\r\n localizationerror: () => this.localizationerror.next(),\r\n localizationloaded: () => this.localizationloaded.next(),\r\n olapstructureerror: (event: Flexmonster.ErrorEvent | undefined) => this.olapstructureerror.next(event!),\r\n olapstructureloaded: () => this.olapstructureloaded.next(),\r\n openingreportfile: () => this.openingreportfile.next(),\r\n printcomplete: () => this.printcomplete.next(),\r\n printstart: () => this.printstart.next(),\r\n querycomplete: () => this.querycomplete.next(),\r\n queryerror: (event: Flexmonster.ErrorEvent | undefined) => this.queryerror.next(event!),\r\n ready: () => this.ready.next(this.flexmonster),\r\n reportchange: () => this.reportchange.next(),\r\n reportcomplete: () => this.reportcomplete.next(),\r\n reportfilecancelled: () => this.reportfilecancelled.next(),\r\n reportfileerror: () => this.reportfileerror.next(),\r\n runningquery: () => this.runningquery.next(),\r\n unauthorizederror: (done: Flexmonster.UnauthorizedErrorHandler) => this.unauthorizederror.next(done),\r\n update: () => this.update.next(),\r\n beforetoolbarcreated: (toolbar: Flexmonster.Toolbar) => this.beforetoolbarcreated.next(toolbar),\r\n beforegriddraw: (event: Object) => this.beforegriddraw.next(event),\r\n aftergriddraw: (event: Object) => this.aftergriddraw.next(event),\r\n afterchartdraw: () => this.afterchartdraw.next()\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FlexmonsterPivot } from './ngx-flexmonster.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [FlexmonsterPivot],\r\n exports: [FlexmonsterPivot]\r\n})\r\nexport class FlexmonsterPivotModule { }\r\n","/*\r\n * Public API Surface of ngx-flexmonster\r\n */\r\n\r\n//export * from './lib/ngx-flexmonster.service';\r\nexport * from './lib/ngx-flexmonster.component';\r\nexport * from './lib/ngx-flexmonster.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}