tin-spa 14.3.11 → 14.4.2
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/esm2020/lib/classes/Classes.mjs +1 -179
- package/esm2020/lib/classes/LibClasses.mjs +179 -0
- package/esm2020/lib/classes/TinCore.mjs +10 -1
- package/esm2020/lib/components/alert/alert.component.mjs +3 -3
- package/esm2020/lib/components/date/date.component.mjs +3 -3
- package/esm2020/lib/components/datetime/datetime.component.mjs +6 -3
- package/esm2020/lib/components/email/email.component.mjs +131 -0
- package/esm2020/lib/components/filter/filter.component.mjs +7 -3
- package/esm2020/lib/components/form/form.component.mjs +27 -10
- package/esm2020/lib/components/money/money.component.mjs +3 -3
- package/esm2020/lib/components/nav-menu/nav-menu.component.mjs +2 -2
- package/esm2020/lib/components/number/number.component.mjs +3 -3
- package/esm2020/lib/components/option/option.component.mjs +6 -3
- package/esm2020/lib/components/search/search.component.mjs +3 -3
- package/esm2020/lib/components/select/select.component.mjs +13 -3
- package/esm2020/lib/components/table/detailsDialog.component.mjs +14 -4
- package/esm2020/lib/components/table/table.component.mjs +13 -4
- package/esm2020/lib/components/table-header/table-header.component.mjs +82 -14
- package/esm2020/lib/components/table-internal/detailsDialog-internal.component.mjs +16 -2
- package/esm2020/lib/components/table-internal/table-internal.component.mjs +13 -4
- package/esm2020/lib/components/table-row/table-row.component.mjs +21 -5
- package/esm2020/lib/components/text/text.component.mjs +25 -15
- package/esm2020/lib/components/tiles/tiles.component.mjs +15 -9
- package/esm2020/lib/modules/admin/admin-routing.module.mjs +22 -22
- package/esm2020/lib/modules/index/index-routing.module.mjs +4 -4
- package/esm2020/lib/modules/spa-admin.module.mjs +7 -7
- package/esm2020/lib/modules/spa-index.module.mjs +4 -4
- package/esm2020/lib/modules/spa-user.module.mjs +3 -3
- package/esm2020/lib/modules/user/user-routing.module.mjs +3 -3
- package/esm2020/lib/pages/accounts/accountDialog.component.mjs +56 -0
- package/esm2020/lib/pages/accounts/accounts.component.mjs +70 -0
- package/esm2020/lib/{components → pages}/bug/bug.component.mjs +1 -1
- package/esm2020/lib/pages/change-password/change-password.component.mjs +92 -0
- package/esm2020/lib/pages/create-account/create-account.component.mjs +110 -0
- package/esm2020/lib/pages/customers/customers.component.mjs +60 -0
- package/esm2020/lib/{components → pages}/departments/departments.component.mjs +2 -2
- package/esm2020/lib/{components → pages}/employees/employees.component.mjs +2 -2
- package/esm2020/lib/{components → pages}/grades/grades.component.mjs +1 -1
- package/esm2020/lib/pages/inventory/inventory.component.mjs +99 -0
- package/esm2020/lib/pages/inventory/quantityDialog.component.mjs +53 -0
- package/esm2020/lib/{components → pages}/invitations/invitations.component.mjs +1 -1
- package/esm2020/lib/pages/invitations-table/invitations-table.component.mjs +70 -0
- package/esm2020/lib/{components → pages}/login/login.component.mjs +6 -5
- package/esm2020/lib/{components → pages}/logs/logs.component.mjs +2 -2
- package/esm2020/lib/pages/membership/membership.component.mjs +48 -0
- package/esm2020/lib/{components → pages}/notifications/notifications.component.mjs +1 -1
- package/esm2020/lib/pages/plans/plans.component.mjs +47 -0
- package/esm2020/lib/{components → pages}/positions/positions.component.mjs +2 -2
- package/esm2020/lib/pages/profile/profile.component.mjs +93 -0
- package/esm2020/lib/pages/recover-account/recover-account.component.mjs +46 -0
- package/esm2020/lib/{components → pages}/roles/addRoleDialog.component.mjs +2 -2
- package/esm2020/lib/{components → pages}/roles/roles.component.mjs +1 -1
- package/esm2020/lib/{components → pages}/settings/settings.component.mjs +1 -1
- package/esm2020/lib/pages/signup/signup.component.mjs +50 -0
- package/esm2020/lib/pages/suppliers/suppliers.component.mjs +50 -0
- package/esm2020/lib/pages/tasks/tasks.component.mjs +86 -0
- package/esm2020/lib/pages/tenant-settings/inviteDialog.component.mjs +60 -0
- package/esm2020/lib/pages/tenant-settings/tenant-settings.component.mjs +155 -0
- package/esm2020/lib/pages/tenants/tenants.component.mjs +47 -0
- package/esm2020/lib/pages/transactions/transactDialog.component.mjs +80 -0
- package/esm2020/lib/pages/transactions/transactions.component.mjs +101 -0
- package/esm2020/lib/pages/users/users.component.mjs +118 -0
- package/esm2020/lib/pages/welcome/welcome.component.mjs +86 -0
- package/esm2020/lib/services/auth.service.mjs +3 -2
- package/esm2020/lib/services/csv.service.mjs +49 -0
- package/esm2020/lib/services/datalib.service.mjs +1 -1
- package/esm2020/lib/services/log.service.mjs +2 -2
- package/esm2020/lib/tin-spa.module.mjs +33 -28
- package/esm2020/public-api.mjs +26 -25
- package/fesm2015/tin-spa.mjs +520 -171
- package/fesm2015/tin-spa.mjs.map +1 -1
- package/fesm2020/tin-spa.mjs +518 -171
- package/fesm2020/tin-spa.mjs.map +1 -1
- package/lib/classes/Classes.d.ts +19 -173
- package/lib/classes/LibClasses.d.ts +172 -0
- package/lib/classes/TinCore.d.ts +3 -1
- package/lib/components/datetime/datetime.component.d.ts +2 -1
- package/lib/components/email/email.component.d.ts +39 -0
- package/lib/components/filter/filter.component.d.ts +1 -0
- package/lib/components/form/form.component.d.ts +2 -0
- package/lib/components/option/option.component.d.ts +2 -1
- package/lib/components/select/select.component.d.ts +3 -1
- package/lib/components/table/table.component.d.ts +3 -0
- package/lib/components/table-header/table-header.component.d.ts +17 -4
- package/lib/components/table-internal/table-internal.component.d.ts +3 -0
- package/lib/components/table-row/table-row.component.d.ts +1 -1
- package/lib/components/text/text.component.d.ts +6 -2
- package/lib/components/tiles/tiles.component.d.ts +4 -2
- package/lib/modules/spa-admin.module.d.ts +6 -6
- package/lib/modules/spa-index.module.d.ts +3 -3
- package/lib/modules/spa-user.module.d.ts +2 -2
- package/lib/{components → pages}/change-password/change-password.component.d.ts +1 -1
- package/lib/{components → pages}/create-account/create-account.component.d.ts +2 -1
- package/lib/{components → pages}/login/login.component.d.ts +3 -2
- package/lib/{components → pages}/profile/profile.component.d.ts +2 -1
- package/lib/{components → pages}/roles/addRoleDialog.component.d.ts +1 -1
- package/lib/{components → pages}/roles/roles.component.d.ts +1 -1
- package/lib/{components → pages}/signup/signup.component.d.ts +1 -1
- package/lib/{components → pages}/users/users.component.d.ts +1 -1
- package/lib/services/auth.service.d.ts +1 -1
- package/lib/services/csv.service.d.ts +10 -0
- package/lib/services/datalib.service.d.ts +2 -1
- package/lib/services/log.service.d.ts +1 -1
- package/lib/tin-spa.module.d.ts +29 -28
- package/package.json +1 -1
- package/public-api.d.ts +24 -23
- package/esm2020/lib/components/accounts/accountDialog.component.mjs +0 -56
- package/esm2020/lib/components/accounts/accounts.component.mjs +0 -70
- package/esm2020/lib/components/change-password/change-password.component.mjs +0 -92
- package/esm2020/lib/components/create-account/create-account.component.mjs +0 -109
- package/esm2020/lib/components/customers/customers.component.mjs +0 -60
- package/esm2020/lib/components/inventory/inventory.component.mjs +0 -99
- package/esm2020/lib/components/inventory/quantityDialog.component.mjs +0 -53
- package/esm2020/lib/components/invitations-table/invitations-table.component.mjs +0 -70
- package/esm2020/lib/components/membership/membership.component.mjs +0 -48
- package/esm2020/lib/components/plans/plans.component.mjs +0 -47
- package/esm2020/lib/components/profile/profile.component.mjs +0 -92
- package/esm2020/lib/components/recover-account/recover-account.component.mjs +0 -46
- package/esm2020/lib/components/signup/signup.component.mjs +0 -50
- package/esm2020/lib/components/suppliers/suppliers.component.mjs +0 -50
- package/esm2020/lib/components/tasks/tasks.component.mjs +0 -86
- package/esm2020/lib/components/tenant-settings/inviteDialog.component.mjs +0 -60
- package/esm2020/lib/components/tenant-settings/tenant-settings.component.mjs +0 -155
- package/esm2020/lib/components/tenants/tenants.component.mjs +0 -47
- package/esm2020/lib/components/transactions/transactDialog.component.mjs +0 -80
- package/esm2020/lib/components/transactions/transactions.component.mjs +0 -101
- package/esm2020/lib/components/users/users.component.mjs +0 -118
- package/esm2020/lib/components/welcome/welcome.component.mjs +0 -86
- /package/lib/{components → pages}/accounts/accountDialog.component.d.ts +0 -0
- /package/lib/{components → pages}/accounts/accounts.component.d.ts +0 -0
- /package/lib/{components → pages}/bug/bug.component.d.ts +0 -0
- /package/lib/{components → pages}/customers/customers.component.d.ts +0 -0
- /package/lib/{components → pages}/departments/departments.component.d.ts +0 -0
- /package/lib/{components → pages}/employees/employees.component.d.ts +0 -0
- /package/lib/{components → pages}/grades/grades.component.d.ts +0 -0
- /package/lib/{components → pages}/inventory/inventory.component.d.ts +0 -0
- /package/lib/{components → pages}/inventory/quantityDialog.component.d.ts +0 -0
- /package/lib/{components → pages}/invitations/invitations.component.d.ts +0 -0
- /package/lib/{components → pages}/invitations-table/invitations-table.component.d.ts +0 -0
- /package/lib/{components → pages}/logs/logs.component.d.ts +0 -0
- /package/lib/{components → pages}/membership/membership.component.d.ts +0 -0
- /package/lib/{components → pages}/notifications/notifications.component.d.ts +0 -0
- /package/lib/{components → pages}/plans/plans.component.d.ts +0 -0
- /package/lib/{components → pages}/positions/positions.component.d.ts +0 -0
- /package/lib/{components → pages}/recover-account/recover-account.component.d.ts +0 -0
- /package/lib/{components → pages}/settings/settings.component.d.ts +0 -0
- /package/lib/{components → pages}/suppliers/suppliers.component.d.ts +0 -0
- /package/lib/{components → pages}/tasks/tasks.component.d.ts +0 -0
- /package/lib/{components → pages}/tenant-settings/inviteDialog.component.d.ts +0 -0
- /package/lib/{components → pages}/tenant-settings/tenant-settings.component.d.ts +0 -0
- /package/lib/{components → pages}/tenants/tenants.component.d.ts +0 -0
- /package/lib/{components → pages}/transactions/transactDialog.component.d.ts +0 -0
- /package/lib/{components → pages}/transactions/transactions.component.d.ts +0 -0
- /package/lib/{components → pages}/welcome/welcome.component.d.ts +0 -0
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
2
|
import { FormControl } from '@angular/forms';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
|
+
import { MessageService } from '../../services/message.service';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export declare class TextComponent implements OnInit {
|
|
6
|
-
|
|
7
|
+
private messageService;
|
|
8
|
+
constructor(messageService: MessageService);
|
|
7
9
|
ngOnInit(): void;
|
|
8
10
|
ngAfterViewInit(): void;
|
|
9
11
|
filteredOptions: Observable<string[]>;
|
|
@@ -22,6 +24,7 @@ export declare class TextComponent implements OnInit {
|
|
|
22
24
|
enterPress: EventEmitter<any>;
|
|
23
25
|
rows: number;
|
|
24
26
|
width: string;
|
|
27
|
+
copyContent: boolean;
|
|
25
28
|
options: any;
|
|
26
29
|
optionValue: string;
|
|
27
30
|
required: boolean;
|
|
@@ -34,6 +37,7 @@ export declare class TextComponent implements OnInit {
|
|
|
34
37
|
onInfoClick(event: MouseEvent): void;
|
|
35
38
|
private initFilter;
|
|
36
39
|
private _filter;
|
|
40
|
+
copyText(): void;
|
|
37
41
|
initControl(control: FormControl): void;
|
|
38
42
|
changed(): void;
|
|
39
43
|
leaved(): void;
|
|
@@ -42,5 +46,5 @@ export declare class TextComponent implements OnInit {
|
|
|
42
46
|
control: FormControl<string>;
|
|
43
47
|
validate(control: FormControl): string;
|
|
44
48
|
static ɵfac: i0.ɵɵFactoryDeclaration<TextComponent, never>;
|
|
45
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TextComponent, "spa-text", never, { "readonly": "readonly"; "hint": "hint"; "display": "display"; "placeholder": "placeholder"; "value": "value"; "format": "format"; "type": "type"; "rows": "rows"; "width": "width"; "options": "options"; "optionValue": "optionValue"; "required": "required"; "min": "min"; "max": "max"; "regex": "regex"; "suffix": "suffix"; "infoMessage": "infoMessage"; }, { "valueChange": "valueChange"; "leave": "leave"; "enterPress": "enterPress"; "infoClick": "infoClick"; }, never, never, false>;
|
|
49
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TextComponent, "spa-text", never, { "readonly": "readonly"; "hint": "hint"; "display": "display"; "placeholder": "placeholder"; "value": "value"; "format": "format"; "type": "type"; "rows": "rows"; "width": "width"; "copyContent": "copyContent"; "options": "options"; "optionValue": "optionValue"; "required": "required"; "min": "min"; "max": "max"; "regex": "regex"; "suffix": "suffix"; "infoMessage": "infoMessage"; }, { "valueChange": "valueChange"; "leave": "leave"; "enterPress": "enterPress"; "infoClick": "infoClick"; }, never, never, false>;
|
|
46
50
|
}
|
|
@@ -12,14 +12,16 @@ export declare class TilesComponent implements OnInit {
|
|
|
12
12
|
ngOnChanges(): void;
|
|
13
13
|
tiles: Tile[];
|
|
14
14
|
config: TileConfig;
|
|
15
|
+
tileActionSelected: EventEmitter<Action>;
|
|
15
16
|
data: any;
|
|
16
17
|
reload: Subject<boolean>;
|
|
17
18
|
tileClick: EventEmitter<any>;
|
|
19
|
+
tileUnClick: EventEmitter<any>;
|
|
18
20
|
selectedTile: string;
|
|
19
21
|
new: boolean;
|
|
20
|
-
clicked(
|
|
22
|
+
clicked(clickedTile: Tile): void;
|
|
21
23
|
pop(x: any): void;
|
|
22
24
|
loadData(action: Action, data: any): void;
|
|
23
25
|
static ɵfac: i0.ɵɵFactoryDeclaration<TilesComponent, never>;
|
|
24
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TilesComponent, "spa-tiles", never, { "config": "config"; "data": "data"; "reload": "reload"; }, { "tileClick": "tileClick"; }, never, never, false>;
|
|
26
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TilesComponent, "spa-tiles", never, { "config": "config"; "data": "data"; "reload": "reload"; }, { "tileActionSelected": "tileActionSelected"; "tileClick": "tileClick"; "tileUnClick": "tileUnClick"; }, never, never, false>;
|
|
25
27
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "../
|
|
3
|
-
import * as i2 from "../
|
|
4
|
-
import * as i3 from "../
|
|
5
|
-
import * as i4 from "../
|
|
6
|
-
import * as i5 from "../
|
|
7
|
-
import * as i6 from "../
|
|
2
|
+
import * as i1 from "../pages/users/users.component";
|
|
3
|
+
import * as i2 from "../pages/roles/roles.component";
|
|
4
|
+
import * as i3 from "../pages/roles/addRoleDialog.component";
|
|
5
|
+
import * as i4 from "../pages/create-account/create-account.component";
|
|
6
|
+
import * as i5 from "../pages/logs/logs.component";
|
|
7
|
+
import * as i6 from "../pages/settings/settings.component";
|
|
8
8
|
import * as i7 from "@angular/forms";
|
|
9
9
|
import * as i8 from "@angular/common";
|
|
10
10
|
import * as i9 from "../tin-spa.module";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "../
|
|
3
|
-
import * as i2 from "../
|
|
4
|
-
import * as i3 from "../
|
|
2
|
+
import * as i1 from "../pages/login/login.component";
|
|
3
|
+
import * as i2 from "../pages/signup/signup.component";
|
|
4
|
+
import * as i3 from "../pages/recover-account/recover-account.component";
|
|
5
5
|
import * as i4 from "@angular/forms";
|
|
6
6
|
import * as i5 from "@angular/common";
|
|
7
7
|
import * as i6 from "../tin-spa.module";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "../
|
|
3
|
-
import * as i2 from "../
|
|
2
|
+
import * as i1 from "../pages/change-password/change-password.component";
|
|
3
|
+
import * as i2 from "../pages/profile/profile.component";
|
|
4
4
|
import * as i3 from "@angular/forms";
|
|
5
5
|
import * as i4 from "@angular/common";
|
|
6
6
|
import * as i5 from "../tin-spa.module";
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ChangeUserPassword } from './../../classes/Classes';
|
|
2
1
|
import { OnInit } from '@angular/core';
|
|
3
2
|
import { MessageService } from '../../services/message.service';
|
|
4
3
|
import { DataServiceLib } from '../../services/datalib.service';
|
|
@@ -6,6 +5,7 @@ import { AuthService } from '../../services/auth.service';
|
|
|
6
5
|
import { Location } from '@angular/common';
|
|
7
6
|
import { HttpService } from '../../services/http.service';
|
|
8
7
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
8
|
+
import { ChangeUserPassword } from '../../classes/LibClasses';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export declare class ChangePasswordComponent implements OnInit {
|
|
11
11
|
router: Router;
|
|
@@ -2,9 +2,10 @@ import { DataServiceLib } from '../../services/datalib.service';
|
|
|
2
2
|
import { OnInit } from '@angular/core';
|
|
3
3
|
import { MessageService } from '../../services/message.service';
|
|
4
4
|
import { AuthService } from '../../services/auth.service';
|
|
5
|
-
import { AppConfig
|
|
5
|
+
import { AppConfig } from '../../classes/Classes';
|
|
6
6
|
import { Router } from '@angular/router';
|
|
7
7
|
import { HttpService } from '../../services/http.service';
|
|
8
|
+
import { Register } from '../../classes/LibClasses';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
export declare class CreateAccountComponent implements OnInit {
|
|
10
11
|
private httpService;
|
|
@@ -4,10 +4,11 @@ import { AuthService } from "../../services/auth.service";
|
|
|
4
4
|
import { OnInit } from "@angular/core";
|
|
5
5
|
import { ActivatedRoute, Router } from "@angular/router";
|
|
6
6
|
import { DataServiceLib } from "../../services/datalib.service";
|
|
7
|
-
import { LogService } from "
|
|
8
|
-
import {
|
|
7
|
+
import { LogService } from "../../services/log.service";
|
|
8
|
+
import { AppConfig } from "../../classes/Classes";
|
|
9
9
|
import { HttpService } from "../../services/http.service";
|
|
10
10
|
import { SocialAuthService, SocialUser } from '@abacritt/angularx-social-login';
|
|
11
|
+
import { User } from "../../classes/LibClasses";
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
export declare class LoginComponent implements OnInit {
|
|
13
14
|
private httpService;
|
|
@@ -2,9 +2,10 @@ import { AuthService } from './../../services/auth.service';
|
|
|
2
2
|
import { MessageService } from './../../services/message.service';
|
|
3
3
|
import { DataServiceLib } from '../../services/datalib.service';
|
|
4
4
|
import { OnInit } from '@angular/core';
|
|
5
|
-
import { AppConfig
|
|
5
|
+
import { AppConfig } from '../../classes/Classes';
|
|
6
6
|
import { Router } from '@angular/router';
|
|
7
7
|
import { HttpService } from '../../services/http.service';
|
|
8
|
+
import { Profile } from '../../classes/LibClasses';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
export declare class ProfileComponent implements OnInit {
|
|
10
11
|
dataService: DataServiceLib;
|
|
@@ -3,8 +3,8 @@ import { AuthService } from '../../services/auth.service';
|
|
|
3
3
|
import { OnInit } from '@angular/core';
|
|
4
4
|
import { MatDialogRef } from '@angular/material/dialog';
|
|
5
5
|
import { DataServiceLib } from '../../services/datalib.service';
|
|
6
|
-
import { Role } from '../../classes/Classes';
|
|
7
6
|
import { LoaderService } from '../../services/loader.service';
|
|
7
|
+
import { Role } from '../../classes/LibClasses';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export declare class addRoleDialog implements OnInit {
|
|
10
10
|
private loaderService;
|
|
@@ -2,11 +2,11 @@ import { AppConfig } from './../../classes/Classes';
|
|
|
2
2
|
import { OnInit } from "@angular/core";
|
|
3
3
|
import { MatDialog } from "@angular/material/dialog";
|
|
4
4
|
import { DataServiceLib } from "../../services/datalib.service";
|
|
5
|
-
import { Role } from "../../classes/Classes";
|
|
6
5
|
import { Router } from "@angular/router";
|
|
7
6
|
import { MessageService } from '../../services/message.service';
|
|
8
7
|
import { AuthService } from '../../services/auth.service';
|
|
9
8
|
import { HttpService } from '../../services/http.service';
|
|
9
|
+
import { Role } from '../../classes/LibClasses';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
export declare class RolesComponent implements OnInit {
|
|
12
12
|
private httpService;
|
|
@@ -2,8 +2,8 @@ import { OnInit } from '@angular/core';
|
|
|
2
2
|
import { MessageService } from '../../services/message.service';
|
|
3
3
|
import { DataServiceLib } from '../../services/datalib.service';
|
|
4
4
|
import { AuthService } from '../../services/auth.service';
|
|
5
|
-
import { User, Profile, Account } from '../../classes/Classes';
|
|
6
5
|
import { HttpService } from '../../services/http.service';
|
|
6
|
+
import { Account, Profile, User } from '../../classes/LibClasses';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export declare class SignupComponent implements OnInit {
|
|
9
9
|
private httpService;
|
|
@@ -5,8 +5,8 @@ import { DataServiceLib } from "../../services/datalib.service";
|
|
|
5
5
|
import { Router } from "@angular/router";
|
|
6
6
|
import { MessageService } from "../../services/message.service";
|
|
7
7
|
import { AuthService } from "../../services/auth.service";
|
|
8
|
-
import { User } from '../../classes/Classes';
|
|
9
8
|
import { HttpService } from "../../services/http.service";
|
|
9
|
+
import { User } from "../../classes/LibClasses";
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
export declare class UsersComponent implements OnInit {
|
|
12
12
|
private httpService;
|
|
@@ -3,9 +3,9 @@ import { Router, CanActivate, ActivatedRoute } from '@angular/router';
|
|
|
3
3
|
import { BehaviorSubject } from 'rxjs';
|
|
4
4
|
import { StorageService } from './storage.service';
|
|
5
5
|
import { LogService } from './log.service';
|
|
6
|
-
import { Role } from '../classes/Classes';
|
|
7
6
|
import { HttpService } from './http.service';
|
|
8
7
|
import { SocialAuthService } from '@abacritt/angularx-social-login';
|
|
8
|
+
import { Role } from '../classes/LibClasses';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export declare class AuthService implements CanActivate {
|
|
11
11
|
private _route;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TableConfig } from '../classes/Classes';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class CsvService {
|
|
4
|
+
generateCsv(data: any[], columns: string[], filename: string, config: TableConfig): void;
|
|
5
|
+
private convertToCsv;
|
|
6
|
+
private createColumnMap;
|
|
7
|
+
private escapeCommas;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CsvService, never>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CsvService>;
|
|
10
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Action, AppConfig, Button, CapItem, FormConfig, TableConfig
|
|
1
|
+
import { Action, AppConfig, Button, CapItem, FormConfig, TableConfig } from '../classes/Classes';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { HttpService } from './http.service';
|
|
4
4
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
5
|
+
import { User } from '../classes/LibClasses';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export declare class DataServiceLib {
|
|
7
8
|
private httpService;
|
package/lib/tin-spa.module.d.ts
CHANGED
|
@@ -27,40 +27,41 @@ import * as i25 from "./components/number/number.component";
|
|
|
27
27
|
import * as i26 from "./components/search/search.component";
|
|
28
28
|
import * as i27 from "./components/viewer/viewer.component";
|
|
29
29
|
import * as i28 from "./components/viewer/viewerDialog.component";
|
|
30
|
-
import * as i29 from "./
|
|
31
|
-
import * as i30 from "./
|
|
32
|
-
import * as i31 from "./
|
|
33
|
-
import * as i32 from "./
|
|
34
|
-
import * as i33 from "./
|
|
35
|
-
import * as i34 from "./
|
|
36
|
-
import * as i35 from "./
|
|
37
|
-
import * as i36 from "./
|
|
38
|
-
import * as i37 from "./
|
|
39
|
-
import * as i38 from "./
|
|
40
|
-
import * as i39 from "./
|
|
41
|
-
import * as i40 from "./
|
|
42
|
-
import * as i41 from "./
|
|
43
|
-
import * as i42 from "./
|
|
30
|
+
import * as i29 from "./pages/tenant-settings/tenant-settings.component";
|
|
31
|
+
import * as i30 from "./pages/tenant-settings/inviteDialog.component";
|
|
32
|
+
import * as i31 from "./pages/tenants/tenants.component";
|
|
33
|
+
import * as i32 from "./pages/bug/bug.component";
|
|
34
|
+
import * as i33 from "./pages/membership/membership.component";
|
|
35
|
+
import * as i34 from "./pages/plans/plans.component";
|
|
36
|
+
import * as i35 from "./pages/customers/customers.component";
|
|
37
|
+
import * as i36 from "./pages/inventory/inventory.component";
|
|
38
|
+
import * as i37 from "./pages/inventory/quantityDialog.component";
|
|
39
|
+
import * as i38 from "./pages/accounts/accounts.component";
|
|
40
|
+
import * as i39 from "./pages/accounts/accountDialog.component";
|
|
41
|
+
import * as i40 from "./pages/suppliers/suppliers.component";
|
|
42
|
+
import * as i41 from "./pages/transactions/transactions.component";
|
|
43
|
+
import * as i42 from "./pages/transactions/transactDialog.component";
|
|
44
44
|
import * as i43 from "./components/list-dialog/list-dialog.component";
|
|
45
|
-
import * as i44 from "./
|
|
46
|
-
import * as i45 from "./
|
|
47
|
-
import * as i46 from "./
|
|
48
|
-
import * as i47 from "./
|
|
49
|
-
import * as i48 from "./
|
|
50
|
-
import * as i49 from "./
|
|
51
|
-
import * as i50 from "./
|
|
52
|
-
import * as i51 from "./
|
|
53
|
-
import * as i52 from "./
|
|
45
|
+
import * as i44 from "./pages/tasks/tasks.component";
|
|
46
|
+
import * as i45 from "./pages/departments/departments.component";
|
|
47
|
+
import * as i46 from "./pages/employees/employees.component";
|
|
48
|
+
import * as i47 from "./pages/positions/positions.component";
|
|
49
|
+
import * as i48 from "./pages/grades/grades.component";
|
|
50
|
+
import * as i49 from "./pages/welcome/welcome.component";
|
|
51
|
+
import * as i50 from "./pages/invitations/invitations.component";
|
|
52
|
+
import * as i51 from "./pages/notifications/notifications.component";
|
|
53
|
+
import * as i52 from "./pages/invitations-table/invitations-table.component";
|
|
54
54
|
import * as i53 from "./components/table-header/table-header.component";
|
|
55
55
|
import * as i54 from "./components/table-row/table-row.component";
|
|
56
56
|
import * as i55 from "./components/table-action/table-action.component";
|
|
57
57
|
import * as i56 from "./components/alert/alert.component";
|
|
58
|
-
import * as i57 from "./
|
|
59
|
-
import * as i58 from "
|
|
60
|
-
import * as i59 from "
|
|
61
|
-
import * as i60 from "
|
|
58
|
+
import * as i57 from "./components/email/email.component";
|
|
59
|
+
import * as i58 from "./modules/spa-mat.module";
|
|
60
|
+
import * as i59 from "@angular/common/http";
|
|
61
|
+
import * as i60 from "./components/money/currency-input-mask.module";
|
|
62
|
+
import * as i61 from "ngx-doc-viewer";
|
|
62
63
|
export declare class TinSpaModule {
|
|
63
64
|
static ɵfac: i0.ɵɵFactoryDeclaration<TinSpaModule, never>;
|
|
64
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TinSpaModule, [typeof i1.TinSpaComponent, typeof i2.TextComponent, typeof i3.CheckComponent, typeof i4.DateComponent, typeof i5.DatetimeComponent, typeof i6.LabelComponent, typeof i7.SelectComponent, typeof i8.ActivityComponent, typeof i9.FilterComponent, typeof i10.messageDialog, typeof i11.MoneyComponent, typeof i12.OptionComponent, typeof i13.TilesComponent, typeof i14.StepsComponent, typeof i15.AttachComponent, typeof i16.ChipsComponent, typeof i17.LoaderComponent, typeof i18.NavMenuComponent, typeof i19.TableComponent, typeof i20.TableInternalComponent, typeof i21.DetailsDialog, typeof i22.DetailsDialogInternal, typeof i23.FormComponent, typeof i24.CamelToWordsPipe, typeof i25.NumberComponent, typeof i26.SearchComponent, typeof i27.ViewerComponent, typeof i28.viewerDialog, typeof i29.TenantSettingsComponent, typeof i30.inviteDialog, typeof i31.TenantsComponent, typeof i32.BugComponent, typeof i33.MembershipComponent, typeof i34.PlansComponent, typeof i35.CustomersComponent, typeof i36.InventoryComponent, typeof i37.quantityDialog, typeof i38.AccountsComponent, typeof i39.accountDialog, typeof i40.SuppliersComponent, typeof i41.TransactionsComponent, typeof i42.transactDialog, typeof i43.ListDialogComponent, typeof i44.TasksComponent, typeof i45.DepartmentsComponent, typeof i46.EmployeesComponent, typeof i47.PositionsComponent, typeof i48.GradesComponent, typeof i49.WelcomeComponent, typeof i50.InvitationsComponent, typeof i51.NotificationsComponent, typeof i52.InvitationsTableComponent, typeof i53.TableHeaderComponent, typeof i54.TableRowComponent, typeof i55.TableActionComponent, typeof i56.AlertComponent], [typeof
|
|
65
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TinSpaModule, [typeof i1.TinSpaComponent, typeof i2.TextComponent, typeof i3.CheckComponent, typeof i4.DateComponent, typeof i5.DatetimeComponent, typeof i6.LabelComponent, typeof i7.SelectComponent, typeof i8.ActivityComponent, typeof i9.FilterComponent, typeof i10.messageDialog, typeof i11.MoneyComponent, typeof i12.OptionComponent, typeof i13.TilesComponent, typeof i14.StepsComponent, typeof i15.AttachComponent, typeof i16.ChipsComponent, typeof i17.LoaderComponent, typeof i18.NavMenuComponent, typeof i19.TableComponent, typeof i20.TableInternalComponent, typeof i21.DetailsDialog, typeof i22.DetailsDialogInternal, typeof i23.FormComponent, typeof i24.CamelToWordsPipe, typeof i25.NumberComponent, typeof i26.SearchComponent, typeof i27.ViewerComponent, typeof i28.viewerDialog, typeof i29.TenantSettingsComponent, typeof i30.inviteDialog, typeof i31.TenantsComponent, typeof i32.BugComponent, typeof i33.MembershipComponent, typeof i34.PlansComponent, typeof i35.CustomersComponent, typeof i36.InventoryComponent, typeof i37.quantityDialog, typeof i38.AccountsComponent, typeof i39.accountDialog, typeof i40.SuppliersComponent, typeof i41.TransactionsComponent, typeof i42.transactDialog, typeof i43.ListDialogComponent, typeof i44.TasksComponent, typeof i45.DepartmentsComponent, typeof i46.EmployeesComponent, typeof i47.PositionsComponent, typeof i48.GradesComponent, typeof i49.WelcomeComponent, typeof i50.InvitationsComponent, typeof i51.NotificationsComponent, typeof i52.InvitationsTableComponent, typeof i53.TableHeaderComponent, typeof i54.TableRowComponent, typeof i55.TableActionComponent, typeof i56.AlertComponent, typeof i57.EmailComponent], [typeof i58.SpaMatModule, typeof i59.HttpClientModule, typeof i60.CurrencyInputModule, typeof i61.NgxDocViewerModule], [typeof i1.TinSpaComponent, typeof i58.SpaMatModule, typeof i56.AlertComponent, typeof i2.TextComponent, typeof i10.messageDialog, typeof i18.NavMenuComponent, typeof i17.LoaderComponent, typeof i13.TilesComponent, typeof i4.DateComponent, typeof i7.SelectComponent, typeof i5.DatetimeComponent, typeof i3.CheckComponent, typeof i15.AttachComponent, typeof i11.MoneyComponent, typeof i16.ChipsComponent, typeof i8.ActivityComponent, typeof i12.OptionComponent, typeof i6.LabelComponent, typeof i14.StepsComponent, typeof i9.FilterComponent, typeof i19.TableComponent, typeof i21.DetailsDialog, typeof i23.FormComponent, typeof i25.NumberComponent, typeof i26.SearchComponent, typeof i27.ViewerComponent, typeof i28.viewerDialog, typeof i43.ListDialogComponent, typeof i35.CustomersComponent, typeof i38.AccountsComponent, typeof i36.InventoryComponent, typeof i40.SuppliersComponent, typeof i41.TransactionsComponent, typeof i43.ListDialogComponent, typeof i44.TasksComponent, typeof i45.DepartmentsComponent, typeof i46.EmployeesComponent, typeof i47.PositionsComponent, typeof i48.GradesComponent, typeof i49.WelcomeComponent, typeof i57.EmailComponent]>;
|
|
65
66
|
static ɵinj: i0.ɵɵInjectorDeclaration<TinSpaModule>;
|
|
66
67
|
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -36,18 +36,6 @@ export * from './lib/components/steps/steps.component';
|
|
|
36
36
|
export * from './lib/components/filter/filter.component';
|
|
37
37
|
export * from './lib/components/message/messageDialog.component';
|
|
38
38
|
export * from './lib/components/loader/loader.component';
|
|
39
|
-
export * from './lib/components/users/users.component';
|
|
40
|
-
export * from './lib/components/login/login.component';
|
|
41
|
-
export * from './lib/components/nav-menu/nav-menu.component';
|
|
42
|
-
export * from './lib/components/roles/roles.component';
|
|
43
|
-
export * from './lib/components/roles/addRoleDialog.component';
|
|
44
|
-
export * from './lib/components/signup/signup.component';
|
|
45
|
-
export * from './lib/components/change-password/change-password.component';
|
|
46
|
-
export * from './lib/components/profile/profile.component';
|
|
47
|
-
export * from './lib/components/recover-account/recover-account.component';
|
|
48
|
-
export * from './lib/components/create-account/create-account.component';
|
|
49
|
-
export * from './lib/components/logs/logs.component';
|
|
50
|
-
export * from './lib/components/settings/settings.component';
|
|
51
39
|
export * from './lib/components/table/table.component';
|
|
52
40
|
export * from './lib/components/table/detailsDialog.component';
|
|
53
41
|
export * from './lib/components/form/form.component';
|
|
@@ -55,15 +43,28 @@ export * from './lib/components/number/number.component';
|
|
|
55
43
|
export * from './lib/components/search/search.component';
|
|
56
44
|
export * from './lib/components/viewer/viewer.component';
|
|
57
45
|
export * from './lib/components/viewer/viewerDialog.component';
|
|
58
|
-
export * from './lib/components/
|
|
59
|
-
export * from './lib/components/inventory/inventory.component';
|
|
60
|
-
export * from './lib/components/accounts/accounts.component';
|
|
61
|
-
export * from './lib/components/suppliers/suppliers.component';
|
|
46
|
+
export * from './lib/components/nav-menu/nav-menu.component';
|
|
62
47
|
export * from './lib/components/list-dialog/list-dialog.component';
|
|
63
|
-
export * from './lib/components/
|
|
64
|
-
export * from './lib/
|
|
65
|
-
export * from './lib/
|
|
66
|
-
export * from './lib/
|
|
67
|
-
export * from './lib/
|
|
68
|
-
export * from './lib/
|
|
69
|
-
export * from './lib/
|
|
48
|
+
export * from './lib/components/email/email.component';
|
|
49
|
+
export * from './lib/pages/transactions/transactions.component';
|
|
50
|
+
export * from './lib/pages/tasks/tasks.component';
|
|
51
|
+
export * from './lib/pages/departments/departments.component';
|
|
52
|
+
export * from './lib/pages/employees/employees.component';
|
|
53
|
+
export * from './lib/pages/positions/positions.component';
|
|
54
|
+
export * from './lib/pages/grades/grades.component';
|
|
55
|
+
export * from './lib/pages/welcome/welcome.component';
|
|
56
|
+
export * from './lib/pages/customers/customers.component';
|
|
57
|
+
export * from './lib/pages/inventory/inventory.component';
|
|
58
|
+
export * from './lib/pages/accounts/accounts.component';
|
|
59
|
+
export * from './lib/pages/suppliers/suppliers.component';
|
|
60
|
+
export * from './lib/pages/users/users.component';
|
|
61
|
+
export * from './lib/pages/login/login.component';
|
|
62
|
+
export * from './lib/pages/roles/roles.component';
|
|
63
|
+
export * from './lib/pages/roles/addRoleDialog.component';
|
|
64
|
+
export * from './lib/pages/signup/signup.component';
|
|
65
|
+
export * from './lib/pages/change-password/change-password.component';
|
|
66
|
+
export * from './lib/pages/profile/profile.component';
|
|
67
|
+
export * from './lib/pages/recover-account/recover-account.component';
|
|
68
|
+
export * from './lib/pages/create-account/create-account.component';
|
|
69
|
+
export * from './lib/pages/logs/logs.component';
|
|
70
|
+
export * from './lib/pages/settings/settings.component';
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
//-------------------------------------------VIEW
|
|
2
|
-
import { Component, Inject } from '@angular/core';
|
|
3
|
-
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
4
|
-
import { FinAccount } from '../../classes/Classes';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../services/loader.service";
|
|
7
|
-
import * as i2 from "../../services/message.service";
|
|
8
|
-
import * as i3 from "../../services/datalib.service";
|
|
9
|
-
import * as i4 from "@angular/material/dialog";
|
|
10
|
-
import * as i5 from "@angular/material/button";
|
|
11
|
-
import * as i6 from "../text/text.component";
|
|
12
|
-
import * as i7 from "../select/select.component";
|
|
13
|
-
import * as i8 from "@angular/common";
|
|
14
|
-
export class accountDialog {
|
|
15
|
-
constructor(loaderService, messageService, dataService, dialogRef, data) {
|
|
16
|
-
this.loaderService = loaderService;
|
|
17
|
-
this.messageService = messageService;
|
|
18
|
-
this.dataService = dataService;
|
|
19
|
-
this.dialogRef = dialogRef;
|
|
20
|
-
this.data = data;
|
|
21
|
-
this.isLoadComplete = false;
|
|
22
|
-
this.isProcessing = false;
|
|
23
|
-
this.currencies = [
|
|
24
|
-
{ name: 'USD', value: 'USD' },
|
|
25
|
-
{ name: 'ZAR', value: 'ZAR' },
|
|
26
|
-
{ name: 'ZWL', value: 'ZWL' },
|
|
27
|
-
];
|
|
28
|
-
}
|
|
29
|
-
ngOnInit() {
|
|
30
|
-
this.action = this.data == null ? 'create' : 'edit';
|
|
31
|
-
this.account = this.data ?? new FinAccount();
|
|
32
|
-
this.isLoadComplete = true;
|
|
33
|
-
this.loaderService.isLoading.subscribe(x => this.isProcessing = x);
|
|
34
|
-
}
|
|
35
|
-
submit() {
|
|
36
|
-
this.dataService.CallApi({ url: `general/accounts?action=${this.action}`, method: 'post' }, this.account).subscribe((x) => {
|
|
37
|
-
if (x.success) {
|
|
38
|
-
this.dialogRef.close('success');
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
this.messageService.toast(x.message);
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
accountDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: accountDialog, deps: [{ token: i1.LoaderService }, { token: i2.MessageService }, { token: i3.DataServiceLib }, { token: i4.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
-
accountDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: accountDialog, selector: "app-quanityDiag", ngImport: i0, template: "\r\n<h2 mat-dialog-title>{{action | titlecase}}</h2>\r\n<mat-dialog-content class=\"mat-typography\">\r\n\r\n<div class=\"tin-col\" style=\"font-size:14px\">\r\n\r\n <spa-text display=\"Name\" [(value)]=\"account.name\" ></spa-text>\r\n <spa-text display=\"Description\" [(value)]=\"account.description\" ></spa-text>\r\n <spa-select display=\"Currency\" [(value)]=\"account.currency\" [options]=\"currencies\" optionDisplay=\"name\" optionValue=\"value\"></spa-select>\r\n\r\n</div>\r\n\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n<button mat-stroked-button color=\"primary\" [disabled]=\"isProcessing\" (click)=\"submit()\" cdkFocusInitial>Submit</button>\r\n<button mat-button cdkFocusInitial mat-dialog-close>Cancel</button>\r\n</mat-dialog-actions>\r\n\r\n\r\n\r\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"], dependencies: [{ kind: "component", type: i5.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.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { 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: i6.TextComponent, selector: "spa-text", inputs: ["readonly", "hint", "display", "placeholder", "value", "format", "type", "rows", "width", "options", "optionValue", "required", "min", "max", "regex", "suffix", "infoMessage"], outputs: ["valueChange", "leave", "enterPress", "infoClick"] }, { kind: "component", type: i7.SelectComponent, selector: "spa-select", inputs: ["width", "readonly", "required", "defaultFirstValue", "readonlyMode", "hint", "placeholder", "multiple", "display", "value", "options", "masterOptions", "optionValue", "optionDisplay", "optionDisplayExtra", "nullable", "peekConfig", "infoMessage"], outputs: ["valueChange", "infoClick"] }, { kind: "pipe", type: i8.TitleCasePipe, name: "titlecase" }] });
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: accountDialog, decorators: [{
|
|
49
|
-
type: Component,
|
|
50
|
-
args: [{ selector: 'app-quanityDiag', template: "\r\n<h2 mat-dialog-title>{{action | titlecase}}</h2>\r\n<mat-dialog-content class=\"mat-typography\">\r\n\r\n<div class=\"tin-col\" style=\"font-size:14px\">\r\n\r\n <spa-text display=\"Name\" [(value)]=\"account.name\" ></spa-text>\r\n <spa-text display=\"Description\" [(value)]=\"account.description\" ></spa-text>\r\n <spa-select display=\"Currency\" [(value)]=\"account.currency\" [options]=\"currencies\" optionDisplay=\"name\" optionValue=\"value\"></spa-select>\r\n\r\n</div>\r\n\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n<button mat-stroked-button color=\"primary\" [disabled]=\"isProcessing\" (click)=\"submit()\" cdkFocusInitial>Submit</button>\r\n<button mat-button cdkFocusInitial mat-dialog-close>Cancel</button>\r\n</mat-dialog-actions>\r\n\r\n\r\n\r\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"] }]
|
|
51
|
-
}], ctorParameters: function () { return [{ type: i1.LoaderService }, { type: i2.MessageService }, { type: i3.DataServiceLib }, { type: i4.MatDialogRef }, { type: undefined, decorators: [{
|
|
52
|
-
type: Inject,
|
|
53
|
-
args: [MAT_DIALOG_DATA]
|
|
54
|
-
}] }]; } });
|
|
55
|
-
;
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudERpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50cy9hY2NvdW50RGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL2FjY291bnRzL2FjY291bnREaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaURBQWlEO0FBRWpELE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFHekUsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7O0FBU2hFLE1BQU0sT0FBTyxhQUFhO0lBRXhCLFlBQW9CLGFBQTRCLEVBQVUsY0FBOEIsRUFBVSxXQUEyQixFQUFVLFNBQXNDLEVBQWtDLElBQUk7UUFBL0wsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUE2QjtRQUFrQyxTQUFJLEdBQUosSUFBSSxDQUFBO1FBY25OLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGVBQVUsR0FBRztZQUNYLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1lBQzdCLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1lBQzdCLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1NBQzlCLENBQUE7SUFwQnNOLENBQUM7SUFFeE4sUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBO1FBRW5ELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBRTNCLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFFLENBQUM7SUFFdEUsQ0FBQztJQVlELE1BQU07UUFFSixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSwyQkFBMkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBZSxFQUFFLEVBQUU7WUFFdEksSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFDO2dCQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ2pDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQTthQUNyQztRQUVILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7MEdBbkNVLGFBQWEsdUlBRStKLGVBQWU7OEZBRjNMLGFBQWEsdURDZjFCLGt4QkFxQkE7MkZETmEsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxpQkFBaUI7OzBCQU1xSixNQUFNOzJCQUFDLGVBQWU7O0FBa0N2TSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tVklFV1xyXG5cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGaW5BY2NvdW50LCBBcGlSZXNwb25zZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvQ2xhc3Nlcyc7XHJcbmltcG9ydCB7IExvYWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2FkZXIuc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcXVhbml0eURpYWcnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY2NvdW50RGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hY2NvdW50cy5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIGFjY291bnREaWFsb2cgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvYWRlclNlcnZpY2U6IExvYWRlclNlcnZpY2UsIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYiwgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxhY2NvdW50RGlhbG9nPiwgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmFjdGlvbiA9IHRoaXMuZGF0YSA9PSBudWxsID8gJ2NyZWF0ZScgOiAnZWRpdCdcclxuXHJcbiAgICB0aGlzLmFjY291bnQgPSB0aGlzLmRhdGEgPz8gbmV3IEZpbkFjY291bnQoKTtcclxuICAgIHRoaXMuaXNMb2FkQ29tcGxldGUgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMubG9hZGVyU2VydmljZS5pc0xvYWRpbmcuc3Vic2NyaWJlKHggPT4gdGhpcy5pc1Byb2Nlc3NpbmcgPSB4ICk7XHJcblxyXG4gIH1cclxuXHJcbiAgYWN0aW9uO1xyXG4gIGFjY291bnQgOiBGaW5BY2NvdW50XHJcbiAgaXNMb2FkQ29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpc1Byb2Nlc3Npbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjdXJyZW5jaWVzID0gW1xyXG4gICAgeyBuYW1lOiAnVVNEJywgdmFsdWU6ICdVU0QnIH0sXHJcbiAgICB7IG5hbWU6ICdaQVInLCB2YWx1ZTogJ1pBUicgfSxcclxuICAgIHsgbmFtZTogJ1pXTCcsIHZhbHVlOiAnWldMJyB9LFxyXG4gIF1cclxuXHJcbiAgc3VibWl0KCkge1xyXG5cclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuQ2FsbEFwaSh7IHVybDogYGdlbmVyYWwvYWNjb3VudHM/YWN0aW9uPSR7dGhpcy5hY3Rpb259YCwgbWV0aG9kOiAncG9zdCcgfSwgdGhpcy5hY2NvdW50KS5zdWJzY3JpYmUoKHggOiBBcGlSZXNwb25zZSkgPT4ge1xyXG5cclxuICAgICAgaWYgKHguc3VjY2Vzcyl7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoJ3N1Y2Nlc3MnKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KHgubWVzc2FnZSlcclxuICAgICAgfVxyXG5cclxuICAgIH0pXHJcbiAgfVxyXG59O1xyXG5cclxuXHJcblxyXG4iLCJcclxuPGgyIG1hdC1kaWFsb2ctdGl0bGU+e3thY3Rpb24gfCB0aXRsZWNhc2V9fTwvaDI+XHJcbjxtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxyXG5cclxuPGRpdiBjbGFzcz1cInRpbi1jb2xcIiBzdHlsZT1cImZvbnQtc2l6ZToxNHB4XCI+XHJcblxyXG4gIDxzcGEtdGV4dCBkaXNwbGF5PVwiTmFtZVwiIFsodmFsdWUpXT1cImFjY291bnQubmFtZVwiID48L3NwYS10ZXh0PlxyXG4gIDxzcGEtdGV4dCBkaXNwbGF5PVwiRGVzY3JpcHRpb25cIiBbKHZhbHVlKV09XCJhY2NvdW50LmRlc2NyaXB0aW9uXCIgPjwvc3BhLXRleHQ+XHJcbiAgPHNwYS1zZWxlY3QgZGlzcGxheT1cIkN1cnJlbmN5XCIgWyh2YWx1ZSldPVwiYWNjb3VudC5jdXJyZW5jeVwiIFtvcHRpb25zXT1cImN1cnJlbmNpZXNcIiBvcHRpb25EaXNwbGF5PVwibmFtZVwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3NwYS1zZWxlY3Q+XHJcblxyXG48L2Rpdj5cclxuXHJcbjwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG5cclxuPG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImlzUHJvY2Vzc2luZ1wiIChjbGljayk9XCJzdWJtaXQoKVwiIGNka0ZvY3VzSW5pdGlhbD5TdWJtaXQ8L2J1dHRvbj5cclxuPGJ1dHRvbiBtYXQtYnV0dG9uIGNka0ZvY3VzSW5pdGlhbCBtYXQtZGlhbG9nLWNsb3NlPkNhbmNlbDwvYnV0dG9uPlxyXG48L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuXHJcblxyXG5cclxuIl19
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { accountDialog } from './accountDialog.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/router";
|
|
6
|
-
import * as i2 from "../../services/datalib.service";
|
|
7
|
-
import * as i3 from "../../services/message.service";
|
|
8
|
-
import * as i4 from "../../services/auth.service";
|
|
9
|
-
import * as i5 from "@angular/material/dialog";
|
|
10
|
-
import * as i6 from "@angular/common";
|
|
11
|
-
import * as i7 from "@angular/material/button";
|
|
12
|
-
import * as i8 from "@angular/material/icon";
|
|
13
|
-
import * as i9 from "@angular/material/card";
|
|
14
|
-
import * as i10 from "../filter/filter.component";
|
|
15
|
-
export class AccountsComponent {
|
|
16
|
-
constructor(router, dataService, messageService, authService, dialog) {
|
|
17
|
-
this.router = router;
|
|
18
|
-
this.dataService = dataService;
|
|
19
|
-
this.messageService = messageService;
|
|
20
|
-
this.authService = authService;
|
|
21
|
-
this.dialog = dialog;
|
|
22
|
-
this.reload = new Subject();
|
|
23
|
-
}
|
|
24
|
-
ngOnInit() {
|
|
25
|
-
this.loadData();
|
|
26
|
-
}
|
|
27
|
-
loadData() {
|
|
28
|
-
this.dataService.CallApi({ url: 'general/accounts/x' }, '').subscribe((apiResponse) => {
|
|
29
|
-
this.accounts = apiResponse.data;
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
view(x) {
|
|
33
|
-
this.dataService.NavigateWithValue("home/admin/transactions", x.accountID);
|
|
34
|
-
}
|
|
35
|
-
open(x) {
|
|
36
|
-
const dialogRef = this.dialog.open(accountDialog, {
|
|
37
|
-
width: "900px",
|
|
38
|
-
data: x,
|
|
39
|
-
});
|
|
40
|
-
dialogRef.afterClosed().subscribe((result) => {
|
|
41
|
-
if (result == 'success') {
|
|
42
|
-
this.loadData();
|
|
43
|
-
this.messageService.toast("Updated");
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
delete(row) {
|
|
48
|
-
this.messageService.confirm(`DELETE ${row.name} ?`).subscribe((result) => {
|
|
49
|
-
if (result == "yes") {
|
|
50
|
-
this.dataService.CallApi({ url: `general/accounts?action=delete`, method: 'post' }, row).subscribe((apiResponse) => {
|
|
51
|
-
if (apiResponse.message == "success") {
|
|
52
|
-
this.messageService.toast("Account Deleted");
|
|
53
|
-
this.loadData();
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
this.messageService.toast(apiResponse.message);
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
;
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
AccountsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AccountsComponent, deps: [{ token: i1.Router }, { token: i2.DataServiceLib }, { token: i3.MessageService }, { token: i4.AuthService }, { token: i5.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
65
|
-
AccountsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: AccountsComponent, selector: "spa-accounts", ngImport: i0, template: "<h4>Accounts</h4>\r\n<hr>\r\n\r\n<div class=\"tin-row d-flex justify-content-between\" style=\"font-size: 14px;margin-left: 5px;\">\r\n <button mat-raised-button color=\"primary\" (click)=\"open(null)\">Create</button>\r\n <spa-filter [showText]=\"false\" (refreshClick)=\"loadData()\"></spa-filter>\r\n</div>\r\n\r\n<div class=\"row \" style=\"margin-left: 0px;\">\r\n\r\n <mat-card class=\"mat-elevation-z8\" *ngFor=\"let account of accounts\" style=\"max-width: 350px;margin: 5px;\">\r\n\r\n <div class=\"tin-row d-flex justify-content-between\">\r\n <label style=\"font-size: 24px; font-weight: 300;\">{{account.name}}</label>\r\n <button mat-mini-fab color=\"primary\" (click)=\"open(account)\"><mat-icon>edit</mat-icon></button>\r\n </div>\r\n\r\n <hr style=\"margin-top: 5px;margin-bottom: 10px;\"/>\r\n\r\n <label *ngIf=\"account.description != ''\" style=\"font-size: small;margin-bottom: 5px;\">{{account.description}}</label>\r\n\r\n <div *ngIf=\"account\" class=\"tin-row\">\r\n <label style=\"margin-right: 5px;font-size: 14px;\">{{account?.currency}}</label>\r\n <label style=\"font-size: 34px;margin-right: 20px;\">{{account?.balance | currency : '' : ''}}</label>\r\n </div>\r\n\r\n <mat-card-actions class=\"d-flex justify-content-between\" >\r\n <button mat-stroked-button color=\"primary\" style=\"margin-right:10px;\" (click)=\"view(account)\">View</button>\r\n <button mat-mini-fab *ngIf=\"account.count == 0\" color=\"warn\" style=\"margin-right:10px\" (click)=\"delete(account)\"><mat-icon>delete</mat-icon></button>\r\n </mat-card-actions>\r\n\r\n </mat-card>\r\n\r\n</div>\r\n\r\n\r\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.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: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i9.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "component", type: i10.FilterComponent, selector: "spa-filter", inputs: ["flatButtons", "showText", "showButton", "data"], outputs: ["refreshClick"] }, { kind: "pipe", type: i6.CurrencyPipe, name: "currency" }] });
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AccountsComponent, decorators: [{
|
|
67
|
-
type: Component,
|
|
68
|
-
args: [{ selector: 'spa-accounts', template: "<h4>Accounts</h4>\r\n<hr>\r\n\r\n<div class=\"tin-row d-flex justify-content-between\" style=\"font-size: 14px;margin-left: 5px;\">\r\n <button mat-raised-button color=\"primary\" (click)=\"open(null)\">Create</button>\r\n <spa-filter [showText]=\"false\" (refreshClick)=\"loadData()\"></spa-filter>\r\n</div>\r\n\r\n<div class=\"row \" style=\"margin-left: 0px;\">\r\n\r\n <mat-card class=\"mat-elevation-z8\" *ngFor=\"let account of accounts\" style=\"max-width: 350px;margin: 5px;\">\r\n\r\n <div class=\"tin-row d-flex justify-content-between\">\r\n <label style=\"font-size: 24px; font-weight: 300;\">{{account.name}}</label>\r\n <button mat-mini-fab color=\"primary\" (click)=\"open(account)\"><mat-icon>edit</mat-icon></button>\r\n </div>\r\n\r\n <hr style=\"margin-top: 5px;margin-bottom: 10px;\"/>\r\n\r\n <label *ngIf=\"account.description != ''\" style=\"font-size: small;margin-bottom: 5px;\">{{account.description}}</label>\r\n\r\n <div *ngIf=\"account\" class=\"tin-row\">\r\n <label style=\"margin-right: 5px;font-size: 14px;\">{{account?.currency}}</label>\r\n <label style=\"font-size: 34px;margin-right: 20px;\">{{account?.balance | currency : '' : ''}}</label>\r\n </div>\r\n\r\n <mat-card-actions class=\"d-flex justify-content-between\" >\r\n <button mat-stroked-button color=\"primary\" style=\"margin-right:10px;\" (click)=\"view(account)\">View</button>\r\n <button mat-mini-fab *ngIf=\"account.count == 0\" color=\"warn\" style=\"margin-right:10px\" (click)=\"delete(account)\"><mat-icon>delete</mat-icon></button>\r\n </mat-card-actions>\r\n\r\n </mat-card>\r\n\r\n</div>\r\n\r\n\r\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"] }]
|
|
69
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.DataServiceLib }, { type: i3.MessageService }, { type: i4.AuthService }, { type: i5.MatDialog }]; } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvYWNjb3VudHMvYWNjb3VudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvYWNjb3VudHMvYWNjb3VudHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQU9sRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBTzFELE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsWUFBbUIsTUFBYyxFQUFTLFdBQTJCLEVBQVUsY0FBOEIsRUFBUyxXQUF3QixFQUFTLE1BQWlCO1FBQXJKLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBUyxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBUyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVc7UUFNeEssV0FBTSxHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBTm1JLENBQUM7SUFFN0ssUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBS0QsUUFBUTtRQUVOLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFLEVBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBeUIsRUFBRSxFQUFFO1lBQ2pHLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQTtJQUVKLENBQUM7SUFJRCxJQUFJLENBQUMsQ0FBQztRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzVFLENBQUM7SUFFRCxJQUFJLENBQUMsQ0FBQztRQUVKLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoRCxLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBRSxDQUFDO1NBQ1IsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBRTNDLElBQUksTUFBTSxJQUFJLFNBQVMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO2dCQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFBO2FBQ3JDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsTUFBTSxDQUFDLEdBQUc7UUFDUixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBRXZFLElBQUksTUFBTSxJQUFJLEtBQUssRUFBRTtnQkFHbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRTtvQkFFOUgsSUFBSSxXQUFXLENBQUMsT0FBTyxJQUFJLFNBQVMsRUFBRTt3QkFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQzt3QkFDN0MsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO3FCQUNqQjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7cUJBQ2hEO2dCQUVILENBQUMsQ0FBQyxDQUFBO2FBR0g7WUFBQSxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs4R0E5RFUsaUJBQWlCO2tHQUFqQixpQkFBaUIsb0RDaEI5Qixxb0RBb0NBOzJGRHBCYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUNvbmZpZywgVGFibGVDb25maWcsIEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbi8vIGltcG9ydCB7IHF1YW50aXR5RGlhbG9nIH0gZnJvbSAnLi9xdWFudGl0eURpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGFjY291bnREaWFsb2cgfSBmcm9tICcuL2FjY291bnREaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLWFjY291bnRzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3VudHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FjY291bnRzLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWNjb3VudHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcm91dGVyOiBSb3V0ZXIscHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2VMaWIsIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2cpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZERhdGEoKTtcclxuICB9XHJcblxyXG4gIHJlbG9hZDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgYWNjb3VudHM7XHJcblxyXG4gIGxvYWREYXRhKCl7XHJcblxyXG4gICAgdGhpcy5kYXRhU2VydmljZS5DYWxsQXBpKHsgdXJsOiAnZ2VuZXJhbC9hY2NvdW50cy94JyB9LCcnKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlIDogQXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgdGhpcy5hY2NvdW50cyA9IGFwaVJlc3BvbnNlLmRhdGE7XHJcbiAgICB9KVxyXG5cclxuICB9XHJcblxyXG5cclxuXHJcbiAgdmlldyh4KXtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuTmF2aWdhdGVXaXRoVmFsdWUoXCJob21lL2FkbWluL3RyYW5zYWN0aW9uc1wiLCB4LmFjY291bnRJRClcclxuICB9XHJcblxyXG4gIG9wZW4oeCkge1xyXG5cclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oYWNjb3VudERpYWxvZywge1xyXG4gICAgICB3aWR0aDogXCI5MDBweFwiLFxyXG4gICAgICBkYXRhOiB4LFxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuXHJcbiAgICAgIGlmIChyZXN1bHQgPT0gJ3N1Y2Nlc3MnKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkRGF0YSgpXHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIlVwZGF0ZWRcIilcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZGVsZXRlKHJvdyl7XHJcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNvbmZpcm0oYERFTEVURSAke3Jvdy5uYW1lfSA/YCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuXHJcbiAgICAgIGlmIChyZXN1bHQgPT0gXCJ5ZXNcIikge1xyXG5cclxuXHJcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5DYWxsQXBpKHsgdXJsOiBgZ2VuZXJhbC9hY2NvdW50cz9hY3Rpb249ZGVsZXRlYCwgbWV0aG9kOiAncG9zdCcgfSwgcm93KS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG5cclxuICAgICAgICAgIGlmIChhcGlSZXNwb25zZS5tZXNzYWdlID09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJBY2NvdW50IERlbGV0ZWRcIik7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZERhdGEoKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0pXHJcblxyXG5cclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG5cclxufVxyXG4iLCI8aDQ+QWNjb3VudHM8L2g0PlxyXG48aHI+XHJcblxyXG48ZGl2IGNsYXNzPVwidGluLXJvdyBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDttYXJnaW4tbGVmdDogNXB4O1wiPlxyXG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9wZW4obnVsbClcIj5DcmVhdGU8L2J1dHRvbj5cclxuICA8c3BhLWZpbHRlciBbc2hvd1RleHRdPVwiZmFsc2VcIiAocmVmcmVzaENsaWNrKT1cImxvYWREYXRhKClcIj48L3NwYS1maWx0ZXI+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cInJvdyBcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAwcHg7XCI+XHJcblxyXG4gIDxtYXQtY2FyZCBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejhcIiAqbmdGb3I9XCJsZXQgYWNjb3VudCBvZiBhY2NvdW50c1wiIHN0eWxlPVwibWF4LXdpZHRoOiAzNTBweDttYXJnaW46IDVweDtcIj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwidGluLXJvdyBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgPGxhYmVsIHN0eWxlPVwiZm9udC1zaXplOiAyNHB4OyBmb250LXdlaWdodDogMzAwO1wiPnt7YWNjb3VudC5uYW1lfX08L2xhYmVsPlxyXG4gICAgICA8YnV0dG9uIG1hdC1taW5pLWZhYiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwib3BlbihhY2NvdW50KVwiPjxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxociBzdHlsZT1cIm1hcmdpbi10b3A6IDVweDttYXJnaW4tYm90dG9tOiAxMHB4O1wiLz5cclxuXHJcbiAgICA8bGFiZWwgKm5nSWY9XCJhY2NvdW50LmRlc2NyaXB0aW9uICE9ICcnXCIgc3R5bGU9XCJmb250LXNpemU6IHNtYWxsO21hcmdpbi1ib3R0b206IDVweDtcIj57e2FjY291bnQuZGVzY3JpcHRpb259fTwvbGFiZWw+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cImFjY291bnRcIiBjbGFzcz1cInRpbi1yb3dcIj5cclxuICAgICAgPGxhYmVsIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiA1cHg7Zm9udC1zaXplOiAxNHB4O1wiPnt7YWNjb3VudD8uY3VycmVuY3l9fTwvbGFiZWw+XHJcbiAgICAgIDxsYWJlbCBzdHlsZT1cImZvbnQtc2l6ZTogMzRweDttYXJnaW4tcmlnaHQ6IDIwcHg7XCI+e3thY2NvdW50Py5iYWxhbmNlIHwgY3VycmVuY3kgOiAnJyA6ICcnfX08L2xhYmVsPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG1hdC1jYXJkLWFjdGlvbnMgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIiA+XHJcbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjEwcHg7XCIgKGNsaWNrKT1cInZpZXcoYWNjb3VudClcIj5WaWV3PC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LW1pbmktZmFiICpuZ0lmPVwiYWNjb3VudC5jb3VudCA9PSAwXCIgY29sb3I9XCJ3YXJuXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MTBweFwiIChjbGljayk9XCJkZWxldGUoYWNjb3VudClcIj48bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cclxuXHJcbiAgPC9tYXQtY2FyZD5cclxuXHJcbjwvZGl2PlxyXG5cclxuXHJcbiJdfQ==
|