tin-spa 9.0.0 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/tin-spa.umd.js +4416 -1589
- package/bundles/tin-spa.umd.js.map +1 -1
- package/bundles/tin-spa.umd.min.js +2 -2
- package/bundles/tin-spa.umd.min.js.map +1 -1
- package/esm2015/lib/classes/Classes.js +58 -45
- package/esm2015/lib/classes/TinCore.js +137 -0
- package/esm2015/lib/components/activity/activity.component.js +84 -18
- package/esm2015/lib/components/attach/attach.component.js +101 -27
- package/esm2015/lib/components/change-password/change-password.component.js +122 -34
- package/esm2015/lib/components/check/check.component.js +39 -33
- package/esm2015/lib/components/chips/chips.component.js +75 -35
- package/esm2015/lib/components/create-account/create-account.component.js +124 -42
- package/esm2015/lib/components/date/date.component.js +54 -33
- package/esm2015/lib/components/datetime/datetime.component.js +43 -30
- package/esm2015/lib/components/filter/filter.component.js +64 -0
- package/esm2015/lib/components/html/html.component.js +30 -25
- package/esm2015/lib/components/label/label.component.js +109 -21
- package/esm2015/lib/components/loader/loader.component.js +43 -20
- package/esm2015/lib/components/login/login.component.js +194 -76
- package/esm2015/lib/components/logs/logs.component.js +180 -28
- package/esm2015/lib/components/message/messageDialog.component.js +128 -17
- package/esm2015/lib/components/money/currency-input-mask.directive.js +187 -0
- package/esm2015/lib/components/money/currency-input-mask.module.js +30 -0
- package/esm2015/lib/components/money/money.component.js +141 -39
- package/esm2015/lib/components/nav-menu/nav-menu.component.js +174 -21
- package/esm2015/lib/components/option/option.component.js +107 -40
- package/esm2015/lib/components/profile/profile.component.js +143 -53
- package/esm2015/lib/components/recover-account/recover-account.component.js +48 -26
- package/esm2015/lib/components/roles/addRoleDialog.component.js +99 -26
- package/esm2015/lib/components/roles/roles.component.js +153 -73
- package/esm2015/lib/components/select/select.component.js +108 -48
- package/esm2015/lib/components/settings/settings.component.js +76 -21
- package/esm2015/lib/components/signup/signup.component.js +107 -24
- package/esm2015/lib/components/steps/steps.component.js +47 -31
- package/esm2015/lib/components/table/table.component.js +301 -35
- package/esm2015/lib/components/text/text.component.js +146 -71
- package/esm2015/lib/components/tiles/tiles.component.js +75 -21
- package/esm2015/lib/components/timeout/timeout.component.js +65 -22
- package/esm2015/lib/components/tin-spa.component.js +19 -12
- package/esm2015/lib/components/users/users.component.js +308 -65
- package/esm2015/lib/components/viewer/viewer.component.js +64 -39
- package/esm2015/lib/components/viewer/viewerDialog.component.js +73 -18
- package/esm2015/lib/dnd.directive.js +30 -25
- package/esm2015/lib/modules/spa-admin.module.js +65 -51
- package/esm2015/lib/modules/spa-index.module.js +45 -20
- package/esm2015/lib/modules/spa-mat.module.js +40 -25
- package/esm2015/lib/modules/spa-user.module.js +43 -19
- package/esm2015/lib/services/auth.service.js +39 -50
- package/esm2015/lib/services/data.service.js +82 -49
- package/esm2015/lib/services/export.service.js +11 -11
- package/esm2015/lib/services/http.service.js +79 -0
- package/esm2015/lib/services/loader-interceptor.service.js +30 -30
- package/esm2015/lib/services/loader.service.js +11 -11
- package/esm2015/lib/services/log.service.js +12 -12
- package/esm2015/lib/services/message.service.js +11 -17
- package/esm2015/lib/services/storage.service.js +12 -11
- package/esm2015/lib/services/tin-spa.service.js +11 -11
- package/esm2015/lib/tin-spa.module.js +113 -48
- package/esm2015/public-api.js +4 -6
- package/esm2015/tin-spa.js +1 -5
- package/esm5/lib/classes/Classes.js +70 -55
- package/esm5/lib/classes/TinCore.js +164 -0
- package/esm5/lib/components/activity/activity.component.js +82 -15
- package/esm5/lib/components/attach/attach.component.js +100 -24
- package/esm5/lib/components/change-password/change-password.component.js +120 -31
- package/esm5/lib/components/check/check.component.js +37 -30
- package/esm5/lib/components/chips/chips.component.js +73 -32
- package/esm5/lib/components/create-account/create-account.component.js +122 -39
- package/esm5/lib/components/date/date.component.js +52 -30
- package/esm5/lib/components/datetime/datetime.component.js +41 -27
- package/esm5/lib/components/filter/filter.component.js +66 -0
- package/esm5/lib/components/html/html.component.js +28 -22
- package/esm5/lib/components/label/label.component.js +107 -18
- package/esm5/lib/components/loader/loader.component.js +41 -17
- package/esm5/lib/components/login/login.component.js +193 -74
- package/esm5/lib/components/logs/logs.component.js +178 -25
- package/esm5/lib/components/message/messageDialog.component.js +126 -14
- package/esm5/lib/components/money/currency-input-mask.directive.js +193 -0
- package/esm5/lib/components/money/currency-input-mask.module.js +34 -0
- package/esm5/lib/components/money/money.component.js +139 -36
- package/esm5/lib/components/nav-menu/nav-menu.component.js +172 -18
- package/esm5/lib/components/option/option.component.js +105 -37
- package/esm5/lib/components/profile/profile.component.js +141 -50
- package/esm5/lib/components/recover-account/recover-account.component.js +46 -23
- package/esm5/lib/components/roles/addRoleDialog.component.js +97 -23
- package/esm5/lib/components/roles/roles.component.js +152 -72
- package/esm5/lib/components/select/select.component.js +106 -45
- package/esm5/lib/components/settings/settings.component.js +74 -18
- package/esm5/lib/components/signup/signup.component.js +105 -21
- package/esm5/lib/components/steps/steps.component.js +46 -28
- package/esm5/lib/components/table/table.component.js +299 -32
- package/esm5/lib/components/text/text.component.js +144 -68
- package/esm5/lib/components/tiles/tiles.component.js +73 -18
- package/esm5/lib/components/timeout/timeout.component.js +63 -19
- package/esm5/lib/components/tin-spa.component.js +16 -8
- package/esm5/lib/components/users/users.component.js +307 -62
- package/esm5/lib/components/viewer/viewer.component.js +62 -36
- package/esm5/lib/components/viewer/viewerDialog.component.js +71 -15
- package/esm5/lib/dnd.directive.js +28 -22
- package/esm5/lib/modules/spa-admin.module.js +63 -48
- package/esm5/lib/modules/spa-index.module.js +43 -17
- package/esm5/lib/modules/spa-mat.module.js +38 -22
- package/esm5/lib/modules/spa-user.module.js +41 -16
- package/esm5/lib/services/auth.service.js +37 -47
- package/esm5/lib/services/data.service.js +89 -55
- package/esm5/lib/services/export.service.js +9 -8
- package/esm5/lib/services/http.service.js +81 -0
- package/esm5/lib/services/loader-interceptor.service.js +28 -27
- package/esm5/lib/services/loader.service.js +9 -8
- package/esm5/lib/services/log.service.js +11 -9
- package/esm5/lib/services/message.service.js +9 -14
- package/esm5/lib/services/storage.service.js +10 -8
- package/esm5/lib/services/tin-spa.service.js +9 -8
- package/esm5/lib/tin-spa.module.js +111 -45
- package/esm5/public-api.js +4 -6
- package/esm5/tin-spa.js +1 -5
- package/fesm2015/tin-spa.js +4418 -1612
- package/fesm2015/tin-spa.js.map +1 -1
- package/fesm5/tin-spa.js +4442 -1612
- package/fesm5/tin-spa.js.map +1 -1
- package/lib/classes/Classes.d.ts +55 -43
- package/lib/classes/TinCore.d.ts +27 -0
- package/lib/components/activity/activity.component.d.ts +3 -5
- package/lib/components/attach/attach.component.d.ts +3 -5
- package/lib/components/change-password/change-password.component.d.ts +11 -9
- package/lib/components/check/check.component.d.ts +3 -5
- package/lib/components/chips/chips.component.d.ts +3 -5
- package/lib/components/create-account/create-account.component.d.ts +13 -13
- package/lib/components/date/date.component.d.ts +6 -7
- package/lib/components/datetime/datetime.component.d.ts +3 -5
- package/lib/components/filter/filter.component.d.ts +15 -0
- package/lib/components/html/html.component.d.ts +3 -5
- package/lib/components/label/label.component.d.ts +3 -5
- package/lib/components/loader/loader.component.d.ts +3 -5
- package/lib/components/login/login.component.d.ts +12 -14
- package/lib/components/logs/logs.component.d.ts +5 -9
- package/lib/components/message/messageDialog.component.d.ts +3 -5
- package/lib/components/money/currency-input-mask.directive.d.ts +41 -0
- package/lib/components/money/currency-input-mask.module.d.ts +8 -0
- package/lib/components/money/money.component.d.ts +19 -8
- package/lib/components/nav-menu/nav-menu.component.d.ts +3 -5
- package/lib/components/option/option.component.d.ts +4 -5
- package/lib/components/profile/profile.component.d.ts +9 -11
- package/lib/components/recover-account/recover-account.component.d.ts +6 -8
- package/lib/components/roles/addRoleDialog.component.d.ts +5 -7
- package/lib/components/roles/roles.component.d.ts +6 -10
- package/lib/components/select/select.component.d.ts +4 -6
- package/lib/components/settings/settings.component.d.ts +5 -7
- package/lib/components/signup/signup.component.d.ts +6 -8
- package/lib/components/steps/steps.component.d.ts +3 -5
- package/lib/components/table/table.component.d.ts +3 -5
- package/lib/components/text/text.component.d.ts +4 -5
- package/lib/components/tiles/tiles.component.d.ts +3 -5
- package/lib/components/timeout/timeout.component.d.ts +3 -5
- package/lib/components/tin-spa.component.d.ts +3 -5
- package/lib/components/users/users.component.d.ts +8 -13
- package/lib/components/viewer/viewer.component.d.ts +3 -5
- package/lib/components/viewer/viewerDialog.component.d.ts +4 -6
- package/lib/dnd.directive.d.ts +3 -5
- package/lib/modules/spa-admin.module.d.ts +13 -19
- package/lib/modules/spa-index.module.d.ts +10 -11
- package/lib/modules/spa-mat.module.d.ts +30 -32
- package/lib/modules/spa-user.module.d.ts +9 -10
- package/lib/services/auth.service.d.ts +14 -14
- package/lib/services/data.service.d.ts +28 -17
- package/lib/services/export.service.d.ts +3 -4
- package/lib/services/http.service.d.ts +22 -0
- package/lib/services/loader-interceptor.service.d.ts +3 -5
- package/lib/services/loader.service.d.ts +3 -4
- package/lib/services/log.service.d.ts +3 -4
- package/lib/services/message.service.d.ts +3 -4
- package/lib/services/storage.service.d.ts +3 -4
- package/lib/services/tin-spa.service.d.ts +3 -4
- package/lib/tin-spa.module.d.ts +35 -35
- package/package.json +2 -10
- package/public-api.d.ts +3 -5
- package/tin-spa.d.ts +1 -6
- package/__ivy_ngcc__/fesm2015/tin-spa.js +0 -6813
- package/__ivy_ngcc__/fesm2015/tin-spa.js.map +0 -1
- package/esm2015/lib/components/profiles/profiles.component.js +0 -16
- package/esm2015/lib/components/roles/editRoleDialog.component.js +0 -57
- package/esm2015/lib/components/roles/viewRoleDialog.component.js +0 -38
- package/esm2015/lib/components/users/addUserDialog.component.js +0 -53
- package/esm2015/lib/components/users/editUserDialog.component.js +0 -96
- package/esm5/lib/components/profiles/profiles.component.js +0 -18
- package/esm5/lib/components/roles/editRoleDialog.component.js +0 -59
- package/esm5/lib/components/roles/viewRoleDialog.component.js +0 -39
- package/esm5/lib/components/users/addUserDialog.component.js +0 -55
- package/esm5/lib/components/users/editUserDialog.component.js +0 -99
- package/lib/components/activity/activity.component.d.ts.__ivy_ngcc_bak +0 -8
- package/lib/components/attach/attach.component.d.ts.__ivy_ngcc_bak +0 -39
- package/lib/components/change-password/change-password.component.d.ts.__ivy_ngcc_bak +0 -20
- package/lib/components/check/check.component.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/components/chips/chips.component.d.ts.__ivy_ngcc_bak +0 -15
- package/lib/components/create-account/create-account.component.d.ts.__ivy_ngcc_bak +0 -25
- package/lib/components/date/date.component.d.ts.__ivy_ngcc_bak +0 -13
- package/lib/components/datetime/datetime.component.d.ts.__ivy_ngcc_bak +0 -12
- package/lib/components/html/html.component.d.ts.__ivy_ngcc_bak +0 -12
- package/lib/components/label/label.component.d.ts.__ivy_ngcc_bak +0 -8
- package/lib/components/loader/loader.component.d.ts.__ivy_ngcc_bak +0 -9
- package/lib/components/login/login.component.d.ts.__ivy_ngcc_bak +0 -29
- package/lib/components/logs/logs.component.d.ts.__ivy_ngcc_bak +0 -17
- package/lib/components/message/messageDialog.component.d.ts.__ivy_ngcc_bak +0 -12
- package/lib/components/money/money.component.d.ts.__ivy_ngcc_bak +0 -14
- package/lib/components/nav-menu/nav-menu.component.d.ts.__ivy_ngcc_bak +0 -17
- package/lib/components/option/option.component.d.ts.__ivy_ngcc_bak +0 -17
- package/lib/components/profile/profile.component.d.ts.__ivy_ngcc_bak +0 -30
- package/lib/components/profiles/profiles.component.d.ts +0 -10
- package/lib/components/profiles/profiles.component.d.ts.__ivy_ngcc_bak +0 -5
- package/lib/components/recover-account/recover-account.component.d.ts.__ivy_ngcc_bak +0 -15
- package/lib/components/roles/addRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -19
- package/lib/components/roles/editRoleDialog.component.d.ts +0 -24
- package/lib/components/roles/editRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -19
- package/lib/components/roles/roles.component.d.ts.__ivy_ngcc_bak +0 -29
- package/lib/components/roles/viewRoleDialog.component.d.ts +0 -20
- package/lib/components/roles/viewRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -15
- package/lib/components/select/select.component.d.ts.__ivy_ngcc_bak +0 -20
- package/lib/components/settings/settings.component.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/components/signup/signup.component.d.ts.__ivy_ngcc_bak +0 -20
- package/lib/components/steps/steps.component.d.ts.__ivy_ngcc_bak +0 -15
- package/lib/components/table/table.component.d.ts.__ivy_ngcc_bak +0 -25
- package/lib/components/text/text.component.d.ts.__ivy_ngcc_bak +0 -37
- package/lib/components/tiles/tiles.component.d.ts.__ivy_ngcc_bak +0 -11
- package/lib/components/timeout/timeout.component.d.ts.__ivy_ngcc_bak +0 -21
- package/lib/components/tin-spa.component.d.ts.__ivy_ngcc_bak +0 -5
- package/lib/components/users/addUserDialog.component.d.ts +0 -21
- package/lib/components/users/addUserDialog.component.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/components/users/editUserDialog.component.d.ts +0 -32
- package/lib/components/users/editUserDialog.component.d.ts.__ivy_ngcc_bak +0 -27
- package/lib/components/users/users.component.d.ts.__ivy_ngcc_bak +0 -35
- package/lib/components/viewer/viewer.component.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/components/viewer/viewerDialog.component.d.ts.__ivy_ngcc_bak +0 -19
- package/lib/dnd.directive.d.ts.__ivy_ngcc_bak +0 -8
- package/lib/modules/spa-admin.module.d.ts.__ivy_ngcc_bak +0 -2
- package/lib/modules/spa-index.module.d.ts.__ivy_ngcc_bak +0 -2
- package/lib/modules/spa-mat.module.d.ts.__ivy_ngcc_bak +0 -2
- package/lib/modules/spa-user.module.d.ts.__ivy_ngcc_bak +0 -2
- package/lib/services/auth.service.d.ts.__ivy_ngcc_bak +0 -45
- package/lib/services/data.service.d.ts.__ivy_ngcc_bak +0 -23
- package/lib/services/export.service.d.ts.__ivy_ngcc_bak +0 -7
- package/lib/services/loader-interceptor.service.d.ts.__ivy_ngcc_bak +0 -18
- package/lib/services/loader.service.d.ts.__ivy_ngcc_bak +0 -5
- package/lib/services/log.service.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/services/message.service.d.ts.__ivy_ngcc_bak +0 -12
- package/lib/services/storage.service.d.ts.__ivy_ngcc_bak +0 -7
- package/lib/services/tin-spa.service.d.ts.__ivy_ngcc_bak +0 -3
- package/lib/tin-spa.module.d.ts.__ivy_ngcc_bak +0 -2
- package/tin-spa.d.ts.__ivy_ngcc_bak +0 -8
- package/tin-spa.metadata.json +0 -1
|
@@ -1,43 +1,195 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
1
|
import { Component, ViewChild } from '@angular/core';
|
|
3
|
-
import { DataService } from "../../services/data.service";
|
|
4
2
|
import { MatTableDataSource } from '@angular/material/table';
|
|
5
|
-
import
|
|
6
|
-
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../services/auth.service";
|
|
5
|
+
import * as i2 from "../../services/data.service";
|
|
6
|
+
import * as i3 from "../filter/filter.component";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
import * as i5 from "@angular/material/paginator";
|
|
9
|
+
import * as i6 from "@angular/material/table";
|
|
10
|
+
const _c0 = ["logsPaginator"];
|
|
11
|
+
function LogsComponent_p_8_Template(rf, ctx) { if (rf & 1) {
|
|
12
|
+
i0.ɵɵelementStart(0, "p");
|
|
13
|
+
i0.ɵɵelementStart(1, "em");
|
|
14
|
+
i0.ɵɵtext(2, "Loading...");
|
|
15
|
+
i0.ɵɵelementEnd();
|
|
16
|
+
i0.ɵɵelementEnd();
|
|
17
|
+
} }
|
|
18
|
+
function LogsComponent_div_9_th_3_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
+
i0.ɵɵelementStart(0, "th", 21);
|
|
20
|
+
i0.ɵɵtext(1, " User ");
|
|
21
|
+
i0.ɵɵelementEnd();
|
|
22
|
+
} }
|
|
23
|
+
function LogsComponent_div_9_td_4_Template(rf, ctx) { if (rf & 1) {
|
|
24
|
+
i0.ɵɵelementStart(0, "td", 22);
|
|
25
|
+
i0.ɵɵtext(1);
|
|
26
|
+
i0.ɵɵelementEnd();
|
|
27
|
+
} if (rf & 2) {
|
|
28
|
+
const log_r15 = ctx.$implicit;
|
|
29
|
+
i0.ɵɵadvance(1);
|
|
30
|
+
i0.ɵɵtextInterpolate1(" ", log_r15.userName, " ");
|
|
31
|
+
} }
|
|
32
|
+
function LogsComponent_div_9_th_6_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
+
i0.ɵɵelementStart(0, "th", 23);
|
|
34
|
+
i0.ɵɵtext(1, " Date Logged ");
|
|
35
|
+
i0.ɵɵelementEnd();
|
|
36
|
+
} }
|
|
37
|
+
function LogsComponent_div_9_td_7_Template(rf, ctx) { if (rf & 1) {
|
|
38
|
+
i0.ɵɵelementStart(0, "td", 22);
|
|
39
|
+
i0.ɵɵtext(1);
|
|
40
|
+
i0.ɵɵpipe(2, "date");
|
|
41
|
+
i0.ɵɵelementEnd();
|
|
42
|
+
} if (rf & 2) {
|
|
43
|
+
const log_r16 = ctx.$implicit;
|
|
44
|
+
i0.ɵɵadvance(1);
|
|
45
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, log_r16.dateLogged, "dd MMM yy HH:mm:ss"), " ");
|
|
46
|
+
} }
|
|
47
|
+
function LogsComponent_div_9_th_9_Template(rf, ctx) { if (rf & 1) {
|
|
48
|
+
i0.ɵɵelementStart(0, "th", 21);
|
|
49
|
+
i0.ɵɵtext(1, " Source ");
|
|
50
|
+
i0.ɵɵelementEnd();
|
|
51
|
+
} }
|
|
52
|
+
function LogsComponent_div_9_td_10_Template(rf, ctx) { if (rf & 1) {
|
|
53
|
+
i0.ɵɵelementStart(0, "td", 22);
|
|
54
|
+
i0.ɵɵtext(1);
|
|
55
|
+
i0.ɵɵelementEnd();
|
|
56
|
+
} if (rf & 2) {
|
|
57
|
+
const log_r17 = ctx.$implicit;
|
|
58
|
+
i0.ɵɵadvance(1);
|
|
59
|
+
i0.ɵɵtextInterpolate1(" ", log_r17.source, " ");
|
|
60
|
+
} }
|
|
61
|
+
function LogsComponent_div_9_th_12_Template(rf, ctx) { if (rf & 1) {
|
|
62
|
+
i0.ɵɵelementStart(0, "th", 21);
|
|
63
|
+
i0.ɵɵtext(1, " Details ");
|
|
64
|
+
i0.ɵɵelementEnd();
|
|
65
|
+
} }
|
|
66
|
+
function LogsComponent_div_9_td_13_Template(rf, ctx) { if (rf & 1) {
|
|
67
|
+
i0.ɵɵelementStart(0, "td", 22);
|
|
68
|
+
i0.ɵɵtext(1);
|
|
69
|
+
i0.ɵɵelementEnd();
|
|
70
|
+
} if (rf & 2) {
|
|
71
|
+
const log_r18 = ctx.$implicit;
|
|
72
|
+
i0.ɵɵadvance(1);
|
|
73
|
+
i0.ɵɵtextInterpolate1(" ", log_r18.details, " ");
|
|
74
|
+
} }
|
|
75
|
+
function LogsComponent_div_9_th_15_Template(rf, ctx) { if (rf & 1) {
|
|
76
|
+
i0.ɵɵelementStart(0, "th", 21);
|
|
77
|
+
i0.ɵɵtext(1, " Name ");
|
|
78
|
+
i0.ɵɵelementEnd();
|
|
79
|
+
} }
|
|
80
|
+
function LogsComponent_div_9_td_16_Template(rf, ctx) { if (rf & 1) {
|
|
81
|
+
i0.ɵɵelementStart(0, "td", 22);
|
|
82
|
+
i0.ɵɵtext(1);
|
|
83
|
+
i0.ɵɵelementEnd();
|
|
84
|
+
} if (rf & 2) {
|
|
85
|
+
const log_r19 = ctx.$implicit;
|
|
86
|
+
i0.ɵɵadvance(1);
|
|
87
|
+
i0.ɵɵtextInterpolate2("", log_r19.user.firstName, " ", log_r19.user.lastName, "");
|
|
88
|
+
} }
|
|
89
|
+
function LogsComponent_div_9_tr_17_Template(rf, ctx) { if (rf & 1) {
|
|
90
|
+
i0.ɵɵelement(0, "tr", 24);
|
|
91
|
+
} }
|
|
92
|
+
function LogsComponent_div_9_tr_18_Template(rf, ctx) { if (rf & 1) {
|
|
93
|
+
i0.ɵɵelement(0, "tr", 25);
|
|
94
|
+
} }
|
|
95
|
+
function LogsComponent_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
96
|
+
i0.ɵɵelementStart(0, "div", 9);
|
|
97
|
+
i0.ɵɵelementStart(1, "table", 10);
|
|
98
|
+
i0.ɵɵelementContainerStart(2, 11);
|
|
99
|
+
i0.ɵɵtemplate(3, LogsComponent_div_9_th_3_Template, 2, 0, "th", 12);
|
|
100
|
+
i0.ɵɵtemplate(4, LogsComponent_div_9_td_4_Template, 2, 1, "td", 13);
|
|
101
|
+
i0.ɵɵelementContainerEnd();
|
|
102
|
+
i0.ɵɵelementContainerStart(5, 14);
|
|
103
|
+
i0.ɵɵtemplate(6, LogsComponent_div_9_th_6_Template, 2, 0, "th", 15);
|
|
104
|
+
i0.ɵɵtemplate(7, LogsComponent_div_9_td_7_Template, 3, 4, "td", 13);
|
|
105
|
+
i0.ɵɵelementContainerEnd();
|
|
106
|
+
i0.ɵɵelementContainerStart(8, 16);
|
|
107
|
+
i0.ɵɵtemplate(9, LogsComponent_div_9_th_9_Template, 2, 0, "th", 12);
|
|
108
|
+
i0.ɵɵtemplate(10, LogsComponent_div_9_td_10_Template, 2, 1, "td", 13);
|
|
109
|
+
i0.ɵɵelementContainerEnd();
|
|
110
|
+
i0.ɵɵelementContainerStart(11, 17);
|
|
111
|
+
i0.ɵɵtemplate(12, LogsComponent_div_9_th_12_Template, 2, 0, "th", 12);
|
|
112
|
+
i0.ɵɵtemplate(13, LogsComponent_div_9_td_13_Template, 2, 1, "td", 13);
|
|
113
|
+
i0.ɵɵelementContainerEnd();
|
|
114
|
+
i0.ɵɵelementContainerStart(14, 18);
|
|
115
|
+
i0.ɵɵtemplate(15, LogsComponent_div_9_th_15_Template, 2, 0, "th", 12);
|
|
116
|
+
i0.ɵɵtemplate(16, LogsComponent_div_9_td_16_Template, 2, 2, "td", 13);
|
|
117
|
+
i0.ɵɵelementContainerEnd();
|
|
118
|
+
i0.ɵɵtemplate(17, LogsComponent_div_9_tr_17_Template, 1, 0, "tr", 19);
|
|
119
|
+
i0.ɵɵtemplate(18, LogsComponent_div_9_tr_18_Template, 1, 0, "tr", 20);
|
|
120
|
+
i0.ɵɵelementEnd();
|
|
121
|
+
i0.ɵɵelementEnd();
|
|
122
|
+
} if (rf & 2) {
|
|
123
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
124
|
+
i0.ɵɵadvance(1);
|
|
125
|
+
i0.ɵɵproperty("dataSource", ctx_r1.logs);
|
|
126
|
+
i0.ɵɵadvance(16);
|
|
127
|
+
i0.ɵɵproperty("matHeaderRowDef", ctx_r1.displayedColumns);
|
|
128
|
+
i0.ɵɵadvance(1);
|
|
129
|
+
i0.ɵɵproperty("matRowDefColumns", ctx_r1.displayedColumns);
|
|
130
|
+
} }
|
|
131
|
+
const _c1 = function () { return [50, 100, 200]; };
|
|
132
|
+
export class LogsComponent {
|
|
7
133
|
constructor(authService, dataService) {
|
|
8
134
|
this.authService = authService;
|
|
9
135
|
this.dataService = dataService;
|
|
10
136
|
this.isProcessing = false;
|
|
11
|
-
this.
|
|
12
|
-
this.displayedColumns = ["dateLogged", "userID", "fullName", "source", "details"];
|
|
137
|
+
this.displayedColumns = ["dateLogged", "userName", "fullName", "source", "details"];
|
|
13
138
|
}
|
|
14
139
|
ngOnInit() {
|
|
140
|
+
this.authService.isAuthorised(this.dataService.capLogs.name);
|
|
15
141
|
this.loadLogs();
|
|
16
142
|
}
|
|
17
143
|
loadLogs() {
|
|
18
144
|
this.dataService.GetLog("all", "").subscribe((apiResponse) => {
|
|
19
|
-
this.logs = new MatTableDataSource(apiResponse
|
|
145
|
+
this.logs = new MatTableDataSource(apiResponse);
|
|
20
146
|
this.logs.paginator = this.logsPaginator;
|
|
21
|
-
this.applyFilter(this._filterText);
|
|
22
147
|
});
|
|
23
148
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
]
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
149
|
+
}
|
|
150
|
+
LogsComponent.ɵfac = function LogsComponent_Factory(t) { return new (t || LogsComponent)(i0.ɵɵdirectiveInject(i1.AuthService), i0.ɵɵdirectiveInject(i2.DataServiceLib)); };
|
|
151
|
+
LogsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: LogsComponent, selectors: [["spa-logs"]], viewQuery: function LogsComponent_Query(rf, ctx) { if (rf & 1) {
|
|
152
|
+
i0.ɵɵviewQuery(_c0, true);
|
|
153
|
+
} if (rf & 2) {
|
|
154
|
+
var _t;
|
|
155
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.logsPaginator = _t.first);
|
|
156
|
+
} }, decls: 12, vars: 5, consts: [[1, "container-fluid"], [1, "row", "justify-content-between", 2, "padding-bottom", "10px"], [1, "col-2"], [1, "d-flex", "justify-content-end"], [3, "data", "refreshClick"], [4, "ngIf"], ["class", "mat-elevation-z8", 4, "ngIf"], ["showFirstLastButtons", "", 3, "pageSizeOptions"], ["logsPaginator", ""], [1, "mat-elevation-z8"], ["id", "tblTable", "mat-table", "", 3, "dataSource"], ["matColumnDef", "userName"], ["mat-header-cell", "", 4, "matHeaderCellDef"], ["mat-cell", "", 4, "matCellDef"], ["matColumnDef", "dateLogged"], ["mat-header-cell", "", "class", "datetime", 4, "matHeaderCellDef"], ["matColumnDef", "source"], ["matColumnDef", "details"], ["matColumnDef", "fullName"], ["mat-header-row", "", 4, "matHeaderRowDef"], ["mat-row", "", 4, "matRowDef", "matRowDefColumns"], ["mat-header-cell", ""], ["mat-cell", ""], ["mat-header-cell", "", 1, "datetime"], ["mat-header-row", ""], ["mat-row", ""]], template: function LogsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
157
|
+
i0.ɵɵelementStart(0, "h4");
|
|
158
|
+
i0.ɵɵtext(1, "Logs");
|
|
159
|
+
i0.ɵɵelementEnd();
|
|
160
|
+
i0.ɵɵelement(2, "hr");
|
|
161
|
+
i0.ɵɵelementStart(3, "div", 0);
|
|
162
|
+
i0.ɵɵelementStart(4, "div", 1);
|
|
163
|
+
i0.ɵɵelement(5, "div", 2);
|
|
164
|
+
i0.ɵɵelementStart(6, "div", 3);
|
|
165
|
+
i0.ɵɵelementStart(7, "spa-filter", 4);
|
|
166
|
+
i0.ɵɵlistener("refreshClick", function LogsComponent_Template_spa_filter_refreshClick_7_listener() { return ctx.loadLogs(); });
|
|
167
|
+
i0.ɵɵelementEnd();
|
|
168
|
+
i0.ɵɵelementEnd();
|
|
169
|
+
i0.ɵɵelementEnd();
|
|
170
|
+
i0.ɵɵtemplate(8, LogsComponent_p_8_Template, 3, 0, "p", 5);
|
|
171
|
+
i0.ɵɵtemplate(9, LogsComponent_div_9_Template, 19, 3, "div", 6);
|
|
172
|
+
i0.ɵɵelement(10, "mat-paginator", 7, 8);
|
|
173
|
+
i0.ɵɵelementEnd();
|
|
174
|
+
} if (rf & 2) {
|
|
175
|
+
i0.ɵɵadvance(7);
|
|
176
|
+
i0.ɵɵproperty("data", ctx.logs);
|
|
177
|
+
i0.ɵɵadvance(1);
|
|
178
|
+
i0.ɵɵproperty("ngIf", !ctx.logs);
|
|
179
|
+
i0.ɵɵadvance(1);
|
|
180
|
+
i0.ɵɵproperty("ngIf", ctx.logs);
|
|
181
|
+
i0.ɵɵadvance(1);
|
|
182
|
+
i0.ɵɵproperty("pageSizeOptions", i0.ɵɵpureFunction0(4, _c1));
|
|
183
|
+
} }, directives: [i3.FilterComponent, i4.NgIf, i5.MatPaginator, i6.MatTable, i6.MatColumnDef, i6.MatHeaderCellDef, i6.MatCellDef, i6.MatHeaderRowDef, i6.MatRowDef, i6.MatHeaderCell, i6.MatCell, i6.MatHeaderRow, i6.MatRow], pipes: [i4.DatePipe], styles: [".mat-mini-fab[_ngcontent-%COMP%]{width:32px;height:32px}.mat-mini-fab[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;margin-top:-3px}.refreshIcon[_ngcontent-%COMP%]{font-size:22px!important;margin-top:-7px!important}"] });
|
|
184
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(LogsComponent, [{
|
|
185
|
+
type: Component,
|
|
186
|
+
args: [{
|
|
187
|
+
selector: 'spa-logs',
|
|
188
|
+
templateUrl: './logs.component.html',
|
|
189
|
+
styleUrls: ['./logs.component.css']
|
|
190
|
+
}]
|
|
191
|
+
}], function () { return [{ type: i1.AuthService }, { type: i2.DataServiceLib }]; }, { logsPaginator: [{
|
|
192
|
+
type: ViewChild,
|
|
193
|
+
args: ["logsPaginator"]
|
|
194
|
+
}] }); })();
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9ncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbG9ncy9sb2dzLmNvbXBvbmVudC50cyIsImxpYi9jb21wb25lbnRzL2xvZ3MvbG9ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7OztJQ2MzRCx5QkFBaUI7SUFBQSwwQkFBSTtJQUFBLDBCQUFVO0lBQUEsaUJBQUs7SUFBQSxpQkFBSTs7O0lBU2xDLDhCQUF1QztJQUFBLHNCQUFLO0lBQUEsaUJBQUs7OztJQUNqRCw4QkFBb0M7SUFBQSxZQUFpQjtJQUFBLGlCQUFLOzs7SUFBdEIsZUFBaUI7SUFBakIsaURBQWlCOzs7SUFLckQsOEJBQXdEO0lBQUEsNkJBQVk7SUFBQSxpQkFBSzs7O0lBQ3pFLDhCQUFvQztJQUFBLFlBQWdEOztJQUFBLGlCQUFLOzs7SUFBckQsZUFBZ0Q7SUFBaEQsK0ZBQWdEOzs7SUFJcEYsOEJBQXVDO0lBQUEsd0JBQU87SUFBQSxpQkFBSzs7O0lBQ25ELDhCQUFvQztJQUFBLFlBQWU7SUFBQSxpQkFBSzs7O0lBQXBCLGVBQWU7SUFBZiwrQ0FBZTs7O0lBSW5ELDhCQUF1QztJQUFBLHlCQUFRO0lBQUEsaUJBQUs7OztJQUNwRCw4QkFBb0M7SUFBQSxZQUFnQjtJQUFBLGlCQUFLOzs7SUFBckIsZUFBZ0I7SUFBaEIsZ0RBQWdCOzs7SUFJcEQsOEJBQXVDO0lBQUEsc0JBQUs7SUFBQSxpQkFBSzs7O0lBQ2pELDhCQUFtQztJQUFBLFlBQTRDO0lBQUEsaUJBQUs7OztJQUFqRCxlQUE0QztJQUE1QyxpRkFBNEM7OztJQU1qRix5QkFBNEQ7OztJQUM1RCx5QkFBa0U7OztJQW5DdEUsOEJBRUU7SUFBQSxpQ0FHRTtJQUFBLGlDQUNFO0lBQUEsbUVBQXVDO0lBQ3ZDLG1FQUFvQztJQUN0QywwQkFBZTtJQUdmLGlDQUNFO0lBQUEsbUVBQXdEO0lBQ3hELG1FQUFvQztJQUN0QywwQkFBZTtJQUVmLGlDQUNFO0lBQUEsbUVBQXVDO0lBQ3ZDLHFFQUFvQztJQUN0QywwQkFBZTtJQUVmLGtDQUNFO0lBQUEscUVBQXVDO0lBQ3ZDLHFFQUFvQztJQUN0QywwQkFBZTtJQUVmLGtDQUNFO0lBQUEscUVBQXVDO0lBQ3ZDLHFFQUFtQztJQUNyQywwQkFBZTtJQUtmLHFFQUF1RDtJQUN2RCxxRUFBNkQ7SUFHL0QsaUJBQVE7SUFFVixpQkFBTTs7O0lBdEMyQixlQUFtQjtJQUFuQix3Q0FBbUI7SUFnQzdCLGdCQUFtQztJQUFuQyx5REFBbUM7SUFDMUMsZUFBZ0Q7SUFBaEQsMERBQWdEOzs7QUQ1Q2xFLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQW9CLFdBQXdCLEVBQVUsV0FBMkI7UUFBN0QsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFPakYsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFNOUIscUJBQWdCLEdBQWEsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFiSCxDQUFDO0lBRXZGLFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQVVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFFM0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFFM0MsQ0FBQyxDQUNBLENBQUM7SUFDSixDQUFDOzswRUF4QlUsYUFBYTtrREFBYixhQUFhOzs7Ozs7UUNYMUIsMEJBQUk7UUFBQSxvQkFBSTtRQUFBLGlCQUFLO1FBQ2IscUJBRUE7UUFBQSw4QkFFRTtRQUFBLDhCQUVFO1FBQUEseUJBQ007UUFFTiw4QkFDRTtRQUFBLHFDQUFtRTtRQUF6Qyw0R0FBZ0IsY0FBVSxJQUFDO1FBQUMsaUJBQWE7UUFDdEUsaUJBQU07UUFDUCxpQkFBTTtRQUlOLDBEQUFpQjtRQUdqQiwrREFFRTtRQXdDRix1Q0FBc0c7UUFDeEcsaUJBQU07O1FBcERZLGVBQWE7UUFBYiwrQkFBYTtRQU0xQixlQUFhO1FBQWIsZ0NBQWE7UUFHYyxlQUFZO1FBQVosK0JBQVk7UUEwQ1osZUFBa0M7UUFBbEMsNERBQWtDOztrRERuRHJELGFBQWE7Y0FMekIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxVQUFVO2dCQUNwQixXQUFXLEVBQUUsdUJBQXVCO2dCQUNwQyxTQUFTLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzthQUNwQzs7a0JBVUUsU0FBUzttQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZUxpYiB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9kYXRhLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NwYS1sb2dzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbG9ncy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbG9ncy5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYiwpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UuaXNBdXRob3Jpc2VkKHRoaXMuZGF0YVNlcnZpY2UuY2FwTG9ncy5uYW1lKTtcclxuICAgIHRoaXMubG9hZExvZ3MoKTtcclxuICB9XHJcblxyXG4gIGlzUHJvY2Vzc2luZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBWaWV3Q2hpbGQoXCJsb2dzUGFnaW5hdG9yXCIpIGxvZ3NQYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcclxuXHJcblxyXG4gIGxvZ3M7XHJcblxyXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW1wiZGF0ZUxvZ2dlZFwiLCBcInVzZXJOYW1lXCIsIFwiZnVsbE5hbWVcIiwgXCJzb3VyY2VcIiwgXCJkZXRhaWxzXCJdO1xyXG5cclxuICBwdWJsaWMgbG9hZExvZ3MoKSB7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkdldExvZyhcImFsbFwiLCBcIlwiKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlKSA9PiB7XHJcblxyXG4gICAgICB0aGlzLmxvZ3MgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKGFwaVJlc3BvbnNlKTtcclxuICAgICAgdGhpcy5sb2dzLnBhZ2luYXRvciA9IHRoaXMubG9nc1BhZ2luYXRvcjtcclxuXHJcbiAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGg0PkxvZ3M8L2g0PlxyXG48aHIgLz5cclxuXHJcbjxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInJvdyBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDEwcHhcIj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTJcIj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgICA8c3BhLWZpbHRlciBbZGF0YV09XCJsb2dzXCIgKHJlZnJlc2hDbGljayk9XCJsb2FkTG9ncygpXCI+PC9zcGEtZmlsdGVyPlxyXG4gICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcblxyXG5cclxuICA8cCAqbmdJZj1cIiFsb2dzXCI+PGVtPkxvYWRpbmcuLi48L2VtPjwvcD5cclxuXHJcblxyXG4gIDxkaXYgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXo4XCIgKm5nSWY9XCJsb2dzXCI+XHJcblxyXG4gICAgPHRhYmxlIGlkPVwidGJsVGFibGVcIiBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwibG9nc1wiPlxyXG5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidXNlck5hbWVcIj5cclxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBVc2VyIDwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGxvZ1wiPiB7e2xvZy51c2VyTmFtZX19IDwvdGQ+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZGF0ZUxvZ2dlZFwiPlxyXG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9XCJkYXRldGltZVwiPiBEYXRlIExvZ2dlZCA8L3RoPlxyXG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBsb2dcIj4ge3tsb2cuZGF0ZUxvZ2dlZCB8IGRhdGU6ICdkZCBNTU0geXkgSEg6bW06c3MnfX0gPC90ZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInNvdXJjZVwiPlxyXG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IFNvdXJjZSA8L3RoPlxyXG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBsb2dcIj4ge3tsb2cuc291cmNlfX0gPC90ZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRldGFpbHNcIj5cclxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBEZXRhaWxzIDwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGxvZ1wiPiB7e2xvZy5kZXRhaWxzfX0gPC90ZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImZ1bGxOYW1lXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gTmFtZSA8L3RoPlxyXG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBsb2dcIj57e2xvZy51c2VyLmZpcnN0TmFtZX19IHt7bG9nLnVzZXIubGFzdE5hbWV9fTwvdGQ+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcblxyXG5cclxuICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cclxuICAgICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cclxuXHJcblxyXG4gICAgPC90YWJsZT5cclxuXHJcbiAgPC9kaXY+XHJcblxyXG4gIDxtYXQtcGFnaW5hdG9yICNsb2dzUGFnaW5hdG9yIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzUwLCAxMDAsIDIwMF1cIiBzaG93Rmlyc3RMYXN0QnV0dG9ucz48L21hdC1wYWdpbmF0b3I+XHJcbjwvZGl2PlxyXG5cclxuIl19
|
|
@@ -1,7 +1,83 @@
|
|
|
1
|
-
import { __decorate, __param } from "tslib";
|
|
2
1
|
import { Component, Inject } from '@angular/core';
|
|
3
|
-
import {
|
|
4
|
-
|
|
2
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/dialog";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/material/form-field";
|
|
7
|
+
import * as i4 from "@angular/material/button";
|
|
8
|
+
function messageDialog_mat_label_1_Template(rf, ctx) { if (rf & 1) {
|
|
9
|
+
i0.ɵɵelementStart(0, "mat-label");
|
|
10
|
+
i0.ɵɵtext(1, "Confirm");
|
|
11
|
+
i0.ɵɵelementEnd();
|
|
12
|
+
} }
|
|
13
|
+
function messageDialog_mat_label_2_Template(rf, ctx) { if (rf & 1) {
|
|
14
|
+
i0.ɵɵelementStart(0, "mat-label");
|
|
15
|
+
i0.ɵɵtext(1, "Information");
|
|
16
|
+
i0.ɵɵelementEnd();
|
|
17
|
+
} }
|
|
18
|
+
function messageDialog_mat_label_3_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
+
i0.ɵɵelementStart(0, "mat-label");
|
|
20
|
+
i0.ɵɵtext(1, "Error");
|
|
21
|
+
i0.ɵɵelementEnd();
|
|
22
|
+
} }
|
|
23
|
+
function messageDialog_p_5_Template(rf, ctx) { if (rf & 1) {
|
|
24
|
+
i0.ɵɵelementStart(0, "p");
|
|
25
|
+
i0.ɵɵtext(1);
|
|
26
|
+
i0.ɵɵelementEnd();
|
|
27
|
+
} if (rf & 2) {
|
|
28
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
29
|
+
i0.ɵɵadvance(1);
|
|
30
|
+
i0.ɵɵtextInterpolate(ctx_r3._messageDetails);
|
|
31
|
+
} }
|
|
32
|
+
function messageDialog_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
+
i0.ɵɵelementStart(0, "div");
|
|
34
|
+
i0.ɵɵelementStart(1, "h3");
|
|
35
|
+
i0.ɵɵtext(2);
|
|
36
|
+
i0.ɵɵelementEnd();
|
|
37
|
+
i0.ɵɵelementStart(3, "mat-label");
|
|
38
|
+
i0.ɵɵtext(4);
|
|
39
|
+
i0.ɵɵelementEnd();
|
|
40
|
+
i0.ɵɵelementEnd();
|
|
41
|
+
} if (rf & 2) {
|
|
42
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
43
|
+
i0.ɵɵadvance(2);
|
|
44
|
+
i0.ɵɵtextInterpolate(ctx_r4._messageSubject);
|
|
45
|
+
i0.ɵɵadvance(2);
|
|
46
|
+
i0.ɵɵtextInterpolate(ctx_r4._messageDetails);
|
|
47
|
+
} }
|
|
48
|
+
function messageDialog_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
49
|
+
i0.ɵɵelementStart(0, "div");
|
|
50
|
+
i0.ɵɵelementStart(1, "mat-label");
|
|
51
|
+
i0.ɵɵtext(2);
|
|
52
|
+
i0.ɵɵelementEnd();
|
|
53
|
+
i0.ɵɵelementEnd();
|
|
54
|
+
} if (rf & 2) {
|
|
55
|
+
const ctx_r5 = i0.ɵɵnextContext();
|
|
56
|
+
i0.ɵɵadvance(2);
|
|
57
|
+
i0.ɵɵtextInterpolate(ctx_r5._messageDetails);
|
|
58
|
+
} }
|
|
59
|
+
function messageDialog_button_9_Template(rf, ctx) { if (rf & 1) {
|
|
60
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
61
|
+
i0.ɵɵelementStart(0, "button", 6);
|
|
62
|
+
i0.ɵɵlistener("click", function messageDialog_button_9_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(); return ctx_r9.response("yes"); });
|
|
63
|
+
i0.ɵɵtext(1, "Yes");
|
|
64
|
+
i0.ɵɵelementEnd();
|
|
65
|
+
} }
|
|
66
|
+
function messageDialog_button_10_Template(rf, ctx) { if (rf & 1) {
|
|
67
|
+
const _r12 = i0.ɵɵgetCurrentView();
|
|
68
|
+
i0.ɵɵelementStart(0, "button", 7);
|
|
69
|
+
i0.ɵɵlistener("click", function messageDialog_button_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(); return ctx_r11.response("no"); });
|
|
70
|
+
i0.ɵɵtext(1, "No");
|
|
71
|
+
i0.ɵɵelementEnd();
|
|
72
|
+
} }
|
|
73
|
+
function messageDialog_button_11_Template(rf, ctx) { if (rf & 1) {
|
|
74
|
+
const _r14 = i0.ɵɵgetCurrentView();
|
|
75
|
+
i0.ɵɵelementStart(0, "button", 8);
|
|
76
|
+
i0.ɵɵlistener("click", function messageDialog_button_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(); return ctx_r13.response("ok"); });
|
|
77
|
+
i0.ɵɵtext(1, "OK");
|
|
78
|
+
i0.ɵɵelementEnd();
|
|
79
|
+
} }
|
|
80
|
+
export class messageDialog {
|
|
5
81
|
constructor(dialogRef, data) {
|
|
6
82
|
this.dialogRef = dialogRef;
|
|
7
83
|
this.data = data;
|
|
@@ -14,18 +90,53 @@ let messageDialog = class messageDialog {
|
|
|
14
90
|
response(resp) {
|
|
15
91
|
this.dialogRef.close(resp);
|
|
16
92
|
}
|
|
17
|
-
}
|
|
18
|
-
messageDialog
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
93
|
+
}
|
|
94
|
+
messageDialog.ɵfac = function messageDialog_Factory(t) { return new (t || messageDialog)(i0.ɵɵdirectiveInject(i1.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
|
|
95
|
+
messageDialog.ɵcmp = i0.ɵɵdefineComponent({ type: messageDialog, selectors: [["lib-app-message"]], decls: 12, vars: 9, consts: [["mat-dialog-title", ""], [4, "ngIf"], [1, "mat-typography"], ["id", "btnYes", "mat-stroked-button", "", "cdkFocusInitial", "", 3, "click", 4, "ngIf"], ["id", "btnNo", "mat-stroked-button", "", 3, "click", 4, "ngIf"], ["id", "btnOK", "mat-stroked-button", "", "cdkFocusInitial", "", 3, "click", 4, "ngIf"], ["id", "btnYes", "mat-stroked-button", "", "cdkFocusInitial", "", 3, "click"], ["id", "btnNo", "mat-stroked-button", "", 3, "click"], ["id", "btnOK", "mat-stroked-button", "", "cdkFocusInitial", "", 3, "click"]], template: function messageDialog_Template(rf, ctx) { if (rf & 1) {
|
|
96
|
+
i0.ɵɵelementStart(0, "h2", 0);
|
|
97
|
+
i0.ɵɵtemplate(1, messageDialog_mat_label_1_Template, 2, 0, "mat-label", 1);
|
|
98
|
+
i0.ɵɵtemplate(2, messageDialog_mat_label_2_Template, 2, 0, "mat-label", 1);
|
|
99
|
+
i0.ɵɵtemplate(3, messageDialog_mat_label_3_Template, 2, 0, "mat-label", 1);
|
|
100
|
+
i0.ɵɵelementEnd();
|
|
101
|
+
i0.ɵɵelementStart(4, "mat-dialog-content", 2);
|
|
102
|
+
i0.ɵɵtemplate(5, messageDialog_p_5_Template, 2, 1, "p", 1);
|
|
103
|
+
i0.ɵɵtemplate(6, messageDialog_div_6_Template, 5, 2, "div", 1);
|
|
104
|
+
i0.ɵɵtemplate(7, messageDialog_div_7_Template, 3, 1, "div", 1);
|
|
105
|
+
i0.ɵɵelementEnd();
|
|
106
|
+
i0.ɵɵelementStart(8, "mat-dialog-actions");
|
|
107
|
+
i0.ɵɵtemplate(9, messageDialog_button_9_Template, 2, 0, "button", 3);
|
|
108
|
+
i0.ɵɵtemplate(10, messageDialog_button_10_Template, 2, 0, "button", 4);
|
|
109
|
+
i0.ɵɵtemplate(11, messageDialog_button_11_Template, 2, 0, "button", 5);
|
|
110
|
+
i0.ɵɵelementEnd();
|
|
111
|
+
} if (rf & 2) {
|
|
112
|
+
i0.ɵɵadvance(1);
|
|
113
|
+
i0.ɵɵproperty("ngIf", ctx.messageType == "confirm");
|
|
114
|
+
i0.ɵɵadvance(1);
|
|
115
|
+
i0.ɵɵproperty("ngIf", ctx.messageType == "info");
|
|
116
|
+
i0.ɵɵadvance(1);
|
|
117
|
+
i0.ɵɵproperty("ngIf", ctx.messageType == "error");
|
|
118
|
+
i0.ɵɵadvance(2);
|
|
119
|
+
i0.ɵɵproperty("ngIf", ctx.messageType == "confirm");
|
|
120
|
+
i0.ɵɵadvance(1);
|
|
121
|
+
i0.ɵɵproperty("ngIf", ctx.messageType == "info");
|
|
122
|
+
i0.ɵɵadvance(1);
|
|
123
|
+
i0.ɵɵproperty("ngIf", ctx.messageType == "error");
|
|
124
|
+
i0.ɵɵadvance(2);
|
|
125
|
+
i0.ɵɵproperty("ngIf", ctx.messageType == "confirm");
|
|
126
|
+
i0.ɵɵadvance(1);
|
|
127
|
+
i0.ɵɵproperty("ngIf", ctx.messageType == "confirm");
|
|
128
|
+
i0.ɵɵadvance(1);
|
|
129
|
+
i0.ɵɵproperty("ngIf", ctx.messageType == "info" || ctx.messageType == "error");
|
|
130
|
+
} }, directives: [i1.MatDialogTitle, i2.NgIf, i1.MatDialogContent, i1.MatDialogActions, i3.MatLabel, i4.MatButton], encapsulation: 2 });
|
|
131
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(messageDialog, [{
|
|
132
|
+
type: Component,
|
|
133
|
+
args: [{
|
|
134
|
+
selector: 'lib-app-message',
|
|
135
|
+
templateUrl: './messageDialog.component.html'
|
|
136
|
+
}]
|
|
137
|
+
}], function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
138
|
+
type: Inject,
|
|
139
|
+
args: [MAT_DIALOG_DATA]
|
|
140
|
+
}] }]; }, null); })();
|
|
30
141
|
;
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZURpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbWVzc2FnZS9tZXNzYWdlRGlhbG9nLmNvbXBvbmVudC50cyIsImxpYi9jb21wb25lbnRzL21lc3NhZ2UvbWVzc2FnZURpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQWEsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0lDRWhGLGlDQUEwQztJQUFBLHVCQUFPO0lBQUEsaUJBQVk7OztJQUM3RCxpQ0FBdUM7SUFBQSwyQkFBVztJQUFBLGlCQUFZOzs7SUFDOUQsaUNBQXdDO0lBQUEscUJBQUs7SUFBQSxpQkFBWTs7O0lBUXpELHlCQUFrQztJQUFBLFlBQW1CO0lBQUEsaUJBQUk7OztJQUF2QixlQUFtQjtJQUFuQiw0Q0FBbUI7OztJQUlyRCwyQkFFRTtJQUFBLDBCQUFJO0lBQUEsWUFBbUI7SUFBQSxpQkFBSztJQUM1QixpQ0FBVztJQUFBLFlBQW1CO0lBQUEsaUJBQVk7SUFFNUMsaUJBQU07OztJQUhBLGVBQW1CO0lBQW5CLDRDQUFtQjtJQUNaLGVBQW1CO0lBQW5CLDRDQUFtQjs7O0lBTWhDLDJCQUVFO0lBQUEsaUNBQVc7SUFBQSxZQUFtQjtJQUFBLGlCQUFZO0lBRTVDLGlCQUFNOzs7SUFGTyxlQUFtQjtJQUFuQiw0Q0FBbUI7Ozs7SUFTbEMsaUNBQWlIO0lBQTFDLDhLQUFrQixLQUFLLEtBQUU7SUFBaUIsbUJBQUc7SUFBQSxpQkFBUzs7OztJQUU3SCxpQ0FBK0Y7SUFBMUIsaUxBQWtCLElBQUksS0FBRTtJQUFFLGtCQUFFO0lBQUEsaUJBQVM7Ozs7SUFFMUcsaUNBQW1JO0lBQXpDLGlMQUFrQixJQUFJLEtBQUU7SUFBaUIsa0JBQUU7SUFBQSxpQkFBUzs7QUQvQmhKLE1BQU0sT0FBTyxhQUFhO0lBRXhCLFlBQW9CLFNBQXNDLEVBQWtDLElBQUk7UUFBNUUsY0FBUyxHQUFULFNBQVMsQ0FBNkI7UUFBa0MsU0FBSSxHQUFKLElBQUksQ0FBQTtJQUFJLENBQUM7SUFHckcsUUFBUTtRQUVOLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDakMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN6QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBRTNDLENBQUM7SUFNRCxRQUFRLENBQUMsSUFBWTtRQUVuQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU3QixDQUFDOzswRUFyQlUsYUFBYSw4REFFNEMsZUFBZTtrREFGeEUsYUFBYTtRQ1R4Qiw2QkFFRTtRQUFBLDBFQUEwQztRQUMxQywwRUFBdUM7UUFDdkMsMEVBQXdDO1FBRTFDLGlCQUFLO1FBRUwsNkNBR0U7UUFDQSwwREFBa0M7UUFJbEMsOERBRUU7UUFPRiw4REFFRTtRQUtKLGlCQUFxQjtRQUV2QiwwQ0FFRTtRQUFBLG9FQUFpSDtRQUVqSCxzRUFBK0Y7UUFFL0Ysc0VBQW1JO1FBRXJJLGlCQUFxQjs7UUF4Q04sZUFBOEI7UUFBOUIsbURBQThCO1FBQzlCLGVBQTJCO1FBQTNCLGdEQUEyQjtRQUMzQixlQUE0QjtRQUE1QixpREFBNEI7UUFRcEMsZUFBOEI7UUFBOUIsbURBQThCO1FBSTVCLGVBQTJCO1FBQTNCLGdEQUEyQjtRQVMzQixlQUE0QjtRQUE1QixpREFBNEI7UUFXSyxlQUE4QjtRQUE5QixtREFBOEI7UUFFaEMsZUFBOEI7UUFBOUIsbURBQThCO1FBRTlCLGVBQW1EO1FBQW5ELDhFQUFtRDs7a0REL0I5RSxhQUFhO2NBTHpCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixXQUFXLEVBQUUsZ0NBQWdDO2FBQzlDOztzQkFJOEQsTUFBTTt1QkFBQyxlQUFlOztBQXFCcEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hcHAtbWVzc2FnZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lc3NhZ2VEaWFsb2cuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgbWVzc2FnZURpYWxvZyBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8bWVzc2FnZURpYWxvZz4sIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YSkgeyB9XHJcblxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICB0aGlzLm1lc3NhZ2VUeXBlID0gdGhpcy5kYXRhLnR5cGVcclxuICAgIHRoaXMuX21lc3NhZ2VTdWJqZWN0ID0gdGhpcy5kYXRhLnN1YmplY3Q7XHJcbiAgICB0aGlzLl9tZXNzYWdlRGV0YWlscyA9IHRoaXMuZGF0YS5kZXRhaWxzO1xyXG5cclxuICB9XHJcblxyXG4gIG1lc3NhZ2VUeXBlO1xyXG4gIF9tZXNzYWdlU3ViamVjdDtcclxuICBfbWVzc2FnZURldGFpbHM7XHJcblxyXG4gIHJlc3BvbnNlKHJlc3A6IHN0cmluZykge1xyXG5cclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlc3ApO1xyXG5cclxuICB9XHJcblxyXG59O1xyXG5cclxuXHJcblxyXG4iLCJcclxuICA8aDIgbWF0LWRpYWxvZy10aXRsZT5cclxuXHJcbiAgICA8bWF0LWxhYmVsICpuZ0lmPVwibWVzc2FnZVR5cGU9PSdjb25maXJtJ1wiPkNvbmZpcm08L21hdC1sYWJlbD5cclxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJtZXNzYWdlVHlwZT09J2luZm8nXCI+SW5mb3JtYXRpb248L21hdC1sYWJlbD5cclxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJtZXNzYWdlVHlwZT09J2Vycm9yJ1wiPkVycm9yPC9tYXQtbGFiZWw+XHJcblxyXG4gIDwvaDI+XHJcblxyXG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxyXG5cclxuXHJcbiAgICA8IS0tIENvbmZpcm0gLS0+XHJcbiAgICA8cCAqbmdJZj1cIm1lc3NhZ2VUeXBlPT0nY29uZmlybSdcIj57e19tZXNzYWdlRGV0YWlsc319PC9wPlxyXG5cclxuXHJcbiAgICA8IS0tIEluZm9ybWF0aW9uIC0tPlxyXG4gICAgPGRpdiAqbmdJZj1cIm1lc3NhZ2VUeXBlPT0naW5mbydcIj5cclxuXHJcbiAgICAgIDxoMz57e19tZXNzYWdlU3ViamVjdH19PC9oMz5cclxuICAgICAgPG1hdC1sYWJlbD57e19tZXNzYWdlRGV0YWlsc319PC9tYXQtbGFiZWw+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDwhLS0gRXJyb3IgLS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwibWVzc2FnZVR5cGU9PSdlcnJvcidcIj5cclxuXHJcbiAgICAgIDxtYXQtbGFiZWw+e3tfbWVzc2FnZURldGFpbHN9fTwvbWF0LWxhYmVsPlxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcblxyXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG5cclxuICA8YnV0dG9uIGlkPVwiYnRuWWVzXCIgbWF0LXN0cm9rZWQtYnV0dG9uICAqbmdJZj1cIm1lc3NhZ2VUeXBlPT0nY29uZmlybSdcIiAoY2xpY2spPVwicmVzcG9uc2UoJ3llcycpXCIgY2RrRm9jdXNJbml0aWFsPlllczwvYnV0dG9uPlxyXG5cclxuICA8YnV0dG9uIGlkPVwiYnRuTm9cIiBtYXQtc3Ryb2tlZC1idXR0b24gKm5nSWY9XCJtZXNzYWdlVHlwZT09J2NvbmZpcm0nXCIgKGNsaWNrKT1cInJlc3BvbnNlKCdubycpXCIgPk5vPC9idXR0b24+XHJcblxyXG4gIDxidXR0b24gaWQ9XCJidG5PS1wiIG1hdC1zdHJva2VkLWJ1dHRvbiAqbmdJZj1cIm1lc3NhZ2VUeXBlPT0naW5mbycgfHwgbWVzc2FnZVR5cGU9PSdlcnJvcidcIiAoY2xpY2spPVwicmVzcG9uc2UoJ29rJylcIiBjZGtGb2N1c0luaXRpYWw+T0s8L2J1dHRvbj5cclxuXHJcbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG5cclxuXHJcblxyXG4iXX0=
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { Directive, HostListener, forwardRef } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { DecimalPipe } from '@angular/common';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
export const CURRENCY_INPUT_MASK_DIRECTIVE_VALUE_ACCESSOR = {
|
|
7
|
+
provide: NG_VALUE_ACCESSOR,
|
|
8
|
+
useExisting: forwardRef(() => CurrencyInputMaskDirective),
|
|
9
|
+
multi: true
|
|
10
|
+
};
|
|
11
|
+
export class CurrencyInputMaskDirective {
|
|
12
|
+
constructor(elementRef, decimalPipe) {
|
|
13
|
+
this.elementRef = elementRef;
|
|
14
|
+
this.decimalPipe = decimalPipe;
|
|
15
|
+
this.DECIMAL_MARK = '.';
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
this.el = this.elementRef.nativeElement;
|
|
19
|
+
}
|
|
20
|
+
handleFocus(event) {
|
|
21
|
+
const strVal = this.getInputValue();
|
|
22
|
+
const unmaskedStr = this.getUnmaskedValue(strVal);
|
|
23
|
+
this.updateInputValue(unmaskedStr);
|
|
24
|
+
}
|
|
25
|
+
handleCut(event) {
|
|
26
|
+
setTimeout(() => {
|
|
27
|
+
this.inputUpdated();
|
|
28
|
+
}, 0);
|
|
29
|
+
}
|
|
30
|
+
handleKeypress(event) {
|
|
31
|
+
// Restrict characters
|
|
32
|
+
const newChar = String.fromCharCode(event.which);
|
|
33
|
+
const allowedChars = /^[\d.]+$/;
|
|
34
|
+
if (!allowedChars.test(newChar)) {
|
|
35
|
+
event.preventDefault();
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
// Handle decimal mark input
|
|
39
|
+
const currentValue = event.target.value;
|
|
40
|
+
const separatorIdx = currentValue.indexOf(this.DECIMAL_MARK);
|
|
41
|
+
const hasFractionalPart = (separatorIdx >= 0);
|
|
42
|
+
if (!hasFractionalPart || newChar !== this.DECIMAL_MARK) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const isOutsideSelection = !this.isIdxBetweenSelection(separatorIdx);
|
|
46
|
+
if (isOutsideSelection) {
|
|
47
|
+
const positionAfterMark = separatorIdx + 1;
|
|
48
|
+
this.setCursorPosition(positionAfterMark);
|
|
49
|
+
event.preventDefault();
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
handleInput(event) {
|
|
54
|
+
this.inputUpdated();
|
|
55
|
+
}
|
|
56
|
+
handlePaste(event) {
|
|
57
|
+
setTimeout(() => {
|
|
58
|
+
this.inputUpdated();
|
|
59
|
+
}, 1);
|
|
60
|
+
}
|
|
61
|
+
handleBlur(event) {
|
|
62
|
+
const strVal = this.getInputValue();
|
|
63
|
+
const numVal = this.convertStrToDecimal(strVal);
|
|
64
|
+
this.maskInput(numVal);
|
|
65
|
+
this.onModelTouched.apply(event);
|
|
66
|
+
}
|
|
67
|
+
registerOnChange(callbackFunction) {
|
|
68
|
+
this.onModelChange = callbackFunction;
|
|
69
|
+
}
|
|
70
|
+
registerOnTouched(callbackFunction) {
|
|
71
|
+
this.onModelTouched = callbackFunction;
|
|
72
|
+
}
|
|
73
|
+
setDisabledState(value) {
|
|
74
|
+
this.el.disabled = value;
|
|
75
|
+
}
|
|
76
|
+
writeValue(numValue) {
|
|
77
|
+
this.maskInput(numValue);
|
|
78
|
+
}
|
|
79
|
+
maskInput(numVal) {
|
|
80
|
+
if (!this.isNumeric(numVal)) {
|
|
81
|
+
this.updateInputValue('');
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const strVal = this.convertDecimalToStr(numVal);
|
|
85
|
+
const newVal = this.transformWithPipe(strVal);
|
|
86
|
+
this.updateInputValue(newVal);
|
|
87
|
+
}
|
|
88
|
+
inputUpdated() {
|
|
89
|
+
this.restrictDecimalValue();
|
|
90
|
+
const strVal = this.getInputValue();
|
|
91
|
+
const unmaskedVal = this.getUnmaskedValue(strVal);
|
|
92
|
+
const numVal = this.convertStrToDecimal(unmaskedVal);
|
|
93
|
+
if (numVal !== this.lastNumVal) {
|
|
94
|
+
this.lastNumVal = numVal;
|
|
95
|
+
this.onModelChange(numVal);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
restrictDecimalValue() {
|
|
99
|
+
const strVal = this.getInputValue();
|
|
100
|
+
const dotIdx = strVal.indexOf(this.DECIMAL_MARK);
|
|
101
|
+
const hasFractionalPart = (dotIdx >= 0);
|
|
102
|
+
if (hasFractionalPart) {
|
|
103
|
+
const fractionalPart = strVal.substring(dotIdx + 1);
|
|
104
|
+
if (fractionalPart.length > 2) {
|
|
105
|
+
const choppedVal = strVal.substring(0, dotIdx + 3);
|
|
106
|
+
this.updateInputValue(choppedVal, true);
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
transformWithPipe(str) {
|
|
112
|
+
return this.decimalPipe.transform(str, '1.2-2');
|
|
113
|
+
}
|
|
114
|
+
getUnmaskedValue(value) {
|
|
115
|
+
return value.replace(/[^-\d\\.]/g, '');
|
|
116
|
+
}
|
|
117
|
+
updateInputValue(value, savePosition = false) {
|
|
118
|
+
if (savePosition) {
|
|
119
|
+
this.saveCursorPosition();
|
|
120
|
+
}
|
|
121
|
+
this.el.value = value;
|
|
122
|
+
}
|
|
123
|
+
getInputValue() {
|
|
124
|
+
return this.el.value;
|
|
125
|
+
}
|
|
126
|
+
convertStrToDecimal(str) {
|
|
127
|
+
return (this.isNumeric(str)) ? parseFloat(str) : null;
|
|
128
|
+
}
|
|
129
|
+
convertDecimalToStr(n) {
|
|
130
|
+
return (this.isNumeric(n)) ? n + '' : '';
|
|
131
|
+
}
|
|
132
|
+
isNumeric(n) {
|
|
133
|
+
return !isNaN(parseFloat(n)) && isFinite(n);
|
|
134
|
+
}
|
|
135
|
+
saveCursorPosition() {
|
|
136
|
+
const position = this.el.selectionStart;
|
|
137
|
+
setTimeout(() => {
|
|
138
|
+
this.setCursorPosition(position);
|
|
139
|
+
}, 1);
|
|
140
|
+
}
|
|
141
|
+
setCursorPosition(position) {
|
|
142
|
+
this.el.selectionStart = position;
|
|
143
|
+
this.el.selectionEnd = position;
|
|
144
|
+
}
|
|
145
|
+
isIdxBetweenSelection(idx) {
|
|
146
|
+
if (this.el.selectionStart === this.el.selectionEnd) {
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
return (idx >= this.el.selectionStart && idx < this.el.selectionEnd);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
CurrencyInputMaskDirective.ɵfac = function CurrencyInputMaskDirective_Factory(t) { return new (t || CurrencyInputMaskDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.DecimalPipe)); };
|
|
153
|
+
CurrencyInputMaskDirective.ɵdir = i0.ɵɵdefineDirective({ type: CurrencyInputMaskDirective, selectors: [["", "appCurrencyInputMask", ""]], hostBindings: function CurrencyInputMaskDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
|
154
|
+
i0.ɵɵlistener("focus", function CurrencyInputMaskDirective_focus_HostBindingHandler($event) { return ctx.handleFocus($event); })("cut", function CurrencyInputMaskDirective_cut_HostBindingHandler($event) { return ctx.handleCut($event); })("keypress", function CurrencyInputMaskDirective_keypress_HostBindingHandler($event) { return ctx.handleKeypress($event); })("input", function CurrencyInputMaskDirective_input_HostBindingHandler($event) { return ctx.handleInput($event); })("paste", function CurrencyInputMaskDirective_paste_HostBindingHandler($event) { return ctx.handlePaste($event); })("blur", function CurrencyInputMaskDirective_blur_HostBindingHandler($event) { return ctx.handleBlur($event); });
|
|
155
|
+
} }, features: [i0.ɵɵProvidersFeature([
|
|
156
|
+
CURRENCY_INPUT_MASK_DIRECTIVE_VALUE_ACCESSOR,
|
|
157
|
+
DecimalPipe
|
|
158
|
+
])] });
|
|
159
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(CurrencyInputMaskDirective, [{
|
|
160
|
+
type: Directive,
|
|
161
|
+
args: [{
|
|
162
|
+
selector: '[appCurrencyInputMask]',
|
|
163
|
+
providers: [
|
|
164
|
+
CURRENCY_INPUT_MASK_DIRECTIVE_VALUE_ACCESSOR,
|
|
165
|
+
DecimalPipe
|
|
166
|
+
]
|
|
167
|
+
}]
|
|
168
|
+
}], function () { return [{ type: i0.ElementRef }, { type: i1.DecimalPipe }]; }, { handleFocus: [{
|
|
169
|
+
type: HostListener,
|
|
170
|
+
args: ['focus', ['$event']]
|
|
171
|
+
}], handleCut: [{
|
|
172
|
+
type: HostListener,
|
|
173
|
+
args: ['cut', ['$event']]
|
|
174
|
+
}], handleKeypress: [{
|
|
175
|
+
type: HostListener,
|
|
176
|
+
args: ['keypress', ['$event']]
|
|
177
|
+
}], handleInput: [{
|
|
178
|
+
type: HostListener,
|
|
179
|
+
args: ['input', ['$event']]
|
|
180
|
+
}], handlePaste: [{
|
|
181
|
+
type: HostListener,
|
|
182
|
+
args: ['paste', ['$event']]
|
|
183
|
+
}], handleBlur: [{
|
|
184
|
+
type: HostListener,
|
|
185
|
+
args: ['blur', ['$event']]
|
|
186
|
+
}] }); })();
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktaW5wdXQtbWFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbW9uZXkvY3VycmVuY3ktaW5wdXQtbWFzay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ0EsVUFBVSxFQUN2QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFOUMsTUFBTSxDQUFDLE1BQU0sNENBQTRDLEdBQVE7SUFDL0QsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixDQUFDO0lBQ3pELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQVNGLE1BQU0sT0FBTywwQkFBMEI7SUFPckMsWUFDVSxVQUFzQixFQUN0QixXQUF3QjtRQUR4QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBSjFCLGlCQUFZLEdBQUcsR0FBRyxDQUFDO0lBS3ZCLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUMxQyxDQUFDO0lBR0QsV0FBVyxDQUFDLEtBQVU7UUFDcEIsTUFBTSxNQUFNLEdBQVcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzVDLE1BQU0sV0FBVyxHQUFXLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUdELFNBQVMsQ0FBQyxLQUFVO1FBQ2xCLFVBQVUsQ0FBQyxH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XG4gIERpcmVjdGl2ZSxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgRWxlbWVudFJlZiwgZm9yd2FyZFJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmV4cG9ydCBjb25zdCBDVVJSRU5DWV9JTlBVVF9NQVNLX0RJUkVDVElWRV9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xyXG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEN1cnJlbmN5SW5wdXRNYXNrRGlyZWN0aXZlKSxcclxuICBtdWx0aTogdHJ1ZVxyXG59O1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYXBwQ3VycmVuY3lJbnB1dE1hc2tdJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIENVUlJFTkNZX0lOUFVUX01BU0tfRElSRUNUSVZFX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgRGVjaW1hbFBpcGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeUlucHV0TWFza0RpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xyXG4gIHByaXZhdGUgZWw6IEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBvbk1vZGVsQ2hhbmdlOiBGdW5jdGlvbjtcclxuICBwcml2YXRlIG9uTW9kZWxUb3VjaGVkOiBGdW5jdGlvbjtcclxuICBwcml2YXRlIGxhc3ROdW1WYWw6IG51bWJlcjtcclxuICBwcml2YXRlIERFQ0lNQUxfTUFSSyA9ICcuJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIGRlY2ltYWxQaXBlOiBEZWNpbWFsUGlwZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5lbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZm9jdXMnLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUZvY3VzKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHN0clZhbDogc3RyaW5nID0gdGhpcy5nZXRJbnB1dFZhbHVlKCk7XHJcbiAgICBjb25zdCB1bm1hc2tlZFN0cjogc3RyaW5nID0gdGhpcy5nZXRVbm1hc2tlZFZhbHVlKHN0clZhbCk7XHJcbiAgICB0aGlzLnVwZGF0ZUlucHV0VmFsdWUodW5tYXNrZWRTdHIpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY3V0JywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVDdXQoZXZlbnQ6IGFueSkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wdXRVcGRhdGVkKCk7XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleXByZXNzJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlwcmVzcyhldmVudDogYW55KSB7XHJcbiAgICAvLyBSZXN0cmljdCBjaGFyYWN0ZXJzXHJcbiAgICBjb25zdCBuZXdDaGFyOiBzdHJpbmcgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGV2ZW50LndoaWNoKTtcclxuICAgIGNvbnN0IGFsbG93ZWRDaGFyczogUmVnRXhwID0gL15bXFxkLl0rJC87XHJcbiAgICBpZiAoIWFsbG93ZWRDaGFycy50ZXN0KG5ld0NoYXIpKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIEhhbmRsZSBkZWNpbWFsIG1hcmsgaW5wdXRcclxuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZTogc3RyaW5nID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gICAgY29uc3Qgc2VwYXJhdG9ySWR4OiBudW1iZXIgPSBjdXJyZW50VmFsdWUuaW5kZXhPZih0aGlzLkRFQ0lNQUxfTUFSSyk7XHJcbiAgICBjb25zdCBoYXNGcmFjdGlvbmFsUGFydDogYm9vbGVhbiA9IChzZXBhcmF0b3JJZHggPj0gMCk7XHJcbiAgICBpZiAoIWhhc0ZyYWN0aW9uYWxQYXJ0IHx8IG5ld0NoYXIgIT09IHRoaXMuREVDSU1BTF9NQVJLKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGlzT3V0c2lkZVNlbGVjdGlvbiA9ICF0aGlzLmlzSWR4QmV0d2VlblNlbGVjdGlvbihzZXBhcmF0b3JJZHgpO1xyXG4gICAgaWYgKGlzT3V0c2lkZVNlbGVjdGlvbikge1xyXG4gICAgICBjb25zdCBwb3NpdGlvbkFmdGVyTWFyayA9IHNlcGFyYXRvcklkeCArIDE7XHJcbiAgICAgIHRoaXMuc2V0Q3Vyc29yUG9zaXRpb24ocG9zaXRpb25BZnRlck1hcmspO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlSW5wdXQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5pbnB1dFVwZGF0ZWQoKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3Bhc3RlJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVQYXN0ZShldmVudDogYW55KSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5pbnB1dFVwZGF0ZWQoKTtcclxuICAgIH0sIDEpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignYmx1cicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlQmx1cihldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBzdHJWYWw6IHN0cmluZyA9IHRoaXMuZ2V0SW5wdXRWYWx1ZSgpO1xyXG4gICAgY29uc3QgbnVtVmFsOiBudW1iZXIgPSB0aGlzLmNvbnZlcnRTdHJUb0RlY2ltYWwoc3RyVmFsKTtcclxuICAgIHRoaXMubWFza0lucHV0KG51bVZhbCk7XHJcbiAgICB0aGlzLm9uTW9kZWxUb3VjaGVkLmFwcGx5KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoY2FsbGJhY2tGdW5jdGlvbjogRnVuY3Rpb24pOiB2b2lkIHtcclxuICAgIHRoaXMub25Nb2RlbENoYW5nZSA9IGNhbGxiYWNrRnVuY3Rpb247XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChjYWxsYmFja0Z1bmN0aW9uOiBGdW5jdGlvbik6IHZvaWQge1xyXG4gICAgdGhpcy5vbk1vZGVsVG91Y2hlZCA9IGNhbGxiYWNrRnVuY3Rpb247XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmVsLmRpc2FibGVkID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKG51bVZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMubWFza0lucHV0KG51bVZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbWFza0lucHV0KG51bVZhbDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNOdW1lcmljKG51bVZhbCkpIHtcclxuICAgICAgdGhpcy51cGRhdGVJbnB1dFZhbHVlKCcnKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgc3RyVmFsOiBzdHJpbmcgPSB0aGlzLmNvbnZlcnREZWNpbWFsVG9TdHIobnVtVmFsKTtcclxuICAgIGNvbnN0IG5ld1ZhbDogc3RyaW5nID0gdGhpcy50cmFuc2Zvcm1XaXRoUGlwZShzdHJWYWwpO1xyXG4gICAgdGhpcy51cGRhdGVJbnB1dFZhbHVlKG5ld1ZhbCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlucHV0VXBkYXRlZCgpIHtcclxuICAgIHRoaXMucmVzdHJpY3REZWNpbWFsVmFsdWUoKTtcclxuICAgIGNvbnN0IHN0clZhbDogc3RyaW5nID0gdGhpcy5nZXRJbnB1dFZhbHVlKCk7XHJcbiAgICBjb25zdCB1bm1hc2tlZFZhbDogc3RyaW5nID0gdGhpcy5nZXRVbm1hc2tlZFZhbHVlKHN0clZhbCk7XHJcbiAgICBjb25zdCBudW1WYWw6IG51bWJlciA9IHRoaXMuY29udmVydFN0clRvRGVjaW1hbCh1bm1hc2tlZFZhbCk7XHJcbiAgICBpZiAobnVtVmFsICE9PSB0aGlzLmxhc3ROdW1WYWwpIHtcclxuICAgICAgdGhpcy5sYXN0TnVtVmFsID0gbnVtVmFsO1xyXG4gICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UobnVtVmFsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzdHJpY3REZWNpbWFsVmFsdWUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzdHJWYWw6IHN0cmluZyA9IHRoaXMuZ2V0SW5wdXRWYWx1ZSgpO1xyXG4gICAgY29uc3QgZG90SWR4OiBudW1iZXIgPSBzdHJWYWwuaW5kZXhPZih0aGlzLkRFQ0lNQUxfTUFSSyk7XHJcbiAgICBjb25zdCBoYXNGcmFjdGlvbmFsUGFydDogYm9vbGVhbiA9IChkb3RJZHggPj0gMCk7XHJcbiAgICBpZiAoaGFzRnJhY3Rpb25hbFBhcnQpIHtcclxuICAgICAgY29uc3QgZnJhY3Rpb25hbFBhcnQ6IHN0cmluZyA9IHN0clZhbC5zdWJzdHJpbmcoZG90SWR4ICsgMSk7XHJcbiAgICAgIGlmIChmcmFjdGlvbmFsUGFydC5sZW5ndGggPiAyKSB7XHJcbiAgICAgICAgY29uc3QgY2hvcHBlZFZhbDogc3RyaW5nID0gc3RyVmFsLnN1YnN0cmluZygwLCBkb3RJZHggKyAzKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZUlucHV0VmFsdWUoY2hvcHBlZFZhbCwgdHJ1ZSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSB0cmFuc2Zvcm1XaXRoUGlwZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0oc3RyLCAnMS4yLTInKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VW5tYXNrZWRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9bXi1cXGRcXFxcLl0vZywgJycpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVJbnB1dFZhbHVlKHZhbHVlOiBzdHJpbmcsIHNhdmVQb3NpdGlvbiA9IGZhbHNlKSB7XHJcbiAgICBpZiAoc2F2ZVBvc2l0aW9uKSB7XHJcbiAgICAgIHRoaXMuc2F2ZUN1cnNvclBvc2l0aW9uKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmVsLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldElucHV0VmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmVsLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb252ZXJ0U3RyVG9EZWNpbWFsKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIHJldHVybiAodGhpcy5pc051bWVyaWMoc3RyKSkgPyBwYXJzZUZsb2F0KHN0cikgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb252ZXJ0RGVjaW1hbFRvU3RyKG46IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gKHRoaXMuaXNOdW1lcmljKG4pKSA/IG4gKyAnJyA6ICcnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc051bWVyaWMobjogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIWlzTmFOKHBhcnNlRmxvYXQobikpICYmIGlzRmluaXRlKG4pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzYXZlQ3Vyc29yUG9zaXRpb24oKSB7XHJcbiAgICBjb25zdCBwb3NpdGlvbjogbnVtYmVyID0gdGhpcy5lbC5zZWxlY3Rpb25TdGFydDtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNldEN1cnNvclBvc2l0aW9uKHBvc2l0aW9uKTtcclxuICAgIH0sIDEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDdXJzb3JQb3NpdGlvbihwb3NpdGlvbjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID0gcG9zaXRpb247XHJcbiAgICB0aGlzLmVsLnNlbGVjdGlvbkVuZCA9IHBvc2l0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0lkeEJldHdlZW5TZWxlY3Rpb24oaWR4OiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSB0aGlzLmVsLnNlbGVjdGlvbkVuZCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKGlkeCA+PSB0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ICYmIGlkeCA8IHRoaXMuZWwuc2VsZWN0aW9uRW5kKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|