tin-spa 10.0.0 → 14.3.11
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 +24 -24
- package/esm2020/lib/classes/Classes.mjs +265 -0
- package/esm2020/lib/classes/TinCore.mjs +401 -0
- package/esm2020/lib/components/accounts/accountDialog.component.mjs +56 -0
- package/esm2020/lib/components/accounts/accounts.component.mjs +70 -0
- package/esm2020/lib/components/activity/activity.component.mjs +24 -0
- package/esm2020/lib/components/alert/alert.component.mjs +29 -0
- package/esm2020/lib/components/attach/attach.component.mjs +86 -0
- package/esm2020/lib/components/bug/bug.component.mjs +14 -0
- package/esm2020/lib/components/change-password/change-password.component.mjs +92 -0
- package/esm2020/lib/components/check/check.component.mjs +67 -0
- package/esm2020/lib/components/chips/chips.component.mjs +58 -0
- package/esm2020/lib/components/create-account/create-account.component.mjs +109 -0
- package/esm2020/lib/components/customers/customers.component.mjs +60 -0
- package/esm2020/lib/components/date/date.component.mjs +101 -0
- package/esm2020/lib/components/datetime/datetime.component.mjs +52 -0
- package/esm2020/lib/components/departments/departments.component.mjs +24 -0
- package/esm2020/lib/components/employees/employees.component.mjs +21 -0
- package/esm2020/lib/components/filter/filter.component.mjs +54 -0
- package/esm2020/lib/components/form/form.component.mjs +191 -0
- package/esm2020/lib/components/grades/grades.component.mjs +14 -0
- package/esm2020/lib/components/inventory/inventory.component.mjs +99 -0
- package/esm2020/lib/components/inventory/quantityDialog.component.mjs +53 -0
- package/esm2020/lib/components/invitations/invitations.component.mjs +14 -0
- package/esm2020/lib/components/invitations-table/invitations-table.component.mjs +70 -0
- package/esm2020/lib/components/label/label.component.mjs +25 -0
- package/esm2020/lib/components/list-dialog/list-dialog.component.mjs +68 -0
- package/esm2020/lib/components/loader/loader.component.mjs +25 -0
- package/esm2020/lib/components/login/login.component.mjs +127 -0
- package/esm2020/lib/components/logs/logs.component.mjs +37 -0
- package/esm2020/lib/components/membership/membership.component.mjs +48 -0
- package/esm2020/lib/components/message/messageDialog.component.mjs +33 -0
- package/esm2020/lib/components/money/currency-input-mask.directive.mjs +185 -0
- package/esm2020/lib/components/money/currency-input-mask.module.mjs +28 -0
- package/esm2020/lib/components/money/money.component.mjs +120 -0
- package/esm2020/lib/components/nav-menu/nav-menu.component.mjs +84 -0
- package/esm2020/lib/components/notifications/notifications.component.mjs +14 -0
- package/esm2020/lib/components/number/number.component.mjs +116 -0
- package/esm2020/lib/components/option/option.component.mjs +67 -0
- package/esm2020/lib/components/plans/plans.component.mjs +47 -0
- package/esm2020/lib/components/positions/positions.component.mjs +21 -0
- package/esm2020/lib/components/profile/profile.component.mjs +92 -0
- package/esm2020/lib/components/recover-account/recover-account.component.mjs +46 -0
- package/esm2020/lib/components/roles/addRoleDialog.component.mjs +60 -0
- package/esm2020/lib/components/roles/roles.component.mjs +91 -0
- package/esm2020/lib/components/search/search.component.mjs +31 -0
- package/esm2020/lib/components/select/select.component.mjs +138 -0
- package/esm2020/lib/components/settings/settings.component.mjs +62 -0
- package/esm2020/lib/components/signup/signup.component.mjs +50 -0
- package/esm2020/lib/components/steps/steps.component.mjs +90 -0
- package/esm2020/lib/components/suppliers/suppliers.component.mjs +50 -0
- package/esm2020/lib/components/table/detailsDialog.component.mjs +232 -0
- package/esm2020/lib/components/table/table.component.mjs +406 -0
- package/esm2020/lib/components/table-action/table-action.component.mjs +46 -0
- package/esm2020/lib/components/table-header/table-header.component.mjs +76 -0
- package/esm2020/lib/components/table-internal/detailsDialog-internal.component.mjs +226 -0
- package/esm2020/lib/components/table-internal/table-internal.component.mjs +406 -0
- package/esm2020/lib/components/table-row/table-row.component.mjs +58 -0
- package/esm2020/lib/components/tasks/tasks.component.mjs +86 -0
- package/esm2020/lib/components/tenant-settings/inviteDialog.component.mjs +60 -0
- package/esm2020/lib/components/tenant-settings/tenant-settings.component.mjs +155 -0
- package/esm2020/lib/components/tenants/tenants.component.mjs +47 -0
- package/esm2020/lib/components/text/text.component.mjs +181 -0
- package/esm2020/lib/components/tiles/tiles.component.mjs +81 -0
- package/esm2020/lib/components/tin-spa.component.mjs +19 -0
- package/esm2020/lib/components/transactions/transactDialog.component.mjs +80 -0
- package/esm2020/lib/components/transactions/transactions.component.mjs +101 -0
- package/esm2020/lib/components/users/users.component.mjs +118 -0
- package/esm2020/lib/components/viewer/viewer.component.mjs +79 -0
- package/esm2020/lib/components/viewer/viewerDialog.component.mjs +88 -0
- package/esm2020/lib/components/welcome/welcome.component.mjs +86 -0
- package/esm2020/lib/modules/admin/admin-routing.module.mjs +61 -0
- package/esm2020/lib/modules/admin/admin.module.mjs +26 -0
- package/esm2020/lib/modules/index/index-routing.module.mjs +27 -0
- package/esm2020/lib/modules/index/index.module.mjs +26 -0
- package/esm2020/lib/modules/spa-admin.module.mjs +71 -0
- package/esm2020/lib/modules/spa-index.module.mjs +54 -0
- package/esm2020/lib/modules/spa-mat.module.mjs +84 -0
- package/esm2020/lib/modules/spa-user.module.mjs +47 -0
- package/esm2020/lib/modules/user/user-routing.module.mjs +23 -0
- package/esm2020/lib/modules/user/user.module.mjs +26 -0
- package/esm2020/lib/pipes/camelToWords.pipe.mjs +17 -0
- package/esm2020/lib/services/auth.service.mjs +174 -0
- package/esm2020/lib/services/button.service.mjs +102 -0
- package/esm2020/lib/services/condition.service.mjs +32 -0
- package/esm2020/lib/services/datalib.service.mjs +387 -0
- package/esm2020/lib/services/dialog.service.mjs +81 -0
- package/esm2020/lib/services/export.service.mjs +16 -0
- package/esm2020/lib/services/http.service.mjs +79 -0
- package/esm2020/lib/services/loader-interceptor.service.mjs +86 -0
- package/esm2020/lib/services/loader.service.mjs +17 -0
- package/esm2020/lib/services/log.service.mjs +77 -0
- package/esm2020/lib/services/message.service.mjs +59 -0
- package/esm2020/lib/services/storage.service.mjs +34 -0
- package/esm2020/lib/services/table-config.service.mjs +30 -0
- package/esm2020/lib/services/tin-spa.service.mjs +14 -0
- package/esm2020/lib/tin-spa.module.mjs +183 -0
- package/esm2020/public-api.mjs +80 -0
- package/esm2020/tin-spa.mjs +5 -0
- package/fesm2015/tin-spa.mjs +7454 -0
- package/fesm2015/tin-spa.mjs.map +1 -0
- package/fesm2020/tin-spa.mjs +7410 -0
- package/fesm2020/tin-spa.mjs.map +1 -0
- package/index.d.ts +5 -3408
- package/lib/classes/Classes.d.ts +431 -0
- package/lib/classes/TinCore.d.ts +48 -0
- package/lib/components/accounts/accountDialog.component.d.ts +27 -0
- package/lib/components/accounts/accounts.component.d.ts +25 -0
- package/lib/components/activity/activity.component.d.ts +11 -0
- package/lib/components/alert/alert.component.d.ts +14 -0
- package/lib/components/attach/attach.component.d.ts +23 -0
- package/lib/components/bug/bug.component.d.ts +8 -0
- package/lib/components/change-password/change-password.component.d.ts +27 -0
- package/lib/components/check/check.component.d.ts +24 -0
- package/lib/components/chips/chips.component.d.ts +18 -0
- package/lib/components/create-account/create-account.component.d.ts +33 -0
- package/lib/components/customers/customers.component.d.ts +18 -0
- package/lib/components/date/date.component.d.ts +29 -0
- package/lib/components/datetime/datetime.component.d.ts +18 -0
- package/lib/components/departments/departments.component.d.ts +14 -0
- package/lib/components/employees/employees.component.d.ts +12 -0
- package/lib/components/filter/filter.component.d.ts +19 -0
- package/lib/components/form/form.component.d.ts +36 -0
- package/lib/components/grades/grades.component.d.ts +8 -0
- package/lib/components/inventory/inventory.component.d.ts +25 -0
- package/lib/components/inventory/quantityDialog.component.d.ts +23 -0
- package/lib/components/invitations/invitations.component.d.ts +8 -0
- package/lib/components/invitations-table/invitations-table.component.d.ts +19 -0
- package/lib/components/label/label.component.d.ts +11 -0
- package/lib/components/list-dialog/list-dialog.component.d.ts +23 -0
- package/lib/components/loader/loader.component.d.ts +12 -0
- package/lib/components/login/login.component.d.ts +39 -0
- package/lib/components/logs/logs.component.d.ts +18 -0
- package/lib/components/membership/membership.component.d.ts +17 -0
- package/lib/components/message/messageDialog.component.d.ts +15 -0
- package/lib/components/money/currency-input-mask.directive.d.ts +41 -0
- package/lib/components/money/currency-input-mask.module.d.ts +9 -0
- package/lib/components/money/money.component.d.ts +33 -0
- package/lib/components/nav-menu/nav-menu.component.d.ts +34 -0
- package/lib/components/notifications/notifications.component.d.ts +8 -0
- package/lib/components/number/number.component.d.ts +35 -0
- package/lib/components/option/option.component.d.ts +23 -0
- package/lib/components/plans/plans.component.d.ts +17 -0
- package/lib/components/positions/positions.component.d.ts +12 -0
- package/lib/components/profile/profile.component.d.ts +34 -0
- package/lib/components/recover-account/recover-account.component.d.ts +18 -0
- package/lib/components/roles/addRoleDialog.component.d.ts +24 -0
- package/lib/components/roles/roles.component.d.ts +30 -0
- package/lib/components/search/search.component.d.ts +13 -0
- package/lib/components/select/select.component.d.ts +42 -0
- package/lib/components/settings/settings.component.d.ts +19 -0
- package/lib/components/signup/signup.component.d.ts +23 -0
- package/lib/components/steps/steps.component.d.ts +18 -0
- package/lib/components/suppliers/suppliers.component.d.ts +17 -0
- package/lib/components/table/detailsDialog.component.d.ts +64 -0
- package/lib/components/table/table.component.d.ts +82 -0
- package/lib/components/table-action/table-action.component.d.ts +22 -0
- package/lib/components/table-header/table-header.component.d.ts +31 -0
- package/lib/components/table-internal/detailsDialog-internal.component.d.ts +64 -0
- package/lib/components/table-internal/table-internal.component.d.ts +82 -0
- package/lib/components/table-row/table-row.component.d.ts +28 -0
- package/lib/components/tasks/tasks.component.d.ts +27 -0
- package/lib/components/tenant-settings/inviteDialog.component.d.ts +28 -0
- package/lib/components/tenant-settings/tenant-settings.component.d.ts +42 -0
- package/lib/components/tenants/tenants.component.d.ts +17 -0
- package/lib/components/text/text.component.d.ts +46 -0
- package/lib/components/tiles/tiles.component.d.ts +25 -0
- package/lib/components/tin-spa.component.d.ts +5 -0
- package/lib/components/transactions/transactDialog.component.d.ts +26 -0
- package/lib/components/transactions/transactions.component.d.ts +31 -0
- package/lib/components/users/users.component.d.ts +36 -0
- package/lib/components/viewer/viewer.component.d.ts +25 -0
- package/lib/components/viewer/viewerDialog.component.d.ts +22 -0
- package/lib/components/welcome/welcome.component.d.ts +25 -0
- package/lib/modules/admin/admin-routing.module.d.ts +7 -0
- package/lib/modules/admin/admin.module.d.ts +9 -0
- package/lib/modules/index/index-routing.module.d.ts +7 -0
- package/lib/modules/index/index.module.d.ts +9 -0
- package/lib/modules/spa-admin.module.d.ts +15 -0
- package/lib/modules/spa-index.module.d.ts +13 -0
- package/lib/modules/spa-mat.module.d.ts +38 -0
- package/lib/modules/spa-user.module.d.ts +11 -0
- package/lib/modules/user/user-routing.module.d.ts +7 -0
- package/lib/modules/user/user.module.d.ts +9 -0
- package/lib/pipes/camelToWords.pipe.d.ts +7 -0
- package/lib/services/auth.service.d.ts +61 -0
- package/lib/services/button.service.d.ts +27 -0
- package/lib/services/condition.service.d.ts +10 -0
- package/lib/services/datalib.service.d.ts +77 -0
- package/lib/services/dialog.service.d.ts +19 -0
- package/lib/services/export.service.d.ts +6 -0
- package/lib/services/http.service.d.ts +22 -0
- package/lib/services/loader-interceptor.service.d.ts +22 -0
- package/lib/services/loader.service.d.ts +8 -0
- package/lib/services/log.service.d.ts +19 -0
- package/lib/services/message.service.d.ts +16 -0
- package/lib/services/storage.service.d.ts +10 -0
- package/lib/services/table-config.service.d.ts +9 -0
- package/lib/services/tin-spa.service.d.ts +6 -0
- package/lib/tin-spa.module.d.ts +66 -0
- package/package.json +13 -8
- package/public-api.d.ts +69 -0
- package/fesm2022/tin-spa.mjs +0 -12474
- package/fesm2022/tin-spa.mjs.map +0 -1
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { transactDialog } from './transactDialog.component';
|
|
4
|
+
import { ListDialogComponent } from '../list-dialog/list-dialog.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../services/datalib.service";
|
|
7
|
+
import * as i2 from "../../services/message.service";
|
|
8
|
+
import * as i3 from "@angular/cdk/layout";
|
|
9
|
+
import * as i4 from "@angular/material/dialog";
|
|
10
|
+
import * as i5 from "@angular/common";
|
|
11
|
+
import * as i6 from "@angular/material/button";
|
|
12
|
+
import * as i7 from "@angular/material/icon";
|
|
13
|
+
import * as i8 from "@angular/material/tooltip";
|
|
14
|
+
import * as i9 from "../filter/filter.component";
|
|
15
|
+
import * as i10 from "../table/table.component";
|
|
16
|
+
export class TransactionsComponent {
|
|
17
|
+
constructor(dataService, messageService, breakpointObserver, dialog) {
|
|
18
|
+
this.dataService = dataService;
|
|
19
|
+
this.messageService = messageService;
|
|
20
|
+
this.breakpointObserver = breakpointObserver;
|
|
21
|
+
this.dialog = dialog;
|
|
22
|
+
this.accounts = [];
|
|
23
|
+
this.transactions = [];
|
|
24
|
+
this.categories = [];
|
|
25
|
+
this.reload = new Subject();
|
|
26
|
+
this.config = {
|
|
27
|
+
minColumns: ['date', 'narration', 'amount'],
|
|
28
|
+
minButtons: ['edit', 'delete'],
|
|
29
|
+
flatButtons: true,
|
|
30
|
+
columns: [
|
|
31
|
+
{ name: 'date', type: 'date' },
|
|
32
|
+
{ name: 'narration', type: 'text' },
|
|
33
|
+
{ name: 'amount', type: 'money', color: { name: 'red', condition: x => x.type == 0 }, icons: [{ name: 'arrow_right_alt', condition: x => x.link != '' && x.type == 0 }, { name: 'keyboard_backspace', condition: x => x.link != '' && x.type == 1 }] },
|
|
34
|
+
{ name: 'categoryName', alias: 'Category', type: 'text' },
|
|
35
|
+
],
|
|
36
|
+
buttons: [
|
|
37
|
+
{ name: 'edit', disabled: x => x.link != '' && x.type == 1 },
|
|
38
|
+
{ name: 'delete', dialog: true, action: { url: 'general/transactions?action=delete', method: 'post' }, disabled: x => x.link != '' && x.type == 1 },
|
|
39
|
+
],
|
|
40
|
+
};
|
|
41
|
+
// detect screen size changes
|
|
42
|
+
this.breakpointObserver.observe(["(max-width: 600px)"]).subscribe((result) => {
|
|
43
|
+
if (result.matches) {
|
|
44
|
+
this.smallScreen = true;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this.smallScreen = false;
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
ngOnInit() {
|
|
52
|
+
this.accountID = this.dataService.GetNavigationValue();
|
|
53
|
+
this.loadData();
|
|
54
|
+
}
|
|
55
|
+
cats() {
|
|
56
|
+
let conf = { title: "Transaction Categories", name: 'Category', listName: 'TransactionCategories' };
|
|
57
|
+
const dialogRef = this.dialog.open(ListDialogComponent, {
|
|
58
|
+
width: "900px",
|
|
59
|
+
data: conf,
|
|
60
|
+
});
|
|
61
|
+
dialogRef.afterClosed().subscribe((result) => {
|
|
62
|
+
if (result == 'success') {
|
|
63
|
+
this.loadData();
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
actionClicked(x) {
|
|
68
|
+
if (x.name == "edit") {
|
|
69
|
+
this.transact('edit', x.data);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
loadData() {
|
|
73
|
+
this.dataService.CallApi({ url: 'general/transactions/' + this.accountID }, '').subscribe((apiResponse) => {
|
|
74
|
+
this.account = apiResponse.data.account;
|
|
75
|
+
this.accounts = apiResponse.data.accounts;
|
|
76
|
+
this.transactions = apiResponse.data.transactions;
|
|
77
|
+
this.categories = apiResponse.data.categories;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
transact(x, data) {
|
|
81
|
+
const dialogRef = this.dialog.open(transactDialog, {
|
|
82
|
+
width: "500px",
|
|
83
|
+
data: { action: x, account: this.account, data: data, accounts: this.accounts, categories: this.categories },
|
|
84
|
+
});
|
|
85
|
+
dialogRef.afterClosed().subscribe((result) => {
|
|
86
|
+
if (result == 'success') {
|
|
87
|
+
this.loadData();
|
|
88
|
+
this.messageService.toast("Updated");
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
transfer() {
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
TransactionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TransactionsComponent, deps: [{ token: i1.DataServiceLib }, { token: i2.MessageService }, { token: i3.BreakpointObserver }, { token: i4.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
96
|
+
TransactionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TransactionsComponent, selector: "spa-transactions", ngImport: i0, template: "<!-- <h4>Transactions ({{account?.name}})</h4>\n<hr> -->\n\n<div class=\"d-flex align-items-center justify-content-between mt-0\" style=\"margin-left: 10px\">\n\n <label style=\"font-size: 16px;\">Transactions ({{account?.name}})</label>\n\n <div>\n <button mat-mini-fab color=\"primary\" style=\"margin-right:1em;padding-left: 0;\" (click)=\"cats()\" matTooltip=\"Categories\" matTooltipPosition=\"above\"><mat-icon>category</mat-icon></button>\n </div>\n\n</div>\n<hr>\n\n<div class=\"d-flex justify-content-between\" style=\" font-size: 14px;\" >\n\n <div *ngIf=\"account\" class=\"tin-row actionbuttons\">\n <label style=\"margin-right: 5px;\">{{account?.currency}}</label>\n <label style=\"font-size: 34px;margin-right: 20px;\">{{account?.balance | currency : '' : ''}}</label>\n <div *ngIf=\"!smallScreen; then buttons\" ></div>\n </div>\n\n <div *ngIf=\"!smallScreen\">\n <spa-filter (refreshClick)=\"loadData()\"></spa-filter>\n </div>\n\n</div>\n\n<div *ngIf=\"smallScreen\" style=\"margin-bottom: 10px;\"></div>\n\n<div *ngIf=\"smallScreen; then buttons\" ></div>\n\n<ng-template #buttons >\n <div class=\"tin-row actionbuttons\">\n <button mat-stroked-button style=\"color: green;\" (click)=\"transact('income','')\"><mat-icon class=\"sign\">add</mat-icon>Income</button> <mat-icon class=\"info\">info</mat-icon>\n <button mat-stroked-button style=\"color: red;\" (click)=\"transact('expense','')\"><mat-icon class=\"sign\">remove</mat-icon>Expense</button> <mat-icon class=\"info\">info</mat-icon>\n <button mat-stroked-button style=\"color: orange;\" (click)=\"transact('transfer','')\" ><mat-icon class=\"sign\">sync_alt</mat-icon>Transfer</button> <mat-icon class=\"info\">info</mat-icon>\n </div>\n</ng-template>\n\n\n\n<div style=\" font-size: 14px;\">\n <spa-table [config]=\"config\" [data]=\"transactions\" [reload]=\"reload\" (dataLoad)=\"loadData()\" (actionClick)=\"actionClicked($event)\"></spa-table>\n</div>\n", styles: [".info{color:#4682b4;margin-top:5px;margin-right:5px;font-size:18px}.sign{margin-top:5px;font-size:18px}.actionbuttons{gap:1px}button{padding-left:7px}.mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i9.FilterComponent, selector: "spa-filter", inputs: ["flatButtons", "showText", "showButton", "data"], outputs: ["refreshClick"] }, { kind: "component", type: i10.TableComponent, selector: "spa-table", inputs: ["hideTitle", "data", "config", "reload"], outputs: ["dataLoad", "refreshClick", "searchClick", "createClick", "actionClick", "inputChange"] }, { kind: "pipe", type: i5.CurrencyPipe, name: "currency" }] });
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TransactionsComponent, decorators: [{
|
|
98
|
+
type: Component,
|
|
99
|
+
args: [{ selector: 'spa-transactions', template: "<!-- <h4>Transactions ({{account?.name}})</h4>\n<hr> -->\n\n<div class=\"d-flex align-items-center justify-content-between mt-0\" style=\"margin-left: 10px\">\n\n <label style=\"font-size: 16px;\">Transactions ({{account?.name}})</label>\n\n <div>\n <button mat-mini-fab color=\"primary\" style=\"margin-right:1em;padding-left: 0;\" (click)=\"cats()\" matTooltip=\"Categories\" matTooltipPosition=\"above\"><mat-icon>category</mat-icon></button>\n </div>\n\n</div>\n<hr>\n\n<div class=\"d-flex justify-content-between\" style=\" font-size: 14px;\" >\n\n <div *ngIf=\"account\" class=\"tin-row actionbuttons\">\n <label style=\"margin-right: 5px;\">{{account?.currency}}</label>\n <label style=\"font-size: 34px;margin-right: 20px;\">{{account?.balance | currency : '' : ''}}</label>\n <div *ngIf=\"!smallScreen; then buttons\" ></div>\n </div>\n\n <div *ngIf=\"!smallScreen\">\n <spa-filter (refreshClick)=\"loadData()\"></spa-filter>\n </div>\n\n</div>\n\n<div *ngIf=\"smallScreen\" style=\"margin-bottom: 10px;\"></div>\n\n<div *ngIf=\"smallScreen; then buttons\" ></div>\n\n<ng-template #buttons >\n <div class=\"tin-row actionbuttons\">\n <button mat-stroked-button style=\"color: green;\" (click)=\"transact('income','')\"><mat-icon class=\"sign\">add</mat-icon>Income</button> <mat-icon class=\"info\">info</mat-icon>\n <button mat-stroked-button style=\"color: red;\" (click)=\"transact('expense','')\"><mat-icon class=\"sign\">remove</mat-icon>Expense</button> <mat-icon class=\"info\">info</mat-icon>\n <button mat-stroked-button style=\"color: orange;\" (click)=\"transact('transfer','')\" ><mat-icon class=\"sign\">sync_alt</mat-icon>Transfer</button> <mat-icon class=\"info\">info</mat-icon>\n </div>\n</ng-template>\n\n\n\n<div style=\" font-size: 14px;\">\n <spa-table [config]=\"config\" [data]=\"transactions\" [reload]=\"reload\" (dataLoad)=\"loadData()\" (actionClick)=\"actionClicked($event)\"></spa-table>\n</div>\n", styles: [".info{color:#4682b4;margin-top:5px;margin-right:5px;font-size:18px}.sign{margin-top:5px;font-size:18px}.actionbuttons{gap:1px}button{padding-left:7px}.mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"] }]
|
|
100
|
+
}], ctorParameters: function () { return [{ type: i1.DataServiceLib }, { type: i2.MessageService }, { type: i3.BreakpointObserver }, { type: i4.MatDialog }]; } });
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL3RyYW5zYWN0aW9ucy90cmFuc2FjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdHJhbnNhY3Rpb25zL3RyYW5zYWN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBS2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7Ozs7Ozs7QUFPM0UsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQyxZQUFvQixXQUEyQixFQUFVLGNBQThCLEVBQVUsa0JBQXNDLEVBQVMsTUFBaUI7UUFBN0ksZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVc7UUErRWpLLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUVsQixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLFdBQU0sR0FBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUd6QyxXQUFNLEdBQWdCO1lBRXBCLFVBQVUsRUFBRSxDQUFDLE1BQU0sRUFBQyxXQUFXLEVBQUMsUUFBUSxDQUFDO1lBQ3pDLFVBQVUsRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7WUFDOUIsV0FBVyxFQUFFLElB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LFNBQVMsQ0FBQyxDQUFBO2FBQ3JDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtJQUVSLENBQUM7O2tIQTdFVSxxQkFBcUI7c0dBQXJCLHFCQUFxQix3RENoQmxDLG03REE2Q0E7MkZEN0JhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZUxpYiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RhdGFsaWIuc2VydmljZSc7XHJcbmltcG9ydCB7IEZvcm1Db25maWcsIExpc3REaWFsb2dDb25maWcsIFRhYmxlQ29uZmlnLCBBcGlSZXNwb25zZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvQ2xhc3Nlcyc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludFN0YXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XHJcbmltcG9ydCB7IHRyYW5zYWN0RGlhbG9nIH0gZnJvbSAnLi90cmFuc2FjdERpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBMaXN0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vbGlzdC1kaWFsb2cvbGlzdC1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLXRyYW5zYWN0aW9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RyYW5zYWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdHJhbnNhY3Rpb25zLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2VMaWIsIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLCBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2cpIHtcclxuXHJcbiAgICAvLyBkZXRlY3Qgc2NyZWVuIHNpemUgY2hhbmdlc1xyXG4gICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShbXCIobWF4LXdpZHRoOiA2MDBweClcIl0pLnN1YnNjcmliZSgocmVzdWx0OiBCcmVha3BvaW50U3RhdGUpID0+IHtcclxuXHJcbiAgICAgIGlmIChyZXN1bHQubWF0Y2hlcykge1xyXG4gICAgICAgIHRoaXMuc21hbGxTY3JlZW4gPSB0cnVlXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zbWFsbFNjcmVlbiA9IGZhbHNlXHJcbiAgICAgIH1cclxuXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY2NvdW50SUQgPSB0aGlzLmRhdGFTZXJ2aWNlLkdldE5hdmlnYXRpb25WYWx1ZSgpXHJcbiAgICB0aGlzLmxvYWREYXRhKCk7XHJcbiAgfVxyXG5cclxuICBjYXRzKCkge1xyXG5cclxuICAgIGxldCBjb25mOiBMaXN0RGlhbG9nQ29uZmlnID0geyB0aXRsZTogXCJUcmFuc2FjdGlvbiBDYXRlZ29yaWVzXCIsIG5hbWU6ICdDYXRlZ29yeScsIGxpc3ROYW1lOiAnVHJhbnNhY3Rpb25DYXRlZ29yaWVzJyB9XHJcblxyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihMaXN0RGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiBcIjkwMHB4XCIsXHJcbiAgICAgIGRhdGE6IGNvbmYsXHJcbiAgICB9KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG5cclxuICAgICAgaWYgKHJlc3VsdCA9PSAnc3VjY2VzcycpIHtcclxuICAgICAgICB0aGlzLmxvYWREYXRhKClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgYWN0aW9uQ2xpY2tlZCh4KXtcclxuXHJcbiAgICBpZiAoeC5uYW1lID09IFwiZWRpdFwiKXtcclxuICAgICAgdGhpcy50cmFuc2FjdCgnZWRpdCcsIHguZGF0YSlcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBsb2FkRGF0YSgpe1xyXG4gICAgdGhpcy5kYXRhU2VydmljZS5DYWxsQXBpKHsgdXJsOiAnZ2VuZXJhbC90cmFuc2FjdGlvbnMvJyArIHRoaXMuYWNjb3VudElEIH0sJycpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2UgOiBBcGlSZXNwb25zZSkgPT4ge1xyXG5cclxuICAgICAgdGhpcy5hY2NvdW50ID0gYXBpUmVzcG9uc2UuZGF0YS5hY2NvdW50O1xyXG4gICAgICB0aGlzLmFjY291bnRzID0gYXBpUmVzcG9uc2UuZGF0YS5hY2NvdW50cztcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbnMgPSBhcGlSZXNwb25zZS5kYXRhLnRyYW5zYWN0aW9ucztcclxuICAgICAgdGhpcy5jYXRlZ29yaWVzID0gYXBpUmVzcG9uc2UuZGF0YS5jYXRlZ29yaWVzO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG5cclxuXHJcbiAgdHJhbnNhY3QoeCwgZGF0YSkge1xyXG5cclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4odHJhbnNhY3REaWFsb2csIHtcclxuICAgICAgd2lkdGg6IFwiNTAwcHhcIixcclxuICAgICAgZGF0YTogeyBhY3Rpb246IHgsIGFjY291bnQ6IHRoaXMuYWNjb3VudCwgZGF0YTogZGF0YSwgYWNjb3VudHM6IHRoaXMuYWNjb3VudHMsIGNhdGVnb3JpZXM6IHRoaXMuY2F0ZWdvcmllcyB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuXHJcbiAgICAgIGlmIChyZXN1bHQgPT0gJ3N1Y2Nlc3MnKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkRGF0YSgpXHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIlVwZGF0ZWRcIilcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB0cmFuc2ZlcigpIHtcclxuXHJcbiAgfVxyXG5cclxuICBzbWFsbFNjcmVlblxyXG4gIGFjY291bnQ7XHJcbiAgYWNjb3VudHMgPSBbXTtcclxuICB0cmFuc2FjdGlvbnMgPSBbXTtcclxuICBhY2NvdW50SUQ7XHJcbiAgY2F0ZWdvcmllcyA9IFtdO1xyXG4gIHJlbG9hZDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG5cclxuICBjb25maWc6IFRhYmxlQ29uZmlnID0ge1xyXG5cclxuICAgIG1pbkNvbHVtbnM6IFsnZGF0ZScsJ25hcnJhdGlvbicsJ2Ftb3VudCddLFxyXG4gICAgbWluQnV0dG9uczogWydlZGl0JywgJ2RlbGV0ZSddLFxyXG4gICAgZmxhdEJ1dHRvbnM6IHRydWUsXHJcblxyXG4gICAgY29sdW1uczogW1xyXG4gICAgICB7IG5hbWU6ICdkYXRlJywgdHlwZTogJ2RhdGUnIH0sXHJcbiAgICAgIHsgbmFtZTogJ25hcnJhdGlvbicsIHR5cGU6ICd0ZXh0J30sXHJcbiAgICAgIHsgbmFtZTogJ2Ftb3VudCcsIHR5cGU6ICdtb25leScsIGNvbG9yOiB7IG5hbWU6ICdyZWQnLCBjb25kaXRpb246IHggPT4geC50eXBlID09IDAgfSwgaWNvbnM6IFt7IG5hbWU6ICdhcnJvd19yaWdodF9hbHQnLCBjb25kaXRpb246IHggPT4geC5saW5rICE9ICcnICYmIHgudHlwZSA9PSAwIH0sIHsgbmFtZTogJ2tleWJvYXJkX2JhY2tzcGFjZScsIGNvbmRpdGlvbjogeCA9PiB4LmxpbmsgIT0gJycgJiYgeC50eXBlID09IDEgfV0gfSxcclxuICAgICAgeyBuYW1lOiAnY2F0ZWdvcnlOYW1lJyxhbGlhcyA6ICdDYXRlZ29yeScsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgXSxcclxuXHJcbiAgICBidXR0b25zOiBbXHJcblxyXG4gICAgICB7IG5hbWU6ICdlZGl0JywgZGlzYWJsZWQ6IHggPT4geC5saW5rICE9ICcnICYmIHgudHlwZSA9PSAxIH0sXHJcbiAgICAgIHsgbmFtZTogJ2RlbGV0ZScsIGRpYWxvZzogdHJ1ZSwgYWN0aW9uOiB7IHVybDogJ2dlbmVyYWwvdHJhbnNhY3Rpb25zP2FjdGlvbj1kZWxldGUnLCBtZXRob2Q6ICdwb3N0JyB9LCBkaXNhYmxlZCA6IHggPT4geC5saW5rICE9ICcnICYmIHgudHlwZSA9PSAxfSxcclxuICAgIF0sXHJcblxyXG4gIH1cclxuXHJcbn1cclxuIiwiPCEtLSA8aDQ+VHJhbnNhY3Rpb25zICh7e2FjY291bnQ/Lm5hbWV9fSk8L2g0PlxuPGhyPiAtLT5cblxuPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gbXQtMFwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDEwcHhcIj5cblxuICA8bGFiZWwgc3R5bGU9XCJmb250LXNpemU6IDE2cHg7XCI+VHJhbnNhY3Rpb25zICh7e2FjY291bnQ/Lm5hbWV9fSk8L2xhYmVsPlxuXG4gIDxkaXY+XG4gICAgPGJ1dHRvbiBtYXQtbWluaS1mYWIgY29sb3I9XCJwcmltYXJ5XCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MWVtO3BhZGRpbmctbGVmdDogMDtcIiAoY2xpY2spPVwiY2F0cygpXCIgbWF0VG9vbHRpcD1cIkNhdGVnb3JpZXNcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPjxtYXQtaWNvbj5jYXRlZ29yeTwvbWF0LWljb24+PC9idXR0b24+XG4gIDwvZGl2PlxuXG48L2Rpdj5cbjxocj5cblxuPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiIHN0eWxlPVwiIGZvbnQtc2l6ZTogMTRweDtcIiA+XG5cbiAgPGRpdiAqbmdJZj1cImFjY291bnRcIiBjbGFzcz1cInRpbi1yb3cgYWN0aW9uYnV0dG9uc1wiPlxuICAgIDxsYWJlbCBzdHlsZT1cIm1hcmdpbi1yaWdodDogNXB4O1wiPnt7YWNjb3VudD8uY3VycmVuY3l9fTwvbGFiZWw+XG4gICAgPGxhYmVsIHN0eWxlPVwiZm9udC1zaXplOiAzNHB4O21hcmdpbi1yaWdodDogMjBweDtcIj57e2FjY291bnQ/LmJhbGFuY2UgfCBjdXJyZW5jeSA6ICcnIDogJyd9fTwvbGFiZWw+XG4gICAgPGRpdiAqbmdJZj1cIiFzbWFsbFNjcmVlbjsgdGhlbiBidXR0b25zXCIgPjwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwiIXNtYWxsU2NyZWVuXCI+XG4gICAgPHNwYS1maWx0ZXIgKHJlZnJlc2hDbGljayk9XCJsb2FkRGF0YSgpXCI+PC9zcGEtZmlsdGVyPlxuICA8L2Rpdj5cblxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJzbWFsbFNjcmVlblwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMTBweDtcIj48L2Rpdj5cblxuPGRpdiAqbmdJZj1cInNtYWxsU2NyZWVuOyB0aGVuIGJ1dHRvbnNcIiA+PC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjYnV0dG9ucyA+XG4gIDxkaXYgY2xhc3M9XCJ0aW4tcm93IGFjdGlvbmJ1dHRvbnNcIj5cbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBzdHlsZT1cImNvbG9yOiBncmVlbjtcIiAoY2xpY2spPVwidHJhbnNhY3QoJ2luY29tZScsJycpXCI+PG1hdC1pY29uIGNsYXNzPVwic2lnblwiPmFkZDwvbWF0LWljb24+SW5jb21lPC9idXR0b24+IDxtYXQtaWNvbiBjbGFzcz1cImluZm9cIj5pbmZvPC9tYXQtaWNvbj5cbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBzdHlsZT1cImNvbG9yOiByZWQ7XCIgKGNsaWNrKT1cInRyYW5zYWN0KCdleHBlbnNlJywnJylcIj48bWF0LWljb24gY2xhc3M9XCJzaWduXCI+cmVtb3ZlPC9tYXQtaWNvbj5FeHBlbnNlPC9idXR0b24+IDxtYXQtaWNvbiBjbGFzcz1cImluZm9cIj5pbmZvPC9tYXQtaWNvbj5cbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBzdHlsZT1cImNvbG9yOiBvcmFuZ2U7XCIgKGNsaWNrKT1cInRyYW5zYWN0KCd0cmFuc2ZlcicsJycpXCIgPjxtYXQtaWNvbiBjbGFzcz1cInNpZ25cIj5zeW5jX2FsdDwvbWF0LWljb24+VHJhbnNmZXI8L2J1dHRvbj4gPG1hdC1pY29uIGNsYXNzPVwiaW5mb1wiPmluZm88L21hdC1pY29uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cblxuXG48ZGl2IHN0eWxlPVwiIGZvbnQtc2l6ZTogMTRweDtcIj5cbiAgPHNwYS10YWJsZSBbY29uZmlnXT1cImNvbmZpZ1wiIFtkYXRhXT1cInRyYW5zYWN0aW9uc1wiIFtyZWxvYWRdPVwicmVsb2FkXCIgKGRhdGFMb2FkKT1cImxvYWREYXRhKClcIiAoYWN0aW9uQ2xpY2spPVwiYWN0aW9uQ2xpY2tlZCgkZXZlbnQpXCI+PC9zcGEtdGFibGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { Component, ViewChild } from "@angular/core";
|
|
2
|
+
import { MatTableDataSource } from "@angular/material/table";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../services/http.service";
|
|
5
|
+
import * as i2 from "@angular/router";
|
|
6
|
+
import * as i3 from "../../services/auth.service";
|
|
7
|
+
import * as i4 from "../../services/datalib.service";
|
|
8
|
+
import * as i5 from "@angular/material/dialog";
|
|
9
|
+
import * as i6 from "../../services/message.service";
|
|
10
|
+
import * as i7 from "@angular/common";
|
|
11
|
+
import * as i8 from "@angular/material/table";
|
|
12
|
+
import * as i9 from "@angular/material/paginator";
|
|
13
|
+
import * as i10 from "@angular/material/button";
|
|
14
|
+
import * as i11 from "@angular/material/icon";
|
|
15
|
+
import * as i12 from "@angular/material/tooltip";
|
|
16
|
+
import * as i13 from "../filter/filter.component";
|
|
17
|
+
export class UsersComponent {
|
|
18
|
+
constructor(httpService, router, authService, dataService, dialog, messageService) {
|
|
19
|
+
this.httpService = httpService;
|
|
20
|
+
this.router = router;
|
|
21
|
+
this.authService = authService;
|
|
22
|
+
this.dataService = dataService;
|
|
23
|
+
this.dialog = dialog;
|
|
24
|
+
this.messageService = messageService;
|
|
25
|
+
this.isProcessing = false;
|
|
26
|
+
this._filterText = "";
|
|
27
|
+
this.displayedColumns = ["userName", "fullName", "roleName", "locked", "dateCreated", "Action"];
|
|
28
|
+
}
|
|
29
|
+
ngOnInit() {
|
|
30
|
+
this.authService.isAuthorised(this.dataService.capUsers.name);
|
|
31
|
+
this.UpdateData();
|
|
32
|
+
}
|
|
33
|
+
UpdateData() {
|
|
34
|
+
this.dataService.GetUser().subscribe((apiResponse) => {
|
|
35
|
+
this.usersRaw = apiResponse.data;
|
|
36
|
+
this.users = new MatTableDataSource(apiResponse.data);
|
|
37
|
+
this.users.paginator = this.usersPaginator;
|
|
38
|
+
this.applyFilter(this._filterText);
|
|
39
|
+
}, (error) => {
|
|
40
|
+
this.isProcessing = false;
|
|
41
|
+
this.messageService.toast(this.httpService.Error(error));
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
applyFilter(filterValue) {
|
|
45
|
+
this.users.filter = filterValue.trim().toLowerCase();
|
|
46
|
+
}
|
|
47
|
+
createAccount() {
|
|
48
|
+
this.router.navigate(["home/admin/create-account"]);
|
|
49
|
+
}
|
|
50
|
+
viewProfile(user) {
|
|
51
|
+
this.dataService.tmpProfileuserName = user.userName;
|
|
52
|
+
this.router.navigate(["home/user/profile"]);
|
|
53
|
+
}
|
|
54
|
+
lock(u) {
|
|
55
|
+
let login = { userName: u.userName, password: "Abcdef@123" };
|
|
56
|
+
this.dataService.LockUser(login).subscribe((apiResponse) => {
|
|
57
|
+
if (apiResponse.success) {
|
|
58
|
+
this.messageService.toast("User Locked");
|
|
59
|
+
this.UpdateData();
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
this.messageService.toast("Error: " + apiResponse);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
unlock(u) {
|
|
67
|
+
let login = { userName: u.userName, password: "Abcdef@123" };
|
|
68
|
+
this.dataService.UnlockUser(login).subscribe((apiResponse) => {
|
|
69
|
+
if (apiResponse.success) {
|
|
70
|
+
this.messageService.toast("User Unlocked");
|
|
71
|
+
this.UpdateData();
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.messageService.toast("Error: " + apiResponse);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
recover(u) {
|
|
79
|
+
this.dataService.SelfReset(u).subscribe((apiResponse) => {
|
|
80
|
+
if (apiResponse.message == "success") {
|
|
81
|
+
this.messageService.toast("The password has been sent on email");
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
this.messageService.toast("Error: " + apiResponse.message);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
deleteUser(user) {
|
|
89
|
+
this.messageService.confirm(`Delete ${user.userName} ?`).subscribe((result) => {
|
|
90
|
+
if (result == "yes") {
|
|
91
|
+
this.isProcessing = true;
|
|
92
|
+
this.dataService.DeleteUser(user).subscribe((apiResponse) => {
|
|
93
|
+
this.isProcessing = false;
|
|
94
|
+
if (apiResponse.message == "success") {
|
|
95
|
+
this.messageService.toast("User Deleted");
|
|
96
|
+
this.UpdateData();
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
this.messageService.toast("Error: " + apiResponse.message);
|
|
100
|
+
}
|
|
101
|
+
}, (error) => {
|
|
102
|
+
this.messageService.toast("Connection failed ");
|
|
103
|
+
this.isProcessing = false;
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
UsersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UsersComponent, deps: [{ token: i1.HttpService }, { token: i2.Router }, { token: i3.AuthService }, { token: i4.DataServiceLib }, { token: i5.MatDialog }, { token: i6.MessageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
110
|
+
UsersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: UsersComponent, selector: "spa-users", viewQueries: [{ propertyName: "usersPaginator", first: true, predicate: ["usersPaginator"], descendants: true }], ngImport: i0, template: "\r\n<h4>Users</h4>\r\n<hr />\r\n\r\n<div class=\"container-fluid\" style=\"font-size: 14px;\">\r\n\r\n <div class=\"row justify-content-between\" style=\"padding-bottom: 10px\">\r\n <div class=\"col-2\">\r\n <button id=\"btnCreateAccount\" mat-raised-button color=\"primary\" (click)=\"createAccount()\">Create User</button>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-end\">\r\n <spa-filter [data]=\"users\" (refreshClick)=\"UpdateData()\"></spa-filter>\r\n </div>\r\n </div>\r\n\r\n\r\n <p *ngIf=\"!users\"><em>Loading...</em></p>\r\n\r\n\r\n <div class=\"mat-elevation-z8\" *ngIf=\"users\">\r\n\r\n <table id=\"tblTable\" mat-table [dataSource]=\"users\">\r\n\r\n <ng-container matColumnDef=\"userName\">\r\n <th mat-header-cell *matHeaderCellDef> UserName </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.userName}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"locked\">\r\n <th mat-header-cell *matHeaderCellDef> Locked </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.locked}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"fullName\">\r\n <th mat-header-cell *matHeaderCellDef> Name </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.firstName}} {{user.lastName}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"roleName\">\r\n <th mat-header-cell *matHeaderCellDef> Role </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.role.roleName}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"disabled\">\r\n <th mat-header-cell *matHeaderCellDef> Disabled </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.disabled}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"dateCreated\">\r\n <th mat-header-cell *matHeaderCellDef> Created </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.createdDate | date: 'dd/MM/yyyy'}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"dateUpdated\">\r\n <th mat-header-cell *matHeaderCellDef> Updated </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.updatedDate | date: 'dd/MM/yyyy'}} </td>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"Action\">\r\n <th mat-header-cell *matHeaderCellDef> Action </th>\r\n <td mat-cell *matCellDef=\"let user\" style=\"width: 250px;\">\r\n\r\n <button mat-mini-fab color=\"primary\" (click)=\"viewProfile(user)\" style=\"margin-right:30px\" matTooltip=\"View Profile\" matTooltipPosition=\"above\"> <mat-icon>account_circle</mat-icon></button>\r\n\r\n <button *ngIf=\"user.locked=='0'\" mat-mini-fab color=\"warn\" (click)=\"lock(user)\" style=\"margin-right:10px\" matTooltip=\"Lock\" matTooltipPosition=\"above\"> <mat-icon>lock</mat-icon></button>\r\n <button *ngIf=\"user.locked=='1'\" mat-mini-fab (click)=\"unlock(user)\" style=\"margin-right:10px; background-color: green;\" matTooltip=\"Unlock\" matTooltipPosition=\"above\"> <mat-icon >lock_open</mat-icon></button>\r\n\r\n <!-- <button *ngIf=\"user.disabled=='0'\" mat-mini-fab color=\"warn\" (click)=\"disable(user)\" style=\"margin-right:10px\" matTooltip=\"Disable\" matTooltipPosition=\"above\"> <mat-icon>block</mat-icon></button>\r\n <button *ngIf=\"user.disabled=='1'\" mat-mini-fab (click)=\"enable(user)\" style=\"margin-right:10px; background-color: green\" matTooltip=\"Enable\" matTooltipPosition=\"above\"> <mat-icon>done</mat-icon></button> -->\r\n\r\n <button mat-mini-fab color=\"warn\" (click)=\"deleteUser(user)\" style=\"margin-right:10px\" matTooltip=\"Delete\" matTooltipPosition=\"above\"> <mat-icon>delete</mat-icon></button>\r\n <!-- <button mat-mini-fab color=\"primary\" (click)=\"recover(user)\" style=\"margin-right:10px\" matTooltip=\"Reset Password\" matTooltipPosition=\"above\"> <mat-icon>vpn_key</mat-icon></button> -->\r\n\r\n\r\n\r\n </td>\r\n </ng-container>\r\n\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" [ngClass]=\"{'make-gray': row.disabled =='1'}\"></tr>\r\n\r\n </table>\r\n\r\n </div>\r\n\r\n <mat-paginator #usersPaginator [pageSizeOptions]=\"[10, 20, 50]\" showFirstLastButtons></mat-paginator>\r\n</div>\r\n\r\n<!-- ------------------ -->\r\n\r\n<!-- <div class=\"container mt-5\" style=\" font-size: 14px;\">\r\n<spa-table [data]=\"usersRaw\" [config]=\"config\" (refreshClick)=\"UpdateData()\" (viewClick)=\"viewProfile($event)\" (createClick)=\"createAccount()\" (deleteClick)=\"deleteUser($event)\"></spa-table>\r\n</div> -->\r\n\r\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}.refreshIcon{font-size:22px!important;margin-top:-7px!important}.make-gray{background-color:#d3d3d3}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i8.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i8.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i8.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i8.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i8.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i8.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i8.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i8.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i8.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i9.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i10.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i11.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i12.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i13.FilterComponent, selector: "spa-filter", inputs: ["flatButtons", "showText", "showButton", "data"], outputs: ["refreshClick"] }, { kind: "pipe", type: i7.DatePipe, name: "date" }] });
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UsersComponent, decorators: [{
|
|
112
|
+
type: Component,
|
|
113
|
+
args: [{ selector: "spa-users", template: "\r\n<h4>Users</h4>\r\n<hr />\r\n\r\n<div class=\"container-fluid\" style=\"font-size: 14px;\">\r\n\r\n <div class=\"row justify-content-between\" style=\"padding-bottom: 10px\">\r\n <div class=\"col-2\">\r\n <button id=\"btnCreateAccount\" mat-raised-button color=\"primary\" (click)=\"createAccount()\">Create User</button>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-end\">\r\n <spa-filter [data]=\"users\" (refreshClick)=\"UpdateData()\"></spa-filter>\r\n </div>\r\n </div>\r\n\r\n\r\n <p *ngIf=\"!users\"><em>Loading...</em></p>\r\n\r\n\r\n <div class=\"mat-elevation-z8\" *ngIf=\"users\">\r\n\r\n <table id=\"tblTable\" mat-table [dataSource]=\"users\">\r\n\r\n <ng-container matColumnDef=\"userName\">\r\n <th mat-header-cell *matHeaderCellDef> UserName </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.userName}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"locked\">\r\n <th mat-header-cell *matHeaderCellDef> Locked </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.locked}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"fullName\">\r\n <th mat-header-cell *matHeaderCellDef> Name </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.firstName}} {{user.lastName}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"roleName\">\r\n <th mat-header-cell *matHeaderCellDef> Role </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.role.roleName}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"disabled\">\r\n <th mat-header-cell *matHeaderCellDef> Disabled </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.disabled}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"dateCreated\">\r\n <th mat-header-cell *matHeaderCellDef> Created </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.createdDate | date: 'dd/MM/yyyy'}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"dateUpdated\">\r\n <th mat-header-cell *matHeaderCellDef> Updated </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.updatedDate | date: 'dd/MM/yyyy'}} </td>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"Action\">\r\n <th mat-header-cell *matHeaderCellDef> Action </th>\r\n <td mat-cell *matCellDef=\"let user\" style=\"width: 250px;\">\r\n\r\n <button mat-mini-fab color=\"primary\" (click)=\"viewProfile(user)\" style=\"margin-right:30px\" matTooltip=\"View Profile\" matTooltipPosition=\"above\"> <mat-icon>account_circle</mat-icon></button>\r\n\r\n <button *ngIf=\"user.locked=='0'\" mat-mini-fab color=\"warn\" (click)=\"lock(user)\" style=\"margin-right:10px\" matTooltip=\"Lock\" matTooltipPosition=\"above\"> <mat-icon>lock</mat-icon></button>\r\n <button *ngIf=\"user.locked=='1'\" mat-mini-fab (click)=\"unlock(user)\" style=\"margin-right:10px; background-color: green;\" matTooltip=\"Unlock\" matTooltipPosition=\"above\"> <mat-icon >lock_open</mat-icon></button>\r\n\r\n <!-- <button *ngIf=\"user.disabled=='0'\" mat-mini-fab color=\"warn\" (click)=\"disable(user)\" style=\"margin-right:10px\" matTooltip=\"Disable\" matTooltipPosition=\"above\"> <mat-icon>block</mat-icon></button>\r\n <button *ngIf=\"user.disabled=='1'\" mat-mini-fab (click)=\"enable(user)\" style=\"margin-right:10px; background-color: green\" matTooltip=\"Enable\" matTooltipPosition=\"above\"> <mat-icon>done</mat-icon></button> -->\r\n\r\n <button mat-mini-fab color=\"warn\" (click)=\"deleteUser(user)\" style=\"margin-right:10px\" matTooltip=\"Delete\" matTooltipPosition=\"above\"> <mat-icon>delete</mat-icon></button>\r\n <!-- <button mat-mini-fab color=\"primary\" (click)=\"recover(user)\" style=\"margin-right:10px\" matTooltip=\"Reset Password\" matTooltipPosition=\"above\"> <mat-icon>vpn_key</mat-icon></button> -->\r\n\r\n\r\n\r\n </td>\r\n </ng-container>\r\n\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" [ngClass]=\"{'make-gray': row.disabled =='1'}\"></tr>\r\n\r\n </table>\r\n\r\n </div>\r\n\r\n <mat-paginator #usersPaginator [pageSizeOptions]=\"[10, 20, 50]\" showFirstLastButtons></mat-paginator>\r\n</div>\r\n\r\n<!-- ------------------ -->\r\n\r\n<!-- <div class=\"container mt-5\" style=\" font-size: 14px;\">\r\n<spa-table [data]=\"usersRaw\" [config]=\"config\" (refreshClick)=\"UpdateData()\" (viewClick)=\"viewProfile($event)\" (createClick)=\"createAccount()\" (deleteClick)=\"deleteUser($event)\"></spa-table>\r\n</div> -->\r\n\r\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}.refreshIcon{font-size:22px!important;margin-top:-7px!important}.make-gray{background-color:#d3d3d3}\n"] }]
|
|
114
|
+
}], ctorParameters: function () { return [{ type: i1.HttpService }, { type: i2.Router }, { type: i3.AuthService }, { type: i4.DataServiceLib }, { type: i5.MatDialog }, { type: i6.MessageService }]; }, propDecorators: { usersPaginator: [{
|
|
115
|
+
type: ViewChild,
|
|
116
|
+
args: ["usersPaginator"]
|
|
117
|
+
}] } });
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdXNlcnMvdXNlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdXNlcnMvdXNlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBa0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFlN0QsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBb0IsV0FBd0IsRUFBUyxNQUFjLEVBQVUsV0FBd0IsRUFBVSxXQUEyQixFQUFTLE1BQWlCLEVBQVUsY0FBOEI7UUFBeEwsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBTzVNLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRzlCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBSWpCLHFCQUFnQixHQUFhLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQWQyRyxDQUFDO0lBRWpOLFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQVdNLFVBQVU7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FDbEMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUVkLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFckMsQ0FBQyxFQUNELENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDUixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNELENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxXQUFtQjtRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVU7UUFFcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO0lBRTlDLENBQUM7SUFFRCxJQUFJLENBQUMsQ0FBQztRQUNKLElBQUksS0FBSyxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxDQUFBO1FBRTVELElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBRXpELElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNuQjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUM7YUFDcEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsQ0FBQztRQUNOLElBQUksS0FBSyxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxDQUFBO1FBRTVELElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBRTNELElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNuQjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUM7YUFDcEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsQ0FBTztRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRTtZQUNuRSxJQUFJLFdBQVcsQ0FBQyxPQUFPLElBQUksU0FBUyxFQUFFO2dCQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO2FBQ2xFO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDNUQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUVMLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBVTtRQUluQixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBRTVFLElBQUksTUFBTSxJQUFJLEtBQUssRUFBRTtnQkFFbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FDekMsQ0FBQyxXQUF3QixFQUFFLEVBQUU7b0JBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO29CQUUxQixJQUFJLFdBQVcsQ0FBQyxPQUFPLElBQUksU0FBUyxFQUFFO3dCQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQzt3QkFFMUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO3FCQUVuQjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3FCQUM1RDtnQkFDSCxDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDUixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO29CQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztnQkFDNUIsQ0FBQyxDQUNGLENBQUM7YUFFSDtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7MkdBdEhVLGNBQWM7K0ZBQWQsY0FBYyxtS0NoQjNCLHdxSkFpR0E7MkZEakZhLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsV0FBVzttT0FhUSxjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZVwiO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2RhdGFsaWIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVGFibGVDb25maWcsIFVzZXIsIEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvaHR0cC5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJzcGEtdXNlcnNcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3VzZXJzLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL3VzZXJzLmNvbXBvbmVudC5jc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2Vyc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsIHB1YmxpYyByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlTGliLCBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmlzQXV0aG9yaXNlZCh0aGlzLmRhdGFTZXJ2aWNlLmNhcFVzZXJzLm5hbWUpO1xyXG4gICAgdGhpcy5VcGRhdGVEYXRhKCk7XHJcbiAgfVxyXG5cclxuICBpc1Byb2Nlc3Npbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAVmlld0NoaWxkKFwidXNlcnNQYWdpbmF0b3JcIikgdXNlcnNQYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcclxuXHJcbiAgX2ZpbHRlclRleHQgPSBcIlwiO1xyXG5cclxuICB1c2VycztcclxuICB1c2Vyc1JhdztcclxuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtcInVzZXJOYW1lXCIsIFwiZnVsbE5hbWVcIiwgXCJyb2xlTmFtZVwiLCBcImxvY2tlZFwiLCBcImRhdGVDcmVhdGVkXCIsIFwiQWN0aW9uXCJdO1xyXG5cclxuICBwdWJsaWMgVXBkYXRlRGF0YSgpIHtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuR2V0VXNlcigpLnN1YnNjcmliZShcclxuICAgICAgKGFwaVJlc3BvbnNlKSA9PiB7XHJcblxyXG4gICAgICAgIHRoaXMudXNlcnNSYXcgPSBhcGlSZXNwb25zZS5kYXRhO1xyXG4gICAgICAgIHRoaXMudXNlcnMgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKGFwaVJlc3BvbnNlLmRhdGEpO1xyXG4gICAgICAgIHRoaXMudXNlcnMucGFnaW5hdG9yID0gdGhpcy51c2Vyc1BhZ2luYXRvcjtcclxuICAgICAgICB0aGlzLmFwcGx5RmlsdGVyKHRoaXMuX2ZpbHRlclRleHQpO1xyXG5cclxuICAgICAgfSxcclxuICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KHRoaXMuaHR0cFNlcnZpY2UuRXJyb3IoZXJyb3IpKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGFwcGx5RmlsdGVyKGZpbHRlclZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudXNlcnMuZmlsdGVyID0gZmlsdGVyVmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVBY2NvdW50KCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiaG9tZS9hZG1pbi9jcmVhdGUtYWNjb3VudFwiXSk7XHJcbiAgfVxyXG5cclxuICB2aWV3UHJvZmlsZSh1c2VyOiBVc2VyKSB7XHJcblxyXG4gICAgdGhpcy5kYXRhU2VydmljZS50bXBQcm9maWxldXNlck5hbWUgPSB1c2VyLnVzZXJOYW1lO1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiaG9tZS91c2VyL3Byb2ZpbGVcIl0pO1xyXG5cclxuICB9XHJcblxyXG4gIGxvY2sodSkge1xyXG4gICAgbGV0IGxvZ2luID0geyB1c2VyTmFtZTogdS51c2VyTmFtZSwgcGFzc3dvcmQ6IFwiQWJjZGVmQDEyM1wiIH1cclxuXHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkxvY2tVc2VyKGxvZ2luKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlKSA9PiB7XHJcblxyXG4gICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcykge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJVc2VyIExvY2tlZFwiKTtcclxuICAgICAgICB0aGlzLlVwZGF0ZURhdGEoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHVubG9jayh1KSB7XHJcbiAgICBsZXQgbG9naW4gPSB7IHVzZXJOYW1lOiB1LnVzZXJOYW1lLCBwYXNzd29yZDogXCJBYmNkZWZAMTIzXCIgfVxyXG5cclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuVW5sb2NrVXNlcihsb2dpbikuc3Vic2NyaWJlKChhcGlSZXNwb25zZSkgPT4ge1xyXG5cclxuICAgICAgaWYgKGFwaVJlc3BvbnNlLnN1Y2Nlc3MpIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiVXNlciBVbmxvY2tlZFwiKTtcclxuICAgICAgICB0aGlzLlVwZGF0ZURhdGEoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlY292ZXIodTogVXNlcikge1xyXG4gICAgdGhpcy5kYXRhU2VydmljZS5TZWxmUmVzZXQodSkuc3Vic2NyaWJlKChhcGlSZXNwb25zZTogQXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKGFwaVJlc3BvbnNlLm1lc3NhZ2UgPT0gXCJzdWNjZXNzXCIpIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiVGhlIHBhc3N3b3JkIGhhcyBiZWVuIHNlbnQgb24gZW1haWxcIik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkVycm9yOiBcIiArIGFwaVJlc3BvbnNlLm1lc3NhZ2UpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBkZWxldGVVc2VyKHVzZXI6IFVzZXIpIHtcclxuXHJcblxyXG5cclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuY29uZmlybShgRGVsZXRlICR7dXNlci51c2VyTmFtZX0gP2ApLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcblxyXG4gICAgICBpZiAocmVzdWx0ID09IFwieWVzXCIpIHtcclxuXHJcbiAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuRGVsZXRlVXNlcih1c2VyKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICBpZiAoYXBpUmVzcG9uc2UubWVzc2FnZSA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJVc2VyIERlbGV0ZWRcIik7XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMuVXBkYXRlRGF0YSgpO1xyXG5cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkNvbm5lY3Rpb24gZmFpbGVkIFwiKTtcclxuICAgICAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG5cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG5cclxuXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIC8vIGNvbmZpZzogVGFibGVDb25maWcgPSB7XHJcbiAgLy8gICBzaG93RmlsdGVyOiB0cnVlLFxyXG4gIC8vICAgbmV3VGV4dDogXCJDcmVhdGUgQWNjb3VudFwiLFxyXG4gIC8vICAgbWluQ29sdW1uczogWydmaXJzdE5hbWUnLCAnbGFzdE5hbWUnLCAncm9sZUlEJ10sXHJcblxyXG4gIC8vICAgY29sdW1uczogW1xyXG4gIC8vICAgICB7IG5hbWU6ICd1c2VyTmFtZScsIHR5cGU6ICd0ZXh0JywgaWNvbjogeyBuYW1lOiAncGVyc29uJywgY29sb3I6ICdncmVlbicsIHRpcDogJ25hbWUgZGVzYycgfSB9LFxyXG4gIC8vICAgICB7IG5hbWU6ICdmaXJzdE5hbWUnLCB0eXBlOiAndGV4dCcsfSxcclxuICAvLyAgICAgeyBuYW1lOiAnbGFzdE5hbWUnLCB0eXBlOiAndGV4dCcgfSxcclxuICAvLyAgICAgeyBuYW1lOiAncm9sZUlEJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgLy8gICAgIHsgbmFtZTogJ2xvY2tlZCcsIHR5cGU6ICdjaGVja2JveCcgfSxcclxuICAvLyAgICAgeyBuYW1lOiAnY3JlYXRlZERhdGUnLCB0eXBlOiAnZGF0ZScgfSxcclxuICAvLyAgIF0sXHJcblxyXG4gIC8vICAgYnV0dG9uczogW1xyXG4gIC8vICAgICB7IG5hbWU6J2NyZWF0ZScsIGRpc3BsYXk6J0NyZWF0ZSBBY2NvdW50JywgZGlhbG9nOiB0cnVlIH0sXHJcbiAgLy8gICAgIHsgbmFtZTogJ3ZpZXcnLCBkaWFsb2c6IHRydWUsIGljb246IHsgbmFtZTogJ2FjY291bnRfY2lyY2xlJ30gfSxcclxuICAvLyAgICAgeyBuYW1lOiAnY3VzdG9tMScsIGFjdGlvbjogeyBtZXRob2Q6ICdwb3N0JywgdXJsOiAnVXNlci9sb2NrJywgc3VjY2Vzc01lc3NhZ2U6IFwiVXNlciBsb2NrZWRcIiB9LCBjb2xvcjoncmVkJywgdGlwOidsb2NrJywgaWNvbjogeyBuYW1lOiAnbG9jayd9LCB2aXNpYmxlOiAodmFsdWUpID0+IHZhbHVlLmxvY2tlZCA9PSAwfSxcclxuICAvLyAgICAgeyBuYW1lOiAnY3VzdG9tMicsIGFjdGlvbjogeyBtZXRob2Q6ICdwb3N0JywgdXJsOiAnVXNlci91bmxvY2snLCBzdWNjZXNzTWVzc2FnZTogXCJVc2VyIFVubG9ja2VkXCIgfSwgY29sb3I6ICdncmVlbicsIHRpcDogJ3VubG9jaycsIGljb246IHsgbmFtZTogJ2xvY2tfb3BlbicgfSwgdmlzaWJsZTogKHZhbHVlKSA9PiB2YWx1ZS5sb2NrZWQgPT0gMSB9LFxyXG4gIC8vICAgICB7IG5hbWU6ICdkZWxldGUnIH0sXHJcbiAgLy8gICBdLFxyXG5cclxuICAvLyAgIGxvYWRBY3Rpb246IHsgdXJsOiAnVXNlci9hbGwveCcgfVxyXG5cclxuICAvLyB9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbiIsIlxyXG48aDQ+VXNlcnM8L2g0PlxyXG48aHIgLz5cclxuXHJcbjxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDtcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInJvdyBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDEwcHhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMlwiPlxyXG4gICAgICA8YnV0dG9uIGlkPVwiYnRuQ3JlYXRlQWNjb3VudFwiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJjcmVhdGVBY2NvdW50KClcIj5DcmVhdGUgVXNlcjwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgIDxzcGEtZmlsdGVyIFtkYXRhXT1cInVzZXJzXCIgKHJlZnJlc2hDbGljayk9XCJVcGRhdGVEYXRhKClcIj48L3NwYS1maWx0ZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcblxyXG4gIDxwICpuZ0lmPVwiIXVzZXJzXCI+PGVtPkxvYWRpbmcuLi48L2VtPjwvcD5cclxuXHJcblxyXG4gIDxkaXYgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXo4XCIgKm5nSWY9XCJ1c2Vyc1wiPlxyXG5cclxuICAgIDx0YWJsZSBpZD1cInRibFRhYmxlXCIgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cInVzZXJzXCI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInVzZXJOYW1lXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gVXNlck5hbWUgPC90aD5cclxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgdXNlclwiPiB7e3VzZXIudXNlck5hbWV9fSA8L3RkPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwibG9ja2VkXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gTG9ja2VkIDwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHVzZXJcIj4ge3t1c2VyLmxvY2tlZH19IDwvdGQ+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJmdWxsTmFtZVwiPlxyXG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IE5hbWUgPC90aD5cclxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgdXNlclwiPiB7e3VzZXIuZmlyc3ROYW1lfX0ge3t1c2VyLmxhc3ROYW1lfX0gPC90ZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInJvbGVOYW1lXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gUm9sZSA8L3RoPlxyXG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCB1c2VyXCI+IHt7dXNlci5yb2xlLnJvbGVOYW1lfX0gPC90ZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gRGlzYWJsZWQgPC90aD5cclxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgdXNlclwiPiB7e3VzZXIuZGlzYWJsZWR9fSA8L3RkPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZGF0ZUNyZWF0ZWRcIj5cclxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBDcmVhdGVkIDwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHVzZXJcIj4ge3t1c2VyLmNyZWF0ZWREYXRlIHwgZGF0ZTogJ2RkL01NL3l5eXknfX0gPC90ZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRhdGVVcGRhdGVkXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gVXBkYXRlZCA8L3RoPlxyXG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCB1c2VyXCI+IHt7dXNlci51cGRhdGVkRGF0ZSB8IGRhdGU6ICdkZC9NTS95eXl5J319IDwvdGQ+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiQWN0aW9uXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQWN0aW9uIDwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHVzZXJcIiBzdHlsZT1cIndpZHRoOiAyNTBweDtcIj5cclxuXHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1taW5pLWZhYiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwidmlld1Byb2ZpbGUodXNlcilcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDozMHB4XCIgbWF0VG9vbHRpcD1cIlZpZXcgUHJvZmlsZVwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+IDxtYXQtaWNvbj5hY2NvdW50X2NpcmNsZTwvbWF0LWljb24+PC9idXR0b24+XHJcblxyXG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInVzZXIubG9ja2VkPT0nMCdcIiBtYXQtbWluaS1mYWIgY29sb3I9XCJ3YXJuXCIgKGNsaWNrKT1cImxvY2sodXNlcilcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDoxMHB4XCIgbWF0VG9vbHRpcD1cIkxvY2tcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPiA8bWF0LWljb24+bG9jazwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidXNlci5sb2NrZWQ9PScxJ1wiIG1hdC1taW5pLWZhYiAgKGNsaWNrKT1cInVubG9jayh1c2VyKVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjEwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1wiIG1hdFRvb2x0aXA9XCJVbmxvY2tcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPiA8bWF0LWljb24gPmxvY2tfb3BlbjwvbWF0LWljb24+PC9idXR0b24+XHJcblxyXG4gICAgICAgICAgPCEtLSA8YnV0dG9uICpuZ0lmPVwidXNlci5kaXNhYmxlZD09JzAnXCIgbWF0LW1pbmktZmFiIGNvbG9yPVwid2FyblwiIChjbGljayk9XCJkaXNhYmxlKHVzZXIpXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MTBweFwiIG1hdFRvb2x0aXA9XCJEaXNhYmxlXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIj4gPG1hdC1pY29uPmJsb2NrPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ1c2VyLmRpc2FibGVkPT0nMSdcIiBtYXQtbWluaS1mYWIgKGNsaWNrKT1cImVuYWJsZSh1c2VyKVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjEwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuXCIgbWF0VG9vbHRpcD1cIkVuYWJsZVwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+IDxtYXQtaWNvbj5kb25lPC9tYXQtaWNvbj48L2J1dHRvbj4gLS0+XHJcblxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtbWluaS1mYWIgY29sb3I9XCJ3YXJuXCIgKGNsaWNrKT1cImRlbGV0ZVVzZXIodXNlcilcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDoxMHB4XCIgbWF0VG9vbHRpcD1cIkRlbGV0ZVwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+IDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPCEtLSA8YnV0dG9uIG1hdC1taW5pLWZhYiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwicmVjb3Zlcih1c2VyKVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjEwcHhcIiBtYXRUb29sdGlwPVwiUmVzZXQgUGFzc3dvcmRcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPiA8bWF0LWljb24+dnBuX2tleTwvbWF0LWljb24+PC9idXR0b24+IC0tPlxyXG5cclxuXHJcblxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbiAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XHJcbiAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiIFtuZ0NsYXNzXT1cInsnbWFrZS1ncmF5Jzogcm93LmRpc2FibGVkID09JzEnfVwiPjwvdHI+XHJcblxyXG4gICAgPC90YWJsZT5cclxuXHJcbiAgPC9kaXY+XHJcblxyXG4gIDxtYXQtcGFnaW5hdG9yICN1c2Vyc1BhZ2luYXRvciBbcGFnZVNpemVPcHRpb25zXT1cIlsxMCwgMjAsIDUwXVwiIHNob3dGaXJzdExhc3RCdXR0b25zPjwvbWF0LXBhZ2luYXRvcj5cclxuPC9kaXY+XHJcblxyXG48IS0tIC0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cclxuXHJcbjwhLS0gPGRpdiBjbGFzcz1cImNvbnRhaW5lciBtdC01XCIgc3R5bGU9XCIgZm9udC1zaXplOiAxNHB4O1wiPlxyXG48c3BhLXRhYmxlICBbZGF0YV09XCJ1c2Vyc1Jhd1wiIFtjb25maWddPVwiY29uZmlnXCIgKHJlZnJlc2hDbGljayk9XCJVcGRhdGVEYXRhKClcIiAodmlld0NsaWNrKT1cInZpZXdQcm9maWxlKCRldmVudClcIiAoY3JlYXRlQ2xpY2spPVwiY3JlYXRlQWNjb3VudCgpXCIgKGRlbGV0ZUNsaWNrKT1cImRlbGV0ZVVzZXIoJGV2ZW50KVwiPjwvc3BhLXRhYmxlPlxyXG48L2Rpdj4gLS0+XHJcblxyXG4iXX0=
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { viewerDialog } from './viewerDialog.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../services/datalib.service";
|
|
5
|
+
import * as i2 from "@angular/material/dialog";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/material/form-field";
|
|
8
|
+
import * as i5 from "../chips/chips.component";
|
|
9
|
+
export class ViewerComponent {
|
|
10
|
+
constructor(dataService, dialog) {
|
|
11
|
+
this.dataService = dataService;
|
|
12
|
+
this.dialog = dialog;
|
|
13
|
+
this.path = "";
|
|
14
|
+
this.folderName = "";
|
|
15
|
+
this.removable = false;
|
|
16
|
+
this.remove = new EventEmitter();
|
|
17
|
+
this.display = "Documents";
|
|
18
|
+
this.title = "Documents";
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
if (this.fileAction) {
|
|
22
|
+
this.loadData();
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
this.convert();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// fileList: string[];
|
|
29
|
+
loadData() {
|
|
30
|
+
console.log("Calling files");
|
|
31
|
+
let url = this.fileAction.url.replace("/x", '/' + this.folderName);
|
|
32
|
+
this.dataService.CallApi({ url: url }, "").subscribe((apiResponse) => {
|
|
33
|
+
this.fileNames = apiResponse.data;
|
|
34
|
+
// console.log(this.fileNames)
|
|
35
|
+
this.convert();
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
convert() {
|
|
39
|
+
if (typeof this.fileNames == 'string') {
|
|
40
|
+
this.fileNames = this.fileNames.split("|");
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
viewDocs(fileName) {
|
|
44
|
+
if (typeof fileName != 'string') {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const dialogRef = this.dialog.open(viewerDialog, {
|
|
48
|
+
minWidth: '95%',
|
|
49
|
+
maxWidth: '80vw',
|
|
50
|
+
data: { fileNames: this.fileNames, fileName: fileName, path: `${this.path ?? ''}/${this.folderName ?? ''}` }
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
removed(i) {
|
|
54
|
+
this.remove.emit(i);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
ViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ViewerComponent, deps: [{ token: i1.DataServiceLib }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
+
ViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ViewerComponent, selector: "spa-viewer", inputs: { fileAction: "fileAction", path: "path", folderName: "folderName", fileNames: "fileNames", removable: "removable", display: "display", title: "title" }, outputs: { remove: "remove" }, ngImport: i0, template: "<div class=\"tin-input-row mt-3\" *ngIf=\"title != ''\">\r\n <mat-label style=\"font-size: 20px; font-weight: 300\" > {{title}}</mat-label >\r\n</div>\r\n\r\n<spa-chips [chips]=\"fileNames\" [title]=\"title\" [removable]=\"removable\" icon=\"description\" (click)=\"viewDocs($event)\" (remove)=\"removed($event)\"></spa-chips>\r\n\r\n\r\n\r\n<div *ngIf=\"!fileNames\" class=\"d-flex justify-content-center row align-items-center\" style=\"max-height:200px\">\r\n\r\n No {{title.toLowerCase()}}\r\n\r\n</div>\r\n", styles: [".truncate-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.align-end{justify-content:flex-end}.fx-spacer{flex:1 1 auto}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.ChipsComponent, selector: "spa-chips", inputs: ["icon", "removable", "addable", "chips"], outputs: ["click", "remove"] }] });
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ViewerComponent, decorators: [{
|
|
60
|
+
type: Component,
|
|
61
|
+
args: [{ selector: 'spa-viewer', template: "<div class=\"tin-input-row mt-3\" *ngIf=\"title != ''\">\r\n <mat-label style=\"font-size: 20px; font-weight: 300\" > {{title}}</mat-label >\r\n</div>\r\n\r\n<spa-chips [chips]=\"fileNames\" [title]=\"title\" [removable]=\"removable\" icon=\"description\" (click)=\"viewDocs($event)\" (remove)=\"removed($event)\"></spa-chips>\r\n\r\n\r\n\r\n<div *ngIf=\"!fileNames\" class=\"d-flex justify-content-center row align-items-center\" style=\"max-height:200px\">\r\n\r\n No {{title.toLowerCase()}}\r\n\r\n</div>\r\n", styles: [".truncate-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.align-end{justify-content:flex-end}.fx-spacer{flex:1 1 auto}\n"] }]
|
|
62
|
+
}], ctorParameters: function () { return [{ type: i1.DataServiceLib }, { type: i2.MatDialog }]; }, propDecorators: { fileAction: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], path: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], folderName: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], fileNames: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], removable: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], remove: [{
|
|
73
|
+
type: Output
|
|
74
|
+
}], display: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], title: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}] } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL3ZpZXdlci92aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdmlld2VyL3ZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQVN4RCxNQUFNLE9BQU8sZUFBZTtJQUUxQixZQUFvQixXQUEyQixFQUFRLE1BQWlCO1FBQXBELGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFRLFdBQU0sR0FBTixNQUFNLENBQVc7UUFjL0QsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLGVBQVUsR0FBQyxFQUFFLENBQUM7UUFFZCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdCLFlBQU8sR0FBRyxXQUFXLENBQUM7UUFDdEIsVUFBSyxHQUFHLFdBQVcsQ0FBQztJQXBCK0MsQ0FBQztJQUU3RSxRQUFRO1FBRU4sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjthQUFJO1lBQ0gsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQztJQWFELHNCQUFzQjtJQUV0QixRQUFRO1FBRU4sT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUM1QixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsR0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDaEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBd0IsRUFBRSxFQUFFO1lBQzlFLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNsQyw4QkFBOEI7WUFDOUIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxRQUFRLEVBQUU7WUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtTQUMzQztJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsUUFBZ0I7UUFFdkIsSUFBSSxPQUFPLFFBQVEsSUFBSSxRQUFRLEVBQUU7WUFDL0IsT0FBTztTQUNSO1FBSUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQy9DLFFBQVEsRUFBRSxLQUFLO1lBQ2YsUUFBUSxFQUFFLE1BQU07WUFFaEIsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsRUFBRSxFQUFFO1NBQzdHLENBQUMsQ0FBQztJQUVMLENBQUM7SUFFRCxPQUFPLENBQUMsQ0FBQztRQUNQLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7OzRHQTlEVSxlQUFlO2dHQUFmLGVBQWUsbVBDWDVCLHFnQkFhQTsyRkRGYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVk7NkhBbUJiLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNJLE1BQU07c0JBQWYsTUFBTTtnQkFDRSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IHZpZXdlckRpYWxvZyB9IGZyb20gJy4vdmlld2VyRGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aW9uLCBBcGlSZXNwb25zZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvQ2xhc3Nlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NwYS12aWV3ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi92aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3ZpZXdlci5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlTGliLHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZykgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuICAgIGlmICh0aGlzLmZpbGVBY3Rpb24pe1xyXG4gICAgICB0aGlzLmxvYWREYXRhKCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5jb252ZXJ0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIEBJbnB1dCgpIGZpbGVBY3Rpb24gOiBBY3Rpb247XHJcbiAgQElucHV0KCkgcGF0aCA9IFwiXCI7XHJcbiAgQElucHV0KCkgZm9sZGVyTmFtZT1cIlwiO1xyXG4gIEBJbnB1dCgpIGZpbGVOYW1lczsvLyBuZXcgQXJyYXkoKVxyXG4gIEBJbnB1dCgpIHJlbW92YWJsZSA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSByZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgZGlzcGxheSA9IFwiRG9jdW1lbnRzXCI7XHJcbiAgQElucHV0KCkgdGl0bGUgPSBcIkRvY3VtZW50c1wiO1xyXG5cclxuICAvLyBmaWxlTGlzdDogc3RyaW5nW107XHJcblxyXG4gIGxvYWREYXRhKCkge1xyXG5cclxuICAgIGNvbnNvbGUubG9nKFwiQ2FsbGluZyBmaWxlc1wiKVxyXG4gICAgbGV0IHVybCA9IHRoaXMuZmlsZUFjdGlvbi51cmwucmVwbGFjZShcIi94XCIsICcvJyt0aGlzLmZvbGRlck5hbWUpXHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkNhbGxBcGkoe3VybDogdXJsfSwgXCJcIikuc3Vic2NyaWJlKChhcGlSZXNwb25zZTogQXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgdGhpcy5maWxlTmFtZXMgPSBhcGlSZXNwb25zZS5kYXRhO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmZpbGVOYW1lcylcclxuICAgICAgdGhpcy5jb252ZXJ0KCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvbnZlcnQoKXtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5maWxlTmFtZXMgPT0gJ3N0cmluZycpIHtcclxuICAgICAgdGhpcy5maWxlTmFtZXMgPSB0aGlzLmZpbGVOYW1lcy5zcGxpdChcInxcIilcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHZpZXdEb2NzKGZpbGVOYW1lOiBzdHJpbmcpIHtcclxuXHJcbiAgICBpZiAodHlwZW9mIGZpbGVOYW1lICE9ICdzdHJpbmcnKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4odmlld2VyRGlhbG9nLCB7XHJcbiAgICAgIG1pbldpZHRoOiAnOTUlJyxcclxuICAgICAgbWF4V2lkdGg6ICc4MHZ3JyxcclxuXHJcbiAgICAgIGRhdGE6IHsgZmlsZU5hbWVzOiB0aGlzLmZpbGVOYW1lcywgZmlsZU5hbWU6IGZpbGVOYW1lLCBwYXRoOiBgJHt0aGlzLnBhdGggPz8gJyd9LyR7dGhpcy5mb2xkZXJOYW1lID8/ICcnfWAgfVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlZChpKXtcclxuICAgIHRoaXMucmVtb3ZlLmVtaXQoaSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidGluLWlucHV0LXJvdyBtdC0zXCIgKm5nSWY9XCJ0aXRsZSAhPSAnJ1wiPlxyXG4gIDxtYXQtbGFiZWwgc3R5bGU9XCJmb250LXNpemU6IDIwcHg7IGZvbnQtd2VpZ2h0OiAzMDBcIiA+ICB7e3RpdGxlfX08L21hdC1sYWJlbCA+XHJcbjwvZGl2PlxyXG5cclxuPHNwYS1jaGlwcyBbY2hpcHNdPVwiZmlsZU5hbWVzXCIgW3RpdGxlXT1cInRpdGxlXCIgIFtyZW1vdmFibGVdPVwicmVtb3ZhYmxlXCIgaWNvbj1cImRlc2NyaXB0aW9uXCIgKGNsaWNrKT1cInZpZXdEb2NzKCRldmVudClcIiAocmVtb3ZlKT1cInJlbW92ZWQoJGV2ZW50KVwiPjwvc3BhLWNoaXBzPlxyXG5cclxuXHJcblxyXG48ZGl2ICpuZ0lmPVwiIWZpbGVOYW1lc1wiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPVwibWF4LWhlaWdodDoyMDBweFwiPlxyXG5cclxuICBObyB7e3RpdGxlLnRvTG93ZXJDYXNlKCl9fVxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
//-------------------------------------------EDIT
|
|
2
|
+
import { Component, Inject } from '@angular/core';
|
|
3
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../services/http.service";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@angular/material/button";
|
|
8
|
+
import * as i4 from "@angular/material/dialog";
|
|
9
|
+
import * as i5 from "ngx-doc-viewer";
|
|
10
|
+
import * as i6 from "../chips/chips.component";
|
|
11
|
+
// import { HttpService } from 'tin-core';
|
|
12
|
+
export class viewerDialog {
|
|
13
|
+
constructor(httpService, data) {
|
|
14
|
+
this.httpService = httpService;
|
|
15
|
+
this.data = data;
|
|
16
|
+
this.isProcessing = false;
|
|
17
|
+
this.fileNames = new Array();
|
|
18
|
+
this.currIndex = 0;
|
|
19
|
+
this.currentFileUrl = "";
|
|
20
|
+
this.imageDoc = false;
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
this.fileNames = this.data.fileNames;
|
|
24
|
+
this.fullPath = this.data.path;
|
|
25
|
+
this.fileName = this.data.fileName;
|
|
26
|
+
this.currIndex = this.data.fileNames.indexOf(this.fileName);
|
|
27
|
+
this.setURL();
|
|
28
|
+
}
|
|
29
|
+
previous() {
|
|
30
|
+
if (this.fileNames.length == 0) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
if (this.currIndex - 1 >= 0) {
|
|
34
|
+
this.currIndex = this.currIndex - 1;
|
|
35
|
+
}
|
|
36
|
+
else if (this.currIndex == 0) {
|
|
37
|
+
this.currIndex = this.fileNames.length - 1;
|
|
38
|
+
}
|
|
39
|
+
this.setURL();
|
|
40
|
+
}
|
|
41
|
+
next() {
|
|
42
|
+
if (this.fileNames.length == 0) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
if (this.currIndex + 1 < this.fileNames.length) {
|
|
46
|
+
this.currIndex = this.currIndex + 1;
|
|
47
|
+
}
|
|
48
|
+
else if (this.currIndex + 1 > this.fileNames.length - 1) {
|
|
49
|
+
this.currIndex = 0;
|
|
50
|
+
}
|
|
51
|
+
this.setURL();
|
|
52
|
+
}
|
|
53
|
+
setURL() {
|
|
54
|
+
if (this.httpService.apiUrl.includes('localhost')) {
|
|
55
|
+
this.currentFileUrl = `./assets/${this.fullPath}/${this.fileNames[this.currIndex]}`;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
this.currentFileUrl = `${this.httpService.apiUrl.replace("/api", "").replace("/api", "")}${this.fullPath}/${this.fileNames[this.currIndex]}`;
|
|
59
|
+
}
|
|
60
|
+
// this.currentFileUrl = this.currentFileUrl.replace("//","/");
|
|
61
|
+
console.log(this.currentFileUrl);
|
|
62
|
+
// this.currentFileUrl = "./assets/TinasheOxygen.pdf"
|
|
63
|
+
if (this.currentFileUrl.toLocaleLowerCase().endsWith(".pdf") || this.currentFileUrl.toLocaleLowerCase().endsWith(".jpg") || this.currentFileUrl.toLocaleLowerCase().endsWith(".jpeg")) {
|
|
64
|
+
this.imageDoc = true;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
this.imageDoc = false;
|
|
68
|
+
window.open(this.currentFileUrl, '_blank');
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
change(fileName) {
|
|
72
|
+
if (typeof fileName != 'string') {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
this.currIndex = this.fileNames.indexOf(fileName);
|
|
76
|
+
this.setURL();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
viewerDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: viewerDialog, deps: [{ token: i1.HttpService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
80
|
+
viewerDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: viewerDialog, selector: "app-editRequest", ngImport: i0, template: "\r\n\r\n<mat-dialog-content class=\"mat-typography\">\r\n\r\n <div class=\"row\">\r\n\r\n <div class=\"col\">\r\n <ngx-doc-viewer *ngIf=\"imageDoc\"\r\n [url]=\"currentFileUrl\"\r\n viewer=\"url\"\r\n style=\"width:100%;height:60vh;\">\r\n </ngx-doc-viewer>\r\n\r\n <div *ngIf=\"!imageDoc\" class=\"d-flex justify-content-center row align-items-center\" style=\"height:60vh;\">\r\n\r\n This file type will be downloaded\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"col-3\">\r\n <spa-chips [chips]=\"fileNames\" display=\"Documents\" icon=\"description\" (click)=\"change($event)\"></spa-chips>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n<button mat-button [disabled]=\"currIndex == 0\" (click)=\"previous()\" cdkFocusInitial>Previous</button>\r\n<button mat-button [disabled]=\"currIndex+1 == fileNames.length\" (click)=\"next()\" cdkFocusInitial>Next</button>\r\n<button mat-button mat-dialog-close>Cancel</button>\r\n</mat-dialog-actions>\r\n\r\n\r\n\r\n", styles: [".truncate-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.align-end{justify-content:flex-end}.fx-spacer{flex:1 1 auto}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i5.NgxDocViewerComponent, selector: "ngx-doc-viewer", inputs: ["url", "queryParams", "viewerUrl", "googleCheckInterval", "googleMaxChecks", "disableContent", "googleCheckContentLoaded", "viewer", "overrideLocalhost"], outputs: ["loaded"] }, { kind: "component", type: i6.ChipsComponent, selector: "spa-chips", inputs: ["icon", "removable", "addable", "chips"], outputs: ["click", "remove"] }] });
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: viewerDialog, decorators: [{
|
|
82
|
+
type: Component,
|
|
83
|
+
args: [{ selector: 'app-editRequest', template: "\r\n\r\n<mat-dialog-content class=\"mat-typography\">\r\n\r\n <div class=\"row\">\r\n\r\n <div class=\"col\">\r\n <ngx-doc-viewer *ngIf=\"imageDoc\"\r\n [url]=\"currentFileUrl\"\r\n viewer=\"url\"\r\n style=\"width:100%;height:60vh;\">\r\n </ngx-doc-viewer>\r\n\r\n <div *ngIf=\"!imageDoc\" class=\"d-flex justify-content-center row align-items-center\" style=\"height:60vh;\">\r\n\r\n This file type will be downloaded\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"col-3\">\r\n <spa-chips [chips]=\"fileNames\" display=\"Documents\" icon=\"description\" (click)=\"change($event)\"></spa-chips>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n<button mat-button [disabled]=\"currIndex == 0\" (click)=\"previous()\" cdkFocusInitial>Previous</button>\r\n<button mat-button [disabled]=\"currIndex+1 == fileNames.length\" (click)=\"next()\" cdkFocusInitial>Next</button>\r\n<button mat-button mat-dialog-close>Cancel</button>\r\n</mat-dialog-actions>\r\n\r\n\r\n\r\n", styles: [".truncate-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.align-end{justify-content:flex-end}.fx-spacer{flex:1 1 auto}\n"] }]
|
|
84
|
+
}], ctorParameters: function () { return [{ type: i1.HttpService }, { type: undefined, decorators: [{
|
|
85
|
+
type: Inject,
|
|
86
|
+
args: [MAT_DIALOG_DATA]
|
|
87
|
+
}] }]; } });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyRGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL3ZpZXdlci92aWV3ZXJEaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdmlld2VyL3ZpZXdlckRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpREFBaUQ7QUFFakQsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQUUzRCwwQ0FBMEM7QUFPMUMsTUFBTSxPQUFPLFlBQVk7SUFFdkIsWUFBb0IsV0FBd0IsRUFBa0MsSUFBSTtRQUE5RCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFrQyxTQUFJLEdBQUosSUFBSSxDQUFBO1FBWWxGLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRzlCLGNBQVMsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBRXhCLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFFZCxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQXlDcEIsYUFBUSxHQUFHLEtBQUssQ0FBQztJQTVEcUUsQ0FBQztJQUV2RixRQUFRO1FBRU4sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUVoQixDQUFDO0lBWUQsUUFBUTtRQUVOLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQzlCLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRSxDQUFDLElBQUksQ0FBQyxFQUMxQjtZQUNFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7U0FDckM7YUFDSSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxFQUM1QjtZQUNFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUUsQ0FBQyxDQUFDO1NBQzNDO1FBRUQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBRWhCLENBQUM7SUFFRCxJQUFJO1FBRUYsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUM7WUFDN0IsT0FBTztTQUNSO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFDN0M7WUFDRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1NBQ3JDO2FBQ0ksSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRSxDQUFDLEVBQ3JEO1lBQ0UsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7U0FDcEI7UUFFRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFaEIsQ0FBQztJQUlELE1BQU07UUFFSixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBQztZQUNoRCxJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1NBQ3JGO2FBQ0c7WUFDRixJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBRSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztTQUMvSTtRQUVELCtEQUErRDtRQUUvRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUNoQyxxREFBcUQ7UUFFckQsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBQztZQUNwTCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN0QjthQUFJO1lBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUE7WUFDckIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBRTVDO0lBRUgsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRO1FBR2IsSUFBSSxPQUFPLFFBQVEsSUFBSSxRQUFRLEVBQUU7WUFDL0IsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUdsRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQzs7eUdBbkdVLFlBQVksNkNBRStCLGVBQWU7NkZBRjFELFlBQVksdURDWnpCLHNqQ0FzQ0E7MkZEMUJhLFlBQVk7a0JBTHhCLFNBQVM7K0JBQ0UsaUJBQWlCOzswQkFNb0IsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tRURJVFxyXG5cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAuc2VydmljZSc7XHJcbi8vIGltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAndGluLWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZWRpdFJlcXVlc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi92aWV3ZXJEaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3ZpZXdlci5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIHZpZXdlckRpYWxvZyBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlLCBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGEpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICB0aGlzLmZpbGVOYW1lcyA9IHRoaXMuZGF0YS5maWxlTmFtZXM7XHJcbiAgICB0aGlzLmZ1bGxQYXRoID0gdGhpcy5kYXRhLnBhdGg7XHJcbiAgICB0aGlzLmZpbGVOYW1lID0gdGhpcy5kYXRhLmZpbGVOYW1lO1xyXG4gICAgdGhpcy5jdXJySW5kZXggPSB0aGlzLmRhdGEuZmlsZU5hbWVzLmluZGV4T2YodGhpcy5maWxlTmFtZSk7XHJcbiAgICB0aGlzLnNldFVSTCgpO1xyXG5cclxuICB9XHJcblxyXG4gIGlzUHJvY2Vzc2luZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBmdWxsUGF0aDogc3RyaW5nO1xyXG4gIGZpbGVOYW1lcyA9IG5ldyBBcnJheSgpO1xyXG4gIGZpbGVOYW1lOiBzdHJpbmc7XHJcbiAgY3VyckluZGV4ID0gMDtcclxuXHJcbiAgY3VycmVudEZpbGVVcmwgPSBcIlwiO1xyXG5cclxuXHJcbiAgcHJldmlvdXMoKSB7XHJcblxyXG4gICAgaWYgKHRoaXMuZmlsZU5hbWVzLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5jdXJySW5kZXggLTEgPj0gMClcclxuICAgIHtcclxuICAgICAgdGhpcy5jdXJySW5kZXggPSB0aGlzLmN1cnJJbmRleCAtIDE7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLmN1cnJJbmRleCA9PSAwKVxyXG4gICAge1xyXG4gICAgICB0aGlzLmN1cnJJbmRleCA9IHRoaXMuZmlsZU5hbWVzLmxlbmd0aCAtMTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNldFVSTCgpO1xyXG5cclxuICB9XHJcblxyXG4gIG5leHQoKSB7XHJcblxyXG4gICAgaWYgKHRoaXMuZmlsZU5hbWVzLmxlbmd0aCA9PSAwKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmN1cnJJbmRleCArMSA8IHRoaXMuZmlsZU5hbWVzLmxlbmd0aClcclxuICAgIHtcclxuICAgICAgdGhpcy5jdXJySW5kZXggPSB0aGlzLmN1cnJJbmRleCArIDE7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLmN1cnJJbmRleCArMSA+IHRoaXMuZmlsZU5hbWVzLmxlbmd0aCAtMSlcclxuICAgIHtcclxuICAgICAgdGhpcy5jdXJySW5kZXggPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2V0VVJMKCk7XHJcblxyXG4gIH1cclxuXHJcbiAgaW1hZ2VEb2MgPSBmYWxzZTtcclxuXHJcbiAgc2V0VVJMKCkge1xyXG5cclxuICAgIGlmICh0aGlzLmh0dHBTZXJ2aWNlLmFwaVVybC5pbmNsdWRlcygnbG9jYWxob3N0Jykpe1xyXG4gICAgICB0aGlzLmN1cnJlbnRGaWxlVXJsID0gYC4vYXNzZXRzLyR7dGhpcy5mdWxsUGF0aH0vJHt0aGlzLmZpbGVOYW1lc1t0aGlzLmN1cnJJbmRleF19YDtcclxuICAgIH1cclxuICAgIGVsc2V7XHJcbiAgICAgIHRoaXMuY3VycmVudEZpbGVVcmwgPSBgJHt0aGlzLmh0dHBTZXJ2aWNlLmFwaVVybC5yZXBsYWNlKFwiL2FwaVwiLCBcIlwiKS5yZXBsYWNlKFwiL2FwaVwiLCBcIlwiKSB9JHt0aGlzLmZ1bGxQYXRofS8ke3RoaXMuZmlsZU5hbWVzW3RoaXMuY3VyckluZGV4XX1gO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRoaXMuY3VycmVudEZpbGVVcmwgPSB0aGlzLmN1cnJlbnRGaWxlVXJsLnJlcGxhY2UoXCIvL1wiLFwiL1wiKTtcclxuXHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLmN1cnJlbnRGaWxlVXJsKVxyXG4gICAgLy8gdGhpcy5jdXJyZW50RmlsZVVybCA9IFwiLi9hc3NldHMvVGluYXNoZU94eWdlbi5wZGZcIlxyXG5cclxuICAgIGlmICh0aGlzLmN1cnJlbnRGaWxlVXJsLnRvTG9jYWxlTG93ZXJDYXNlKCkuZW5kc1dpdGgoXCIucGRmXCIpIHx8IHRoaXMuY3VycmVudEZpbGVVcmwudG9Mb2NhbGVMb3dlckNhc2UoKS5lbmRzV2l0aChcIi5qcGdcIikgfHwgdGhpcy5jdXJyZW50RmlsZVVybC50b0xvY2FsZUxvd2VyQ2FzZSgpLmVuZHNXaXRoKFwiLmpwZWdcIikpe1xyXG4gICAgICB0aGlzLmltYWdlRG9jID0gdHJ1ZTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmltYWdlRG9jID0gZmFsc2VcclxuICAgICAgd2luZG93Lm9wZW4odGhpcy5jdXJyZW50RmlsZVVybCwgJ19ibGFuaycpO1xyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBjaGFuZ2UoZmlsZU5hbWUpe1xyXG5cclxuXHJcbiAgICBpZiAodHlwZW9mIGZpbGVOYW1lICE9ICdzdHJpbmcnKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmN1cnJJbmRleCA9IHRoaXMuZmlsZU5hbWVzLmluZGV4T2YoZmlsZU5hbWUpO1xyXG5cclxuXHJcbiAgICB0aGlzLnNldFVSTCgpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiXHJcblxyXG48bWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgPG5neC1kb2Mtdmlld2VyICpuZ0lmPVwiaW1hZ2VEb2NcIlxyXG4gICAgICAgIFt1cmxdPVwiY3VycmVudEZpbGVVcmxcIlxyXG4gICAgICAgIHZpZXdlcj1cInVybFwiXHJcbiAgICAgICAgc3R5bGU9XCJ3aWR0aDoxMDAlO2hlaWdodDo2MHZoO1wiPlxyXG4gICAgICA8L25neC1kb2Mtdmlld2VyPlxyXG5cclxuICAgICAgPGRpdiAqbmdJZj1cIiFpbWFnZURvY1wiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPVwiaGVpZ2h0OjYwdmg7XCI+XHJcblxyXG4gICAgICAgIFRoaXMgZmlsZSB0eXBlIHdpbGwgYmUgZG93bmxvYWRlZFxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0zXCI+XHJcbiAgICAgIDxzcGEtY2hpcHMgW2NoaXBzXT1cImZpbGVOYW1lc1wiIGRpc3BsYXk9XCJEb2N1bWVudHNcIiBpY29uPVwiZGVzY3JpcHRpb25cIiAoY2xpY2spPVwiY2hhbmdlKCRldmVudClcIj48L3NwYS1jaGlwcz5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuXHJcblxyXG48L21hdC1kaWFsb2ctY29udGVudD5cclxuXHJcbjxtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbjxidXR0b24gbWF0LWJ1dHRvbiBbZGlzYWJsZWRdPVwiY3VyckluZGV4ID09IDBcIiAoY2xpY2spPVwicHJldmlvdXMoKVwiIGNka0ZvY3VzSW5pdGlhbD5QcmV2aW91czwvYnV0dG9uPlxyXG48YnV0dG9uIG1hdC1idXR0b24gW2Rpc2FibGVkXT1cImN1cnJJbmRleCsxID09IGZpbGVOYW1lcy5sZW5ndGhcIiAoY2xpY2spPVwibmV4dCgpXCIgY2RrRm9jdXNJbml0aWFsPk5leHQ8L2J1dHRvbj5cclxuPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2U+Q2FuY2VsPC9idXR0b24+XHJcbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG5cclxuXHJcblxyXG4iXX0=
|