tin-spa 2.0.0 → 2.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/README.md +2 -2
- package/{esm2015/lib/classes/Classes.js → esm2020/lib/classes/Classes.mjs} +15 -55
- package/esm2020/lib/classes/TinCore.mjs +148 -0
- package/esm2020/lib/components/activity/activity.component.mjs +24 -0
- package/esm2020/lib/components/attach/attach.component.mjs +105 -0
- package/esm2020/lib/components/change-password/change-password.component.mjs +92 -0
- package/esm2020/lib/components/check/check.component.mjs +56 -0
- package/esm2020/lib/components/chips/chips.component.mjs +58 -0
- package/esm2020/lib/components/create-account/create-account.component.mjs +72 -0
- package/esm2020/lib/components/date/date.component.mjs +64 -0
- package/esm2020/lib/components/datetime/datetime.component.mjs +39 -0
- package/esm2020/lib/components/filter/filter.component.mjs +46 -0
- package/esm2020/lib/components/form/form.component.mjs +63 -0
- package/esm2020/lib/components/label/label.component.mjs +25 -0
- package/esm2020/lib/components/loader/loader.component.mjs +24 -0
- package/esm2020/lib/components/login/login.component.mjs +113 -0
- package/esm2020/lib/components/logs/logs.component.mjs +37 -0
- package/esm2020/lib/components/message/messageDialog.component.mjs +32 -0
- package/esm2020/lib/components/money/currency-input-mask.directive.mjs +185 -0
- package/esm2020/lib/components/money/currency-input-mask.module.mjs +28 -0
- package/esm2020/lib/components/money/money.component.mjs +64 -0
- package/esm2020/lib/components/nav-menu/nav-menu.component.mjs +49 -0
- package/esm2020/lib/components/number/number.component.mjs +86 -0
- package/esm2020/lib/components/option/option.component.mjs +59 -0
- package/esm2020/lib/components/profile/profile.component.mjs +93 -0
- package/esm2020/lib/components/recover-account/recover-account.component.mjs +46 -0
- package/esm2020/lib/components/roles/addRoleDialog.component.mjs +61 -0
- package/esm2020/lib/components/roles/roles.component.mjs +91 -0
- package/esm2020/lib/components/select/select.component.mjs +71 -0
- package/esm2020/lib/components/settings/settings.component.mjs +63 -0
- package/esm2020/lib/components/signup/signup.component.mjs +50 -0
- package/esm2020/lib/components/steps/steps.component.mjs +90 -0
- package/esm2020/lib/components/table/detailsDialog.component.mjs +149 -0
- package/esm2020/lib/components/table/table.component.mjs +341 -0
- package/esm2020/lib/components/text/text.component.mjs +166 -0
- package/esm2020/lib/components/tiles/tiles.component.mjs +41 -0
- package/esm2020/lib/components/tin-spa.component.mjs +19 -0
- package/esm2020/lib/components/users/users.component.mjs +119 -0
- package/esm2020/lib/modules/admin/admin-routing.module.mjs +29 -0
- package/esm2020/lib/modules/admin/admin.module.mjs +26 -0
- package/esm2020/lib/modules/index/index-routing.module.mjs +27 -0
- package/esm2020/lib/modules/index/index.module.mjs +26 -0
- package/esm2020/lib/modules/spa-admin.module.mjs +73 -0
- package/esm2020/lib/modules/spa-index.module.mjs +52 -0
- package/esm2020/lib/modules/spa-mat.module.mjs +67 -0
- package/esm2020/lib/modules/spa-user.module.mjs +49 -0
- package/esm2020/lib/modules/user/user-routing.module.mjs +23 -0
- package/esm2020/lib/modules/user/user.module.mjs +26 -0
- package/esm2020/lib/pipes/camelToWords.pipe.mjs +23 -0
- package/esm2020/lib/services/auth.service.mjs +142 -0
- package/esm2020/lib/services/data.service.mjs +125 -0
- package/esm2020/lib/services/export.service.mjs +16 -0
- package/esm2020/lib/services/http.service.mjs +79 -0
- package/esm2020/lib/services/loader-interceptor.service.mjs +77 -0
- package/esm2020/lib/services/loader.service.mjs +17 -0
- package/esm2020/lib/services/log.service.mjs +77 -0
- package/esm2020/lib/services/message.service.mjs +52 -0
- package/esm2020/lib/services/storage.service.mjs +34 -0
- package/esm2020/lib/services/tin-spa.service.mjs +14 -0
- package/esm2020/lib/tin-spa.module.mjs +114 -0
- package/esm2020/public-api.mjs +62 -0
- package/esm2020/tin-spa.mjs +5 -0
- package/fesm2015/tin-spa.mjs +3846 -0
- package/fesm2015/tin-spa.mjs.map +1 -0
- package/fesm2020/tin-spa.mjs +3829 -0
- package/fesm2020/tin-spa.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/classes/Classes.d.ts +58 -63
- package/lib/classes/TinCore.d.ts +1 -0
- package/lib/components/activity/activity.component.d.ts +3 -0
- package/lib/components/attach/attach.component.d.ts +4 -1
- package/lib/components/change-password/change-password.component.d.ts +3 -0
- package/lib/components/check/check.component.d.ts +3 -0
- package/lib/components/chips/chips.component.d.ts +3 -0
- package/lib/components/create-account/create-account.component.d.ts +3 -0
- package/lib/components/date/date.component.d.ts +14 -6
- package/lib/components/datetime/datetime.component.d.ts +3 -0
- package/lib/components/filter/filter.component.d.ts +4 -0
- package/lib/components/form/form.component.d.ts +16 -0
- package/lib/components/label/label.component.d.ts +3 -0
- package/lib/components/loader/loader.component.d.ts +3 -0
- package/lib/components/login/login.component.d.ts +6 -0
- package/lib/components/logs/logs.component.d.ts +3 -0
- package/lib/components/message/messageDialog.component.d.ts +3 -0
- package/lib/components/money/currency-input-mask.directive.d.ts +41 -0
- package/lib/components/money/currency-input-mask.module.d.ts +9 -0
- package/lib/components/money/money.component.d.ts +9 -1
- package/lib/components/nav-menu/nav-menu.component.d.ts +3 -0
- package/lib/components/number/number.component.d.ts +29 -0
- package/lib/components/option/option.component.d.ts +3 -0
- package/lib/components/profile/profile.component.d.ts +6 -2
- package/lib/components/recover-account/recover-account.component.d.ts +3 -0
- package/lib/components/roles/addRoleDialog.component.d.ts +3 -0
- package/lib/components/roles/roles.component.d.ts +3 -0
- package/lib/components/select/select.component.d.ts +5 -1
- package/lib/components/settings/settings.component.d.ts +3 -0
- package/lib/components/signup/signup.component.d.ts +3 -0
- package/lib/components/steps/steps.component.d.ts +3 -0
- package/lib/components/table/detailsDialog.component.d.ts +28 -0
- package/lib/components/table/table.component.d.ts +57 -17
- package/lib/components/text/text.component.d.ts +13 -9
- package/lib/components/tiles/tiles.component.d.ts +3 -0
- package/lib/components/tin-spa.component.d.ts +4 -4
- package/lib/components/users/users.component.d.ts +4 -0
- package/lib/modules/admin/admin-routing.module.d.ts +7 -0
- package/lib/modules/admin/admin.module.d.ts +9 -0
- package/lib/modules/index/index-routing.module.d.ts +7 -0
- package/lib/modules/index/index.module.d.ts +9 -0
- package/lib/modules/spa-admin.module.d.ts +13 -0
- package/lib/modules/spa-index.module.d.ts +10 -0
- package/lib/modules/spa-mat.module.d.ts +31 -0
- package/lib/modules/spa-user.module.d.ts +9 -0
- package/lib/modules/user/user-routing.module.d.ts +7 -0
- package/lib/modules/user/user.module.d.ts +9 -0
- package/lib/pipes/camelToWords.pipe.d.ts +7 -0
- package/lib/services/auth.service.d.ts +3 -0
- package/lib/services/data.service.d.ts +5 -1
- package/lib/services/export.service.d.ts +3 -4
- package/lib/services/http.service.d.ts +3 -0
- package/lib/services/loader-interceptor.service.d.ts +3 -0
- package/lib/services/loader.service.d.ts +3 -0
- package/lib/services/log.service.d.ts +3 -0
- package/lib/services/message.service.d.ts +3 -0
- package/lib/services/storage.service.d.ts +3 -0
- package/lib/services/tin-spa.service.d.ts +3 -0
- package/lib/tin-spa.module.d.ts +30 -0
- package/package.json +24 -23
- package/public-api.d.ts +7 -2
- package/bundles/tin-spa.umd.js +0 -3672
- package/bundles/tin-spa.umd.js.map +0 -1
- package/bundles/tin-spa.umd.min.js +0 -16
- package/bundles/tin-spa.umd.min.js.map +0 -1
- package/esm2015/lib/classes/TinCore.js +0 -139
- package/esm2015/lib/components/activity/activity.component.js +0 -26
- package/esm2015/lib/components/attach/attach.component.js +0 -107
- package/esm2015/lib/components/change-password/change-password.component.js +0 -102
- package/esm2015/lib/components/check/check.component.js +0 -63
- package/esm2015/lib/components/chips/chips.component.js +0 -66
- package/esm2015/lib/components/create-account/create-account.component.js +0 -78
- package/esm2015/lib/components/date/date.component.js +0 -45
- package/esm2015/lib/components/datetime/datetime.component.js +0 -44
- package/esm2015/lib/components/filter/filter.component.js +0 -40
- package/esm2015/lib/components/label/label.component.js +0 -29
- package/esm2015/lib/components/loader/loader.component.js +0 -29
- package/esm2015/lib/components/login/login.component.js +0 -114
- package/esm2015/lib/components/logs/logs.component.js +0 -39
- package/esm2015/lib/components/message/messageDialog.component.js +0 -31
- package/esm2015/lib/components/money/money.component.js +0 -52
- package/esm2015/lib/components/nav-menu/nav-menu.component.js +0 -51
- package/esm2015/lib/components/option/option.component.js +0 -63
- package/esm2015/lib/components/profile/profile.component.js +0 -98
- package/esm2015/lib/components/recover-account/recover-account.component.js +0 -53
- package/esm2015/lib/components/roles/addRoleDialog.component.js +0 -61
- package/esm2015/lib/components/roles/roles.component.js +0 -94
- package/esm2015/lib/components/select/select.component.js +0 -77
- package/esm2015/lib/components/settings/settings.component.js +0 -63
- package/esm2015/lib/components/signup/signup.component.js +0 -57
- package/esm2015/lib/components/steps/steps.component.js +0 -93
- package/esm2015/lib/components/table/table.component.js +0 -107
- package/esm2015/lib/components/text/text.component.js +0 -165
- package/esm2015/lib/components/tiles/tiles.component.js +0 -41
- package/esm2015/lib/components/timeout/timeout.component.js +0 -90
- package/esm2015/lib/components/tin-spa.component.js +0 -19
- package/esm2015/lib/components/users/users.component.js +0 -120
- package/esm2015/lib/dnd.directive.js +0 -51
- package/esm2015/lib/modules/spa-admin.module.js +0 -50
- package/esm2015/lib/modules/spa-index.module.js +0 -35
- package/esm2015/lib/modules/spa-mat.module.js +0 -53
- package/esm2015/lib/modules/spa-user.module.js +0 -33
- package/esm2015/lib/services/auth.service.js +0 -155
- package/esm2015/lib/services/data.service.js +0 -115
- package/esm2015/lib/services/export.service.js +0 -29
- package/esm2015/lib/services/http.service.js +0 -84
- package/esm2015/lib/services/loader-interceptor.service.js +0 -83
- package/esm2015/lib/services/loader.service.js +0 -17
- package/esm2015/lib/services/log.service.js +0 -76
- package/esm2015/lib/services/message.service.js +0 -58
- package/esm2015/lib/services/storage.service.js +0 -42
- package/esm2015/lib/services/tin-spa.service.js +0 -14
- package/esm2015/lib/tin-spa.module.js +0 -91
- package/esm2015/public-api.js +0 -56
- package/esm2015/tin-spa.js +0 -8
- package/esm5/lib/classes/Classes.js +0 -313
- package/esm5/lib/classes/TinCore.js +0 -166
- package/esm5/lib/components/activity/activity.component.js +0 -27
- package/esm5/lib/components/attach/attach.component.js +0 -119
- package/esm5/lib/components/change-password/change-password.component.js +0 -104
- package/esm5/lib/components/check/check.component.js +0 -64
- package/esm5/lib/components/chips/chips.component.js +0 -68
- package/esm5/lib/components/create-account/create-account.component.js +0 -80
- package/esm5/lib/components/date/date.component.js +0 -46
- package/esm5/lib/components/datetime/datetime.component.js +0 -45
- package/esm5/lib/components/filter/filter.component.js +0 -41
- package/esm5/lib/components/label/label.component.js +0 -30
- package/esm5/lib/components/loader/loader.component.js +0 -31
- package/esm5/lib/components/login/login.component.js +0 -117
- package/esm5/lib/components/logs/logs.component.js +0 -41
- package/esm5/lib/components/message/messageDialog.component.js +0 -32
- package/esm5/lib/components/money/money.component.js +0 -53
- package/esm5/lib/components/nav-menu/nav-menu.component.js +0 -53
- package/esm5/lib/components/option/option.component.js +0 -64
- package/esm5/lib/components/profile/profile.component.js +0 -102
- package/esm5/lib/components/recover-account/recover-account.component.js +0 -55
- package/esm5/lib/components/roles/addRoleDialog.component.js +0 -63
- package/esm5/lib/components/roles/roles.component.js +0 -100
- package/esm5/lib/components/select/select.component.js +0 -79
- package/esm5/lib/components/settings/settings.component.js +0 -66
- package/esm5/lib/components/signup/signup.component.js +0 -59
- package/esm5/lib/components/steps/steps.component.js +0 -105
- package/esm5/lib/components/table/table.component.js +0 -109
- package/esm5/lib/components/text/text.component.js +0 -168
- package/esm5/lib/components/tiles/tiles.component.js +0 -42
- package/esm5/lib/components/timeout/timeout.component.js +0 -92
- package/esm5/lib/components/tin-spa.component.js +0 -17
- package/esm5/lib/components/users/users.component.js +0 -126
- package/esm5/lib/dnd.directive.js +0 -52
- package/esm5/lib/modules/spa-admin.module.js +0 -53
- package/esm5/lib/modules/spa-index.module.js +0 -38
- package/esm5/lib/modules/spa-mat.module.js +0 -56
- package/esm5/lib/modules/spa-user.module.js +0 -36
- package/esm5/lib/services/auth.service.js +0 -157
- package/esm5/lib/services/data.service.js +0 -116
- package/esm5/lib/services/export.service.js +0 -30
- package/esm5/lib/services/http.service.js +0 -85
- package/esm5/lib/services/loader-interceptor.service.js +0 -85
- package/esm5/lib/services/loader.service.js +0 -18
- package/esm5/lib/services/log.service.js +0 -112
- package/esm5/lib/services/message.service.js +0 -59
- package/esm5/lib/services/storage.service.js +0 -74
- package/esm5/lib/services/tin-spa.service.js +0 -16
- package/esm5/lib/tin-spa.module.js +0 -94
- package/esm5/public-api.js +0 -56
- package/esm5/tin-spa.js +0 -8
- package/fesm2015/tin-spa.js +0 -3184
- package/fesm2015/tin-spa.js.map +0 -1
- package/fesm5/tin-spa.js +0 -3422
- package/fesm5/tin-spa.js.map +0 -1
- package/lib/components/timeout/timeout.component.d.ts +0 -21
- package/lib/dnd.directive.d.ts +0 -8
- package/tin-spa.d.ts +0 -7
- package/tin-spa.metadata.json +0 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { User, Profile, Account } from '../../classes/Classes';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../services/http.service";
|
|
5
|
+
import * as i2 from "../../services/message.service";
|
|
6
|
+
import * as i3 from "../../services/data.service";
|
|
7
|
+
import * as i4 from "../../services/auth.service";
|
|
8
|
+
import * as i5 from "@angular/material/button";
|
|
9
|
+
import * as i6 from "../text/text.component";
|
|
10
|
+
export class SignupComponent {
|
|
11
|
+
constructor(httpService, messageService, dataService, authService) {
|
|
12
|
+
this.httpService = httpService;
|
|
13
|
+
this.messageService = messageService;
|
|
14
|
+
this.dataService = dataService;
|
|
15
|
+
this.authService = authService;
|
|
16
|
+
this.isProcessing = false;
|
|
17
|
+
this.user = new User();
|
|
18
|
+
this.profile = new Profile();
|
|
19
|
+
this.account = new Account();
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
this.account.user = this.user;
|
|
23
|
+
this.account.profile = this.profile;
|
|
24
|
+
}
|
|
25
|
+
create() {
|
|
26
|
+
this.profile.userName = this.user.userName;
|
|
27
|
+
this.isProcessing = true;
|
|
28
|
+
this.dataService.RegisterAccount(this.account).subscribe((apiResponse) => {
|
|
29
|
+
this.isProcessing = false;
|
|
30
|
+
if (apiResponse.message == "success") {
|
|
31
|
+
this.messageService.toast("Account Created");
|
|
32
|
+
this.user = new User();
|
|
33
|
+
this.profile = new Profile();
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this.messageService.toast("Error: " + apiResponse.message);
|
|
37
|
+
}
|
|
38
|
+
}, (error) => {
|
|
39
|
+
this.isProcessing = false;
|
|
40
|
+
this.messageService.toast(this.httpService.Error(error));
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
SignupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SignupComponent, deps: [{ token: i1.HttpService }, { token: i2.MessageService }, { token: i3.DataServiceLib }, { token: i4.AuthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
45
|
+
SignupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SignupComponent, selector: "spa-signup", ngImport: i0, template: "\r\n<h4 style=\"padding-top: 30px;\">Signup</h4>\r\n\r\n<hr/>\r\nComplete the form below.\r\n\r\n<div class=\"container tin-grid\" style=\"font-size:14px;\">\r\n\r\n <spa-text display=\"FirstName\" [(value)]=\"account.profile.firstName\" ></spa-text>\r\n\r\n <spa-text display=\"LastName\" [(value)]=\"account.profile.lastName\" ></spa-text>\r\n\r\n <spa-text display=\"Username\" [(value)]=\"account.profile.userName\"></spa-text>\r\n\r\n \r\n\r\n <spa-text display=\"Password\" [(value)]=\"account.profile.password\" format=\"password\" ></spa-text>\r\n\r\n <spa-text display=\"Confirm Password\" [(value)]=\"confirmPassword\" format=\"password\" ></spa-text>\r\n\r\n <div class=\"span-col-center\">\r\n <button mat-raised-button color=\"primary\" (click)=\"create()\" cdkFocusInitial>Create</button>\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n\r\n", styles: [""], 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.TextComponent, selector: "spa-text", inputs: ["readonly", "hint", "display", "placeholder", "value", "format", "type", "rows", "width", "options", "optionValue", "required", "min", "max", "regex"], outputs: ["valueChange", "leave", "enterPress"] }] });
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SignupComponent, decorators: [{
|
|
47
|
+
type: Component,
|
|
48
|
+
args: [{ selector: 'spa-signup', template: "\r\n<h4 style=\"padding-top: 30px;\">Signup</h4>\r\n\r\n<hr/>\r\nComplete the form below.\r\n\r\n<div class=\"container tin-grid\" style=\"font-size:14px;\">\r\n\r\n <spa-text display=\"FirstName\" [(value)]=\"account.profile.firstName\" ></spa-text>\r\n\r\n <spa-text display=\"LastName\" [(value)]=\"account.profile.lastName\" ></spa-text>\r\n\r\n <spa-text display=\"Username\" [(value)]=\"account.profile.userName\"></spa-text>\r\n\r\n \r\n\r\n <spa-text display=\"Password\" [(value)]=\"account.profile.password\" format=\"password\" ></spa-text>\r\n\r\n <spa-text display=\"Confirm Password\" [(value)]=\"confirmPassword\" format=\"password\" ></spa-text>\r\n\r\n <div class=\"span-col-center\">\r\n <button mat-raised-button color=\"primary\" (click)=\"create()\" cdkFocusInitial>Create</button>\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n\r\n" }]
|
|
49
|
+
}], ctorParameters: function () { return [{ type: i1.HttpService }, { type: i2.MessageService }, { type: i3.DataServiceLib }, { type: i4.AuthService }]; } });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbnVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL3NpZ251cC9zaWdudXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvc2lnbnVwL3NpZ251cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBS2xELE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQVMvRCxNQUFNLE9BQU8sZUFBZTtJQUcxQixZQUFvQixXQUF3QixFQUFVLGNBQThCLEVBQVUsV0FBMkIsRUFBVSxXQUF3QjtRQUF2SSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBUTNKLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLFNBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2xCLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXhCLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBWndJLENBQUM7SUFFakssUUFBUTtRQUVOLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QyxDQUFDO0lBV0gsTUFBTTtRQUVKLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRTNDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQ3RELENBQUMsV0FBd0IsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBRTFCLElBQUksV0FBVyxDQUFDLE9BQU8sSUFBSSxTQUFTLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBRTdDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO2FBRTlCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDNUQ7UUFDSCxDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNSLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUNGLENBQUM7SUFDTixDQUFDOzs0R0E1Q1ksZUFBZTtnR0FBZixlQUFlLGtEQ2Q1QixtM0JBNEJBOzJGRGRhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbi8vIGltcG9ydCB7IEh0dHBTZXJ2aWNlLCBBcGlSZXNwb25zZSB9IGZyb20gJ3Rpbi1jb3JlJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZUxpYiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlciwgUHJvZmlsZSwgQWNjb3VudCB9IGZyb20gJy4uLy4uL2NsYXNzZXMvQ2xhc3Nlcyc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBpUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9jbGFzc2VzL1RpbkNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzcGEtc2lnbnVwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2lnbnVwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zaWdudXAuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWdudXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYiwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcblxyXG4gICAgdGhpcy5hY2NvdW50LnVzZXIgPSB0aGlzLnVzZXI7XHJcbiAgICB0aGlzLmFjY291bnQucHJvZmlsZSA9IHRoaXMucHJvZmlsZTtcclxuICB9XHJcblxyXG4gIGlzUHJvY2Vzc2luZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHVzZXIgPSBuZXcgVXNlcigpO1xyXG4gIHByb2ZpbGUgPSBuZXcgUHJvZmlsZSgpO1xyXG5cclxuICBhY2NvdW50ID0gbmV3IEFjY291bnQoKTtcclxuXHJcbiAgY29uZmlybVBhc3N3b3JkOiBzdHJpbmc7XHJcblxyXG5cclxuY3JlYXRlKCl7XHJcblxyXG4gIHRoaXMucHJvZmlsZS51c2VyTmFtZSA9IHRoaXMudXNlci51c2VyTmFtZTtcclxuXHJcbiAgdGhpcy5pc1Byb2Nlc3NpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5kYXRhU2VydmljZS5SZWdpc3RlckFjY291bnQodGhpcy5hY2NvdW50KS5zdWJzY3JpYmUoXHJcbiAgICAgIChhcGlSZXNwb25zZTogQXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICBpZiAoYXBpUmVzcG9uc2UubWVzc2FnZSA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkFjY291bnQgQ3JlYXRlZFwiKTtcclxuXHJcbiAgICAgICAgICB0aGlzLnVzZXIgPSBuZXcgVXNlcigpO1xyXG4gICAgICAgICAgdGhpcy5wcm9maWxlID0gbmV3IFByb2ZpbGUoKTtcclxuXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBhcGlSZXNwb25zZS5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdCh0aGlzLmh0dHBTZXJ2aWNlLkVycm9yKGVycm9yKSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbn1cclxuXHJcblxyXG5cclxufVxyXG4iLCJcclxuPGg0IHN0eWxlPVwicGFkZGluZy10b3A6IDMwcHg7XCI+U2lnbnVwPC9oND5cclxuXHJcbjxoci8+XHJcbkNvbXBsZXRlIHRoZSBmb3JtIGJlbG93LlxyXG5cclxuPGRpdiBjbGFzcz1cImNvbnRhaW5lciB0aW4tZ3JpZFwiICBzdHlsZT1cImZvbnQtc2l6ZToxNHB4O1wiPlxyXG5cclxuICAgIDxzcGEtdGV4dCBkaXNwbGF5PVwiRmlyc3ROYW1lXCIgWyh2YWx1ZSldPVwiYWNjb3VudC5wcm9maWxlLmZpcnN0TmFtZVwiID48L3NwYS10ZXh0PlxyXG5cclxuICAgIDxzcGEtdGV4dCBkaXNwbGF5PVwiTGFzdE5hbWVcIiBbKHZhbHVlKV09XCJhY2NvdW50LnByb2ZpbGUubGFzdE5hbWVcIiA+PC9zcGEtdGV4dD5cclxuXHJcbiAgICA8c3BhLXRleHQgZGlzcGxheT1cIlVzZXJuYW1lXCIgWyh2YWx1ZSldPVwiYWNjb3VudC5wcm9maWxlLnVzZXJOYW1lXCI+PC9zcGEtdGV4dD5cclxuXHJcbiAgICAmbmJzcDtcclxuXHJcbiAgICA8c3BhLXRleHQgZGlzcGxheT1cIlBhc3N3b3JkXCIgWyh2YWx1ZSldPVwiYWNjb3VudC5wcm9maWxlLnBhc3N3b3JkXCIgZm9ybWF0PVwicGFzc3dvcmRcIiA+PC9zcGEtdGV4dD5cclxuXHJcbiAgICA8c3BhLXRleHQgZGlzcGxheT1cIkNvbmZpcm0gUGFzc3dvcmRcIiBbKHZhbHVlKV09XCJjb25maXJtUGFzc3dvcmRcIiBmb3JtYXQ9XCJwYXNzd29yZFwiID48L3NwYS10ZXh0PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzcGFuLWNvbC1jZW50ZXJcIj5cclxuICAgICAgPGJ1dHRvbiAgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImNyZWF0ZSgpXCIgIGNka0ZvY3VzSW5pdGlhbD5DcmVhdGU8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbjwvZGl2PlxyXG5cclxuXHJcbiJdfQ==
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/material/stepper";
|
|
6
|
+
export class StepsComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.value = "";
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
}
|
|
12
|
+
ngAfterViewInit() {
|
|
13
|
+
}
|
|
14
|
+
ngOnChanges() {
|
|
15
|
+
this.pushSteps();
|
|
16
|
+
}
|
|
17
|
+
setStepper() {
|
|
18
|
+
if (this.value == "")
|
|
19
|
+
return;
|
|
20
|
+
this.stepper.selectedIndex = 0;
|
|
21
|
+
switch (this.value) {
|
|
22
|
+
case "Draft":
|
|
23
|
+
this.stepper.selectedIndex = 0;
|
|
24
|
+
break;
|
|
25
|
+
case "Head Approval":
|
|
26
|
+
this.pushStepper(1);
|
|
27
|
+
break;
|
|
28
|
+
case "CE Approval":
|
|
29
|
+
this.pushStepper(2);
|
|
30
|
+
break;
|
|
31
|
+
case "Booking":
|
|
32
|
+
this.pushStepper(3);
|
|
33
|
+
break;
|
|
34
|
+
case "BTA Approval":
|
|
35
|
+
this.pushStepper(4);
|
|
36
|
+
break;
|
|
37
|
+
case "Travel":
|
|
38
|
+
this.pushStepper(5);
|
|
39
|
+
break;
|
|
40
|
+
case "BTR Approval":
|
|
41
|
+
this.pushStepper(6);
|
|
42
|
+
break;
|
|
43
|
+
case "Travel Closure":
|
|
44
|
+
this.pushStepper(7);
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
pushStepper(count) {
|
|
49
|
+
for (let index = 0; index < count + 1; index++) {
|
|
50
|
+
// const element = array[index];
|
|
51
|
+
this.stepper.selectedIndex = index;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
pushSteps() {
|
|
55
|
+
if (this.steps.length == 0)
|
|
56
|
+
return;
|
|
57
|
+
if (this.value == "")
|
|
58
|
+
return;
|
|
59
|
+
this.stepper.selectedIndex = 0;
|
|
60
|
+
let i = 0;
|
|
61
|
+
for (let step of this.steps) {
|
|
62
|
+
if (step.name != this.value) {
|
|
63
|
+
this.stepper.selectedIndex = i;
|
|
64
|
+
i++;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
this.stepper.selectedIndex = i;
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
StepsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StepsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
+
StepsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: StepsComponent, selector: "spa-steps", inputs: { value: "value", steps: "steps" }, providers: [{
|
|
75
|
+
provide: STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false }
|
|
76
|
+
}], viewQueries: [{ propertyName: "stepper", first: true, predicate: ["stepper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\r\n\r\n\r\n<!-- <mat-horizontal-stepper class=\"test\" labelPosition=\"bottom\" #stepper>\r\n <mat-step [editable]=\"false\" label=\"Draft\"> </mat-step>\r\n <mat-step [editable]=\"false\" label=\"Head Approval\" > </mat-step>\r\n <mat-step [editable]=\"false\" label=\"CE Approval\"> </mat-step>\r\n <mat-step [editable]=\"false\" label=\"Booking\" state=\"booking\"> </mat-step>\r\n <mat-step [editable]=\"false\" label=\"BTA Approval\"> </mat-step>\r\n <mat-step [editable]=\"false\" label=\"Travel\"> </mat-step>\r\n <mat-step [editable]=\"false\" label=\"BTR Approval\"> </mat-step>\r\n <mat-step [editable]=\"false\" label=\"Closure\"> </mat-step>\r\n <ng-template matStepperIcon=\"booking\"> <mat-icon>forum</mat-icon> </ng-template>\r\n</mat-horizontal-stepper> -->\r\n\r\n<mat-horizontal-stepper class=\"transparent\" labelPosition=\"bottom\" #stepper>\r\n\r\n <mat-step *ngFor=\"let row of steps\"\r\n [editable]=\"false\" [label]=\"row.name\">\r\n </mat-step>\r\n\r\n <!-- <ng-template *ngFor=\"let row of steps\"\r\n [matStepperIcon]=\"row.name\"> <mat-icon>{{row.icon}}</mat-icon>\r\n </ng-template> -->\r\n\r\n <!-- <ng-template matStepperIcon=\"booking\">\r\n <mat-icon>call_end</mat-icon>\r\n </ng-template> -->\r\n\r\n <!-- <ng-template ngFor let-xb [ngForOf]=\"steps\" matStepperIcon=\"Booking\"> <mat-icon>forum</mat-icon>\r\n\r\n </ng-template> -->\r\n\r\n</mat-horizontal-stepper>\r\n", styles: [".transparent{background-color:#0000}:host ::ng-deep .mat-step-header{padding:5px!important}:host ::ng-deep .mat-stepper-horizontal-line{min-width:5px!important}:host ::ng-deep .mat-horizontal-content-container{padding:0!important}:host ::ng-deep .mat-horizontal-stepper-header{pointer-events:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "component", type: i2.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["selectedIndex", "disableRipple", "color", "labelPosition", "headerPosition", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }] });
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StepsComponent, decorators: [{
|
|
78
|
+
type: Component,
|
|
79
|
+
args: [{ selector: 'spa-steps', providers: [{
|
|
80
|
+
provide: STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false }
|
|
81
|
+
}], template: "\r\n\r\n\r\n<!-- <mat-horizontal-stepper class=\"test\" labelPosition=\"bottom\" #stepper>\r\n <mat-step [editable]=\"false\" label=\"Draft\"> </mat-step>\r\n <mat-step [editable]=\"false\" label=\"Head Approval\" > </mat-step>\r\n <mat-step [editable]=\"false\" label=\"CE Approval\"> </mat-step>\r\n <mat-step [editable]=\"false\" label=\"Booking\" state=\"booking\"> </mat-step>\r\n <mat-step [editable]=\"false\" label=\"BTA Approval\"> </mat-step>\r\n <mat-step [editable]=\"false\" label=\"Travel\"> </mat-step>\r\n <mat-step [editable]=\"false\" label=\"BTR Approval\"> </mat-step>\r\n <mat-step [editable]=\"false\" label=\"Closure\"> </mat-step>\r\n <ng-template matStepperIcon=\"booking\"> <mat-icon>forum</mat-icon> </ng-template>\r\n</mat-horizontal-stepper> -->\r\n\r\n<mat-horizontal-stepper class=\"transparent\" labelPosition=\"bottom\" #stepper>\r\n\r\n <mat-step *ngFor=\"let row of steps\"\r\n [editable]=\"false\" [label]=\"row.name\">\r\n </mat-step>\r\n\r\n <!-- <ng-template *ngFor=\"let row of steps\"\r\n [matStepperIcon]=\"row.name\"> <mat-icon>{{row.icon}}</mat-icon>\r\n </ng-template> -->\r\n\r\n <!-- <ng-template matStepperIcon=\"booking\">\r\n <mat-icon>call_end</mat-icon>\r\n </ng-template> -->\r\n\r\n <!-- <ng-template ngFor let-xb [ngForOf]=\"steps\" matStepperIcon=\"Booking\"> <mat-icon>forum</mat-icon>\r\n\r\n </ng-template> -->\r\n\r\n</mat-horizontal-stepper>\r\n", styles: [".transparent{background-color:#0000}:host ::ng-deep .mat-step-header{padding:5px!important}:host ::ng-deep .mat-stepper-horizontal-line{min-width:5px!important}:host ::ng-deep .mat-horizontal-content-container{padding:0!important}:host ::ng-deep .mat-horizontal-stepper-header{pointer-events:none!important}\n"] }]
|
|
82
|
+
}], ctorParameters: function () { return []; }, propDecorators: { stepper: [{
|
|
83
|
+
type: ViewChild,
|
|
84
|
+
args: ['stepper']
|
|
85
|
+
}], value: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], steps: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}] } });
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvc3RlcHMvc3RlcHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvc3RlcHMvc3RlcHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQVc5RCxNQUFNLE9BQU8sY0FBYztJQUV6QjtRQWVTLFVBQUssR0FBRyxFQUFFLENBQUM7SUFmSixDQUFDO0lBRWpCLFFBQVE7SUFFUixDQUFDO0lBRUQsZUFBZTtJQUVmLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFNRCxVQUFVO1FBRVIsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFBRSxPQUFPO1FBRzdCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUUvQixRQUFRLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFJbEIsS0FBSyxPQUFPO2dCQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztnQkFDL0IsTUFBTTtZQUVSLEtBQUssZUFBZTtnQkFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDbkIsTUFBTTtZQUVSLEtBQUssYUFBYTtnQkFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDbkIsTUFBTTtZQUVSLEtBQUssU0FBUztnQkFDWixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUNuQixNQUFNO1lBRVIsS0FBSyxjQUFjO2dCQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUNuQixNQUFNO1lBRVIsS0FBSyxRQUFRO2dCQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ25CLE1BQU07WUFFUixLQUFLLGNBQWM7Z0JBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ25CLE1BQU07WUFFUixLQUFLLGdCQUFnQjtnQkFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDbkIsTUFBTTtTQUVUO0lBRUgsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBRXZCLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzlDLGdDQUFnQztZQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7U0FDcEM7SUFFSCxDQUFDO0lBRUQsU0FBUztRQUVQLElBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQztZQUFFLE9BQU87UUFDbEMsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFBRSxPQUFPO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUcvQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFVixLQUFLLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFFM0IsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBRTNCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztnQkFDL0IsQ0FBQyxFQUFFLENBQUM7YUFFTDtpQkFBTTtnQkFFTCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7Z0JBQy9CLE1BQU07YUFFUDtTQUNGO0lBRUgsQ0FBQzs7MkdBcEdVLGNBQWM7K0ZBQWQsY0FBYyxnRkFKZCxDQUFDO1lBQ1YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxFQUFFLDJCQUEyQixFQUFFLEtBQUssRUFBRTtTQUNsRixDQUFDLG1KQ1hKLDg1Q0FrQ0E7MkZEckJhLGNBQWM7a0JBUjFCLFNBQVM7K0JBQ0UsV0FBVyxhQUdWLENBQUM7NEJBQ1YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxFQUFFLDJCQUEyQixFQUFFLEtBQUssRUFBRTt5QkFDbEYsQ0FBQzswRUFrQm9CLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFDWCxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U3RlcHBlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3N0ZXBwZXInO1xyXG5pbXBvcnQgeyBTVEVQUEVSX0dMT0JBTF9PUFRJT05TIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3N0ZXBwZXInO1xyXG5pbXBvcnQgeyBTdGVwIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLXN0ZXBzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3RlcHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3N0ZXBzLmNvbXBvbmVudC5jc3MnXSxcclxuICBwcm92aWRlcnM6IFt7XHJcbiAgICBwcm92aWRlOiBTVEVQUEVSX0dMT0JBTF9PUFRJT05TLCB1c2VWYWx1ZTogeyBkaXNwbGF5RGVmYXVsdEluZGljYXRvclR5cGU6IGZhbHNlIH1cclxuICB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RlcHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLnB1c2hTdGVwcygpO1xyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZCgnc3RlcHBlcicpIHN0ZXBwZXI6IE1hdFN0ZXBwZXI7XHJcbiAgQElucHV0KCkgdmFsdWUgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHN0ZXBzOiBTdGVwW107XHJcblxyXG4gIHNldFN0ZXBwZXIoKSB7XHJcblxyXG4gICAgaWYgKHRoaXMudmFsdWUgPT0gXCJcIikgcmV0dXJuO1xyXG5cclxuXHJcbiAgICB0aGlzLnN0ZXBwZXIuc2VsZWN0ZWRJbmRleCA9IDA7XHJcblxyXG4gICAgc3dpdGNoICh0aGlzLnZhbHVlKSB7XHJcblxyXG5cclxuXHJcbiAgICAgIGNhc2UgXCJEcmFmdFwiOlxyXG4gICAgICAgIHRoaXMuc3RlcHBlci5zZWxlY3RlZEluZGV4ID0gMDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgXCJIZWFkIEFwcHJvdmFsXCI6XHJcbiAgICAgICAgdGhpcy5wdXNoU3RlcHBlcigxKVxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBcIkNFIEFwcHJvdmFsXCI6XHJcbiAgICAgICAgdGhpcy5wdXNoU3RlcHBlcigyKVxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBcIkJvb2tpbmdcIjpcclxuICAgICAgICB0aGlzLnB1c2hTdGVwcGVyKDMpXHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFwiQlRBIEFwcHJvdmFsXCI6XHJcbiAgICAgICAgdGhpcy5wdXNoU3RlcHBlcig0KVxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBcIlRyYXZlbFwiOlxyXG4gICAgICAgIHRoaXMucHVzaFN0ZXBwZXIoNSlcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgXCJCVFIgQXBwcm92YWxcIjpcclxuICAgICAgICB0aGlzLnB1c2hTdGVwcGVyKDYpXHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFwiVHJhdmVsIENsb3N1cmVcIjpcclxuICAgICAgICB0aGlzLnB1c2hTdGVwcGVyKDcpXHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHB1c2hTdGVwcGVyKGNvdW50OiBudW1iZXIpIHtcclxuXHJcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY291bnQgKyAxOyBpbmRleCsrKSB7XHJcbiAgICAgIC8vIGNvbnN0IGVsZW1lbnQgPSBhcnJheVtpbmRleF07XHJcbiAgICAgIHRoaXMuc3RlcHBlci5zZWxlY3RlZEluZGV4ID0gaW5kZXg7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcHVzaFN0ZXBzKCl7XHJcblxyXG4gICAgaWYodGhpcy5zdGVwcy5sZW5ndGggPT0gMCkgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMudmFsdWUgPT0gXCJcIikgcmV0dXJuO1xyXG4gICAgdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXggPSAwO1xyXG5cclxuXHJcbiAgICBsZXQgaSA9IDA7XHJcblxyXG4gICAgZm9yIChsZXQgc3RlcCBvZiB0aGlzLnN0ZXBzKSB7XHJcblxyXG4gICAgICBpZiAoc3RlcC5uYW1lICE9IHRoaXMudmFsdWUpIHtcclxuXHJcbiAgICAgICAgdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXggPSBpO1xyXG4gICAgICAgIGkrKztcclxuXHJcbiAgICAgIH0gZWxzZSB7XHJcblxyXG4gICAgICAgIHRoaXMuc3RlcHBlci5zZWxlY3RlZEluZGV4ID0gaTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG4iLCJcclxuXHJcblxyXG48IS0tIDxtYXQtaG9yaXpvbnRhbC1zdGVwcGVyIGNsYXNzPVwidGVzdFwiIGxhYmVsUG9zaXRpb249XCJib3R0b21cIiAgI3N0ZXBwZXI+XHJcbiAgPG1hdC1zdGVwIFtlZGl0YWJsZV09XCJmYWxzZVwiIGxhYmVsPVwiRHJhZnRcIj4gPC9tYXQtc3RlcD5cclxuICA8bWF0LXN0ZXAgW2VkaXRhYmxlXT1cImZhbHNlXCIgbGFiZWw9XCJIZWFkIEFwcHJvdmFsXCIgPiA8L21hdC1zdGVwPlxyXG4gIDxtYXQtc3RlcCBbZWRpdGFibGVdPVwiZmFsc2VcIiBsYWJlbD1cIkNFIEFwcHJvdmFsXCI+IDwvbWF0LXN0ZXA+XHJcbiAgPG1hdC1zdGVwIFtlZGl0YWJsZV09XCJmYWxzZVwiIGxhYmVsPVwiQm9va2luZ1wiIHN0YXRlPVwiYm9va2luZ1wiPiA8L21hdC1zdGVwPlxyXG4gIDxtYXQtc3RlcCBbZWRpdGFibGVdPVwiZmFsc2VcIiBsYWJlbD1cIkJUQSBBcHByb3ZhbFwiPiA8L21hdC1zdGVwPlxyXG4gIDxtYXQtc3RlcCBbZWRpdGFibGVdPVwiZmFsc2VcIiBsYWJlbD1cIlRyYXZlbFwiPiA8L21hdC1zdGVwPlxyXG4gIDxtYXQtc3RlcCBbZWRpdGFibGVdPVwiZmFsc2VcIiBsYWJlbD1cIkJUUiBBcHByb3ZhbFwiPiA8L21hdC1zdGVwPlxyXG4gIDxtYXQtc3RlcCBbZWRpdGFibGVdPVwiZmFsc2VcIiBsYWJlbD1cIkNsb3N1cmVcIj4gPC9tYXQtc3RlcD5cclxuICA8bmctdGVtcGxhdGUgbWF0U3RlcHBlckljb249XCJib29raW5nXCI+IDxtYXQtaWNvbj5mb3J1bTwvbWF0LWljb24+IDwvbmctdGVtcGxhdGU+XHJcbjwvbWF0LWhvcml6b250YWwtc3RlcHBlcj4gLS0+XHJcblxyXG48bWF0LWhvcml6b250YWwtc3RlcHBlciBjbGFzcz1cInRyYW5zcGFyZW50XCIgbGFiZWxQb3NpdGlvbj1cImJvdHRvbVwiICAgI3N0ZXBwZXI+XHJcblxyXG4gIDxtYXQtc3RlcCAqbmdGb3I9XCJsZXQgcm93IG9mIHN0ZXBzXCJcclxuICAgIFtlZGl0YWJsZV09XCJmYWxzZVwiICBbbGFiZWxdPVwicm93Lm5hbWVcIj5cclxuICA8L21hdC1zdGVwPlxyXG5cclxuICA8IS0tIDxuZy10ZW1wbGF0ZSAqbmdGb3I9XCJsZXQgcm93IG9mIHN0ZXBzXCJcclxuICAgIFttYXRTdGVwcGVySWNvbl09XCJyb3cubmFtZVwiPiA8bWF0LWljb24+e3tyb3cuaWNvbn19PC9tYXQtaWNvbj5cclxuICA8L25nLXRlbXBsYXRlPiAtLT5cclxuXHJcbiAgPCEtLSA8bmctdGVtcGxhdGUgbWF0U3RlcHBlckljb249XCJib29raW5nXCI+XHJcbiAgICA8bWF0LWljb24+Y2FsbF9lbmQ8L21hdC1pY29uPlxyXG4gIDwvbmctdGVtcGxhdGU+IC0tPlxyXG5cclxuICA8IS0tIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQteGIgW25nRm9yT2ZdPVwic3RlcHNcIiBtYXRTdGVwcGVySWNvbj1cIkJvb2tpbmdcIj4gPG1hdC1pY29uPmZvcnVtPC9tYXQtaWNvbj5cclxuXHJcbiAgPC9uZy10ZW1wbGF0ZT4gLS0+XHJcblxyXG48L21hdC1ob3Jpem9udGFsLXN0ZXBwZXI+XHJcbiJdfQ==
|
|
@@ -0,0 +1,149 @@
|
|
|
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/data.service";
|
|
5
|
+
import * as i2 from "../../services/message.service";
|
|
6
|
+
import * as i3 from "@angular/material/dialog";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
import * as i5 from "@angular/material/button";
|
|
9
|
+
import * as i6 from "@angular/material/icon";
|
|
10
|
+
import * as i7 from "../form/form.component";
|
|
11
|
+
export class detailsDialog {
|
|
12
|
+
constructor(dataService, messageService, dialogRef, data) {
|
|
13
|
+
this.dataService = dataService;
|
|
14
|
+
this.messageService = messageService;
|
|
15
|
+
this.dialogRef = dialogRef;
|
|
16
|
+
this.data = data;
|
|
17
|
+
this.smallScreen = false;
|
|
18
|
+
this.isLoadComplete = false;
|
|
19
|
+
this.isProcessing = false;
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
this.tableConfig = this.data.config;
|
|
23
|
+
this.formConfig = this.tableConfig.formConfig;
|
|
24
|
+
this.formConfig.mode = this.data.mode;
|
|
25
|
+
this.smallScreen = this.data.smallScreen;
|
|
26
|
+
if (this.formConfig.mode == "create") {
|
|
27
|
+
this.details = this.generateObject();
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this.details = this.data.details;
|
|
31
|
+
}
|
|
32
|
+
this.isLoadComplete = true;
|
|
33
|
+
}
|
|
34
|
+
generateObject() {
|
|
35
|
+
let d = {};
|
|
36
|
+
this.formConfig.fields.forEach(property => {
|
|
37
|
+
d[property.name] = this.getInitialValue(property.type);
|
|
38
|
+
});
|
|
39
|
+
return d;
|
|
40
|
+
}
|
|
41
|
+
setMode(newMode) {
|
|
42
|
+
this.formConfig.mode = newMode;
|
|
43
|
+
}
|
|
44
|
+
getInitialValue(type) {
|
|
45
|
+
switch (type) {
|
|
46
|
+
case 'text':
|
|
47
|
+
return '';
|
|
48
|
+
case 'money':
|
|
49
|
+
return 0;
|
|
50
|
+
case 'number':
|
|
51
|
+
return 0;
|
|
52
|
+
case 'date':
|
|
53
|
+
return '';
|
|
54
|
+
case 'checkbox':
|
|
55
|
+
return false;
|
|
56
|
+
case 'select':
|
|
57
|
+
return null;
|
|
58
|
+
default:
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
create() {
|
|
63
|
+
console.log(this.details);
|
|
64
|
+
let b = this.tableConfig.buttons.find(x => x.name == "create");
|
|
65
|
+
if (!b) {
|
|
66
|
+
this.dialogRef.close({ message: 'success', data: this.details });
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
this.isProcessing = true;
|
|
70
|
+
this.dataService.CallApi(b.action, this.details).subscribe((apiResponse) => {
|
|
71
|
+
this.isProcessing = false;
|
|
72
|
+
if (apiResponse.success) {
|
|
73
|
+
if (b.action.successMessage) {
|
|
74
|
+
this.messageService.toast(b.action.successMessage);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
this.messageService.toast("Created");
|
|
78
|
+
}
|
|
79
|
+
this.dialogRef.close({ message: 'success', data: this.details });
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
this.messageService.toast("Error: " + apiResponse);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
edit() {
|
|
87
|
+
console.log("Edit");
|
|
88
|
+
let b = this.tableConfig.buttons.find(x => x.name == "edit");
|
|
89
|
+
if (!b) {
|
|
90
|
+
this.dialogRef.close({ message: 'success', data: this.details });
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
this.isProcessing = true;
|
|
94
|
+
this.dataService.CallApi(b.action, this.details).subscribe((apiResponse) => {
|
|
95
|
+
this.isProcessing = false;
|
|
96
|
+
if (apiResponse.success) {
|
|
97
|
+
if (b.action.successMessage) {
|
|
98
|
+
this.messageService.toast(b.action.successMessage);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
this.messageService.toast("Updated");
|
|
102
|
+
}
|
|
103
|
+
this.dialogRef.close({ message: 'success', data: this.details });
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
this.messageService.toast("Error: " + apiResponse);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
delete() {
|
|
111
|
+
this.messageService.confirm(`DELETE ?`).subscribe((result) => {
|
|
112
|
+
if (result == "yes") {
|
|
113
|
+
console.log("Delete");
|
|
114
|
+
let b = this.tableConfig.buttons.find(x => x.name == "delete");
|
|
115
|
+
if (!b) {
|
|
116
|
+
this.dialogRef.close({ message: 'success', data: this.details });
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
this.isProcessing = true;
|
|
120
|
+
this.dataService.CallApi(b.action, this.details).subscribe((apiResponse) => {
|
|
121
|
+
this.isProcessing = false;
|
|
122
|
+
if (apiResponse.success) {
|
|
123
|
+
if (b.action.successMessage) {
|
|
124
|
+
this.messageService.toast(b.action.successMessage);
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
this.messageService.toast("Deleted");
|
|
128
|
+
}
|
|
129
|
+
this.dialogRef.close({ message: 'success', data: this.details });
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
this.messageService.toast("Error: " + apiResponse);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
detailsDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: detailsDialog, deps: [{ token: i1.DataServiceLib }, { token: i2.MessageService }, { token: i3.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
140
|
+
detailsDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: detailsDialog, selector: "app-viewModel", ngImport: i0, template: "\r\n<div class=\"row d-flex align-items-center mt-0\">\r\n\r\n <div class=\"col\">\r\n <h2 mat-dialog-title>{{formConfig.mode | titlecase}}</h2>\r\n </div>\r\n\r\n <div *ngIf=\"smallScreen && formConfig.mode=='view'\" class=\"col d-flex justify-content-end\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"setMode('edit')\"><mat-icon>edit</mat-icon></button>\r\n </div>\r\n\r\n <div *ngIf=\"smallScreen && formConfig.mode=='edit'\" class=\"col d-flex justify-content-end\">\r\n <button mat-icon-button (click)=\"setMode('view')\"><mat-icon>done</mat-icon></button>\r\n </div>\r\n\r\n</div>\r\n<mat-dialog-content class=\"mat-typography\">\r\n\r\n<div class=\"tin-input\" style=\"font-size:14px\">\r\n\r\n\r\n<spa-form [data]=\"details\" [config]=\"formConfig\"></spa-form>\r\n\r\n</div>\r\n\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n<div>\r\n<button mat-raised-button [disabled]=\"isProcessing\" color=\"primary\" *ngIf=\"formConfig.mode=='create'\" (click)=\"create()\" cdkFocusInitial>Submit</button>\r\n<button mat-raised-button [disabled]=\"isProcessing\" color=\"primary\" *ngIf=\"formConfig.mode=='edit'\" (click)=\"edit()\" cdkFocusInitial>Submit</button>\r\n<button mat-stroked-button color=\"primary\" mat-dialog-close>Cancel</button>\r\n</div>\r\n<div class=\"col d-flex justify-content-end\">\r\n<button mat-icon-button [disabled]=\"isProcessing\" style=\"color: red;\" (click)=\"delete()\" *ngIf=\"formConfig.mode!='create'\"><mat-icon>delete</mat-icon></button>\r\n</div>\r\n\r\n\r\n</mat-dialog-actions>\r\n\r\n\r\n\r\n", styles: [".top{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center}.mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i7.FormComponent, selector: "spa-form", inputs: ["data", "config"] }, { kind: "pipe", type: i4.TitleCasePipe, name: "titlecase" }] });
|
|
141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: detailsDialog, decorators: [{
|
|
142
|
+
type: Component,
|
|
143
|
+
args: [{ selector: 'app-viewModel', template: "\r\n<div class=\"row d-flex align-items-center mt-0\">\r\n\r\n <div class=\"col\">\r\n <h2 mat-dialog-title>{{formConfig.mode | titlecase}}</h2>\r\n </div>\r\n\r\n <div *ngIf=\"smallScreen && formConfig.mode=='view'\" class=\"col d-flex justify-content-end\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"setMode('edit')\"><mat-icon>edit</mat-icon></button>\r\n </div>\r\n\r\n <div *ngIf=\"smallScreen && formConfig.mode=='edit'\" class=\"col d-flex justify-content-end\">\r\n <button mat-icon-button (click)=\"setMode('view')\"><mat-icon>done</mat-icon></button>\r\n </div>\r\n\r\n</div>\r\n<mat-dialog-content class=\"mat-typography\">\r\n\r\n<div class=\"tin-input\" style=\"font-size:14px\">\r\n\r\n\r\n<spa-form [data]=\"details\" [config]=\"formConfig\"></spa-form>\r\n\r\n</div>\r\n\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n<div>\r\n<button mat-raised-button [disabled]=\"isProcessing\" color=\"primary\" *ngIf=\"formConfig.mode=='create'\" (click)=\"create()\" cdkFocusInitial>Submit</button>\r\n<button mat-raised-button [disabled]=\"isProcessing\" color=\"primary\" *ngIf=\"formConfig.mode=='edit'\" (click)=\"edit()\" cdkFocusInitial>Submit</button>\r\n<button mat-stroked-button color=\"primary\" mat-dialog-close>Cancel</button>\r\n</div>\r\n<div class=\"col d-flex justify-content-end\">\r\n<button mat-icon-button [disabled]=\"isProcessing\" style=\"color: red;\" (click)=\"delete()\" *ngIf=\"formConfig.mode!='create'\"><mat-icon>delete</mat-icon></button>\r\n</div>\r\n\r\n\r\n</mat-dialog-actions>\r\n\r\n\r\n\r\n", styles: [".top{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center}.mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"] }]
|
|
144
|
+
}], ctorParameters: function () { return [{ type: i1.DataServiceLib }, { type: i2.MessageService }, { type: i3.MatDialogRef }, { type: undefined, decorators: [{
|
|
145
|
+
type: Inject,
|
|
146
|
+
args: [MAT_DIALOG_DATA]
|
|
147
|
+
}] }]; } });
|
|
148
|
+
;
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsc0RpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9kZXRhaWxzRGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2RldGFpbHNEaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7OztBQVN6RSxNQUFNLE9BQU8sYUFBYTtJQUV4QixZQUFvQixXQUEyQixFQUFTLGNBQThCLEVBQVMsU0FBc0MsRUFBa0MsSUFBSTtRQUF2SixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFBUyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBUyxjQUFTLEdBQVQsU0FBUyxDQUE2QjtRQUFrQyxTQUFJLEdBQUosSUFBSSxDQUFBO1FBdUIzSyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxpQkFBWSxHQUFZLEtBQUssQ0FBQztJQTFCaUosQ0FBQztJQUdoTCxRQUFRO1FBRU4sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQTtRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO1FBRTlDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQ3JDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUE7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QUFDO3FCQUVsRTt5QkFBTTt3QkFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUM7cUJBQ3BEO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzBHQTFKVSxhQUFhLDBHQUV1SCxlQUFlOzhGQUZuSixhQUFhLHFEQ1gxQixvaURBMENBOzJGRC9CYSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLGVBQWU7OzBCQU0rRyxNQUFNOzJCQUFDLGVBQWU7O0FBMkovSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgRm9ybUNvbmZpZywgRmllbGQsIFRhYmxlQ29uZmlnIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZUxpYiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RhdGEuc2VydmljZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXZpZXdNb2RlbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RldGFpbHNEaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgZGV0YWlsc0RpYWxvZyBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlTGliLHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8ZGV0YWlsc0RpYWxvZz4sIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YSkgeyB9XHJcblxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICB0aGlzLnRhYmxlQ29uZmlnID0gdGhpcy5kYXRhLmNvbmZpZ1xyXG4gICAgdGhpcy5mb3JtQ29uZmlnID0gdGhpcy50YWJsZUNvbmZpZy5mb3JtQ29uZmlnO1xyXG5cclxuICAgIHRoaXMuZm9ybUNvbmZpZy5tb2RlID0gdGhpcy5kYXRhLm1vZGVcclxuICAgIHRoaXMuc21hbGxTY3JlZW4gPSB0aGlzLmRhdGEuc21hbGxTY3JlZW5cclxuXHJcbiAgICBpZiAodGhpcy5mb3JtQ29uZmlnLm1vZGUgPT0gXCJjcmVhdGVcIil7XHJcbiAgICAgIHRoaXMuZGV0YWlscyA9IHRoaXMuZ2VuZXJhdGVPYmplY3QoKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmRldGFpbHMgPSB0aGlzLmRhdGEuZGV0YWlsc1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaXNMb2FkQ29tcGxldGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgdGFibGVDb25maWc6IFRhYmxlQ29uZmlnXHJcbiAgZGV0YWlsczogYW55XHJcbiAgZm9ybUNvbmZpZyA6IEZvcm1Db25maWc7XHJcbiAgc21hbGxTY3JlZW4gPSBmYWxzZTtcclxuXHJcbiAgaXNMb2FkQ29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpc1Byb2Nlc3Npbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgZ2VuZXJhdGVPYmplY3QoKSB7XHJcblxyXG4gICAgbGV0IGQgPSB7fTtcclxuICAgIHRoaXMuZm9ybUNvbmZpZy5maWVsZHMuZm9yRWFjaChwcm9wZXJ0eSA9PiB7XHJcbiAgICAgIGRbcHJvcGVydHkubmFtZV0gPSB0aGlzLmdldEluaXRpYWxWYWx1ZShwcm9wZXJ0eS50eXBlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBkO1xyXG4gIH1cclxuXHJcbiAgc2V0TW9kZShuZXdNb2RlOiBzdHJpbmcpe1xyXG4gICAgdGhpcy5mb3JtQ29uZmlnLm1vZGUgPSBuZXdNb2RlXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEluaXRpYWxWYWx1ZSh0eXBlOiBGaWVsZFsndHlwZSddKTogYW55IHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICd0ZXh0JzpcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgIGNhc2UgJ21vbmV5JzpcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgICAgY2FzZSAnbnVtYmVyJzpcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgICAgY2FzZSAnZGF0ZSc6XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICBjYXNlICdjaGVja2JveCc6XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICBjYXNlICdzZWxlY3QnOlxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlKCkge1xyXG5cclxuICAgIGNvbnNvbGUubG9nKHRoaXMuZGV0YWlscylcclxuXHJcbiAgICBsZXQgYiA9IHRoaXMudGFibGVDb25maWcuYnV0dG9ucy5maW5kKHggPT4geC5uYW1lID09IFwiY3JlYXRlXCIpXHJcbiAgICBpZiAoIWIpIHtcclxuXHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgbWVzc2FnZTogJ3N1Y2Nlc3MnLCBkYXRhOiB0aGlzLmRldGFpbHN9KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gdHJ1ZVxyXG4gICAgdGhpcy5kYXRhU2VydmljZS5DYWxsQXBpKGIuYWN0aW9uLCB0aGlzLmRldGFpbHMpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSBmYWxzZVxyXG5cclxuICAgICAgaWYgKGFwaVJlc3BvbnNlLnN1Y2Nlc3MpIHtcclxuXHJcbiAgICAgICAgaWYgKGIuYWN0aW9uLnN1Y2Nlc3NNZXNzYWdlKSB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KGIuYWN0aW9uLnN1Y2Nlc3NNZXNzYWdlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkNyZWF0ZWRcIik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IG1lc3NhZ2U6ICdzdWNjZXNzJywgZGF0YTogdGhpcy5kZXRhaWxzIH0pO1xyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBlZGl0KCkge1xyXG4gICAgY29uc29sZS5sb2coXCJFZGl0XCIpXHJcblxyXG4gICAgbGV0IGIgPSB0aGlzLnRhYmxlQ29uZmlnLmJ1dHRvbnMuZmluZCh4ID0+IHgubmFtZSA9PSBcImVkaXRcIilcclxuICAgIGlmICghYikge1xyXG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IG1lc3NhZ2U6ICdzdWNjZXNzJywgZGF0YTogdGhpcy5kZXRhaWxzIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSB0cnVlXHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkNhbGxBcGkoYi5hY3Rpb24sIHRoaXMuZGV0YWlscykuc3Vic2NyaWJlKChhcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IGZhbHNlXHJcbiAgICAgIGlmIChhcGlSZXNwb25zZS5zdWNjZXNzKSB7XHJcblxyXG4gICAgICAgIGlmIChiLmFjdGlvbi5zdWNjZXNzTWVzc2FnZSkge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChiLmFjdGlvbi5zdWNjZXNzTWVzc2FnZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJVcGRhdGVkXCIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBtZXNzYWdlOiAnc3VjY2VzcycsIGRhdGE6IHRoaXMuZGV0YWlscyB9KTtcclxuXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkVycm9yOiBcIiArIGFwaVJlc3BvbnNlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGUoKSB7XHJcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNvbmZpcm0oYERFTEVURSA/YCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdCA9PSBcInllc1wiKSB7XHJcblxyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiRGVsZXRlXCIpXHJcblxyXG4gICAgICAgIGxldCBiID0gdGhpcy50YWJsZUNvbmZpZy5idXR0b25zLmZpbmQoeCA9PiB4Lm5hbWUgPT0gXCJkZWxldGVcIilcclxuICAgICAgICBpZiAoIWIpIHtcclxuICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgbWVzc2FnZTogJ3N1Y2Nlc3MnLCBkYXRhOiB0aGlzLmRldGFpbHMgfSk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IHRydWVcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLkNhbGxBcGkoYi5hY3Rpb24sIHRoaXMuZGV0YWlscykuc3Vic2NyaWJlKChhcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSBmYWxzZVxyXG4gICAgICAgICAgaWYgKGFwaVJlc3BvbnNlLnN1Y2Nlc3MpIHtcclxuXHJcbiAgICAgICAgICAgIGlmIChiLmFjdGlvbi5zdWNjZXNzTWVzc2FnZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoYi5hY3Rpb24uc3VjY2Vzc01lc3NhZ2UpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJEZWxldGVkXCIpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IG1lc3NhZ2U6ICdzdWNjZXNzJywgZGF0YTogdGhpcy5kZXRhaWxzIH0pO1xyXG5cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBhcGlSZXNwb25zZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG59O1xyXG5cclxuXHJcblxyXG4iLCJcclxuPGRpdiBjbGFzcz1cInJvdyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG10LTBcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgPGgyIG1hdC1kaWFsb2ctdGl0bGU+e3tmb3JtQ29uZmlnLm1vZGUgfCB0aXRsZWNhc2V9fTwvaDI+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCJzbWFsbFNjcmVlbiAmJiBmb3JtQ29uZmlnLm1vZGU9PSd2aWV3J1wiIGNsYXNzPVwiY29sIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1taW5pLWZhYiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic2V0TW9kZSgnZWRpdCcpXCI+PG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2ICpuZ0lmPVwic21hbGxTY3JlZW4gJiYgZm9ybUNvbmZpZy5tb2RlPT0nZWRpdCdcIiBjbGFzcz1cImNvbCBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gIChjbGljayk9XCJzZXRNb2RlKCd2aWV3JylcIj48bWF0LWljb24+ZG9uZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuPG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XHJcblxyXG48ZGl2IGNsYXNzPVwidGluLWlucHV0XCIgc3R5bGU9XCJmb250LXNpemU6MTRweFwiPlxyXG5cclxuXHJcbjxzcGEtZm9ybSBbZGF0YV09XCJkZXRhaWxzXCIgW2NvbmZpZ109XCJmb3JtQ29uZmlnXCI+PC9zcGEtZm9ybT5cclxuXHJcbjwvZGl2PlxyXG5cclxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcblxyXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG48ZGl2PlxyXG48YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIFtkaXNhYmxlZF09XCJpc1Byb2Nlc3NpbmdcIiBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cImZvcm1Db25maWcubW9kZT09J2NyZWF0ZSdcIiAoY2xpY2spPVwiY3JlYXRlKClcIiBjZGtGb2N1c0luaXRpYWw+U3VibWl0PC9idXR0b24+XHJcbjxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gW2Rpc2FibGVkXT1cImlzUHJvY2Vzc2luZ1wiIGNvbG9yPVwicHJpbWFyeVwiICpuZ0lmPVwiZm9ybUNvbmZpZy5tb2RlPT0nZWRpdCdcIiAoY2xpY2spPVwiZWRpdCgpXCIgY2RrRm9jdXNJbml0aWFsPlN1Ym1pdDwvYnV0dG9uPlxyXG48YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBtYXQtZGlhbG9nLWNsb3NlPkNhbmNlbDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImNvbCBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG48YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbZGlzYWJsZWRdPVwiaXNQcm9jZXNzaW5nXCIgc3R5bGU9XCJjb2xvcjogcmVkO1wiIChjbGljayk9XCJkZWxldGUoKVwiICpuZ0lmPVwiZm9ybUNvbmZpZy5tb2RlIT0nY3JlYXRlJ1wiPjxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG48L2Rpdj5cclxuXHJcblxyXG48L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuXHJcblxyXG5cclxuIl19
|