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,86 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { ListDialogComponent } from '../list-dialog/list-dialog.component';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../services/datalib.service";
|
|
6
|
-
import * as i2 from "../../services/message.service";
|
|
7
|
-
import * as i3 from "../../services/auth.service";
|
|
8
|
-
import * as i4 from "@angular/material/dialog";
|
|
9
|
-
import * as i5 from "@angular/material/button";
|
|
10
|
-
import * as i6 from "@angular/material/icon";
|
|
11
|
-
import * as i7 from "@angular/material/tooltip";
|
|
12
|
-
import * as i8 from "../table/table.component";
|
|
13
|
-
export class TasksComponent {
|
|
14
|
-
constructor(dataService, messageService, authService, dialog) {
|
|
15
|
-
this.dataService = dataService;
|
|
16
|
-
this.messageService = messageService;
|
|
17
|
-
this.authService = authService;
|
|
18
|
-
this.dialog = dialog;
|
|
19
|
-
this.reload = new Subject();
|
|
20
|
-
this.statuses = [
|
|
21
|
-
{ name: 'Not Started', value: 0 },
|
|
22
|
-
{ name: 'In-Progress', value: 1 },
|
|
23
|
-
{ name: 'Completed', value: 2 },
|
|
24
|
-
];
|
|
25
|
-
this.formConfig = {
|
|
26
|
-
fields: [
|
|
27
|
-
{ name: 'name', type: 'text', span: true, required: true },
|
|
28
|
-
{ name: 'status', type: 'select', options: this.statuses, defaultFirstValue: true, required: true },
|
|
29
|
-
{ name: 'dueDate', type: 'date' },
|
|
30
|
-
{ name: 'assignee', type: 'select', optionDisplay: 'name', optionValue: 'userName' },
|
|
31
|
-
{ name: 'categoryID', alias: 'Category', type: 'select', optionDisplay: 'name', optionValue: 'listItemID', defaultFirstValue: true, required: true },
|
|
32
|
-
],
|
|
33
|
-
reset: true,
|
|
34
|
-
};
|
|
35
|
-
this.config = {
|
|
36
|
-
showFilter: true,
|
|
37
|
-
minColumns: ['name', 'assigneeName'],
|
|
38
|
-
flatButtons: true,
|
|
39
|
-
columns: [
|
|
40
|
-
{ name: 'name', type: 'text' },
|
|
41
|
-
{ name: 'statusName', type: 'text' },
|
|
42
|
-
{ name: 'dueDate', type: 'date' },
|
|
43
|
-
{ name: 'assigneeName', alias: 'assignee', type: 'text' },
|
|
44
|
-
{ name: 'categoryName', alias: 'Category', type: 'text' },
|
|
45
|
-
{ name: 'createdDate', alias: 'Created', type: 'date' },
|
|
46
|
-
],
|
|
47
|
-
buttons: [
|
|
48
|
-
{ name: 'create', display: 'Create', dialog: true, action: { url: 'general/tasks?action=create', method: 'post' } },
|
|
49
|
-
{ name: 'view', dialog: true },
|
|
50
|
-
{ name: 'edit', dialog: true, action: { url: 'general/tasks?action=edit', method: 'post' } },
|
|
51
|
-
{ name: 'delete', dialog: true, action: { url: 'general/tasks?action=delete', method: 'post' } },
|
|
52
|
-
],
|
|
53
|
-
loadAction: { url: 'general/tasks/x' },
|
|
54
|
-
formConfig: this.formConfig
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
ngOnInit() {
|
|
58
|
-
this.loadData();
|
|
59
|
-
}
|
|
60
|
-
loadData() {
|
|
61
|
-
this.dataService.CallApi({ url: 'general/tasks_meta/x' }).subscribe((api) => {
|
|
62
|
-
this.formConfig.fields.find(x => x.name == 'assignee').options = api.data.members;
|
|
63
|
-
this.formConfig.fields.find(x => x.name == 'assignee').defaultValue = this.authService.currentUser;
|
|
64
|
-
this.formConfig.fields.find(x => x.name == 'categoryID').options = api.data.categories;
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
cats() {
|
|
68
|
-
let conf = { title: "Task Categories", name: 'Category', listName: 'TaskCategories' };
|
|
69
|
-
const dialogRef = this.dialog.open(ListDialogComponent, {
|
|
70
|
-
width: "900px",
|
|
71
|
-
data: conf,
|
|
72
|
-
});
|
|
73
|
-
dialogRef.afterClosed().subscribe((result) => {
|
|
74
|
-
if (result == 'success') {
|
|
75
|
-
this.reload.next(true);
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
TasksComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TasksComponent, deps: [{ token: i1.DataServiceLib }, { token: i2.MessageService }, { token: i3.AuthService }, { token: i4.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
-
TasksComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TasksComponent, selector: "spa-tasks", ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between mt-0\" style=\"margin-left: 10px\">\n\n <label style=\"font-size: 16px;\">Tasks</label>\n\n <div>\n <button mat-mini-fab color=\"primary\" style=\"margin-right:1em;\" (click)=\"cats()\" matTooltip=\"Categories\" matTooltipPosition=\"above\"><mat-icon>category</mat-icon></button>\n </div>\n\n</div>\n<hr>\n\n<div class=\"mt-3\" style=\" font-size: 14px;\">\n <spa-table [config]=\"config\" [reload]=\"reload\"></spa-table>\n</div>\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: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i8.TableComponent, selector: "spa-table", inputs: ["hideTitle", "data", "config", "reload"], outputs: ["dataLoad", "refreshClick", "searchClick", "createClick", "actionClick", "inputChange"] }] });
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TasksComponent, decorators: [{
|
|
83
|
-
type: Component,
|
|
84
|
-
args: [{ selector: 'spa-tasks', template: "<div class=\"d-flex align-items-center justify-content-between mt-0\" style=\"margin-left: 10px\">\n\n <label style=\"font-size: 16px;\">Tasks</label>\n\n <div>\n <button mat-mini-fab color=\"primary\" style=\"margin-right:1em;\" (click)=\"cats()\" matTooltip=\"Categories\" matTooltipPosition=\"above\"><mat-icon>category</mat-icon></button>\n </div>\n\n</div>\n<hr>\n\n<div class=\"mt-3\" style=\" font-size: 14px;\">\n <spa-table [config]=\"config\" [reload]=\"reload\"></spa-table>\n</div>\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"] }]
|
|
85
|
-
}], ctorParameters: function () { return [{ type: i1.DataServiceLib }, { type: i2.MessageService }, { type: i3.AuthService }, { type: i4.MatDialog }]; } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdGFza3MvdGFza3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdGFza3MvdGFza3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUtsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUzRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7O0FBTy9CLE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQW9CLFdBQTJCLEVBQVUsY0FBOEIsRUFBUyxXQUF3QixFQUFTLE1BQWlCO1FBQTlILGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQWlDbEosV0FBTSxHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXpDLGFBQVEsR0FBRztZQUNULEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQ2pDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQ2pDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1NBQ2hDLENBQUE7UUFFRCxlQUFVLEdBQWU7WUFFdkIsTUFBTSxFQUFFO2dCQUNOLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRyxJQUFJLEVBQUUsUUFBUSxFQUFHLElB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SUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUM7WUFDbkcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxZQUFZLENBQUMsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDekYsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsSUFBSTtRQUVGLElBQUksSUFBSSxHQUFxQixFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxDQUFBO1FBRXZHLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQ3RELEtBQUssRUFBRSxPQUFPO1lBQ2QsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFFM0MsSUFBSSxNQUFNLElBQUksU0FBUyxFQUFFO2dCQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBRUwsQ0FBQzs7MkdBaENVLGNBQWM7K0ZBQWQsY0FBYyxpRENkM0Isd2ZBY0E7MkZEQWEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhbGliLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtQ29uZmlnLCBMaXN0RGlhbG9nQ29uZmlnLCBUYWJsZUNvbmZpZywgQXBpUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9jbGFzc2VzL0NsYXNzZXMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGlzdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2xpc3QtZGlhbG9nL2xpc3QtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLXRhc2tzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFza3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Rhc2tzLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFza3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYiwgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIHB1YmxpYyBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZykgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgbG9hZERhdGEoKXtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuQ2FsbEFwaSh7IHVybDonZ2VuZXJhbC90YXNrc19tZXRhL3gnfSkuc3Vic2NyaWJlKChhcGkgOiBBcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLmZvcm1Db25maWcuZmllbGRzLmZpbmQoeCA9PiB4Lm5hbWUgPT0gJ2Fzc2lnbmVlJykub3B0aW9ucyA9IGFwaS5kYXRhLm1lbWJlcnM7XHJcbiAgICAgIHRoaXMuZm9ybUNvbmZpZy5maWVsZHMuZmluZCh4ID0+IHgubmFtZSA9PSAnYXNzaWduZWUnKS5kZWZhdWx0VmFsdWUgPSB0aGlzLmF1dGhTZXJ2aWNlLmN1cnJlbnRVc2VyO1xyXG4gICAgICB0aGlzLmZvcm1Db25maWcuZmllbGRzLmZpbmQoeCA9PiB4Lm5hbWUgPT0gJ2NhdGVnb3J5SUQnKS5vcHRpb25zID0gYXBpLmRhdGEuY2F0ZWdvcmllcztcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBjYXRzKCkge1xyXG5cclxuICAgIGxldCBjb25mOiBMaXN0RGlhbG9nQ29uZmlnID0geyB0aXRsZTogXCJUYXNrIENhdGVnb3JpZXNcIiwgbmFtZTogJ0NhdGVnb3J5JywgbGlzdE5hbWU6ICdUYXNrQ2F0ZWdvcmllcycgfVxyXG5cclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oTGlzdERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogXCI5MDBweFwiLFxyXG4gICAgICBkYXRhOiBjb25mLFxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuXHJcbiAgICAgIGlmIChyZXN1bHQgPT0gJ3N1Y2Nlc3MnKSB7XHJcbiAgICAgICAgdGhpcy5yZWxvYWQubmV4dCh0cnVlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIHJlbG9hZDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHN0YXR1c2VzID0gW1xyXG4gICAgeyBuYW1lOiAnTm90IFN0YXJ0ZWQnLCB2YWx1ZTogMCB9LFxyXG4gICAgeyBuYW1lOiAnSW4tUHJvZ3Jlc3MnLCB2YWx1ZTogMSB9LFxyXG4gICAgeyBuYW1lOiAnQ29tcGxldGVkJywgdmFsdWU6IDIgfSxcclxuICBdXHJcblxyXG4gIGZvcm1Db25maWc6IEZvcm1Db25maWcgPSB7XHJcblxyXG4gICAgZmllbGRzOiBbXHJcbiAgICAgIHsgbmFtZTogJ25hbWUnLCB0eXBlOiAndGV4dCcsIHNwYW4gOiB0cnVlLCByZXF1aXJlZCA6IHRydWUgfSxcclxuICAgICAgeyBuYW1lOiAnc3RhdHVzJywgdHlwZTogJ3NlbGVjdCcsIG9wdGlvbnMgOiB0aGlzLnN0YXR1c2VzLCBkZWZhdWx0Rmlyc3RWYWx1ZSA6IHRydWUsIHJlcXVpcmVkIDogdHJ1ZSB9LFxyXG4gICAgICB7IG5hbWU6ICdkdWVEYXRlJywgdHlwZTogJ2RhdGUnIH0sXHJcbiAgICAgIHsgbmFtZTogJ2Fzc2lnbmVlJywgdHlwZTogJ3NlbGVjdCcsIG9wdGlvbkRpc3BsYXkgOiAnbmFtZScsIG9wdGlvblZhbHVlIDogJ3VzZXJOYW1lJyB9LFxyXG4gICAgICB7IG5hbWU6ICdjYXRlZ29yeUlEJywgYWxpYXM6ICdDYXRlZ29yeScsIHR5cGU6ICdzZWxlY3QnLCBvcHRpb25EaXNwbGF5OiAnbmFtZScsIG9wdGlvblZhbHVlOiAnbGlzdEl0ZW1JRCcsIGRlZmF1bHRGaXJzdFZhbHVlOiB0cnVlLCByZXF1aXJlZDogdHJ1ZSB9LFxyXG4gICAgXSxcclxuXHJcbiAgICByZXNldDogdHJ1ZSxcclxuICB9XHJcblxyXG4gIGNvbmZpZzogVGFibGVDb25maWcgPSB7XHJcbiAgICBzaG93RmlsdGVyOiB0cnVlLFxyXG4gICAgbWluQ29sdW1uczogWyduYW1lJywgJ2Fzc2lnbmVlTmFtZSddLFxyXG4gICAgZmxhdEJ1dHRvbnM6IHRydWUsXHJcblxyXG4gICAgY29sdW1uczogW1xyXG5cclxuICAgICAgeyBuYW1lOiAnbmFtZScsIHR5cGU6ICd0ZXh0J30sXHJcbiAgICAgIHsgbmFtZTogJ3N0YXR1c05hbWUnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgeyBuYW1lOiAnZHVlRGF0ZScsIHR5cGU6ICdkYXRlJyB9LFxyXG4gICAgICB7IG5hbWU6ICdhc3NpZ25lZU5hbWUnLCBhbGlhczonYXNzaWduZWUnLCB0eXBlOiAndGV4dCd9LFxyXG4gICAgICB7IG5hbWU6ICdjYXRlZ29yeU5hbWUnLCBhbGlhczogJ0NhdGVnb3J5JywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgIHsgbmFtZTogJ2NyZWF0ZWREYXRlJywgYWxpYXMgOiAnQ3JlYXRlZCcsIHR5cGU6ICdkYXRlJyB9LFxyXG4gICAgXSxcclxuXHJcbiAgICBidXR0b25zOiBbXHJcbiAgICAgIHsgbmFtZTogJ2NyZWF0ZScsIGRpc3BsYXk6ICdDcmVhdGUnLCBkaWFsb2c6IHRydWUsIGFjdGlvbjogeyB1cmw6ICdnZW5lcmFsL3Rhc2tzP2FjdGlvbj1jcmVhdGUnLCBtZXRob2Q6ICdwb3N0JyB9IH0sXHJcbiAgICAgIHsgbmFtZTogJ3ZpZXcnLCBkaWFsb2c6IHRydWUgfSxcclxuICAgICAgeyBuYW1lOiAnZWRpdCcsIGRpYWxvZzogdHJ1ZSwgYWN0aW9uOiB7IHVybDogJ2dlbmVyYWwvdGFza3M/YWN0aW9uPWVkaXQnLCBtZXRob2Q6ICdwb3N0JyB9IH0sXHJcbiAgICAgIHsgbmFtZTogJ2RlbGV0ZScsIGRpYWxvZzogdHJ1ZSwgYWN0aW9uOiB7IHVybDogJ2dlbmVyYWwvdGFza3M/YWN0aW9uPWRlbGV0ZScsIG1ldGhvZDogJ3Bvc3QnIH0gfSxcclxuICAgIF0sXHJcblxyXG4gICAgbG9hZEFjdGlvbjogeyB1cmw6ICdnZW5lcmFsL3Rhc2tzL3gnIH0sXHJcblxyXG4gICAgZm9ybUNvbmZpZzogdGhpcy5mb3JtQ29uZmlnXHJcblxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtdC0wXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTBweFwiPlxuXG4gIDxsYWJlbCBzdHlsZT1cImZvbnQtc2l6ZTogMTZweDtcIj5UYXNrczwvbGFiZWw+XG5cbiAgPGRpdj5cbiAgICA8YnV0dG9uIG1hdC1taW5pLWZhYiBjb2xvcj1cInByaW1hcnlcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDoxZW07XCIgKGNsaWNrKT1cImNhdHMoKVwiIG1hdFRvb2x0aXA9XCJDYXRlZ29yaWVzXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIj48bWF0LWljb24+Y2F0ZWdvcnk8L21hdC1pY29uPjwvYnV0dG9uPlxuICA8L2Rpdj5cblxuPC9kaXY+XG48aHI+XG5cbjxkaXYgY2xhc3M9XCJtdC0zXCIgc3R5bGU9XCIgZm9udC1zaXplOiAxNHB4O1wiPlxuICA8c3BhLXRhYmxlIFtjb25maWddPVwiY29uZmlnXCIgW3JlbG9hZF09XCJyZWxvYWRcIj48L3NwYS10YWJsZT5cbjwvZGl2PlxuIl19
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { Component, Inject } from "@angular/core";
|
|
2
|
-
import { MAT_DIALOG_DATA } from "@angular/material/dialog";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../services/loader.service";
|
|
5
|
-
import * as i2 from "../../services/message.service";
|
|
6
|
-
import * as i3 from "../../services/datalib.service";
|
|
7
|
-
import * as i4 from "@angular/material/dialog";
|
|
8
|
-
import * as i5 from "@angular/material/button";
|
|
9
|
-
import * as i6 from "../text/text.component";
|
|
10
|
-
import * as i7 from "../select/select.component";
|
|
11
|
-
export class inviteDialog {
|
|
12
|
-
constructor(loaderService, messageService, dataService, dialogRef, data) {
|
|
13
|
-
this.loaderService = loaderService;
|
|
14
|
-
this.messageService = messageService;
|
|
15
|
-
this.dataService = dataService;
|
|
16
|
-
this.dialogRef = dialogRef;
|
|
17
|
-
this.data = data;
|
|
18
|
-
this.isProcessing = false;
|
|
19
|
-
this.invited = false;
|
|
20
|
-
this.email = '';
|
|
21
|
-
this.roleID = 0;
|
|
22
|
-
this.link = "";
|
|
23
|
-
this.roles = [
|
|
24
|
-
{ roleName: 'Default', roleID: 1 },
|
|
25
|
-
];
|
|
26
|
-
}
|
|
27
|
-
ngOnInit() {
|
|
28
|
-
this.loaderService.isLoading.subscribe(x => this.isProcessing = x);
|
|
29
|
-
}
|
|
30
|
-
loadMeta() {
|
|
31
|
-
this.dataService.CallApi({ url: 'tenant/member_roles/x' }, "").subscribe((apiResponse) => {
|
|
32
|
-
this.roles = apiResponse.data;
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
submit() {
|
|
36
|
-
let invite = { email: this.email, roleID: this.roleID };
|
|
37
|
-
this.dataService.CallApi({ url: 'tenant/members?action=invite', method: 'post' }, invite).subscribe((apiResponse) => {
|
|
38
|
-
if (apiResponse.success) {
|
|
39
|
-
this.messageService.toast("Updated");
|
|
40
|
-
this.dialogRef.close("success");
|
|
41
|
-
// this.invited = true;
|
|
42
|
-
// let url = new URL(window.location.href);
|
|
43
|
-
// this.link = `${url.protocol}//${url.host}/login?code=` + apiResponse.message;
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
this.messageService.toast(apiResponse.message);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
inviteDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: inviteDialog, deps: [{ token: i1.LoaderService }, { token: i2.MessageService }, { token: i3.DataServiceLib }, { token: i4.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
-
inviteDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: inviteDialog, selector: "app-addModel", ngImport: i0, template: "\r\n<div >\r\n <label style=\"font-size: 28px;\">Invite</label>\r\n</div>\r\n\r\n<mat-dialog-content class=\"mat-typography\">\r\n\r\n<div class=\"mt-3\" style=\"font-size:14px\">\r\n\r\n <div>\r\n <spa-text display=\"Email\" [(value)]=\"email\" ></spa-text>\r\n <spa-select display=\"Role\" [(value)]=\"roleID\" [options]=\"roles\" optionDisplay=\"roleName\" optionValue=\"roleID\" [defaultFirstValue]=\"true\"></spa-select>\r\n </div>\r\n</div>\r\n\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <button [disabled]=\"isProcessing\" mat-stroked-button color=\"primary\" (click)=\"submit()\">Submit</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: [".title{margin-top:1em;font-size:28px;font-weight:300}.subtitle{font-size:smaller}\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.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"] }] });
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: inviteDialog, decorators: [{
|
|
54
|
-
type: Component,
|
|
55
|
-
args: [{ selector: "app-addModel", template: "\r\n<div >\r\n <label style=\"font-size: 28px;\">Invite</label>\r\n</div>\r\n\r\n<mat-dialog-content class=\"mat-typography\">\r\n\r\n<div class=\"mt-3\" style=\"font-size:14px\">\r\n\r\n <div>\r\n <spa-text display=\"Email\" [(value)]=\"email\" ></spa-text>\r\n <spa-select display=\"Role\" [(value)]=\"roleID\" [options]=\"roles\" optionDisplay=\"roleName\" optionValue=\"roleID\" [defaultFirstValue]=\"true\"></spa-select>\r\n </div>\r\n</div>\r\n\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <button [disabled]=\"isProcessing\" mat-stroked-button color=\"primary\" (click)=\"submit()\">Submit</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: [".title{margin-top:1em;font-size:28px;font-weight:300}.subtitle{font-size:smaller}\n"] }]
|
|
56
|
-
}], ctorParameters: function () { return [{ type: i1.LoaderService }, { type: i2.MessageService }, { type: i3.DataServiceLib }, { type: i4.MatDialogRef }, { type: undefined, decorators: [{
|
|
57
|
-
type: Inject,
|
|
58
|
-
args: [MAT_DIALOG_DATA]
|
|
59
|
-
}] }]; } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52aXRlRGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL3RlbmFudC1zZXR0aW5ncy9pbnZpdGVEaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdGVuYW50LXNldHRpbmdzL2ludml0ZURpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7QUFZekUsTUFBTSxPQUFPLFlBQVk7SUFFdkIsWUFBb0IsYUFBNEIsRUFBVSxjQUE4QixFQUFTLFdBQTJCLEVBQVUsU0FBcUMsRUFBa0MsSUFBSTtRQUE3TCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQTRCO1FBQWtDLFNBQUksR0FBSixJQUFJLENBQUE7UUFNak4saUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixVQUFLLEdBQUcsRUFBRSxDQUFBO1FBQ1YsV0FBTSxHQUFHLENBQUMsQ0FBQTtRQUNWLFNBQUksR0FBRyxFQUFFLENBQUM7UUFFVixVQUFLLEdBQUc7WUFDTixFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFHLENBQUMsRUFBQztTQUNsQyxDQUFBO0lBZG9OLENBQUM7SUFFdE4sUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQVlELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSx1QkFBdUIsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRTtZQUNwRyxJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUE7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTTtRQUVKLElBQUksTUFBTSxHQUFHLEVBQUMsS0FBSyxFQUFHLElBQUksQ0FBQyxLQUFLLEVBQUcsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUMsQ0FBQTtRQUV2RCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBd0IsRUFBRSxFQUFFO1lBQy9ILElBQUksV0FBVyxDQUFDLE9BQU8sRUFBQztnQkFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUVoQyx1QkFBdUI7Z0JBQ3ZCLDJDQUEyQztnQkFDM0MsZ0ZBQWdGO2FBRWpGO2lCQUFJO2dCQUNILElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQTthQUMvQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7eUdBekNVLFlBQVksdUlBRThKLGVBQWU7NkZBRnpMLFlBQVksb0RDZHpCLHV0QkF3QkE7MkZEVmEsWUFBWTtrQkFMeEIsU0FBUzsrQkFDRSxjQUFjOzswQkFNc0osTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvZGF0YWxpYi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IExvYWRlclNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvbG9hZGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQXBpUmVzcG9uc2UgfSBmcm9tIFwiLi4vLi4vY2xhc3Nlcy9DbGFzc2VzXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLWFkZE1vZGVsXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbnZpdGVEaWFsb2cuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vdGVuYW50LXNldHRpbmdzLmNvbXBvbmVudC5jc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBpbnZpdGVEaWFsb2cgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvYWRlclNlcnZpY2U6IExvYWRlclNlcnZpY2UgLHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBwdWJsaWMgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlTGliLCBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPGludml0ZURpYWxvZz4sIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5sb2FkZXJTZXJ2aWNlLmlzTG9hZGluZy5zdWJzY3JpYmUoeCA9PiB0aGlzLmlzUHJvY2Vzc2luZyA9IHgpO1xyXG4gIH1cclxuXHJcbiAgaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcbiAgaW52aXRlZCA9IGZhbHNlO1xyXG4gIGVtYWlsID0gJydcclxuICByb2xlSUQgPSAwXHJcbiAgbGluayA9IFwiXCI7XHJcblxyXG4gIHJvbGVzID0gW1xyXG4gICAge3JvbGVOYW1lIDonRGVmYXVsdCcsIHJvbGVJRCA6IDF9LFxyXG4gIF1cclxuXHJcbiAgbG9hZE1ldGEoKSB7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkNhbGxBcGkoeyB1cmw6ICd0ZW5hbnQvbWVtYmVyX3JvbGVzL3gnIH0sIFwiXCIpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMucm9sZXMgPSBhcGlSZXNwb25zZS5kYXRhXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdCgpe1xyXG5cclxuICAgIGxldCBpbnZpdGUgPSB7ZW1haWwgOiB0aGlzLmVtYWlsICwgcm9sZUlEOiB0aGlzLnJvbGVJRH1cclxuXHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkNhbGxBcGkoeyB1cmw6ICd0ZW5hbnQvbWVtYmVycz9hY3Rpb249aW52aXRlJywgbWV0aG9kOiAncG9zdCcgfSwgaW52aXRlKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcyl7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIlVwZGF0ZWRcIik7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoXCJzdWNjZXNzXCIpO1xyXG5cclxuICAgICAgICAvLyB0aGlzLmludml0ZWQgPSB0cnVlO1xyXG4gICAgICAgIC8vIGxldCB1cmwgPSBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcclxuICAgICAgICAvLyB0aGlzLmxpbmsgPSBgJHt1cmwucHJvdG9jb2x9Ly8ke3VybC5ob3N0fS9sb2dpbj9jb2RlPWAgKyBhcGlSZXNwb25zZS5tZXNzYWdlO1xyXG5cclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChhcGlSZXNwb25zZS5tZXNzYWdlKVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiXHJcbjxkaXYgPlxyXG4gIDxsYWJlbCBzdHlsZT1cImZvbnQtc2l6ZTogMjhweDtcIj5JbnZpdGU8L2xhYmVsPlxyXG48L2Rpdj5cclxuXHJcbjxtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxyXG5cclxuPGRpdiBjbGFzcz1cIm10LTNcIiBzdHlsZT1cImZvbnQtc2l6ZToxNHB4XCI+XHJcblxyXG4gIDxkaXY+XHJcbiAgICA8c3BhLXRleHQgZGlzcGxheT1cIkVtYWlsXCIgWyh2YWx1ZSldPVwiZW1haWxcIiA+PC9zcGEtdGV4dD5cclxuICAgIDxzcGEtc2VsZWN0IGRpc3BsYXk9XCJSb2xlXCIgWyh2YWx1ZSldPVwicm9sZUlEXCIgW29wdGlvbnNdPVwicm9sZXNcIiBvcHRpb25EaXNwbGF5PVwicm9sZU5hbWVcIiBvcHRpb25WYWx1ZT1cInJvbGVJRFwiIFtkZWZhdWx0Rmlyc3RWYWx1ZV09XCJ0cnVlXCI+PC9zcGEtc2VsZWN0PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG5cclxuPG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuICA8YnV0dG9uIFtkaXNhYmxlZF09XCJpc1Byb2Nlc3NpbmdcIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInN1Ym1pdCgpXCI+U3VibWl0PC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2U+Q2FuY2VsPC9idXR0b24+XHJcbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG5cclxuXHJcblxyXG4iXX0=
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { inviteDialog } from './inviteDialog.component';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../services/datalib.service";
|
|
6
|
-
import * as i2 from "../../services/message.service";
|
|
7
|
-
import * as i3 from "../../services/auth.service";
|
|
8
|
-
import * as i4 from "@angular/material/dialog";
|
|
9
|
-
import * as i5 from "@angular/common";
|
|
10
|
-
import * as i6 from "@angular/material/button";
|
|
11
|
-
import * as i7 from "../text/text.component";
|
|
12
|
-
import * as i8 from "../label/label.component";
|
|
13
|
-
import * as i9 from "../select/select.component";
|
|
14
|
-
import * as i10 from "../table/table.component";
|
|
15
|
-
import * as i11 from "../invitations-table/invitations-table.component";
|
|
16
|
-
export class TenantSettingsComponent {
|
|
17
|
-
constructor(dataService, messageService, authService, dialog) {
|
|
18
|
-
this.dataService = dataService;
|
|
19
|
-
this.messageService = messageService;
|
|
20
|
-
this.authService = authService;
|
|
21
|
-
this.dialog = dialog;
|
|
22
|
-
this.roles = [
|
|
23
|
-
{ name: 'Default', value: 1 },
|
|
24
|
-
// { name: 'Admin', value: 2 },
|
|
25
|
-
// { name: 'Owner', value: 3 },
|
|
26
|
-
];
|
|
27
|
-
this.membersFormConfig = {
|
|
28
|
-
fields: [
|
|
29
|
-
{ name: 'email', type: 'text', required: true, min: 2 },
|
|
30
|
-
{ name: 'roleID', type: 'select', required: true, options: this.roles, optionDisplay: 'name', optionValue: 'value', defaultValue: 1 },
|
|
31
|
-
],
|
|
32
|
-
};
|
|
33
|
-
this.tableReload = new Subject();
|
|
34
|
-
this.membersTableConfig = {
|
|
35
|
-
greyOut: (value) => value.accepted == false,
|
|
36
|
-
elevation: 'low',
|
|
37
|
-
logResponse: true,
|
|
38
|
-
minColumns: ['name'],
|
|
39
|
-
minButtons: ['delete'],
|
|
40
|
-
flatButtons: true,
|
|
41
|
-
columns: [
|
|
42
|
-
{ name: 'name', type: 'text' },
|
|
43
|
-
{ name: 'email', type: 'text' },
|
|
44
|
-
{ name: 'roleName', alias: 'Role', type: 'text' },
|
|
45
|
-
],
|
|
46
|
-
buttons: [
|
|
47
|
-
{ name: 'create', display: 'Invite', },
|
|
48
|
-
{ name: 'edit', dialog: true, action: { url: 'tenant/members?action=role', method: 'post' }, disabled: x => x.roleID != 1 },
|
|
49
|
-
{ name: 'delete', confirm: { message: 'Remove Member from this Organisation ?' }, action: { url: 'tenant/members?action=remove', method: 'post' }, disabled: x => x.roleID != 1 },
|
|
50
|
-
],
|
|
51
|
-
loadAction: { url: 'tenant/members/x' },
|
|
52
|
-
formConfig: this.membersFormConfig,
|
|
53
|
-
};
|
|
54
|
-
this.orgsReload = new Subject();
|
|
55
|
-
this.orgsTableConfig = {
|
|
56
|
-
greyOut: (value) => value.accepted == false,
|
|
57
|
-
elevation: 'low',
|
|
58
|
-
minColumns: ['name'],
|
|
59
|
-
flatButtons: true,
|
|
60
|
-
columns: [
|
|
61
|
-
{ name: 'name', type: 'text' },
|
|
62
|
-
{ name: 'createdByName', type: 'text', alias: 'Owner' },
|
|
63
|
-
],
|
|
64
|
-
buttons: [
|
|
65
|
-
{ name: 'delete', confirm: { message: 'Remove Member from this Organisation ?' }, action: { url: 'tenant/members?action=remove', method: 'post' }, disabled: x => x.own }, //action: { url: 'tenant/members?action=delete', method: 'post' }
|
|
66
|
-
],
|
|
67
|
-
loadAction: { url: 'tenant/my_tenants/x' },
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
ngOnInit() {
|
|
71
|
-
this.authService.myRoleObserv.subscribe(rol => this.myRole = rol);
|
|
72
|
-
this.loadData();
|
|
73
|
-
this.loadTenants();
|
|
74
|
-
}
|
|
75
|
-
loadData() {
|
|
76
|
-
this.dataService.CallApi({ url: 'tenant/meta/x' }, "").subscribe((apiResponse) => {
|
|
77
|
-
this.currTenant = apiResponse.data.tenant;
|
|
78
|
-
this.currentTenantID = apiResponse.data.currentTenantID;
|
|
79
|
-
this.plan = apiResponse.data.plan;
|
|
80
|
-
this.ownTenant = apiResponse.data.ownTenant;
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
loadTenants() {
|
|
84
|
-
this.dataService.CallApi({ url: 'tenant/meta_tenants/x' }, "").subscribe((apiResponse) => {
|
|
85
|
-
// this.tenant = apiResponse.data.tenant;
|
|
86
|
-
this.tenants = apiResponse.data.tenants;
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
renameTenant() {
|
|
90
|
-
this.messageService.confirm(`Rename ?`).subscribe((result) => {
|
|
91
|
-
if (result == "yes") {
|
|
92
|
-
this.dataService.CallApi({ url: 'tenant/tenants?action=rename', method: 'post' }, this.currTenant).subscribe((apiResponse) => {
|
|
93
|
-
if (apiResponse.success) {
|
|
94
|
-
this.authService.updateTenantName(this.currTenant.name);
|
|
95
|
-
this.messageService.toast("Renamed Successfully");
|
|
96
|
-
this.refreshOrgsLists();
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
refreshOrgsLists() {
|
|
103
|
-
this.loadTenants();
|
|
104
|
-
this.orgsReload.next(true);
|
|
105
|
-
}
|
|
106
|
-
switchTenant() {
|
|
107
|
-
this.messageService.confirm(`Switch ?`).subscribe((result) => {
|
|
108
|
-
if (result == "yes") {
|
|
109
|
-
this.currTenant.tenantID = this.currentTenantID;
|
|
110
|
-
this.dataService.CallApi({ url: 'tenant/tenants?action=switch', method: 'post' }, this.currTenant).subscribe((apiResponse) => {
|
|
111
|
-
if (apiResponse.success) {
|
|
112
|
-
this.messageService.toast("Switched Successfully, please login again");
|
|
113
|
-
this.authService.logoff();
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
newTenant() {
|
|
120
|
-
this.messageService.confirm(`Create ${this.newName} ?`).subscribe((result) => {
|
|
121
|
-
if (result == "yes") {
|
|
122
|
-
let tenant = { tenantID: 0, name: this.newName };
|
|
123
|
-
this.dataService.CallApi({ url: 'tenant/tenants?action=create', method: 'post' }, tenant).subscribe((apiResponse) => {
|
|
124
|
-
if (apiResponse.success) {
|
|
125
|
-
this.messageService.toast("Created Successfully");
|
|
126
|
-
this.refreshOrgsLists();
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
inviteActionClicked(x) {
|
|
133
|
-
if (x.name == "create") {
|
|
134
|
-
this.inviteDiag();
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
inviteDiag() {
|
|
138
|
-
const dialogRef = this.dialog.open(inviteDialog, {
|
|
139
|
-
width: "900px",
|
|
140
|
-
data: '',
|
|
141
|
-
});
|
|
142
|
-
dialogRef.afterClosed().subscribe((result) => {
|
|
143
|
-
if (result == "success") {
|
|
144
|
-
this.tableReload.next(true);
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
TenantSettingsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TenantSettingsComponent, deps: [{ token: i1.DataServiceLib }, { token: i2.MessageService }, { token: i3.AuthService }, { token: i4.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
150
|
-
TenantSettingsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TenantSettingsComponent, selector: "spa-tenant-settings", ngImport: i0, template: "<div class=\"container\">\r\n\r\n <div>\r\n\r\n <label class=\"title\" >Organisation Details</label>\r\n <hr style=\"margin-top: 0px; margin-bottom: 0px;\">\r\n\r\n <div *ngIf=\"currTenant && plan\" class=\"mb-2 mt-3 tin-grid\" style=\" font-size: 14px;\">\r\n\r\n <div class=\"tin-col mb-3\" *ngIf=\"ownTenant\" style=\"max-width: 500px;\">\r\n <spa-text display=\"Name\" [(value)]=\"currTenant.name\" hint=\"This name will be displayed to all members of your organisation.\" style=\"min-width: 300px;\"> </spa-text>\r\n <button mat-stroked-button color=\"primary\" (click)=\"renameTenant()\">Save</button>\r\n </div>\r\n\r\n <div class=\"tin-col mb-3\" style=\"max-width: 500px;\">\r\n <spa-select display=\"Current Organisation\" [options]=\"tenants\" optionDisplay=\"name\" optionValue=\"tenantID\" [(value)]=\"currentTenantID\"\r\n hint=\"You are required to login again after switching organisations.\" style=\"min-width: 300px;\"></spa-select>\r\n <button mat-stroked-button color=\"primary\" (click)=\"switchTenant()\">Switch</button>\r\n </div>\r\n\r\n <div *ngIf=\"ownTenant\">\r\n <spa-label display=\"Plan\" [value]=\"plan.name\"></spa-label>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n <!-- Members -->\r\n <div class=\"mt-3\" *ngIf=\"ownTenant\">\r\n\r\n <label class=\"title\" >Members</label>\r\n <hr style=\"margin-top: 0px; margin-bottom: 0px;\">\r\n <label class=\"subtitle text-muted\">Invite other users to join your organisation as partners or employees to form a partnership or company.</label>\r\n\r\n <spa-table [config]=\"membersTableConfig\" [reload]=\"tableReload\" (actionClick)=\"inviteActionClicked($event)\"></spa-table>\r\n\r\n </div>\r\n\r\n\r\n <!-- Invitations -->\r\n <div class=\"mt-3\" *ngIf=\"ownTenant\">\r\n\r\n <label class=\"title\" >Invitations</label>\r\n <hr style=\"margin-top: 0px; margin-bottom: 0px;\">\r\n <label class=\"subtitle text-muted\">Requests for you to join other organisations.</label>\r\n\r\n\r\n <spa-invitations-table></spa-invitations-table>\r\n\r\n </div>\r\n\r\n\r\n<!-- Member Organisations -->\r\n <div class=\"mt-3\" *ngIf=\"ownTenant\">\r\n\r\n <label class=\"title\" >Member Organisations</label>\r\n <hr style=\"margin-top: 0px; margin-bottom: 0px;\">\r\n <label class=\"subtitle text-muted\">Organisations that you are a member of.</label>\r\n\r\n <spa-table [config]=\"orgsTableConfig\" [reload]=\"orgsReload\"></spa-table>\r\n\r\n </div>\r\n\r\n\r\n <!-- New Organisation -->\r\n <div class=\"mt-3\" *ngIf=\"ownTenant\">\r\n\r\n <label class=\"title\">New Organisation</label>\r\n <hr style=\"margin-top: 0px; margin-bottom: 0px;\">\r\n <label class=\"subtitle text-muted\">Create another organisation</label>\r\n\r\n <div class=\"tin-col mb-3\" *ngIf=\"ownTenant\" style=\"max-width: 500px;\">\r\n <spa-text display=\"Name\" [(value)]=\"newName\" style=\"min-width: 300px;\"> </spa-text>\r\n <button mat-stroked-button color=\"primary\" (click)=\"newTenant()\">Create</button>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n\r\n <!-- Billing -->\r\n <div class=\"mt-3 mb-5\" *ngIf=\"ownTenant\">\r\n\r\n <label class=\"title\" >Billing and Subscription</label>\r\n <hr style=\"margin-top: 0px; margin-bottom: 0px;\">\r\n\r\n <div *ngIf=\"currTenant && plan\" class=\"mb-1 mt-3\" style=\"max-width: 300px; font-size: 14px;\">\r\n <spa-label display=\"Plan\" [value]=\"plan.name\"></spa-label>\r\n <spa-label display=\"Next Payment\" format=\"money\" [value]=\"plan.price\"></spa-label>\r\n <spa-label display=\"Due Date\" format=\"date\" value=\"2024-01-01\"></spa-label>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n\r\n", styles: [".title{margin-top:1em;font-size:28px;font-weight:300}.subtitle{font-size:smaller}\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.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: i8.LabelComponent, selector: "spa-label", inputs: ["display", "value", "format"] }, { kind: "component", type: i9.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: "component", type: i10.TableComponent, selector: "spa-table", inputs: ["hideTitle", "data", "config", "reload"], outputs: ["dataLoad", "refreshClick", "searchClick", "createClick", "actionClick", "inputChange"] }, { kind: "component", type: i11.InvitationsTableComponent, selector: "spa-invitations-table" }] });
|
|
151
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TenantSettingsComponent, decorators: [{
|
|
152
|
-
type: Component,
|
|
153
|
-
args: [{ selector: 'spa-tenant-settings', template: "<div class=\"container\">\r\n\r\n <div>\r\n\r\n <label class=\"title\" >Organisation Details</label>\r\n <hr style=\"margin-top: 0px; margin-bottom: 0px;\">\r\n\r\n <div *ngIf=\"currTenant && plan\" class=\"mb-2 mt-3 tin-grid\" style=\" font-size: 14px;\">\r\n\r\n <div class=\"tin-col mb-3\" *ngIf=\"ownTenant\" style=\"max-width: 500px;\">\r\n <spa-text display=\"Name\" [(value)]=\"currTenant.name\" hint=\"This name will be displayed to all members of your organisation.\" style=\"min-width: 300px;\"> </spa-text>\r\n <button mat-stroked-button color=\"primary\" (click)=\"renameTenant()\">Save</button>\r\n </div>\r\n\r\n <div class=\"tin-col mb-3\" style=\"max-width: 500px;\">\r\n <spa-select display=\"Current Organisation\" [options]=\"tenants\" optionDisplay=\"name\" optionValue=\"tenantID\" [(value)]=\"currentTenantID\"\r\n hint=\"You are required to login again after switching organisations.\" style=\"min-width: 300px;\"></spa-select>\r\n <button mat-stroked-button color=\"primary\" (click)=\"switchTenant()\">Switch</button>\r\n </div>\r\n\r\n <div *ngIf=\"ownTenant\">\r\n <spa-label display=\"Plan\" [value]=\"plan.name\"></spa-label>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n <!-- Members -->\r\n <div class=\"mt-3\" *ngIf=\"ownTenant\">\r\n\r\n <label class=\"title\" >Members</label>\r\n <hr style=\"margin-top: 0px; margin-bottom: 0px;\">\r\n <label class=\"subtitle text-muted\">Invite other users to join your organisation as partners or employees to form a partnership or company.</label>\r\n\r\n <spa-table [config]=\"membersTableConfig\" [reload]=\"tableReload\" (actionClick)=\"inviteActionClicked($event)\"></spa-table>\r\n\r\n </div>\r\n\r\n\r\n <!-- Invitations -->\r\n <div class=\"mt-3\" *ngIf=\"ownTenant\">\r\n\r\n <label class=\"title\" >Invitations</label>\r\n <hr style=\"margin-top: 0px; margin-bottom: 0px;\">\r\n <label class=\"subtitle text-muted\">Requests for you to join other organisations.</label>\r\n\r\n\r\n <spa-invitations-table></spa-invitations-table>\r\n\r\n </div>\r\n\r\n\r\n<!-- Member Organisations -->\r\n <div class=\"mt-3\" *ngIf=\"ownTenant\">\r\n\r\n <label class=\"title\" >Member Organisations</label>\r\n <hr style=\"margin-top: 0px; margin-bottom: 0px;\">\r\n <label class=\"subtitle text-muted\">Organisations that you are a member of.</label>\r\n\r\n <spa-table [config]=\"orgsTableConfig\" [reload]=\"orgsReload\"></spa-table>\r\n\r\n </div>\r\n\r\n\r\n <!-- New Organisation -->\r\n <div class=\"mt-3\" *ngIf=\"ownTenant\">\r\n\r\n <label class=\"title\">New Organisation</label>\r\n <hr style=\"margin-top: 0px; margin-bottom: 0px;\">\r\n <label class=\"subtitle text-muted\">Create another organisation</label>\r\n\r\n <div class=\"tin-col mb-3\" *ngIf=\"ownTenant\" style=\"max-width: 500px;\">\r\n <spa-text display=\"Name\" [(value)]=\"newName\" style=\"min-width: 300px;\"> </spa-text>\r\n <button mat-stroked-button color=\"primary\" (click)=\"newTenant()\">Create</button>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n\r\n <!-- Billing -->\r\n <div class=\"mt-3 mb-5\" *ngIf=\"ownTenant\">\r\n\r\n <label class=\"title\" >Billing and Subscription</label>\r\n <hr style=\"margin-top: 0px; margin-bottom: 0px;\">\r\n\r\n <div *ngIf=\"currTenant && plan\" class=\"mb-1 mt-3\" style=\"max-width: 300px; font-size: 14px;\">\r\n <spa-label display=\"Plan\" [value]=\"plan.name\"></spa-label>\r\n <spa-label display=\"Next Payment\" format=\"money\" [value]=\"plan.price\"></spa-label>\r\n <spa-label display=\"Due Date\" format=\"date\" value=\"2024-01-01\"></spa-label>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n\r\n", styles: [".title{margin-top:1em;font-size:28px;font-weight:300}.subtitle{font-size:smaller}\n"] }]
|
|
154
|
-
}], ctorParameters: function () { return [{ type: i1.DataServiceLib }, { type: i2.MessageService }, { type: i3.AuthService }, { type: i4.MatDialog }]; } });
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL3RlbmFudC1zZXR0aW5ncy90ZW5hbnQtc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdGVuYW50LXNldHRpbmdzL3RlbmFudC1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBS2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBTy9CLE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsWUFBbUIsV0FBMkIsRUFBVSxjQUE4QixFQUFTLFdBQXdCLEVBQVMsTUFBaUI7UUFBOUgsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBZ0JqSixVQUFLLEdBQUc7WUFDTixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtZQUM3QiwrQkFBK0I7WUFDL0IsK0JBQStCO1NBQ2hDLENBQUE7UUE4RUQsc0JBQWlCLEdBQWU7WUFFOUIsTUFBTSxFQUFFO2dCQUNOLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFHLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtnQkFDeEQsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVB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LElBQUksU0FBUyxFQUFFO2dCQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7b0hBbElVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDJEQ2RwQyxrdUhBcUdBOzJGRHZGYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbmZpZywgVGFibGVDb25maWcsIEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhbGliLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgaW52aXRlRGlhbG9nIH0gZnJvbSAnLi9pbnZpdGVEaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzcGEtdGVuYW50LXNldHRpbmdzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGVuYW50LXNldHRpbmdzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZW5hbnQtc2V0dGluZ3MuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW5hbnRTZXR0aW5nc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRhU2VydmljZTogRGF0YVNlcnZpY2VMaWIsIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2cgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLm15Um9sZU9ic2Vydi5zdWJzY3JpYmUocm9sID0+IHRoaXMubXlSb2xlID0gcm9sKTtcclxuICAgIHRoaXMubG9hZERhdGEoKTtcclxuICAgIHRoaXMubG9hZFRlbmFudHMoKVxyXG4gIH1cclxuXHJcbiAgbmV3TmFtZTtcclxuXHJcbiAgbXlSb2xlXHJcbiAgdGVuYW50cztcclxuICBjdXJyVGVuYW50O1xyXG4gIGN1cnJlbnRUZW5hbnRJRDtcclxuICBwbGFuO1xyXG4gIG93blRlbmFudDtcclxuICByb2xlcyA9IFtcclxuICAgIHsgbmFtZTogJ0RlZmF1bHQnLCB2YWx1ZTogMSB9LFxyXG4gICAgLy8geyBuYW1lOiAnQWRtaW4nLCB2YWx1ZTogMiB9LFxyXG4gICAgLy8geyBuYW1lOiAnT3duZXInLCB2YWx1ZTogMyB9LFxyXG4gIF1cclxuXHJcbiAgbG9hZERhdGEoKXtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuQ2FsbEFwaSh7IHVybDogJ3RlbmFudC9tZXRhL3gnIH0sIFwiXCIpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMuY3VyclRlbmFudCA9IGFwaVJlc3BvbnNlLmRhdGEudGVuYW50O1xyXG4gICAgICB0aGlzLmN1cnJlbnRUZW5hbnRJRCA9IGFwaVJlc3BvbnNlLmRhdGEuY3VycmVudFRlbmFudElEO1xyXG4gICAgICB0aGlzLnBsYW4gPSBhcGlSZXNwb25zZS5kYXRhLnBsYW47XHJcbiAgICAgIHRoaXMub3duVGVuYW50ID0gYXBpUmVzcG9uc2UuZGF0YS5vd25UZW5hbnRcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbG9hZFRlbmFudHMoKSB7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkNhbGxBcGkoeyB1cmw6ICd0ZW5hbnQvbWV0YV90ZW5hbnRzL3gnIH0sIFwiXCIpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIC8vIHRoaXMudGVuYW50ID0gYXBpUmVzcG9uc2UuZGF0YS50ZW5hbnQ7XHJcbiAgICAgIHRoaXMudGVuYW50cyA9IGFwaVJlc3BvbnNlLmRhdGEudGVuYW50cztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVuYW1lVGVuYW50KCkge1xyXG5cclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuY29uZmlybShgUmVuYW1lID9gKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0ID09IFwieWVzXCIpIHtcclxuXHJcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5DYWxsQXBpKHsgdXJsOiAndGVuYW50L3RlbmFudHM/YWN0aW9uPXJlbmFtZScsIG1ldGhvZDogJ3Bvc3QnIH0sIHRoaXMuY3VyclRlbmFudCkuc3Vic2NyaWJlKChhcGlSZXNwb25zZTogQXBpUmVzcG9uc2UpID0+IHtcclxuXHJcbiAgICAgICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZVRlbmFudE5hbWUodGhpcy5jdXJyVGVuYW50Lm5hbWUpXHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJSZW5hbWVkIFN1Y2Nlc3NmdWxseVwiKTtcclxuICAgICAgICAgICAgdGhpcy5yZWZyZXNoT3Jnc0xpc3RzKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaE9yZ3NMaXN0cygpe1xyXG4gICAgdGhpcy5sb2FkVGVuYW50cygpO1xyXG4gICAgdGhpcy5vcmdzUmVsb2FkLm5leHQodHJ1ZSlcclxuICB9XHJcblxyXG4gIHN3aXRjaFRlbmFudCgpIHtcclxuXHJcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNvbmZpcm0oYFN3aXRjaCA/YCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdCA9PSBcInllc1wiKSB7XHJcblxyXG4gICAgICAgIHRoaXMuY3VyclRlbmFudC50ZW5hbnRJRCA9IHRoaXMuY3VycmVudFRlbmFudElEO1xyXG5cclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLkNhbGxBcGkoeyB1cmw6ICd0ZW5hbnQvdGVuYW50cz9hY3Rpb249c3dpdGNoJywgbWV0aG9kOiAncG9zdCcgfSwgdGhpcy5jdXJyVGVuYW50KS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG5cclxuICAgICAgICAgIGlmIChhcGlSZXNwb25zZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJTd2l0Y2hlZCBTdWNjZXNzZnVsbHksIHBsZWFzZSBsb2dpbiBhZ2FpblwiKTtcclxuICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvZmYoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZXdUZW5hbnQoKSB7XHJcblxyXG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5jb25maXJtKGBDcmVhdGUgJHt0aGlzLm5ld05hbWV9ID9gKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0ID09IFwieWVzXCIpIHtcclxuXHJcbiAgICAgICAgbGV0IHRlbmFudCA9IHt0ZW5hbnRJRCA6IDAsIG5hbWUgOiB0aGlzLm5ld05hbWV9XHJcblxyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuQ2FsbEFwaSh7IHVybDogJ3RlbmFudC90ZW5hbnRzP2FjdGlvbj1jcmVhdGUnLCBtZXRob2Q6ICdwb3N0JyB9LCB0ZW5hbnQpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcblxyXG4gICAgICAgICAgaWYgKGFwaVJlc3BvbnNlLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkNyZWF0ZWQgU3VjY2Vzc2Z1bGx5XCIpO1xyXG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hPcmdzTGlzdHMoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIG1lbWJlcnNGb3JtQ29uZmlnOiBGb3JtQ29uZmlnID0ge1xyXG5cclxuICAgIGZpZWxkczogW1xyXG4gICAgICB7IG5hbWU6ICdlbWFpbCcsIHR5cGU6ICd0ZXh0JywgIHJlcXVpcmVkOiB0cnVlLCBtaW46IDIgfSxcclxuICAgICAgeyBuYW1lOiAncm9sZUlEJywgdHlwZTogJ3NlbGVjdCcsIHJlcXVpcmVkOiB0cnVlLCBvcHRpb25zOiB0aGlzLnJvbGVzLCBvcHRpb25EaXNwbGF5IDogJ25hbWUnLCBvcHRpb25WYWx1ZSA6ICd2YWx1ZScsIGRlZmF1bHRWYWx1ZTogMSB9LFxyXG4gICAgXSxcclxuXHJcbiAgfVxyXG5cclxuICBpbnZpdGVBY3Rpb25DbGlja2VkKHgpe1xyXG5cclxuXHJcbiAgICBpZiAoeC5uYW1lID09XCJjcmVhdGVcIil7XHJcbiAgICAgIHRoaXMuaW52aXRlRGlhZygpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuICBpbnZpdGVEaWFnKCkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihpbnZpdGVEaWFsb2csIHtcclxuICAgICAgd2lkdGg6IFwiOTAwcHhcIixcclxuICAgICAgZGF0YTogJycsXHJcbiAgICB9KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0ID09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgICAgdGhpcy50YWJsZVJlbG9hZC5uZXh0KHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHRhYmxlUmVsb2FkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcclxuICBtZW1iZXJzVGFibGVDb25maWc6IFRhYmxlQ29uZmlnID0ge1xyXG5cclxuICAgIGdyZXlPdXQgOiAodmFsdWUpID0+IHZhbHVlLmFjY2VwdGVkID09IGZhbHNlLFxyXG4gICAgZWxldmF0aW9uOiAnbG93JyxcclxuICAgIGxvZ1Jlc3BvbnNlIDogdHJ1ZSxcclxuICAgIG1pbkNvbHVtbnM6IFsnbmFtZSddLFxyXG4gICAgbWluQnV0dG9uczogWydkZWxldGUnXSxcclxuICAgIGZsYXRCdXR0b25zOiB0cnVlLFxyXG5cclxuICAgIGNvbHVtbnM6IFtcclxuICAgICAgeyBuYW1lOiAnbmFtZScsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICB7IG5hbWU6ICdlbWFpbCcsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICB7IG5hbWU6ICdyb2xlTmFtZScsIGFsaWFzIDogJ1JvbGUnLCB0eXBlOiAndGV4dCd9LFxyXG4gICAgXSxcclxuXHJcbiAgICBidXR0b25zOiBbXHJcbiAgICAgIHsgbmFtZTogJ2NyZWF0ZScsIGRpc3BsYXk6ICdJbnZpdGUnLCB9LFxyXG4gICAgICB7IG5hbWU6ICdlZGl0JywgZGlhbG9nIDogdHJ1ZSwgYWN0aW9uOiB7IHVybDogJ3RlbmFudC9tZW1iZXJzP2FjdGlvbj1yb2xlJywgbWV0aG9kOiAncG9zdCcgfSwgZGlzYWJsZWQ6IHggPT4geC5yb2xlSUQgIT0gMSB9LFxyXG4gICAgICB7IG5hbWU6ICdkZWxldGUnLCBjb25maXJtOiB7IG1lc3NhZ2U6ICdSZW1vdmUgTWVtYmVyIGZyb20gdGhpcyBPcmdhbmlzYXRpb24gPycgfSwgYWN0aW9uOiB7IHVybDogJ3RlbmFudC9tZW1iZXJzP2FjdGlvbj1yZW1vdmUnLCBtZXRob2Q6ICdwb3N0JyB9LCBkaXNhYmxlZCA6IHggPT4geC5yb2xlSUQgIT0gMSB9LFxyXG4gICAgXSxcclxuXHJcbiAgICBsb2FkQWN0aW9uOiB7IHVybDogJ3RlbmFudC9tZW1iZXJzL3gnIH0sXHJcblxyXG4gICAgZm9ybUNvbmZpZzogdGhpcy5tZW1iZXJzRm9ybUNvbmZpZyxcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG4gIG9yZ3NSZWxvYWQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIG9yZ3NUYWJsZUNvbmZpZzogVGFibGVDb25maWcgPSB7XHJcbiAgICBncmV5T3V0OiAodmFsdWUpID0+IHZhbHVlLmFjY2VwdGVkID09IGZhbHNlLFxyXG4gICAgZWxldmF0aW9uOiAnbG93JyxcclxuICAgIG1pbkNvbHVtbnM6IFsnbmFtZSddLFxyXG4gICAgZmxhdEJ1dHRvbnM6IHRydWUsXHJcblxyXG4gICAgY29sdW1uczogW1xyXG4gICAgICB7IG5hbWU6ICduYW1lJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgIHsgbmFtZTogJ2NyZWF0ZWRCeU5hbWUnLCB0eXBlOiAndGV4dCcsIGFsaWFzOiAnT3duZXInIH0sXHJcbiAgICBdLFxyXG5cclxuICAgIGJ1dHRvbnM6IFtcclxuICAgICAgeyBuYW1lOiAnZGVsZXRlJywgY29uZmlybTogeyBtZXNzYWdlOiAnUmVtb3ZlIE1lbWJlciBmcm9tIHRoaXMgT3JnYW5pc2F0aW9uID8nIH0sIGFjdGlvbjogeyB1cmw6ICd0ZW5hbnQvbWVtYmVycz9hY3Rpb249cmVtb3ZlJywgbWV0aG9kOiAncG9zdCcgfSAsIGRpc2FibGVkIDogeCA9PiB4Lm93bn0sIC8vYWN0aW9uOiB7IHVybDogJ3RlbmFudC9tZW1iZXJzP2FjdGlvbj1kZWxldGUnLCBtZXRob2Q6ICdwb3N0JyB9XHJcbiAgICBdLFxyXG5cclxuICAgIGxvYWRBY3Rpb246IHsgdXJsOiAndGVuYW50L215X3RlbmFudHMveCcgfSxcclxuXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuXHJcbiAgPGRpdj5cclxuXHJcbiAgICA8bGFiZWwgY2xhc3M9XCJ0aXRsZVwiID5PcmdhbmlzYXRpb24gRGV0YWlsczwvbGFiZWw+XHJcbiAgICA8aHIgc3R5bGU9XCJtYXJnaW4tdG9wOiAwcHg7IG1hcmdpbi1ib3R0b206IDBweDtcIj5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwiY3VyclRlbmFudCAmJiBwbGFuXCIgY2xhc3M9XCJtYi0yIG10LTMgdGluLWdyaWRcIiBzdHlsZT1cIiBmb250LXNpemU6IDE0cHg7XCI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGluLWNvbCBtYi0zXCIgKm5nSWY9XCJvd25UZW5hbnRcIiBzdHlsZT1cIm1heC13aWR0aDogNTAwcHg7XCI+XHJcbiAgICAgICAgPHNwYS10ZXh0IGRpc3BsYXk9XCJOYW1lXCIgWyh2YWx1ZSldPVwiY3VyclRlbmFudC5uYW1lXCIgaGludD1cIlRoaXMgbmFtZSB3aWxsIGJlIGRpc3BsYXllZCB0byBhbGwgbWVtYmVycyBvZiB5b3VyIG9yZ2FuaXNhdGlvbi5cIiBzdHlsZT1cIm1pbi13aWR0aDogMzAwcHg7XCI+IDwvc3BhLXRleHQ+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInJlbmFtZVRlbmFudCgpXCI+U2F2ZTwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aW4tY29sIG1iLTNcIiBzdHlsZT1cIm1heC13aWR0aDogNTAwcHg7XCI+XHJcbiAgICAgICAgPHNwYS1zZWxlY3QgZGlzcGxheT1cIkN1cnJlbnQgT3JnYW5pc2F0aW9uXCIgW29wdGlvbnNdPVwidGVuYW50c1wiIG9wdGlvbkRpc3BsYXk9XCJuYW1lXCIgb3B0aW9uVmFsdWU9XCJ0ZW5hbnRJRFwiIFsodmFsdWUpXT1cImN1cnJlbnRUZW5hbnRJRFwiXHJcbiAgICAgICAgICBoaW50PVwiWW91IGFyZSByZXF1aXJlZCB0byBsb2dpbiBhZ2FpbiBhZnRlciBzd2l0Y2hpbmcgb3JnYW5pc2F0aW9ucy5cIiBzdHlsZT1cIm1pbi13aWR0aDogMzAwcHg7XCI+PC9zcGEtc2VsZWN0PlxyXG4gICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJzd2l0Y2hUZW5hbnQoKVwiPlN3aXRjaDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgKm5nSWY9XCJvd25UZW5hbnRcIj5cclxuICAgICAgICA8c3BhLWxhYmVsIGRpc3BsYXk9XCJQbGFuXCIgW3ZhbHVlXT1cInBsYW4ubmFtZVwiPjwvc3BhLWxhYmVsPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9kaXY+XHJcblxyXG5cclxuXHJcbiAgPCEtLSBNZW1iZXJzIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJtdC0zXCIgKm5nSWY9XCJvd25UZW5hbnRcIj5cclxuXHJcbiAgICA8bGFiZWwgY2xhc3M9XCJ0aXRsZVwiID5NZW1iZXJzPC9sYWJlbD5cclxuICAgIDxociBzdHlsZT1cIm1hcmdpbi10b3A6IDBweDsgbWFyZ2luLWJvdHRvbTogMHB4O1wiPlxyXG4gICAgPGxhYmVsIGNsYXNzPVwic3VidGl0bGUgdGV4dC1tdXRlZFwiPkludml0ZSBvdGhlciB1c2VycyB0byBqb2luIHlvdXIgb3JnYW5pc2F0aW9uIGFzIHBhcnRuZXJzIG9yIGVtcGxveWVlcyB0byBmb3JtIGEgcGFydG5lcnNoaXAgb3IgY29tcGFueS48L2xhYmVsPlxyXG5cclxuICAgIDxzcGEtdGFibGUgW2NvbmZpZ109XCJtZW1iZXJzVGFibGVDb25maWdcIiBbcmVsb2FkXT1cInRhYmxlUmVsb2FkXCIgKGFjdGlvbkNsaWNrKT1cImludml0ZUFjdGlvbkNsaWNrZWQoJGV2ZW50KVwiPjwvc3BhLXRhYmxlPlxyXG5cclxuICA8L2Rpdj5cclxuXHJcblxyXG4gIDwhLS0gSW52aXRhdGlvbnMgLS0+XHJcbiAgPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj1cIm93blRlbmFudFwiPlxyXG5cclxuICAgIDxsYWJlbCBjbGFzcz1cInRpdGxlXCIgPkludml0YXRpb25zPC9sYWJlbD5cclxuICAgIDxociBzdHlsZT1cIm1hcmdpbi10b3A6IDBweDsgbWFyZ2luLWJvdHRvbTogMHB4O1wiPlxyXG4gICAgPGxhYmVsIGNsYXNzPVwic3VidGl0bGUgdGV4dC1tdXRlZFwiPlJlcXVlc3RzIGZvciB5b3UgdG8gam9pbiBvdGhlciBvcmdhbmlzYXRpb25zLjwvbGFiZWw+XHJcblxyXG5cclxuICAgIDxzcGEtaW52aXRhdGlvbnMtdGFibGU+PC9zcGEtaW52aXRhdGlvbnMtdGFibGU+XHJcblxyXG4gIDwvZGl2PlxyXG5cclxuXHJcbjwhLS0gTWVtYmVyIE9yZ2FuaXNhdGlvbnMgLS0+XHJcbiAgPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj1cIm93blRlbmFudFwiPlxyXG5cclxuICAgIDxsYWJlbCBjbGFzcz1cInRpdGxlXCIgPk1lbWJlciBPcmdhbmlzYXRpb25zPC9sYWJlbD5cclxuICAgIDxociBzdHlsZT1cIm1hcmdpbi10b3A6IDBweDsgbWFyZ2luLWJvdHRvbTogMHB4O1wiPlxyXG4gICAgPGxhYmVsIGNsYXNzPVwic3VidGl0bGUgdGV4dC1tdXRlZFwiPk9yZ2FuaXNhdGlvbnMgdGhhdCB5b3UgYXJlIGEgbWVtYmVyIG9mLjwvbGFiZWw+XHJcblxyXG4gICAgPHNwYS10YWJsZSBbY29uZmlnXT1cIm9yZ3NUYWJsZUNvbmZpZ1wiIFtyZWxvYWRdPVwib3Jnc1JlbG9hZFwiPjwvc3BhLXRhYmxlPlxyXG5cclxuICA8L2Rpdj5cclxuXHJcblxyXG4gIDwhLS0gTmV3IE9yZ2FuaXNhdGlvbiAtLT5cclxuICA8ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPVwib3duVGVuYW50XCI+XHJcblxyXG4gICAgPGxhYmVsIGNsYXNzPVwidGl0bGVcIj5OZXcgT3JnYW5pc2F0aW9uPC9sYWJlbD5cclxuICAgIDxociBzdHlsZT1cIm1hcmdpbi10b3A6IDBweDsgbWFyZ2luLWJvdHRvbTogMHB4O1wiPlxyXG4gICAgPGxhYmVsIGNsYXNzPVwic3VidGl0bGUgdGV4dC1tdXRlZFwiPkNyZWF0ZSBhbm90aGVyIG9yZ2FuaXNhdGlvbjwvbGFiZWw+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInRpbi1jb2wgbWItM1wiICpuZ0lmPVwib3duVGVuYW50XCIgc3R5bGU9XCJtYXgtd2lkdGg6IDUwMHB4O1wiPlxyXG4gICAgICA8c3BhLXRleHQgZGlzcGxheT1cIk5hbWVcIiBbKHZhbHVlKV09XCJuZXdOYW1lXCIgc3R5bGU9XCJtaW4td2lkdGg6IDMwMHB4O1wiPiA8L3NwYS10ZXh0PlxyXG4gICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwibmV3VGVuYW50KClcIj5DcmVhdGU8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgPC9kaXY+XHJcblxyXG5cclxuICA8IS0tIEJpbGxpbmcgLS0+XHJcbiAgPGRpdiBjbGFzcz1cIm10LTMgbWItNVwiICpuZ0lmPVwib3duVGVuYW50XCI+XHJcblxyXG4gICAgPGxhYmVsIGNsYXNzPVwidGl0bGVcIiA+QmlsbGluZyBhbmQgU3Vic2NyaXB0aW9uPC9sYWJlbD5cclxuICAgIDxociBzdHlsZT1cIm1hcmdpbi10b3A6IDBweDsgbWFyZ2luLWJvdHRvbTogMHB4O1wiPlxyXG5cclxuICAgICAgPGRpdiAqbmdJZj1cImN1cnJUZW5hbnQgJiYgcGxhblwiIGNsYXNzPVwibWItMSBtdC0zXCIgc3R5bGU9XCJtYXgtd2lkdGg6IDMwMHB4OyBmb250LXNpemU6IDE0cHg7XCI+XHJcbiAgICAgICAgPHNwYS1sYWJlbCBkaXNwbGF5PVwiUGxhblwiIFt2YWx1ZV09XCJwbGFuLm5hbWVcIj48L3NwYS1sYWJlbD5cclxuICAgICAgICA8c3BhLWxhYmVsIGRpc3BsYXk9XCJOZXh0IFBheW1lbnRcIiBmb3JtYXQ9XCJtb25leVwiIFt2YWx1ZV09XCJwbGFuLnByaWNlXCI+PC9zcGEtbGFiZWw+XHJcbiAgICAgICAgPHNwYS1sYWJlbCBkaXNwbGF5PVwiRHVlIERhdGVcIiBmb3JtYXQ9XCJkYXRlXCIgdmFsdWU9XCIyMDI0LTAxLTAxXCI+PC9zcGEtbGFiZWw+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuXHJcblxyXG48L2Rpdj5cclxuXHJcblxyXG4iXX0=
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../services/datalib.service";
|
|
4
|
-
import * as i2 from "../../services/message.service";
|
|
5
|
-
import * as i3 from "../../services/auth.service";
|
|
6
|
-
import * as i4 from "../table/table.component";
|
|
7
|
-
export class TenantsComponent {
|
|
8
|
-
constructor(dataService, messageService, authService) {
|
|
9
|
-
this.dataService = dataService;
|
|
10
|
-
this.messageService = messageService;
|
|
11
|
-
this.authService = authService;
|
|
12
|
-
this.formConfig = {
|
|
13
|
-
fields: [
|
|
14
|
-
{ name: 'name', type: 'text', required: true, min: 2 },
|
|
15
|
-
{ name: 'planID', alias: 'Plan', type: 'number', required: true },
|
|
16
|
-
],
|
|
17
|
-
reset: true,
|
|
18
|
-
};
|
|
19
|
-
this.config = {
|
|
20
|
-
showFilter: true,
|
|
21
|
-
minColumns: ['name'],
|
|
22
|
-
flatButtons: true,
|
|
23
|
-
columns: [
|
|
24
|
-
{ name: 'tenantID', type: 'number', alias: 'ID' },
|
|
25
|
-
{ name: 'name', type: 'text' },
|
|
26
|
-
{ name: 'planName', alias: 'Plan', type: 'text' },
|
|
27
|
-
],
|
|
28
|
-
buttons: [
|
|
29
|
-
{ name: 'create', display: 'Create', dialog: true, action: { url: 'tenant/tenants?action=create', method: 'post' } },
|
|
30
|
-
{ name: 'view', dialog: true },
|
|
31
|
-
{ name: 'edit', dialog: true, action: { url: 'tenant/tenants?action=edit', method: 'post' } },
|
|
32
|
-
{ name: 'delete', dialog: true, action: { url: 'tenant/tenants?action=delete', method: 'post' } },
|
|
33
|
-
],
|
|
34
|
-
loadAction: { url: 'tenant/all_tenants/x' },
|
|
35
|
-
formConfig: this.formConfig
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
ngOnInit() {
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
TenantsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TenantsComponent, deps: [{ token: i1.DataServiceLib }, { token: i2.MessageService }, { token: i3.AuthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
-
TenantsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TenantsComponent, selector: "spa-tenants", ngImport: i0, template: "<h4>Tenants</h4>\n<hr>\n\n\n<div class=\" mt-3\" style=\" font-size: 14px;\">\n <spa-table [config]=\"config\" ></spa-table>\n</div>\n", styles: [".title{margin-top:1em;font-size:larger;font-weight:300}\n"], dependencies: [{ kind: "component", type: i4.TableComponent, selector: "spa-table", inputs: ["hideTitle", "data", "config", "reload"], outputs: ["dataLoad", "refreshClick", "searchClick", "createClick", "actionClick", "inputChange"] }] });
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TenantsComponent, decorators: [{
|
|
44
|
-
type: Component,
|
|
45
|
-
args: [{ selector: 'spa-tenants', template: "<h4>Tenants</h4>\n<hr>\n\n\n<div class=\" mt-3\" style=\" font-size: 14px;\">\n <spa-table [config]=\"config\" ></spa-table>\n</div>\n", styles: [".title{margin-top:1em;font-size:larger;font-weight:300}\n"] }]
|
|
46
|
-
}], ctorParameters: function () { return [{ type: i1.DataServiceLib }, { type: i2.MessageService }, { type: i3.AuthService }]; } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvY29tcG9uZW50cy90ZW5hbnRzL3RlbmFudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVdsRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQW9CLFdBQTJCLEVBQVUsY0FBOEIsRUFBUyxXQUF3QjtRQUFwRyxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBUyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQU94SCxlQUFVLEdBQWU7WUFFdkIsTUFBTSxFQUFFO2dCQUNOLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtnQkFDdEQsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2FBQ2xFO1lBRUQsS0FBSyxFQUFFLElBQUk7U0FFWixDQUFBO1FBRUQsV0FBTSxHQUFnQjtZQUNwQixVQUFVLEVBQUUsSUFBSTtZQUNoQixVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDcEIsV0FBVyxFQUFFLElBQUk7WUFFakIsT0FBTyxFQUFFO2dCQUNQLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7Z0JBQ2pELEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2dCQUM5QixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFHLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2FBRW5EO1lBRUQsT0FBTyxFQUFFO2dCQUNQLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBQztnQkFDbkgsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQzlCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQzdGLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUU7YUFDbEc7WUFFRCxVQUFVLEVBQUUsRUFBRSxHQUFHLEVBQUUsc0JBQXNCLEVBQUU7WUFFM0MsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBRTVCLENBQUE7SUF6QzJILENBQUM7SUFFN0gsUUFBUTtJQUNSLENBQUM7OzZHQUxVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLG1EQ1g3Qix5SUFPQTsyRkRJYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUNvbmZpZywgVGFibGVDb25maWcsIEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NwYS10ZW5hbnRzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGVuYW50cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGVuYW50cy5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRlbmFudHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYiwgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIHB1YmxpYyBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgZm9ybUNvbmZpZzogRm9ybUNvbmZpZyA9IHtcclxuXHJcbiAgICBmaWVsZHM6IFtcclxuICAgICAgeyBuYW1lOiAnbmFtZScsIHR5cGU6ICd0ZXh0JywgcmVxdWlyZWQ6IHRydWUsIG1pbjogMiB9LFxyXG4gICAgICB7IG5hbWU6ICdwbGFuSUQnLCBhbGlhcyA6J1BsYW4nLCB0eXBlOiAnbnVtYmVyJywgcmVxdWlyZWQ6IHRydWUgfSxcclxuICAgIF0sXHJcblxyXG4gICAgcmVzZXQ6IHRydWUsXHJcblxyXG4gIH1cclxuXHJcbiAgY29uZmlnOiBUYWJsZUNvbmZpZyA9IHtcclxuICAgIHNob3dGaWx0ZXI6IHRydWUsXHJcbiAgICBtaW5Db2x1bW5zOiBbJ25hbWUnXSxcclxuICAgIGZsYXRCdXR0b25zOiB0cnVlLFxyXG5cclxuICAgIGNvbHVtbnM6IFtcclxuICAgICAgeyBuYW1lOiAndGVuYW50SUQnLCB0eXBlOiAnbnVtYmVyJywgYWxpYXM6ICdJRCcgfSxcclxuICAgICAgeyBuYW1lOiAnbmFtZScsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICB7IG5hbWU6ICdwbGFuTmFtZScsIGFsaWFzIDogJ1BsYW4nLCB0eXBlOiAndGV4dCcgfSxcclxuXHJcbiAgICBdLFxyXG5cclxuICAgIGJ1dHRvbnM6IFtcclxuICAgICAgeyBuYW1lOiAnY3JlYXRlJywgZGlzcGxheTogJ0NyZWF0ZScsIGRpYWxvZzogdHJ1ZSwgYWN0aW9uOiB7IHVybDogJ3RlbmFudC90ZW5hbnRzP2FjdGlvbj1jcmVhdGUnLCBtZXRob2Q6ICdwb3N0JyB9fSxcclxuICAgICAgeyBuYW1lOiAndmlldycsIGRpYWxvZzogdHJ1ZSB9LFxyXG4gICAgICB7IG5hbWU6ICdlZGl0JywgZGlhbG9nOiB0cnVlLCBhY3Rpb246IHsgdXJsOiAndGVuYW50L3RlbmFudHM/YWN0aW9uPWVkaXQnLCBtZXRob2Q6ICdwb3N0JyB9IH0sXHJcbiAgICAgIHsgbmFtZTogJ2RlbGV0ZScsIGRpYWxvZzogdHJ1ZSwgYWN0aW9uOiB7IHVybDogJ3RlbmFudC90ZW5hbnRzP2FjdGlvbj1kZWxldGUnLCBtZXRob2Q6ICdwb3N0JyB9IH0sXHJcbiAgICBdLFxyXG5cclxuICAgIGxvYWRBY3Rpb246IHsgdXJsOiAndGVuYW50L2FsbF90ZW5hbnRzL3gnIH0sXHJcblxyXG4gICAgZm9ybUNvbmZpZzogdGhpcy5mb3JtQ29uZmlnXHJcblxyXG4gIH1cclxufVxyXG4iLCI8aDQ+VGVuYW50czwvaDQ+XG48aHI+XG5cblxuPGRpdiBjbGFzcz1cIiBtdC0zXCIgc3R5bGU9XCIgZm9udC1zaXplOiAxNHB4O1wiPlxuICA8c3BhLXRhYmxlIFtjb25maWddPVwiY29uZmlnXCIgPjwvc3BhLXRhYmxlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
//-------------------------------------------VIEW
|
|
2
|
-
import { Component, Inject } from '@angular/core';
|
|
3
|
-
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
4
|
-
import { Transaction } 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/common";
|
|
11
|
-
import * as i6 from "@angular/material/button";
|
|
12
|
-
import * as i7 from "../text/text.component";
|
|
13
|
-
import * as i8 from "../date/date.component";
|
|
14
|
-
import * as i9 from "../select/select.component";
|
|
15
|
-
import * as i10 from "../money/money.component";
|
|
16
|
-
export class transactDialog {
|
|
17
|
-
constructor(loaderService, messageService, dataService, dialogRef, data) {
|
|
18
|
-
this.loaderService = loaderService;
|
|
19
|
-
this.messageService = messageService;
|
|
20
|
-
this.dataService = dataService;
|
|
21
|
-
this.dialogRef = dialogRef;
|
|
22
|
-
this.data = data;
|
|
23
|
-
this.txn = new Transaction;
|
|
24
|
-
this.isLoadComplete = false;
|
|
25
|
-
this.isProcessing = false;
|
|
26
|
-
}
|
|
27
|
-
ngOnInit() {
|
|
28
|
-
this.action = this.data.action;
|
|
29
|
-
this.account = this.data.account;
|
|
30
|
-
this.accounts = this.data.accounts;
|
|
31
|
-
this.categories = this.data.categories;
|
|
32
|
-
this.isLoadComplete = true;
|
|
33
|
-
if (this.action == "edit") {
|
|
34
|
-
this.txn = this.data.data;
|
|
35
|
-
}
|
|
36
|
-
this.loaderService.isLoading.subscribe(x => this.isProcessing = x);
|
|
37
|
-
}
|
|
38
|
-
submit() {
|
|
39
|
-
if (parseFloat(this.txn.amount) == 0) {
|
|
40
|
-
this.messageService.toast("Enter Amount");
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
if (this.action == "income") {
|
|
44
|
-
this.txn.type = 1;
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
this.txn.type = 0;
|
|
48
|
-
}
|
|
49
|
-
this.txn.accountID = this.account.accountID;
|
|
50
|
-
let act;
|
|
51
|
-
if (this.action == "edit") {
|
|
52
|
-
act = 'edit';
|
|
53
|
-
}
|
|
54
|
-
else if (this.action == "transfer") {
|
|
55
|
-
act = 'transfer';
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
act = 'create';
|
|
59
|
-
}
|
|
60
|
-
this.dataService.CallApi({ url: `general/transactions?action=${act}`, method: 'post' }, this.txn).subscribe((x) => {
|
|
61
|
-
if (x.success) {
|
|
62
|
-
this.dialogRef.close('success');
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
this.messageService.toast(x.message);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
transactDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: transactDialog, deps: [{ token: i1.LoaderService }, { token: i2.MessageService }, { token: i3.DataServiceLib }, { token: i4.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
-
transactDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: transactDialog, selector: "app-quanityDiag", ngImport: i0, template: "\r\n<h2 mat-dialog-title>{{action | titlecase}}</h2>\r\n\r\n\r\n<mat-dialog-content class=\"mat-typography\">\r\n\r\n <div class=\"tin-input\" style=\"font-size:14px\">\r\n\r\n <spa-select *ngIf=\"action == 'transfer'\" [(value)]=\"txn.destinationID\" display=\"Transfer to\" [options]=\"accounts\" optionDisplay=\"name\" optionValue=\"accountID\"></spa-select>\r\n\r\n <spa-date display=\"Date\" [(value)]=\"txn.date\"></spa-date>\r\n <spa-money display=\"Amount\" [(value)]=\"txn.amount\"></spa-money>\r\n <spa-text display=\"Narration\" [(value)]=\"txn.narration\"></spa-text>\r\n <spa-select display=\"Category\" [(value)]=\"txn.categoryID\" [options]=\"categories\" optionDisplay=\"name\" optionValue=\"listItemID\" [defaultFirstValue]=\"true\"></spa-select>\r\n\r\n\r\n\r\n </div>\r\n\r\n</mat-dialog-content>\r\n\r\n\r\n<mat-dialog-actions>\r\n<button mat-button [disabled]=\"isProcessing\" (click)=\"submit()\" cdkFocusInitial>Submit</button>\r\n<button mat-button [disabled]=\"isProcessing\" cdkFocusInitial mat-dialog-close>Cancel</button>\r\n</mat-dialog-actions>\r\n\r\n\r\n\r\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: "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: i7.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: i8.DateComponent, selector: "spa-date", inputs: ["required", "min", "max", "readonly", "hint", "value", "display", "placeholder", "width", "infoMessage"], outputs: ["valueChange", "infoClick"] }, { kind: "component", type: i9.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: "component", type: i10.MoneyComponent, selector: "spa-money", inputs: ["readonly", "hint", "display", "placeholder", "value", "width", "currency", "required", "min", "max", "infoMessage"], outputs: ["valueChange", "leave", "enterPress", "infoClick"] }, { kind: "pipe", type: i5.TitleCasePipe, name: "titlecase" }] });
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: transactDialog, decorators: [{
|
|
73
|
-
type: Component,
|
|
74
|
-
args: [{ selector: 'app-quanityDiag', template: "\r\n<h2 mat-dialog-title>{{action | titlecase}}</h2>\r\n\r\n\r\n<mat-dialog-content class=\"mat-typography\">\r\n\r\n <div class=\"tin-input\" style=\"font-size:14px\">\r\n\r\n <spa-select *ngIf=\"action == 'transfer'\" [(value)]=\"txn.destinationID\" display=\"Transfer to\" [options]=\"accounts\" optionDisplay=\"name\" optionValue=\"accountID\"></spa-select>\r\n\r\n <spa-date display=\"Date\" [(value)]=\"txn.date\"></spa-date>\r\n <spa-money display=\"Amount\" [(value)]=\"txn.amount\"></spa-money>\r\n <spa-text display=\"Narration\" [(value)]=\"txn.narration\"></spa-text>\r\n <spa-select display=\"Category\" [(value)]=\"txn.categoryID\" [options]=\"categories\" optionDisplay=\"name\" optionValue=\"listItemID\" [defaultFirstValue]=\"true\"></spa-select>\r\n\r\n\r\n\r\n </div>\r\n\r\n</mat-dialog-content>\r\n\r\n\r\n<mat-dialog-actions>\r\n<button mat-button [disabled]=\"isProcessing\" (click)=\"submit()\" cdkFocusInitial>Submit</button>\r\n<button mat-button [disabled]=\"isProcessing\" cdkFocusInitial mat-dialog-close>Cancel</button>\r\n</mat-dialog-actions>\r\n\r\n\r\n\r\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"] }]
|
|
75
|
-
}], ctorParameters: function () { return [{ type: i1.LoaderService }, { type: i2.MessageService }, { type: i3.DataServiceLib }, { type: i4.MatDialogRef }, { type: undefined, decorators: [{
|
|
76
|
-
type: Inject,
|
|
77
|
-
args: [MAT_DIALOG_DATA]
|
|
78
|
-
}] }]; } });
|
|
79
|
-
;
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3REaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdHJhbnNhY3Rpb25zL3RyYW5zYWN0RGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL3RyYW5zYWN0aW9ucy90cmFuc2FjdERpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpREFBaUQ7QUFFakQsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUd6RSxPQUFPLEVBQWMsV0FBVyxFQUFlLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7OztBQVM3RSxNQUFNLE9BQU8sY0FBYztJQUV6QixZQUFvQixhQUE0QixFQUFTLGNBQThCLEVBQVUsV0FBMkIsRUFBVSxTQUF1QyxFQUFrQyxJQUFJO1FBQS9MLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBOEI7UUFBa0MsU0FBSSxHQUFKLElBQUksQ0FBQTtRQW1Cbk4sUUFBRyxHQUFHLElBQUssV0FBVyxDQUFDO1FBTXZCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGlCQUFZLEdBQVksS0FBSyxDQUFDO0lBMUJ5TCxDQUFDO0lBRXhOLFFBQVE7UUFFTixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBRTNCLElBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLEVBQUM7WUFDdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtTQUMxQjtRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFckUsQ0FBQztJQWFELE1BQU07UUFFSixJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBQztZQUNuQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQTtZQUN6QyxPQUFNO1NBQ1A7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksUUFBUSxFQUFDO1lBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQTtTQUNsQjthQUFJO1lBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFBO1NBQ2xCO1FBR0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUE7UUFFM0MsSUFBSSxHQUFHLENBQUM7UUFDUixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxFQUFDO1lBQ3hCLEdBQUcsR0FBRyxNQUFNLENBQUE7U0FDYjthQUNJLElBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxVQUFVLEVBQUU7WUFDakMsR0FBRyxHQUFHLFVBQVUsQ0FBQTtTQUNqQjthQUNHO1lBQ0YsR0FBRyxHQUFHLFFBQVEsQ0FBQTtTQUNmO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsK0JBQStCLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBZSxFQUFFLEVBQUU7WUFDOUgsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFDO2dCQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ2pDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQTthQUNyQztRQUVILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7MkdBbEVVLGNBQWMsdUlBRThKLGVBQWU7K0ZBRjNMLGNBQWMsdURDZjNCLHFsQ0E2QkE7MkZEZGEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxpQkFBaUI7OzBCQU1xSixNQUFNOzJCQUFDLGVBQWU7O0FBaUV2TSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tVklFV1xyXG5cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtQ29uZmlnLCBUcmFuc2FjdGlvbiwgQXBpUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9jbGFzc2VzL0NsYXNzZXMnO1xyXG5pbXBvcnQgeyBMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9hZGVyLnNlcnZpY2UnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXF1YW5pdHlEaWFnJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHJhbnNhY3REaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RyYW5zYWN0aW9ucy5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIHRyYW5zYWN0RGlhbG9nIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2FkZXJTZXJ2aWNlOiBMb2FkZXJTZXJ2aWNlLHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYiwgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjx0cmFuc2FjdERpYWxvZz4sIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICAgIHRoaXMuYWN0aW9uID0gdGhpcy5kYXRhLmFjdGlvbjtcclxuICAgIHRoaXMuYWNjb3VudCA9IHRoaXMuZGF0YS5hY2NvdW50O1xyXG4gICAgdGhpcy5hY2NvdW50cyA9IHRoaXMuZGF0YS5hY2NvdW50cztcclxuICAgIHRoaXMuY2F0ZWdvcmllcyA9IHRoaXMuZGF0YS5jYXRlZ29yaWVzO1xyXG4gICAgdGhpcy5pc0xvYWRDb21wbGV0ZSA9IHRydWU7XHJcblxyXG4gICAgaWYodGhpcy5hY3Rpb24gPT0gXCJlZGl0XCIpe1xyXG4gICAgICB0aGlzLnR4biA9IHRoaXMuZGF0YS5kYXRhXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5sb2FkZXJTZXJ2aWNlLmlzTG9hZGluZy5zdWJzY3JpYmUoeCA9PiB0aGlzLmlzUHJvY2Vzc2luZyA9IHgpO1xyXG5cclxuICB9XHJcblxyXG5cclxuICB0eG4gPSBuZXcgIFRyYW5zYWN0aW9uO1xyXG4gIGFjdGlvblxyXG4gIGFjY291bnRcclxuICBhY2NvdW50c1xyXG4gIGNhdGVnb3JpZXNcclxuXHJcbiAgaXNMb2FkQ29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpc1Byb2Nlc3Npbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gIHN1Ym1pdCgpIHtcclxuXHJcbiAgICBpZiAocGFyc2VGbG9hdCh0aGlzLnR4bi5hbW91bnQpID09IDApe1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRW50ZXIgQW1vdW50XCIpXHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmFjdGlvbiA9PSBcImluY29tZVwiKXtcclxuICAgICAgdGhpcy50eG4udHlwZSA9IDFcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnR4bi50eXBlID0gMFxyXG4gICAgfVxyXG5cclxuXHJcbiAgICB0aGlzLnR4bi5hY2NvdW50SUQgPSB0aGlzLmFjY291bnQuYWNjb3VudElEXHJcblxyXG4gICAgbGV0IGFjdDtcclxuICAgIGlmICh0aGlzLmFjdGlvbiA9PSBcImVkaXRcIil7XHJcbiAgICAgIGFjdCA9ICdlZGl0J1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZih0aGlzLmFjdGlvbiA9PSBcInRyYW5zZmVyXCIpIHtcclxuICAgICAgYWN0ID0gJ3RyYW5zZmVyJ1xyXG4gICAgfVxyXG4gICAgZWxzZXtcclxuICAgICAgYWN0ID0gJ2NyZWF0ZSdcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkNhbGxBcGkoeyB1cmw6IGBnZW5lcmFsL3RyYW5zYWN0aW9ucz9hY3Rpb249JHthY3R9YCwgbWV0aG9kOiAncG9zdCcgfSwgdGhpcy50eG4pLnN1YnNjcmliZSgoeCA6IEFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmICh4LnN1Y2Nlc3Mpe1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCdzdWNjZXNzJyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdCh4Lm1lc3NhZ2UpXHJcbiAgICAgIH1cclxuXHJcbiAgICB9KVxyXG4gIH1cclxufTtcclxuXHJcblxyXG5cclxuIiwiXHJcbjxoMiBtYXQtZGlhbG9nLXRpdGxlPnt7YWN0aW9uIHwgdGl0bGVjYXNlfX08L2gyPlxyXG5cclxuXHJcbjxtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwidGluLWlucHV0XCIgc3R5bGU9XCJmb250LXNpemU6MTRweFwiPlxyXG5cclxuICAgIDxzcGEtc2VsZWN0ICpuZ0lmPVwiYWN0aW9uID09ICd0cmFuc2ZlcidcIiBbKHZhbHVlKV09XCJ0eG4uZGVzdGluYXRpb25JRFwiIGRpc3BsYXk9XCJUcmFuc2ZlciB0b1wiIFtvcHRpb25zXT1cImFjY291bnRzXCIgb3B0aW9uRGlzcGxheT1cIm5hbWVcIiBvcHRpb25WYWx1ZT1cImFjY291bnRJRFwiPjwvc3BhLXNlbGVjdD5cclxuXHJcbiAgICA8c3BhLWRhdGUgZGlzcGxheT1cIkRhdGVcIiBbKHZhbHVlKV09XCJ0eG4uZGF0ZVwiPjwvc3BhLWRhdGU+XHJcbiAgICA8c3BhLW1vbmV5IGRpc3BsYXk9XCJBbW91bnRcIiBbKHZhbHVlKV09XCJ0eG4uYW1vdW50XCI+PC9zcGEtbW9uZXk+XHJcbiAgICA8c3BhLXRleHQgZGlzcGxheT1cIk5hcnJhdGlvblwiIFsodmFsdWUpXT1cInR4bi5uYXJyYXRpb25cIj48L3NwYS10ZXh0PlxyXG4gICAgPHNwYS1zZWxlY3QgZGlzcGxheT1cIkNhdGVnb3J5XCIgWyh2YWx1ZSldPVwidHhuLmNhdGVnb3J5SURcIiBbb3B0aW9uc109XCJjYXRlZ29yaWVzXCIgb3B0aW9uRGlzcGxheT1cIm5hbWVcIiBvcHRpb25WYWx1ZT1cImxpc3RJdGVtSURcIiBbZGVmYXVsdEZpcnN0VmFsdWVdPVwidHJ1ZVwiPjwvc3BhLXNlbGVjdD5cclxuXHJcblxyXG5cclxuICA8L2Rpdj5cclxuXHJcbjwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG5cclxuXHJcbjxtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbjxidXR0b24gbWF0LWJ1dHRvbiBbZGlzYWJsZWRdPVwiaXNQcm9jZXNzaW5nXCIgKGNsaWNrKT1cInN1Ym1pdCgpXCIgY2RrRm9jdXNJbml0aWFsPlN1Ym1pdDwvYnV0dG9uPlxyXG48YnV0dG9uIG1hdC1idXR0b24gW2Rpc2FibGVkXT1cImlzUHJvY2Vzc2luZ1wiIGNka0ZvY3VzSW5pdGlhbCBtYXQtZGlhbG9nLWNsb3NlPkNhbmNlbDwvYnV0dG9uPlxyXG48L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuXHJcblxyXG5cclxuIl19
|