taxtank-core 0.9.0 → 0.9.3
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/bundles/taxtank-core.umd.js +112 -141
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/collections/transaction.collection.js +1 -8
- package/esm2015/lib/db/Models/transaction-base.js +12 -8
- package/esm2015/lib/interfaces/exportable.interface.js +2 -0
- package/esm2015/lib/interfaces/updatable.interface.js +2 -0
- package/esm2015/lib/models/chart-accounts/chart-accounts-categories.const.js +24 -3
- package/esm2015/lib/models/chart-accounts/chart-accounts.js +5 -1
- package/esm2015/lib/models/export/export-format.enum.js +6 -0
- package/esm2015/lib/models/transaction/transaction.js +6 -4
- package/esm2015/lib/services/http/transaction/messages.enum.js +7 -0
- package/esm2015/lib/services/http/transaction/transaction.service.js +17 -4
- package/esm2015/lib/services/pdf/pdf.service.js +2 -42
- package/esm2015/lib/services/toast/toast.service.js +32 -1
- package/esm2015/lib/services/xlsx/xlsx.service.js +13 -20
- package/esm2015/public-api.js +4 -3
- package/fesm2015/taxtank-core.js +112 -137
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/collections/transaction.collection.d.ts +0 -6
- package/lib/db/Models/transaction-base.d.ts +4 -2
- package/lib/interfaces/exportable.interface.d.ts +9 -0
- package/lib/interfaces/updatable.interface.d.ts +8 -0
- package/lib/models/chart-accounts/chart-accounts-categories.const.d.ts +4 -0
- package/lib/models/chart-accounts/chart-accounts.d.ts +1 -0
- package/lib/models/export/export-format.enum.d.ts +4 -0
- package/lib/services/http/transaction/messages.enum.d.ts +5 -0
- package/lib/services/http/transaction/transaction.service.d.ts +7 -1
- package/lib/services/pdf/pdf.service.d.ts +1 -14
- package/lib/services/toast/toast.service.d.ts +4 -0
- package/lib/services/xlsx/xlsx.service.d.ts +4 -5
- package/package.json +1 -1
- package/public-api.d.ts +3 -2
- package/esm2015/lib/models/data-table/data-table-column.js +0 -13
- package/esm2015/lib/models/data-table/data-table.js +0 -42
- package/lib/models/data-table/data-table-column.d.ts +0 -20
- package/lib/models/data-table/data-table.d.ts +0 -24
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Collection } from './collection';
|
|
2
2
|
import { Transaction } from '../models/transaction/transaction';
|
|
3
3
|
import { TransactionAllocationCollection } from './transaction-allocation.collection';
|
|
4
|
-
import { TankTypeEnum } from '../db/Enums/tank-type.enum';
|
|
5
4
|
import { ChartAccountsCategoryEnum } from '../db/Enums/chart-accounts-category.enum';
|
|
6
5
|
/**
|
|
7
6
|
* Collection of transactions
|
|
@@ -21,11 +20,6 @@ export declare class TransactionCollection extends Collection<Transaction> {
|
|
|
21
20
|
* Cash position is equal to Total Amount because income is positive and expense is negative,
|
|
22
21
|
*/
|
|
23
22
|
get cashPosition(): number;
|
|
24
|
-
/**
|
|
25
|
-
* Get new collection of transactions filtered by tank type
|
|
26
|
-
* @param tankType
|
|
27
|
-
*/
|
|
28
|
-
getByTankType(tankType: TankTypeEnum): TransactionCollection;
|
|
29
23
|
/**
|
|
30
24
|
* get date of the last transaction
|
|
31
25
|
*/
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Property } from './property/property';
|
|
2
2
|
import { ChartAccounts } from './chart-accounts';
|
|
3
|
-
import { TankTypeEnum } from '../Enums/tank-type.enum';
|
|
4
3
|
export declare class TransactionBase {
|
|
5
4
|
id?: number;
|
|
6
5
|
amount?: number;
|
|
@@ -10,7 +9,6 @@ export declare class TransactionBase {
|
|
|
10
9
|
description?: string;
|
|
11
10
|
file?: File;
|
|
12
11
|
claimPercent?: number;
|
|
13
|
-
tankType: TankTypeEnum;
|
|
14
12
|
/**
|
|
15
13
|
* Check if current tank is Property
|
|
16
14
|
*/
|
|
@@ -19,4 +17,8 @@ export declare class TransactionBase {
|
|
|
19
17
|
* Check if current tank is Work
|
|
20
18
|
*/
|
|
21
19
|
isWorkTank(): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Check if current tank is Sole
|
|
22
|
+
*/
|
|
23
|
+
isSoleTank(): boolean;
|
|
22
24
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* Interface for implementation by components that use an update event emitters.
|
|
4
|
+
* Created to avoid using "change" event emitter name, because that name can cause unexpected events of Angular/JS
|
|
5
|
+
*/
|
|
6
|
+
export interface Updatable<T> {
|
|
7
|
+
update: EventEmitter<T>;
|
|
8
|
+
}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { ChartAccountsCategoryEnum } from '../../db/Enums/chart-accounts-category.enum';
|
|
2
|
+
/**
|
|
3
|
+
* Grouped chart accounts categories for fast work
|
|
4
|
+
* @TODO Alex: Clean up and/or remove some groups
|
|
5
|
+
*/
|
|
2
6
|
export declare const CHART_ACCOUNTS_CATEGORIES: {
|
|
3
7
|
[key: string]: ChartAccountsCategoryEnum[];
|
|
4
8
|
};
|
|
@@ -7,6 +7,7 @@ import { RestService } from '../rest/rest.service';
|
|
|
7
7
|
import { Transaction } from '../../../models/transaction/transaction';
|
|
8
8
|
import { ChartAccounts } from '../../../models/chart-accounts/chart-accounts';
|
|
9
9
|
import { ChartAccountsTaxLabelsEnum } from '../../../models/chart-accounts/chart-accounts-tax-labels.enum';
|
|
10
|
+
import { ToastService } from '../../toast/toast.service';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
/**
|
|
12
13
|
* Service for transactions business logic
|
|
@@ -15,10 +16,11 @@ export declare class TransactionService extends RestService<TransactionBase, Tra
|
|
|
15
16
|
protected http: HttpClient;
|
|
16
17
|
protected eventDispatcherService: EventDispatcherService;
|
|
17
18
|
protected environment: any;
|
|
19
|
+
protected toastService: ToastService;
|
|
18
20
|
url: string;
|
|
19
21
|
modelClass: typeof Transaction;
|
|
20
22
|
transactionDeleted: EventEmitter<Transaction>;
|
|
21
|
-
constructor(http: HttpClient, eventDispatcherService: EventDispatcherService, environment: any);
|
|
23
|
+
constructor(http: HttpClient, eventDispatcherService: EventDispatcherService, environment: any, toastService: ToastService);
|
|
22
24
|
/**
|
|
23
25
|
* Listen events from Event Dispatcher services
|
|
24
26
|
*/
|
|
@@ -87,6 +89,10 @@ export declare class TransactionService extends RestService<TransactionBase, Tra
|
|
|
87
89
|
* Listen to EventDispatcherService event related to Depreciation changing
|
|
88
90
|
*/
|
|
89
91
|
private listenDepreciationChange;
|
|
92
|
+
/**
|
|
93
|
+
* Listen to EventDispatcherService event related to Property Share changing
|
|
94
|
+
*/
|
|
95
|
+
private listenPropertyShareUpdate;
|
|
90
96
|
static ɵfac: i0.ɵɵFactoryDeclaration<TransactionService, never>;
|
|
91
97
|
static ɵprov: i0.ɵɵInjectableDeclaration<TransactionService>;
|
|
92
98
|
}
|
|
@@ -1,25 +1,12 @@
|
|
|
1
|
-
import { DataTable } from '../../models/data-table/data-table';
|
|
2
1
|
import * as i0 from "@angular/core";
|
|
3
2
|
export declare class PdfService {
|
|
4
3
|
/**
|
|
5
|
-
*
|
|
6
|
-
*/
|
|
7
|
-
download(tables: DataTable<any>[], title: string, fileName: string): void;
|
|
8
|
-
/**
|
|
9
|
-
* @Todo rename when all DataTable dependent methods will be cleared-up
|
|
4
|
+
* Export file form provided HTML tables
|
|
10
5
|
*/
|
|
11
6
|
exportTables(tables: NodeListOf<HTMLTableElement>, title: string, fileName: string): void;
|
|
12
|
-
/**
|
|
13
|
-
* @Todo rename when all DataTable dependent methods will be cleared-up
|
|
14
|
-
*/
|
|
15
7
|
private generateFromTables;
|
|
16
8
|
private setDocumentTitle;
|
|
17
9
|
private setDocumentLogo;
|
|
18
|
-
/**
|
|
19
|
-
* @Todo remove/refactor when all DataTable dependent methods will be cleared-up
|
|
20
|
-
* Generate PDF file from provided data
|
|
21
|
-
*/
|
|
22
|
-
private generatePdfFile;
|
|
23
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<PdfService, never>;
|
|
24
11
|
static ɵprov: i0.ɵɵInjectableDeclaration<PdfService>;
|
|
25
12
|
}
|
|
@@ -8,6 +8,10 @@ export declare class ToastService {
|
|
|
8
8
|
toast$: ReplaySubject<Toast>;
|
|
9
9
|
get(): Observable<Toast>;
|
|
10
10
|
add(toast: Toast): void;
|
|
11
|
+
success(message: string): void;
|
|
12
|
+
warning(message: string): void;
|
|
13
|
+
error(message: string): void;
|
|
14
|
+
info(message: string): void;
|
|
11
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<ToastService, never>;
|
|
12
16
|
static ɵprov: i0.ɵɵInjectableDeclaration<ToastService>;
|
|
13
17
|
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { DataTable } from '../../models/data-table/data-table';
|
|
2
1
|
import * as i0 from "@angular/core";
|
|
3
2
|
export declare class XlsxService {
|
|
4
|
-
/**
|
|
5
|
-
*
|
|
3
|
+
/**
|
|
4
|
+
* Export file form provided HTML tables
|
|
6
5
|
*/
|
|
7
|
-
|
|
8
|
-
private
|
|
6
|
+
exportTables(tables: NodeListOf<HTMLTableElement>, title: string, fileName: string): void;
|
|
7
|
+
private generateFromTables;
|
|
9
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<XlsxService, never>;
|
|
10
9
|
static ɵprov: i0.ɵɵInjectableDeclaration<XlsxService>;
|
|
11
10
|
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -154,8 +154,6 @@ export * from './lib/models/client/client-movement';
|
|
|
154
154
|
export * from './lib/models/client/client-portfolio-chart-data';
|
|
155
155
|
export * from './lib/models/client/client-portfolio-report';
|
|
156
156
|
export * from './lib/models/color/alphabet-colors.enum';
|
|
157
|
-
export * from './lib/models/data-table/data-table';
|
|
158
|
-
export * from './lib/models/data-table/data-table-column';
|
|
159
157
|
export * from './lib/models/depreciation/depreciation';
|
|
160
158
|
export * from './lib/models/depreciation/depreciation-lvp-rate.enum';
|
|
161
159
|
export * from './lib/models/depreciation/depreciation-capital-project';
|
|
@@ -175,6 +173,7 @@ export * from './lib/models/endpoint/endpoint';
|
|
|
175
173
|
export * from './lib/models/endpoint/endpoints.const';
|
|
176
174
|
export * from './lib/models/event/app-event';
|
|
177
175
|
export * from './lib/models/event/app-event-type.enum';
|
|
176
|
+
export * from './lib/models/export/export-format.enum';
|
|
178
177
|
export * from './lib/models/file/icons-file.enum';
|
|
179
178
|
export * from './lib/models/financial-year/financial-year';
|
|
180
179
|
export * from './lib/models/financial-year/month-name-short.enum';
|
|
@@ -336,8 +335,10 @@ export * from './lib/interfaces/event-listener.interface';
|
|
|
336
335
|
export * from './lib/interfaces/income-source-forecast.interface';
|
|
337
336
|
export * from './lib/interfaces/option.interface';
|
|
338
337
|
export * from './lib/interfaces/photoable';
|
|
338
|
+
export * from './lib/interfaces/exportable.interface';
|
|
339
339
|
export * from './lib/interfaces/receipt.interface';
|
|
340
340
|
export * from './lib/interfaces/tank.interface';
|
|
341
|
+
export * from './lib/interfaces/updatable.interface';
|
|
341
342
|
/**
|
|
342
343
|
* Functions
|
|
343
344
|
*/
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export class DataTableColumn {
|
|
2
|
-
constructor(name, key, total, pipe) {
|
|
3
|
-
/**
|
|
4
|
-
* Flag that shows should the column be in the total calculation or not
|
|
5
|
-
*/
|
|
6
|
-
this.total = false;
|
|
7
|
-
this.name = name;
|
|
8
|
-
this.key = key;
|
|
9
|
-
this.total = total;
|
|
10
|
-
this.pipe = pipe;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1jb2x1bW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1jb2x1bW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGVBQWU7SUFrQjFCLFlBQ0UsSUFBWSxFQUNaLEdBQWdCLEVBQ2hCLEtBQWMsRUFDZCxJQUFtQjtRQWJyQjs7V0FFRztRQUNILFVBQUssR0FBWSxLQUFLLENBQUM7UUFZckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVDb2x1bW48TW9kZWw+IHtcbiAgLyoqXG4gICAqIEh1bWFuLXJlYWRhYmxlIG5hbWUgb2YgdGhlIGNvbHVtblxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogRmllbGQgdGhhdCBlcXVhbHMgdG8gbW9kZWwga2V5XG4gICAqL1xuICBrZXk6IGtleW9mIE1vZGVsO1xuICAvKipcbiAgICogRmxhZyB0aGF0IHNob3dzIHNob3VsZCB0aGUgY29sdW1uIGJlIGluIHRoZSB0b3RhbCBjYWxjdWxhdGlvbiBvciBub3RcbiAgICovXG4gIHRvdGFsOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKlxuICAgKiBQcm92aWRlZCBwaXBlLCB3aGljaCBzaG91bGQgYmUgYXBwbGllZCB0byB0aGUgcm93IGRhdGFcbiAgICovXG4gIHBpcGU/OiBQaXBlVHJhbnNmb3JtO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBrZXk6IGtleW9mIE1vZGVsLFxuICAgIHRvdGFsOiBib29sZWFuLFxuICAgIHBpcGU6IFBpcGVUcmFuc2Zvcm1cbiAgKSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLmtleSA9IGtleTtcbiAgICB0aGlzLnRvdGFsID0gdG90YWw7XG4gICAgdGhpcy5waXBlID0gcGlwZTtcbiAgfVxufVxuIl19
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Class to generate data-table structure based on provided collection.
|
|
3
|
-
* Use to work with HTML/PDF/XLSX tables
|
|
4
|
-
*/
|
|
5
|
-
export class DataTable {
|
|
6
|
-
constructor(collection, columns, caption, footerCaption) {
|
|
7
|
-
this.caption = caption;
|
|
8
|
-
this.columns = columns;
|
|
9
|
-
this.setRows(collection);
|
|
10
|
-
if (footerCaption) {
|
|
11
|
-
this.setFooterRow(collection, footerCaption);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
setRows(collection) {
|
|
15
|
-
this.rows = collection.items.map((item) => {
|
|
16
|
-
// parse table columns to return items based on column properties
|
|
17
|
-
return this.columns.map((column) => {
|
|
18
|
-
// if the pipe is provided - transform the return value
|
|
19
|
-
if (column.pipe) {
|
|
20
|
-
return column.pipe.transform(item[column.key]);
|
|
21
|
-
}
|
|
22
|
-
return (item[column.key] ? item[column.key] : '-').toString();
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
setFooterRow(collection, footerCaption) {
|
|
27
|
-
this.footerRow = this.columns.map((column, index) => {
|
|
28
|
-
if (index === 0) {
|
|
29
|
-
return footerCaption.toString();
|
|
30
|
-
}
|
|
31
|
-
if (!column.total) {
|
|
32
|
-
return '';
|
|
33
|
-
}
|
|
34
|
-
const totalValue = collection.items.reduce((sum, item) => {
|
|
35
|
-
// check if current collection item has value. If not - don't add it to the sum
|
|
36
|
-
return item[column.key] !== null ? sum + Number(item[column.key]) : sum;
|
|
37
|
-
}, null);
|
|
38
|
-
return (totalValue !== null && totalValue !== void 0 ? totalValue : '-').toString();
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7R0FHRztBQUNILE1BQU0sT0FBTyxTQUFTO0lBaUJwQixZQUNFLFVBQTZCLEVBQzdCLE9BQWlDLEVBQ2pDLE9BQWUsRUFDZixhQUFzQjtRQUV0QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pCLElBQUksYUFBYSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQztJQUVPLE9BQU8sQ0FBQyxVQUE2QjtRQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBVyxFQUFFLEVBQUU7WUFDL0MsaUVBQWlFO1lBQ2pFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUE4QixFQUFFLEVBQUU7Z0JBQ3pELHVEQUF1RDtnQkFDdkQsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFO29CQUNmLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUNoRDtnQkFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEUsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZLENBQUMsVUFBNkIsRUFBRSxhQUFxQjtRQUN2RSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBOEIsRUFBRSxLQUFhLEVBQUUsRUFBRTtZQUNsRixJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7Z0JBQ2YsT0FBTyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDakM7WUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtnQkFDakIsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUVELE1BQU0sVUFBVSxHQUFXLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBVyxFQUFFLElBQVcsRUFBRSxFQUFFO2dCQUM5RSwrRUFBK0U7Z0JBQy9FLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUE7WUFDekUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRVQsT0FBTyxDQUFDLFVBQVUsYUFBVixVQUFVLGNBQVYsVUFBVSxHQUFJLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRhVGFibGVDb2x1bW59IGZyb20gXCIuL2RhdGEtdGFibGUtY29sdW1uXCI7XG5pbXBvcnQge0NvbGxlY3Rpb259IGZyb20gXCIuLi8uLi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uXCI7XG5cbi8qKlxuICogQ2xhc3MgdG8gZ2VuZXJhdGUgZGF0YS10YWJsZSBzdHJ1Y3R1cmUgYmFzZWQgb24gcHJvdmlkZWQgY29sbGVjdGlvbi5cbiAqIFVzZSB0byB3b3JrIHdpdGggSFRNTC9QREYvWExTWCB0YWJsZXNcbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFUYWJsZTxNb2RlbCBleHRlbmRzIG9iamVjdD4ge1xuICAvKipcbiAgICogQ2FwdGlvbiBvZiB0aGUgdGFibGVcbiAgICovXG4gIGNhcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFycmF5IG9mIHRhYmxlIGNvbHVtbnNcbiAgICovXG4gIGNvbHVtbnM6IERhdGFUYWJsZUNvbHVtbjxNb2RlbD5bXTtcblxuICAvKipcbiAgICogVGFibGUgcm93cyB3aXRoIGRhdGFcbiAgICovXG4gIHJvd3M6IEFycmF5PHN0cmluZz5bXTtcbiAgZm9vdGVyUm93OiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uPE1vZGVsPixcbiAgICBjb2x1bW5zOiBEYXRhVGFibGVDb2x1bW48TW9kZWw+W10sXG4gICAgY2FwdGlvbjogc3RyaW5nLFxuICAgIGZvb3RlckNhcHRpb24/OiBzdHJpbmcsXG4gICkge1xuICAgIHRoaXMuY2FwdGlvbiA9IGNhcHRpb247XG4gICAgdGhpcy5jb2x1bW5zID0gY29sdW1ucztcbiAgICB0aGlzLnNldFJvd3MoY29sbGVjdGlvbik7XG4gICAgaWYgKGZvb3RlckNhcHRpb24pIHtcbiAgICAgIHRoaXMuc2V0Rm9vdGVyUm93KGNvbGxlY3Rpb24sIGZvb3RlckNhcHRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0Um93cyhjb2xsZWN0aW9uOiBDb2xsZWN0aW9uPE1vZGVsPik6IHZvaWQge1xuICAgIHRoaXMucm93cyA9IGNvbGxlY3Rpb24uaXRlbXMubWFwKChpdGVtOiBNb2RlbCkgPT4ge1xuICAgICAgLy8gcGFyc2UgdGFibGUgY29sdW1ucyB0byByZXR1cm4gaXRlbXMgYmFzZWQgb24gY29sdW1uIHByb3BlcnRpZXNcbiAgICAgIHJldHVybiB0aGlzLmNvbHVtbnMubWFwKChjb2x1bW46IERhdGFUYWJsZUNvbHVtbjxNb2RlbD4pID0+IHtcbiAgICAgICAgLy8gaWYgdGhlIHBpcGUgaXMgcHJvdmlkZWQgLSB0cmFuc2Zvcm0gdGhlIHJldHVybiB2YWx1ZVxuICAgICAgICBpZiAoY29sdW1uLnBpcGUpIHtcbiAgICAgICAgICByZXR1cm4gY29sdW1uLnBpcGUudHJhbnNmb3JtKGl0ZW1bY29sdW1uLmtleV0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChpdGVtW2NvbHVtbi5rZXldID8gaXRlbVtjb2x1bW4ua2V5XSA6ICctJykudG9TdHJpbmcoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb290ZXJSb3coY29sbGVjdGlvbjogQ29sbGVjdGlvbjxNb2RlbD4sIGZvb3RlckNhcHRpb246IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZm9vdGVyUm93ID0gdGhpcy5jb2x1bW5zLm1hcCgoY29sdW1uOiBEYXRhVGFibGVDb2x1bW48TW9kZWw+LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGZvb3RlckNhcHRpb24udG9TdHJpbmcoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFjb2x1bW4udG90YWwpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB0b3RhbFZhbHVlOiBudW1iZXIgPSBjb2xsZWN0aW9uLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGl0ZW06IE1vZGVsKSA9PiB7XG4gICAgICAgIC8vIGNoZWNrIGlmIGN1cnJlbnQgY29sbGVjdGlvbiBpdGVtIGhhcyB2YWx1ZS4gSWYgbm90IC0gZG9uJ3QgYWRkIGl0IHRvIHRoZSBzdW1cbiAgICAgICAgcmV0dXJuIGl0ZW1bY29sdW1uLmtleV0gIT09IG51bGwgPyBzdW0gKyBOdW1iZXIoaXRlbVtjb2x1bW4ua2V5XSkgOiBzdW1cbiAgICAgIH0sIG51bGwpO1xuXG4gICAgICByZXR1cm4gKHRvdGFsVmFsdWUgPz8gJy0nKS50b1N0cmluZygpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
export declare class DataTableColumn<Model> {
|
|
3
|
-
/**
|
|
4
|
-
* Human-readable name of the column
|
|
5
|
-
*/
|
|
6
|
-
name: string;
|
|
7
|
-
/**
|
|
8
|
-
* Field that equals to model key
|
|
9
|
-
*/
|
|
10
|
-
key: keyof Model;
|
|
11
|
-
/**
|
|
12
|
-
* Flag that shows should the column be in the total calculation or not
|
|
13
|
-
*/
|
|
14
|
-
total: boolean;
|
|
15
|
-
/**
|
|
16
|
-
* Provided pipe, which should be applied to the row data
|
|
17
|
-
*/
|
|
18
|
-
pipe?: PipeTransform;
|
|
19
|
-
constructor(name: string, key: keyof Model, total: boolean, pipe: PipeTransform);
|
|
20
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { DataTableColumn } from "./data-table-column";
|
|
2
|
-
import { Collection } from "../../collections/collection";
|
|
3
|
-
/**
|
|
4
|
-
* Class to generate data-table structure based on provided collection.
|
|
5
|
-
* Use to work with HTML/PDF/XLSX tables
|
|
6
|
-
*/
|
|
7
|
-
export declare class DataTable<Model extends object> {
|
|
8
|
-
/**
|
|
9
|
-
* Caption of the table
|
|
10
|
-
*/
|
|
11
|
-
caption?: string;
|
|
12
|
-
/**
|
|
13
|
-
* Array of table columns
|
|
14
|
-
*/
|
|
15
|
-
columns: DataTableColumn<Model>[];
|
|
16
|
-
/**
|
|
17
|
-
* Table rows with data
|
|
18
|
-
*/
|
|
19
|
-
rows: Array<string>[];
|
|
20
|
-
footerRow: string[];
|
|
21
|
-
constructor(collection: Collection<Model>, columns: DataTableColumn<Model>[], caption: string, footerCaption?: string);
|
|
22
|
-
private setRows;
|
|
23
|
-
private setFooterRow;
|
|
24
|
-
}
|