tin-spa 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/bundles/tin-spa.umd.js +3434 -0
- package/bundles/tin-spa.umd.js.map +1 -0
- package/bundles/tin-spa.umd.min.js +16 -0
- package/bundles/tin-spa.umd.min.js.map +1 -0
- package/esm2015/lib/classes/Classes.js +238 -0
- package/esm2015/lib/components/activity/activity.component.js +22 -0
- package/esm2015/lib/components/attach/attach.component.js +103 -0
- package/esm2015/lib/components/change-password/change-password.component.js +91 -0
- package/esm2015/lib/components/check/check.component.js +63 -0
- package/esm2015/lib/components/chips/chips.component.js +71 -0
- package/esm2015/lib/components/create-account/create-account.component.js +74 -0
- package/esm2015/lib/components/date/date.component.js +32 -0
- package/esm2015/lib/components/datetime/datetime.component.js +40 -0
- package/esm2015/lib/components/loader/loader.component.js +30 -0
- package/esm2015/lib/components/login/login.component.js +110 -0
- package/esm2015/lib/components/logs/logs.component.js +43 -0
- package/esm2015/lib/components/message/messageDialog.component.js +31 -0
- package/esm2015/lib/components/money/money.component.js +67 -0
- package/esm2015/lib/components/nav-menu/nav-menu.component.js +51 -0
- package/esm2015/lib/components/profile/profile.component.js +108 -0
- package/esm2015/lib/components/profiles/profiles.component.js +16 -0
- package/esm2015/lib/components/recover-account/recover-account.component.js +52 -0
- package/esm2015/lib/components/roles/addRoleDialog.component.js +59 -0
- package/esm2015/lib/components/roles/editRoleDialog.component.js +57 -0
- package/esm2015/lib/components/roles/roles.component.js +131 -0
- package/esm2015/lib/components/roles/viewRoleDialog.component.js +38 -0
- package/esm2015/lib/components/select/select.component.js +51 -0
- package/esm2015/lib/components/settings/settings.component.js +63 -0
- package/esm2015/lib/components/signup/signup.component.js +56 -0
- package/esm2015/lib/components/table/table.component.js +109 -0
- package/esm2015/lib/components/text/text.component.js +108 -0
- package/esm2015/lib/components/tiles/tiles.component.js +19 -0
- package/esm2015/lib/components/timeout/timeout.component.js +90 -0
- package/esm2015/lib/components/tin-spa.component.js +19 -0
- package/esm2015/lib/components/users/addUserDialog.component.js +53 -0
- package/esm2015/lib/components/users/editUserDialog.component.js +96 -0
- package/esm2015/lib/components/users/users.component.js +130 -0
- package/esm2015/lib/components/viewer/viewer.component.js +60 -0
- package/esm2015/lib/components/viewer/viewerDialog.component.js +77 -0
- package/esm2015/lib/dnd.directive.js +51 -0
- package/esm2015/lib/modules/spa-admin.module.js +67 -0
- package/esm2015/lib/modules/spa-index.module.js +33 -0
- package/esm2015/lib/modules/spa-mat.module.js +53 -0
- package/esm2015/lib/modules/spa-user.module.js +31 -0
- package/esm2015/lib/services/auth.service.js +150 -0
- package/esm2015/lib/services/data.service.js +77 -0
- package/esm2015/lib/services/export.service.js +29 -0
- package/esm2015/lib/services/loader-interceptor.service.js +77 -0
- package/esm2015/lib/services/loader.service.js +17 -0
- package/esm2015/lib/services/log.service.js +76 -0
- package/esm2015/lib/services/message.service.js +58 -0
- package/esm2015/lib/services/storage.service.js +42 -0
- package/esm2015/lib/services/tin-spa.service.js +14 -0
- package/esm2015/lib/tin-spa.module.js +86 -0
- package/esm2015/public-api.js +54 -0
- package/esm2015/tin-spa.js +9 -0
- package/esm5/lib/classes/Classes.js +291 -0
- package/esm5/lib/components/activity/activity.component.js +23 -0
- package/esm5/lib/components/attach/attach.component.js +115 -0
- package/esm5/lib/components/change-password/change-password.component.js +93 -0
- package/esm5/lib/components/check/check.component.js +64 -0
- package/esm5/lib/components/chips/chips.component.js +73 -0
- package/esm5/lib/components/create-account/create-account.component.js +76 -0
- package/esm5/lib/components/date/date.component.js +33 -0
- package/esm5/lib/components/datetime/datetime.component.js +41 -0
- package/esm5/lib/components/loader/loader.component.js +32 -0
- package/esm5/lib/components/login/login.component.js +113 -0
- package/esm5/lib/components/logs/logs.component.js +45 -0
- package/esm5/lib/components/message/messageDialog.component.js +32 -0
- package/esm5/lib/components/money/money.component.js +68 -0
- package/esm5/lib/components/nav-menu/nav-menu.component.js +53 -0
- package/esm5/lib/components/profile/profile.component.js +112 -0
- package/esm5/lib/components/profiles/profiles.component.js +18 -0
- package/esm5/lib/components/recover-account/recover-account.component.js +54 -0
- package/esm5/lib/components/roles/addRoleDialog.component.js +61 -0
- package/esm5/lib/components/roles/editRoleDialog.component.js +59 -0
- package/esm5/lib/components/roles/roles.component.js +138 -0
- package/esm5/lib/components/roles/viewRoleDialog.component.js +39 -0
- package/esm5/lib/components/select/select.component.js +52 -0
- package/esm5/lib/components/settings/settings.component.js +66 -0
- package/esm5/lib/components/signup/signup.component.js +58 -0
- package/esm5/lib/components/table/table.component.js +111 -0
- package/esm5/lib/components/text/text.component.js +109 -0
- package/esm5/lib/components/tiles/tiles.component.js +21 -0
- package/esm5/lib/components/timeout/timeout.component.js +92 -0
- package/esm5/lib/components/tin-spa.component.js +17 -0
- package/esm5/lib/components/users/addUserDialog.component.js +55 -0
- package/esm5/lib/components/users/editUserDialog.component.js +99 -0
- package/esm5/lib/components/users/users.component.js +135 -0
- package/esm5/lib/components/viewer/viewer.component.js +61 -0
- package/esm5/lib/components/viewer/viewerDialog.component.js +78 -0
- package/esm5/lib/dnd.directive.js +52 -0
- package/esm5/lib/modules/spa-admin.module.js +70 -0
- package/esm5/lib/modules/spa-index.module.js +36 -0
- package/esm5/lib/modules/spa-mat.module.js +56 -0
- package/esm5/lib/modules/spa-user.module.js +34 -0
- package/esm5/lib/services/auth.service.js +152 -0
- package/esm5/lib/services/data.service.js +78 -0
- package/esm5/lib/services/export.service.js +30 -0
- package/esm5/lib/services/loader-interceptor.service.js +79 -0
- package/esm5/lib/services/loader.service.js +18 -0
- package/esm5/lib/services/log.service.js +112 -0
- package/esm5/lib/services/message.service.js +59 -0
- package/esm5/lib/services/storage.service.js +74 -0
- package/esm5/lib/services/tin-spa.service.js +16 -0
- package/esm5/lib/tin-spa.module.js +89 -0
- package/esm5/public-api.js +54 -0
- package/esm5/tin-spa.js +9 -0
- package/fesm2015/tin-spa.js +2988 -0
- package/fesm2015/tin-spa.js.map +1 -0
- package/fesm5/tin-spa.js +3193 -0
- package/fesm5/tin-spa.js.map +1 -0
- package/lib/classes/Classes.d.ts +249 -0
- package/lib/components/activity/activity.component.d.ts +7 -0
- package/lib/components/attach/attach.component.d.ts +38 -0
- package/lib/components/change-password/change-password.component.d.ts +20 -0
- package/lib/components/check/check.component.d.ts +16 -0
- package/lib/components/chips/chips.component.d.ts +16 -0
- package/lib/components/create-account/create-account.component.d.ts +25 -0
- package/lib/components/date/date.component.d.ts +11 -0
- package/lib/components/datetime/datetime.component.d.ts +11 -0
- package/lib/components/loader/loader.component.d.ts +9 -0
- package/lib/components/login/login.component.d.ts +28 -0
- package/lib/components/logs/logs.component.d.ts +17 -0
- package/lib/components/message/messageDialog.component.d.ts +12 -0
- package/lib/components/money/money.component.d.ts +19 -0
- package/lib/components/nav-menu/nav-menu.component.d.ts +17 -0
- package/lib/components/profile/profile.component.d.ts +30 -0
- package/lib/components/profiles/profiles.component.d.ts +5 -0
- package/lib/components/recover-account/recover-account.component.d.ts +15 -0
- package/lib/components/roles/addRoleDialog.component.d.ts +19 -0
- package/lib/components/roles/editRoleDialog.component.d.ts +19 -0
- package/lib/components/roles/roles.component.d.ts +29 -0
- package/lib/components/roles/viewRoleDialog.component.d.ts +15 -0
- package/lib/components/select/select.component.d.ts +15 -0
- package/lib/components/settings/settings.component.d.ts +16 -0
- package/lib/components/signup/signup.component.d.ts +20 -0
- package/lib/components/table/table.component.d.ts +25 -0
- package/lib/components/text/text.component.d.ts +25 -0
- package/lib/components/tiles/tiles.component.d.ts +7 -0
- package/lib/components/timeout/timeout.component.d.ts +21 -0
- package/lib/components/tin-spa.component.d.ts +5 -0
- package/lib/components/users/addUserDialog.component.d.ts +16 -0
- package/lib/components/users/editUserDialog.component.d.ts +27 -0
- package/lib/components/users/users.component.d.ts +35 -0
- package/lib/components/viewer/viewer.component.d.ts +14 -0
- package/lib/components/viewer/viewerDialog.component.d.ts +19 -0
- package/lib/dnd.directive.d.ts +8 -0
- package/lib/modules/spa-admin.module.d.ts +2 -0
- package/lib/modules/spa-index.module.d.ts +2 -0
- package/lib/modules/spa-mat.module.d.ts +2 -0
- package/lib/modules/spa-user.module.d.ts +2 -0
- package/lib/services/auth.service.d.ts +44 -0
- package/lib/services/data.service.d.ts +23 -0
- package/lib/services/export.service.d.ts +7 -0
- package/lib/services/loader-interceptor.service.d.ts +18 -0
- package/lib/services/loader.service.d.ts +5 -0
- package/lib/services/log.service.d.ts +16 -0
- package/lib/services/message.service.d.ts +12 -0
- package/lib/services/storage.service.d.ts +7 -0
- package/lib/services/tin-spa.service.d.ts +3 -0
- package/lib/tin-spa.module.d.ts +2 -0
- package/package.json +21 -0
- package/public-api.d.ts +46 -0
- package/tin-spa.d.ts +8 -0
- package/tin-spa.metadata.json +1 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
let SelectComponent = class SelectComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.width = "100%";
|
|
6
|
+
this.readonly = false;
|
|
7
|
+
this.display = "";
|
|
8
|
+
this.value = "";
|
|
9
|
+
this.valueChange = new EventEmitter();
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
}
|
|
13
|
+
changed() {
|
|
14
|
+
this.valueChange.emit(this.value);
|
|
15
|
+
}
|
|
16
|
+
selectChanged() {
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
__decorate([
|
|
20
|
+
Input()
|
|
21
|
+
], SelectComponent.prototype, "width", void 0);
|
|
22
|
+
__decorate([
|
|
23
|
+
Input()
|
|
24
|
+
], SelectComponent.prototype, "readonly", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
Input()
|
|
27
|
+
], SelectComponent.prototype, "display", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
Input()
|
|
30
|
+
], SelectComponent.prototype, "value", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
Input()
|
|
33
|
+
], SelectComponent.prototype, "options", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
Input()
|
|
36
|
+
], SelectComponent.prototype, "optionValue", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
Input()
|
|
39
|
+
], SelectComponent.prototype, "optionDisplay", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
Output()
|
|
42
|
+
], SelectComponent.prototype, "valueChange", void 0);
|
|
43
|
+
SelectComponent = __decorate([
|
|
44
|
+
Component({
|
|
45
|
+
selector: 'spa-select',
|
|
46
|
+
template: "<mat-form-field style=\"padding-right: 20px;\" [ngStyle]=\"{'width':width}\">\n <mat-label>{{display}}</mat-label>\n <mat-select [(value)]=\"value\" (selectionChange)=\"changed()\" [disabled]=\"readonly\">\n <mat-option *ngFor=\"let row of options\" [value]=\"row[optionValue]\">\n {{row[optionDisplay]}}\n </mat-option>\n </mat-select>\n</mat-form-field>\n",
|
|
47
|
+
styles: [""]
|
|
48
|
+
})
|
|
49
|
+
], SelectComponent);
|
|
50
|
+
export { SelectComponent };
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3Rpbi1zcGEvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8vRSxJQUFhLGVBQWUsR0FBNUIsTUFBYSxlQUFlO0lBRTFCO1FBS1MsVUFBSyxHQUFHLE1BQU0sQ0FBQTtRQUNkLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLFVBQUssR0FBRyxFQUFFLENBQUM7UUFLVixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFkM0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQztJQWVELE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGFBQWE7SUFFYixDQUFDO0NBRUYsQ0FBQTtBQXJCVTtJQUFSLEtBQUssRUFBRTs4Q0FBZTtBQUNkO0lBQVIsS0FBSyxFQUFFO2lEQUFrQjtBQUVqQjtJQUFSLEtBQUssRUFBRTtnREFBYztBQUNiO0lBQVIsS0FBSyxFQUFFOzhDQUFZO0FBQ1g7SUFBUixLQUFLLEVBQUU7Z0RBQWM7QUFDYjtJQUFSLEtBQUssRUFBRTtvREFBYTtBQUNaO0lBQVIsS0FBSyxFQUFFO3NEQUFlO0FBRWI7SUFBVCxNQUFNLEVBQUU7b0RBQWtDO0FBaEJoQyxlQUFlO0lBTDNCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxZQUFZO1FBQ3RCLGdZQUFzQzs7S0FFdkMsQ0FBQztHQUNXLGVBQWUsQ0E0QjNCO1NBNUJZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NwYS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBASW5wdXQoKSB3aWR0aCA9IFwiMTAwJVwiXG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XG5cbiAgQElucHV0KCkgZGlzcGxheSA9IFwiXCI7XG4gIEBJbnB1dCgpIHZhbHVlID0gXCJcIjtcbiAgQElucHV0KCkgb3B0aW9uczogYW55O1xuICBASW5wdXQoKSBvcHRpb25WYWx1ZTtcbiAgQElucHV0KCkgb3B0aW9uRGlzcGxheTtcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cblxuXG4gIGNoYW5nZWQoKXtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cblxuICBzZWxlY3RDaGFuZ2VkKCl7XG5cbiAgfVxuXG59XG5cbiJdfQ==
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { DataService } from '../../services/data.service';
|
|
4
|
+
import { MessageService } from '../../services/message.service';
|
|
5
|
+
let SettingsComponent = class SettingsComponent {
|
|
6
|
+
constructor(dataService, messageService) {
|
|
7
|
+
this.dataService = dataService;
|
|
8
|
+
this.messageService = messageService;
|
|
9
|
+
this._filterText = "";
|
|
10
|
+
this.isProcessing = false;
|
|
11
|
+
}
|
|
12
|
+
ngOnInit() {
|
|
13
|
+
this.loadSettings();
|
|
14
|
+
}
|
|
15
|
+
applyFilter(filterValue) {
|
|
16
|
+
this.settings.filter = filterValue.trim().toLowerCase();
|
|
17
|
+
}
|
|
18
|
+
loadSettings() {
|
|
19
|
+
this.dataService.GetSetting("all", "").subscribe((apiResponse) => {
|
|
20
|
+
this.settings = apiResponse.dt;
|
|
21
|
+
// this.applyFilter(this._filterText);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
updateSetting(setting) {
|
|
25
|
+
this.isProcessing = true;
|
|
26
|
+
this.dataService.UpdateSetting(setting, "edit").subscribe((apiResponse) => {
|
|
27
|
+
this.isProcessing = false;
|
|
28
|
+
if (apiResponse.message == "success") {
|
|
29
|
+
this.messageService.toast(`Setting ${setting.sName} Updated`);
|
|
30
|
+
this.loadSettings();
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.messageService.toast("Error: " + apiResponse.message);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
;
|
|
38
|
+
addSetting() {
|
|
39
|
+
// const dialogRef = this.dialog.open(addRoleDialog, {
|
|
40
|
+
// width: "1100px",
|
|
41
|
+
// data: "",
|
|
42
|
+
// });
|
|
43
|
+
// dialogRef.afterClosed().subscribe((result) => {
|
|
44
|
+
// if (result == "success") {
|
|
45
|
+
// this.loadRoles();
|
|
46
|
+
// }
|
|
47
|
+
// });
|
|
48
|
+
this.messageService.toast("Feature not Available");
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
SettingsComponent.ctorParameters = () => [
|
|
52
|
+
{ type: DataService },
|
|
53
|
+
{ type: MessageService }
|
|
54
|
+
];
|
|
55
|
+
SettingsComponent = __decorate([
|
|
56
|
+
Component({
|
|
57
|
+
selector: 'spa-settings',
|
|
58
|
+
template: "<h4>Settings</h4>\n<hr>\n\n<div class=\"container\">\n\n\n\n <div class=\"row justify-content-between\" style=\"padding-bottom: 10px;padding-left:10px\">\n <div class=\"col-2\">\n <button mat-raised-button (click)=\"addSetting()\">New Setting</button>\n </div>\n <div class=\"col-2\">\n\n <button mat-raised-button (click)=\"loadSettings()\">Refresh</button>\n\n </div>\n </div>\n\n\n <div class=\"row mt-1 mb-1\" style=\"margin-left:10px\" *ngFor=\"let setting of settings\">\n\n <mat-form-field style=\"width: 500px; font-size: 14px;\">\n <mat-label>{{setting.sName}}</mat-label>\n <input matInput autocomplete=\"off\" [(ngModel)]=\"setting.sValue\" >\n </mat-form-field>\n\n <button mat-mini-fab color=\"primary\" (click)=\"updateSetting(setting)\" style=\"margin-right:150px;\"><mat-icon>done_all</mat-icon></button>\n\n <mat-label style=\"font-size: small;\">Last Updated by {{setting.updatedBy}} on {{setting.dateUpdated | date: 'dd MMM yy HH:mm'}}</mat-label>\n\n </div>\n\n\n</div>\n\n",
|
|
59
|
+
styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}"]
|
|
60
|
+
})
|
|
61
|
+
], SettingsComponent);
|
|
62
|
+
export { SettingsComponent };
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3NldHRpbmdzL3NldHRpbmdzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBUWhFLElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWlCO0lBRTVCLFlBQW9CLFdBQXdCLEVBQVUsY0FBOEI7UUFBaEUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFNcEYsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFakIsaUJBQVksR0FBRyxLQUFLLENBQUM7SUFSbUUsQ0FBQztJQUV6RixRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFNRCxXQUFXLENBQUMsV0FBbUI7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FDOUMsQ0FBQyxXQUF3QixFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQy9CLHNDQUFzQztRQUN4QyxDQUFDLENBQ0YsQ0FBQztJQUVKLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBTztRQUVuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBd0IsRUFBRSxFQUFFO1lBQ3JGLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBRTFCLElBQUksV0FBVyxDQUFDLE9BQU8sSUFBSSxTQUFTLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFdBQVcsT0FBTyxDQUFDLEtBQUssVUFBVSxDQUFDLENBQUM7Z0JBQzlELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUVyQjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzVEO1FBRUgsQ0FBQyxDQUFDLENBQUM7SUFFTCxDQUFDO0lBQUEsQ0FBQztJQUVGLFVBQVU7UUFFUixzREFBc0Q7UUFDdEQscUJBQXFCO1FBQ3JCLGNBQWM7UUFDZCxNQUFNO1FBRU4sa0RBQWtEO1FBQ2xELCtCQUErQjtRQUMvQix3QkFBd0I7UUFDeEIsTUFBTTtRQUNOLE1BQU07UUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBRXJELENBQUM7Q0FFRixDQUFBOztZQTFEa0MsV0FBVztZQUEwQixjQUFjOztBQUZ6RSxpQkFBaUI7SUFMN0IsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLGNBQWM7UUFDeEIsZ2lDQUF3Qzs7S0FFekMsQ0FBQztHQUNXLGlCQUFpQixDQTREN0I7U0E1RFksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlIH0gZnJvbSAndGluLWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcGEtc2V0dGluZ3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZXR0aW5ncy5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2V0dGluZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLCBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkU2V0dGluZ3MoKTtcbiAgfVxuXG4gIF9maWx0ZXJUZXh0ID0gXCJcIjtcbiAgc2V0dGluZ3M7XG4gIGlzUHJvY2Vzc2luZyA9IGZhbHNlO1xuXG4gIGFwcGx5RmlsdGVyKGZpbHRlclZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldHRpbmdzLmZpbHRlciA9IGZpbHRlclZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgbG9hZFNldHRpbmdzKCl7XG4gICAgdGhpcy5kYXRhU2VydmljZS5HZXRTZXR0aW5nKFwiYWxsXCIsIFwiXCIpLnN1YnNjcmliZShcbiAgICAgIChhcGlSZXNwb25zZTogQXBpUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5zZXR0aW5ncyA9IGFwaVJlc3BvbnNlLmR0O1xuICAgICAgICAvLyB0aGlzLmFwcGx5RmlsdGVyKHRoaXMuX2ZpbHRlclRleHQpO1xuICAgICAgfVxuICAgICk7XG5cbiAgfVxuXG4gIHVwZGF0ZVNldHRpbmcoc2V0dGluZykge1xuXG4gICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSB0cnVlO1xuICAgIHRoaXMuZGF0YVNlcnZpY2UuVXBkYXRlU2V0dGluZyhzZXR0aW5nLCBcImVkaXRcIikuc3Vic2NyaWJlKChhcGlSZXNwb25zZTogQXBpUmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XG5cbiAgICAgIGlmIChhcGlSZXNwb25zZS5tZXNzYWdlID09IFwic3VjY2Vzc1wiKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoYFNldHRpbmcgJHtzZXR0aW5nLnNOYW1lfSBVcGRhdGVkYCk7XG4gICAgICAgIHRoaXMubG9hZFNldHRpbmdzKCk7XG5cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBhcGlSZXNwb25zZS5tZXNzYWdlKTtcbiAgICAgIH1cblxuICAgIH0pO1xuXG4gIH07XG5cbiAgYWRkU2V0dGluZygpIHtcblxuICAgIC8vIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oYWRkUm9sZURpYWxvZywge1xuICAgIC8vICAgd2lkdGg6IFwiMTEwMHB4XCIsXG4gICAgLy8gICBkYXRhOiBcIlwiLFxuICAgIC8vIH0pO1xuXG4gICAgLy8gZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAvLyAgIGlmIChyZXN1bHQgPT0gXCJzdWNjZXNzXCIpIHtcbiAgICAvLyAgICAgdGhpcy5sb2FkUm9sZXMoKTtcbiAgICAvLyAgIH1cbiAgICAvLyB9KTtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRmVhdHVyZSBub3QgQXZhaWxhYmxlXCIpO1xuXG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { HttpService, ApiResponse } from 'tin-core';
|
|
4
|
+
import { MessageService } from '../../services/message.service';
|
|
5
|
+
import { DataService } from '../../services/data.service';
|
|
6
|
+
import { AuthService } from '../../services/auth.service';
|
|
7
|
+
import { User, Profile, Account } from '../../classes/Classes';
|
|
8
|
+
let SignupComponent = class SignupComponent {
|
|
9
|
+
constructor(httpService, messageService, dataService, authService) {
|
|
10
|
+
this.httpService = httpService;
|
|
11
|
+
this.messageService = messageService;
|
|
12
|
+
this.dataService = dataService;
|
|
13
|
+
this.authService = authService;
|
|
14
|
+
this.isProcessing = false;
|
|
15
|
+
this.user = new User();
|
|
16
|
+
this.profile = new Profile();
|
|
17
|
+
this.account = new Account();
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.account.user = this.user;
|
|
21
|
+
this.account.profile = this.profile;
|
|
22
|
+
}
|
|
23
|
+
create() {
|
|
24
|
+
this.profile.userID = this.user.userID;
|
|
25
|
+
this.isProcessing = true;
|
|
26
|
+
this.dataService.UpdateAccount(this.account, "add").subscribe((apiResponse) => {
|
|
27
|
+
this.isProcessing = false;
|
|
28
|
+
if (apiResponse.message == "success") {
|
|
29
|
+
this.messageService.toast("Account Created");
|
|
30
|
+
this.user = new User();
|
|
31
|
+
this.profile = new Profile();
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
this.messageService.toast("Error: " + apiResponse.message);
|
|
35
|
+
}
|
|
36
|
+
}, (error) => {
|
|
37
|
+
this.isProcessing = false;
|
|
38
|
+
this.messageService.toast(this.httpService.Error(error));
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
SignupComponent.ctorParameters = () => [
|
|
43
|
+
{ type: HttpService },
|
|
44
|
+
{ type: MessageService },
|
|
45
|
+
{ type: DataService },
|
|
46
|
+
{ type: AuthService }
|
|
47
|
+
];
|
|
48
|
+
SignupComponent = __decorate([
|
|
49
|
+
Component({
|
|
50
|
+
selector: 'spa-signup',
|
|
51
|
+
template: "\r\n<h4 style=\"margin-top: 1em;\">Signup</h4>\r\n\r\n<hr/>\r\nComplete the form below.\r\n\r\n<div class=\"d-flex justify-content-center row align-items-center\">\r\n\r\n <div class=\"tin-input\" style=\"font-size:14px; width: 50%;\">\r\n\r\n\r\n <div class=\"tin-input-row\">\r\n\r\n <div class=\"col\">\r\n\r\n <mat-form-field style=\"width:100%\">\r\n <mat-label>FirstName</mat-label>\r\n <input matInput autocomplete=\"off\" [(ngModel)]=\"account.profile.firstName\" placeholder=\"Enter FirstName\" />\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n <div class=\"col\">\r\n\r\n <mat-form-field style=\"width:100%\">\r\n <mat-label>LastName</mat-label>\r\n <input matInput autocomplete=\"off\" [(ngModel)]=\"profile.lastName\" placeholder=\"Enter LastName\" />\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n <div class=\"tin-input-row mt-3\">\r\n\r\n <div class=\"col-6\">\r\n\r\n <mat-form-field style=\"width:100%\">\r\n <mat-label>UserID</mat-label>\r\n <input matInput autocomplete=\"off\" [(ngModel)]=\"user.userID\" placeholder=\"Enter UserID\" />\r\n </mat-form-field>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n <div class=\"tin-input-row\">\r\n\r\n <div class=\"col\">\r\n\r\n <mat-form-field style=\"width:100%\">\r\n <mat-label>Password</mat-label>\r\n <input matInput autocomplete=\"off\" type=\"password\" [(ngModel)]=\"user.password\" placeholder=\"Enter Password\" />\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n <div class=\"col\">\r\n\r\n <mat-form-field style=\"width:100%\">\r\n <mat-label>Confirm Password</mat-label>\r\n <input matInput autocomplete=\"off\" type=\"password\" [(ngModel)]=\"confirmPassword\" placeholder=\"Enter Confirm Password\" />\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n <div class=\"tin-input-row mt-3\">\r\n <button mat-raised-button color=\"primary\" (click)=\"create()\" cdkFocusInitial>Create</button>\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n</div>\r\n\r\n",
|
|
52
|
+
styles: [""]
|
|
53
|
+
})
|
|
54
|
+
], SignupComponent);
|
|
55
|
+
export { SignupComponent };
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbnVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3Rpbi1zcGEvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zaWdudXAvc2lnbnVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU8vRCxJQUFhLGVBQWUsR0FBNUIsTUFBYSxlQUFlO0lBRzFCLFlBQW9CLFdBQXdCLEVBQVUsY0FBOEIsRUFBVSxXQUF3QixFQUFVLFdBQXdCO1FBQXBJLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVF4SixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixTQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQixZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV4QixZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQVpxSSxDQUFDO0lBRTlKLFFBQVE7UUFFTixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQVdILE1BQU07UUFFSixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUV2QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FDMUQsQ0FBQyxXQUF3QixFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFFMUIsSUFBSSxXQUFXLENBQUMsT0FBTyxJQUFJLFNBQVMsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFFN0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7YUFFOUI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUM1RDtRQUNILENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQ0YsQ0FBQztJQUNOLENBQUM7Q0FJQSxDQUFBOztZQTdDa0MsV0FBVztZQUEwQixjQUFjO1lBQXVCLFdBQVc7WUFBdUIsV0FBVzs7QUFIN0ksZUFBZTtJQUwzQixTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsWUFBWTtRQUN0QiwrcEVBQXNDOztLQUV2QyxDQUFDO0dBQ1csZUFBZSxDQWdEM0I7U0FoRFksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlLCBBcGlSZXNwb25zZSB9IGZyb20gJ3Rpbi1jb3JlJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlciwgUHJvZmlsZSwgQWNjb3VudCB9IGZyb20gJy4uLy4uL2NsYXNzZXMvQ2xhc3Nlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NwYS1zaWdudXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWdudXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NpZ251cC5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZ251cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSwgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLCBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSwpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICB0aGlzLmFjY291bnQudXNlciA9IHRoaXMudXNlcjtcclxuICAgIHRoaXMuYWNjb3VudC5wcm9maWxlID0gdGhpcy5wcm9maWxlO1xyXG4gIH1cclxuXHJcbiAgaXNQcm9jZXNzaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgdXNlciA9IG5ldyBVc2VyKCk7XHJcbiAgcHJvZmlsZSA9IG5ldyBQcm9maWxlKCk7XHJcblxyXG4gIGFjY291bnQgPSBuZXcgQWNjb3VudCgpO1xyXG5cclxuICBjb25maXJtUGFzc3dvcmQ6IHN0cmluZztcclxuXHJcblxyXG5jcmVhdGUoKXtcclxuXHJcbiAgdGhpcy5wcm9maWxlLnVzZXJJRCA9IHRoaXMudXNlci51c2VySUQ7XHJcblxyXG4gIHRoaXMuaXNQcm9jZXNzaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuVXBkYXRlQWNjb3VudCh0aGlzLmFjY291bnQsXCJhZGRcIikuc3Vic2NyaWJlKFxyXG4gICAgICAoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgaWYgKGFwaVJlc3BvbnNlLm1lc3NhZ2UgPT0gXCJzdWNjZXNzXCIpIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJBY2NvdW50IENyZWF0ZWRcIik7XHJcblxyXG4gICAgICAgICAgdGhpcy51c2VyID0gbmV3IFVzZXIoKTtcclxuICAgICAgICAgIHRoaXMucHJvZmlsZSA9IG5ldyBQcm9maWxlKCk7XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QodGhpcy5odHRwU2VydmljZS5FcnJvcihlcnJvcikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG59XHJcblxyXG5cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
3
|
+
import { MatTableDataSource } from '@angular/material/table';
|
|
4
|
+
import { ActionResponse, Operator, TableColumnType } from '../../classes/Classes';
|
|
5
|
+
let TableComponent = class TableComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.dataChange = new EventEmitter();
|
|
8
|
+
this.buttonClick = new EventEmitter();
|
|
9
|
+
this.loadClick = new EventEmitter();
|
|
10
|
+
this.createClick = new EventEmitter();
|
|
11
|
+
this.colType = TableColumnType;
|
|
12
|
+
this.op = Operator;
|
|
13
|
+
this.displayedColumns = [];
|
|
14
|
+
this._filterText = "";
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
// console.log("Init")
|
|
18
|
+
this.config.columns.forEach(element => {
|
|
19
|
+
this.displayedColumns.push(element.name);
|
|
20
|
+
});
|
|
21
|
+
this.displayedColumns.push("Action");
|
|
22
|
+
this.styleString = `width: ${50 * this.config.actions.length}px`;
|
|
23
|
+
}
|
|
24
|
+
ngOnChanges() {
|
|
25
|
+
// console.log("OnChange")
|
|
26
|
+
this.data = new MatTableDataSource(this.data);
|
|
27
|
+
this.data.paginator = this.tablePaginator;
|
|
28
|
+
this.applyFilter(this._filterText);
|
|
29
|
+
}
|
|
30
|
+
applyFilter(filterValue) {
|
|
31
|
+
this.data.filter = filterValue.trim().toLowerCase();
|
|
32
|
+
}
|
|
33
|
+
do(name, item) {
|
|
34
|
+
let resp = new ActionResponse();
|
|
35
|
+
resp.name = name;
|
|
36
|
+
resp.value = item;
|
|
37
|
+
this.buttonClick.emit(resp);
|
|
38
|
+
}
|
|
39
|
+
create() {
|
|
40
|
+
this.createClick.emit();
|
|
41
|
+
}
|
|
42
|
+
load() {
|
|
43
|
+
this.loadClick.emit();
|
|
44
|
+
}
|
|
45
|
+
test(a, op, b) {
|
|
46
|
+
if (op == Operator.Equal) {
|
|
47
|
+
if (a == b) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (op == Operator.Greater) {
|
|
55
|
+
if (a > b) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (op == Operator.Less) {
|
|
63
|
+
if (a < b) {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (op == Operator.NotEqual) {
|
|
71
|
+
if (a != b) {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
__decorate([
|
|
81
|
+
Input()
|
|
82
|
+
], TableComponent.prototype, "config", void 0);
|
|
83
|
+
__decorate([
|
|
84
|
+
Input()
|
|
85
|
+
], TableComponent.prototype, "data", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
Output()
|
|
88
|
+
], TableComponent.prototype, "dataChange", void 0);
|
|
89
|
+
__decorate([
|
|
90
|
+
Output()
|
|
91
|
+
], TableComponent.prototype, "buttonClick", void 0);
|
|
92
|
+
__decorate([
|
|
93
|
+
Output()
|
|
94
|
+
], TableComponent.prototype, "loadClick", void 0);
|
|
95
|
+
__decorate([
|
|
96
|
+
Output()
|
|
97
|
+
], TableComponent.prototype, "createClick", void 0);
|
|
98
|
+
__decorate([
|
|
99
|
+
ViewChild('tablePaginator')
|
|
100
|
+
], TableComponent.prototype, "tablePaginator", void 0);
|
|
101
|
+
TableComponent = __decorate([
|
|
102
|
+
Component({
|
|
103
|
+
selector: 'spa-table',
|
|
104
|
+
template: "<div >\n\n<div *ngIf=\"config.create.enabled || config.enableFilter\" class=\"row justify-content-between\" style=\"padding-bottom: 10px\">\n <div class=\"col\">\n<button *ngIf=\"config.create\" [disabled]=\"!config.create.enabled\" mat-raised-button color=\"primary\" (click)=\"create()\">{{config.create.display}}</button>\n</div>\n <div *ngIf=\"config.enableFilter\" class=\"col d-flex justify-content-end\">\n<mat-form-field style=\"font-size:12px;margin-right: 5px;\">\n<mat-label>Filter</mat-label>\n<input matInput [(ngModel)]=\"_filterText\" (keyup)=\"applyFilter($event.target.value)\" placeholder=\"Enter Filter text\" autocomplete=\"off\">\n</mat-form-field>\n<button mat-mini-fab color=\"primary\" (click)=\"load()\" style=\"margin-top:5px\" matTooltip=\"refresh data\" matTooltipPosition=\"right\"><mat-icon class=\"refreshIcon\">refresh</mat-icon></button>\n</div>\n</div>\n\n<div class=\"mat-elevation-z8\" *ngIf=\"data\">\n\n <table mat-table [dataSource]=\"data\">\n\n <ng-container *ngFor=\"let col of config.columns; let i = index\"\n\n [matColumnDef]=\"col.name\">\n <th mat-header-cell *matHeaderCellDef> {{col.display}} </th>\n <td mat-cell *matCellDef=\"let row\">\n\n <!-- String -->\n <div *ngIf=\"(col.type==colType.String || col.type == null) && col.color == null\"> {{row[col.name]}}</div>\n\n <div [ngStyle]=\"{'color':col.color.name}\"\n *ngIf=\"(col.type==colType.String || col.type == null) && col.color != null && test(row[col.color.field], col.color.operator, col.color.value )\" >\n {{row[col.name]}}\n </div>\n\n <div\n *ngIf=\"(col.type==colType.String || col.type == null) && col.color != null && !test(row[col.color.field], col.color.operator, col.color.value )\" >\n {{row[col.name]}}\n </div>\n\n <!-- <div [ngStyle]=\"{'color':col.color.name}\"\n *ngIf=\"(col.type==colType.String || col.type == null) && col.color != null &&\n col.color.operator==op.Equal && row[col.color.field]==col.color.value\" >\n {{row[col.name]}}\n </div>\n\n <div [ngStyle]=\"{'color':col.color.name}\"\n *ngIf=\"(col.type==colType.String || col.type == null) && col.color != null &&\n col.color.operator==op.Greater && row[col.color.field]>col.color.value\" >\n {{row[col.name]}}\n </div>\n\n <div [ngStyle]=\"{'color':col.color.name}\"\n *ngIf=\"(col.type==colType.String || col.type == null) && col.color != null &&\n col.color.operator==op.Less && row[col.color.field]<col.color.value\" >\n {{row[col.name]}}\n </div>\n\n <div [ngStyle]=\"{'color':col.color.name}\"\n *ngIf=\"(col.type==colType.String || col.type == null) && col.color != null &&\n col.color.operator==op.NotEqual && row[col.color.field]!=col.color.value\" >\n {{row[col.name]}}\n </div> -->\n\n\n <!-- Date -->\n <div *ngIf=\"col.type==colType.Date\"> {{row[col.name] | date:'dd/MM/yyyy'}}</div>\n\n\n <!-- DateTime -->\n <div *ngIf=\"col.type==colType.DateTime\"> {{row[col.name] | date:'dd/MM/yyyy HH:mm'}}</div>\n\n\n <ng-container *ngFor=\"let icon of col.icons;\">\n <!-- <mat-icon *ngIf=\"col.type==colType.Icon && icon.operator==op.Equal && row[icon.field]==icon.value\"\n [ngStyle]=\"{'color':icon.color}\"\n [matTooltip]=\"icon.hint\" matTooltipPosition=\"above\">\n {{icon.name}}\n </mat-icon>\n\n <mat-icon *ngIf=\"col.type==colType.Icon && icon.operator==op.Greater && row[icon.field]>icon.value\"\n [ngStyle]=\"{'color':icon.color}\"\n [matTooltip]=\"icon.hint\" matTooltipPosition=\"above\">\n {{icon.name}}\n </mat-icon>\n\n <mat-icon *ngIf=\"col.type==colType.Icon && icon.operator==op.Less && row[icon.field]<icon.value\"\n [ngStyle]=\"{'color':icon.color}\"\n [matTooltip]=\"icon.hint\" matTooltipPosition=\"above\">\n {{icon.name}}\n </mat-icon>\n <mat-icon *ngIf=\"col.type==colType.Icon && icon.operator==op.NotEqual && row[icon.field]!=icon.value\"\n [ngStyle]=\"{'color':icon.color}\"\n [matTooltip]=\"icon.hint\" matTooltipPosition=\"above\">\n {{icon.name}}\n </mat-icon> -->\n\n <mat-icon *ngIf=\"col.type==colType.Icon && test(row[icon.field],icon.operator,icon.value)\"\n [ngStyle]=\"{'color':icon.color}\"\n [matTooltip]=\"icon.hint\" matTooltipPosition=\"above\">\n {{icon.name}}\n </mat-icon>\n\n </ng-container>\n\n </td>\n\n </ng-container>\n\n\n\n\n <ng-container matColumnDef=\"Action\">\n\n <th mat-header-cell *matHeaderCellDef> Action </th>\n <td mat-cell *matCellDef=\"let row\" [style]=\"styleString+';padding-right: 0px;'\">\n\n <ng-container *ngFor=\"let act of config.actions\">\n\n <button *ngIf=\" (act.disappear && (row[act.disappear.field] != act.disappear.value)) || !act.disappear\" mat-mini-fab\n\n [disabled]=\"(act.disable && (row[act.disable.field] == act.disable.value))\"\n [color]=\"act.color==null? 'primary' : act.color\"\n [matTooltip]=\"act.hint\" matTooltipPosition=\"above\"\n (click)=\"do(act.name,row)\" style=\"margin-right:5px\">\n <mat-icon>{{act.icon}}</mat-icon>\n\n </button>\n\n </ng-container>\n\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" [ngClass]=\"{'make-gray': row[config.greyout.field]==config.greyout.value}\"></tr>\n\n </table>\n</div>\n<mat-paginator #tablePaginator [pageSizeOptions]=\"[10, 50, 100]\" showFirstLastButtons></mat-paginator>\n</div>\n\n",
|
|
105
|
+
styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}.make-gray{background-color:#d3d3d3}"]
|
|
106
|
+
})
|
|
107
|
+
], TableComponent);
|
|
108
|
+
export { TableComponent };
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFlLE1BQU0sdUJBQXVCLENBQUM7QUFPL0YsSUFBYSxjQUFjLEdBQTNCLE1BQWEsY0FBYztJQUV6QjtRQXlCVSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSTNDLFlBQU8sR0FBRyxlQUFlLENBQUE7UUFDekIsT0FBRSxHQUFHLFFBQVEsQ0FBQTtRQUViLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQUloQyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztJQXZDRCxDQUFDO0lBRWpCLFFBQVE7UUFFTixzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUVwQyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDO0lBRW5FLENBQUM7SUFFRCxXQUFXO1FBQ1QsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBb0JELFdBQVcsQ0FBQyxXQUFtQjtRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSTtRQUVYLElBQUksSUFBSSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUdELE1BQU07UUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxDQUFDLENBQUssRUFBRSxFQUFZLEVBQUUsQ0FBTTtRQUU5QixJQUFJLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFDO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQztnQkFDVCxPQUFPLElBQUksQ0FBQzthQUNiO2lCQUFJO2dCQUNILE9BQU8sS0FBSyxDQUFDO2FBQ2Q7U0FFRjtRQUVELElBQUksRUFBRSxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNULE9BQU8sSUFBSSxDQUFDO2FBQ2I7aUJBQU07Z0JBQ0wsT0FBTyxLQUFLLENBQUM7YUFDZDtTQUVGO1FBRUQsSUFBSSxFQUFFLElBQUksUUFBUSxDQUFDLElBQUksRUFBRTtZQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ1QsT0FBTyxJQUFJLENBQUM7YUFDYjtpQkFBTTtnQkFDTCxPQUFPLEtBQUssQ0FBQzthQUNkO1NBRUY7UUFFRCxJQUFJLEVBQUUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDVixPQUFPLElBQUksQ0FBQzthQUNiO2lCQUFNO2dCQUNMLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7U0FFRjtJQUlILENBQUM7Q0FFRixDQUFBO0FBaEZVO0lBQVIsS0FBSyxFQUFFOzhDQUFxQjtBQUNwQjtJQUFSLEtBQUssRUFBRTs0Q0FBVztBQUNUO0lBQVQsTUFBTSxFQUFFO2tEQUFpQztBQUNoQztJQUFULE1BQU0sRUFBRTttREFBa0M7QUFDakM7SUFBVCxNQUFNLEVBQUU7aURBQWdDO0FBQy9CO0lBQVQsTUFBTSxFQUFFO21EQUFrQztBQUVkO0lBQTVCLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQztzREFBOEI7QUFoQy9DLGNBQWM7SUFMMUIsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLFdBQVc7UUFDckIscTBMQUFxQzs7S0FFdEMsQ0FBQztHQUNXLGNBQWMsQ0F5RzFCO1NBekdZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBBY3Rpb25SZXNwb25zZSwgT3BlcmF0b3IsIFRhYmxlQ29sdW1uVHlwZSwgVGFibGVDb25maWcgfSBmcm9tICcuLi8uLi9jbGFzc2VzL0NsYXNzZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcGEtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgICAvLyBjb25zb2xlLmxvZyhcIkluaXRcIilcbiAgICB0aGlzLmNvbmZpZy5jb2x1bW5zLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaChlbGVtZW50Lm5hbWUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goXCJBY3Rpb25cIilcblxuICAgIHRoaXMuc3R5bGVTdHJpbmcgPSBgd2lkdGg6ICR7NTAgKiB0aGlzLmNvbmZpZy5hY3Rpb25zLmxlbmd0aH1weGA7XG5cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCl7XG4gICAgLy8gY29uc29sZS5sb2coXCJPbkNoYW5nZVwiKVxuICAgIHRoaXMuZGF0YSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodGhpcy5kYXRhKTtcbiAgICB0aGlzLmRhdGEucGFnaW5hdG9yID0gdGhpcy50YWJsZVBhZ2luYXRvcjtcbiAgICB0aGlzLmFwcGx5RmlsdGVyKHRoaXMuX2ZpbHRlclRleHQpO1xuICB9XG5cblxuICBASW5wdXQoKSBjb25maWc6IFRhYmxlQ29uZmlnO1xuICBASW5wdXQoKSBkYXRhOiBhbnk7XG4gIEBPdXRwdXQoKSBkYXRhQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgYnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBsb2FkQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjcmVhdGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAVmlld0NoaWxkKCd0YWJsZVBhZ2luYXRvcicpIHRhYmxlUGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XG5cbiAgY29sVHlwZSA9IFRhYmxlQ29sdW1uVHlwZVxuICBvcCA9IE9wZXJhdG9yXG5cbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbXTtcblxuICBzdHlsZVN0cmluZzogc3RyaW5nO1xuXG4gIF9maWx0ZXJUZXh0ID0gXCJcIjtcbiAgYXBwbHlGaWx0ZXIoZmlsdGVyVmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuZGF0YS5maWx0ZXIgPSBmaWx0ZXJWYWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIGRvKG5hbWUsIGl0ZW0pIHtcblxuICAgIGxldCByZXNwID0gbmV3IEFjdGlvblJlc3BvbnNlKCk7XG4gICAgcmVzcC5uYW1lID0gbmFtZTtcbiAgICByZXNwLnZhbHVlID0gaXRlbTtcbiAgICB0aGlzLmJ1dHRvbkNsaWNrLmVtaXQocmVzcCk7XG4gIH1cblxuXG4gIGNyZWF0ZSgpe1xuICAgIHRoaXMuY3JlYXRlQ2xpY2suZW1pdCgpO1xuICB9XG5cbiAgbG9hZCgpe1xuICAgIHRoaXMubG9hZENsaWNrLmVtaXQoKTtcbiAgfVxuXG4gIHRlc3QoYTphbnksIG9wOiBPcGVyYXRvciwgYjogYW55KXtcblxuICAgIGlmIChvcCA9PSBPcGVyYXRvci5FcXVhbCl7XG4gICAgICBpZiAoYSA9PSBiKXtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9ZWxzZXtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgaWYgKG9wID09IE9wZXJhdG9yLkdyZWF0ZXIpIHtcbiAgICAgIGlmIChhID4gYikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIGlmIChvcCA9PSBPcGVyYXRvci5MZXNzKSB7XG4gICAgICBpZiAoYSA8IGIpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBpZiAob3AgPT0gT3BlcmF0b3IuTm90RXF1YWwpIHtcbiAgICAgIGlmIChhICE9IGIpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICB9XG5cblxuXG4gIH1cblxufVxuXG5cblxuIl19
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import { FormControl, Validators } from '@angular/forms';
|
|
4
|
+
let TextComponent = class TextComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.hideRequiredControl = new FormControl(true);
|
|
7
|
+
this.readonly = false;
|
|
8
|
+
this.hint = "";
|
|
9
|
+
this.display = "";
|
|
10
|
+
this.value = "";
|
|
11
|
+
this.valueChange = new EventEmitter();
|
|
12
|
+
this.leave = new EventEmitter();
|
|
13
|
+
this.rows = "";
|
|
14
|
+
this.width = "100%";
|
|
15
|
+
//validations
|
|
16
|
+
this.required = true;
|
|
17
|
+
this.min = 0;
|
|
18
|
+
this.max = 9000000000000000; //Math.max
|
|
19
|
+
this.regex = ""; //"[a-zA-Z ]*" //"/\S+@\S+\.\S+/";
|
|
20
|
+
this.control = new FormControl(this.value, [Validators.required, Validators.minLength(this.min), Validators.maxLength(this.max), Validators.pattern(this.regex)]);
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
}
|
|
24
|
+
ngAfterViewInit() {
|
|
25
|
+
if (this.readonly) {
|
|
26
|
+
this.control.setValidators(null);
|
|
27
|
+
this.control.updateValueAndValidity();
|
|
28
|
+
}
|
|
29
|
+
if (!this.required && !this.readonly) {
|
|
30
|
+
this.control.setValidators([Validators.minLength(this.min), Validators.maxLength(this.max), Validators.pattern(this.regex)]);
|
|
31
|
+
this.control.updateValueAndValidity();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
changed() {
|
|
35
|
+
this.valueChange.emit(this.value);
|
|
36
|
+
}
|
|
37
|
+
leaved() {
|
|
38
|
+
this.leave.emit();
|
|
39
|
+
}
|
|
40
|
+
validate() {
|
|
41
|
+
if ((this.required || this.min > 0) && this.control.hasError('required')) {
|
|
42
|
+
return `Required`;
|
|
43
|
+
}
|
|
44
|
+
if (this.control.hasError('minlength')) {
|
|
45
|
+
return `Minimun length is ${this.min}`;
|
|
46
|
+
}
|
|
47
|
+
if (this.control.hasError('maxlength')) {
|
|
48
|
+
return `Maximum length is ${this.max}`;
|
|
49
|
+
}
|
|
50
|
+
if (this.control.hasError('pattern')) {
|
|
51
|
+
return `Invalid Input`;
|
|
52
|
+
}
|
|
53
|
+
// if (this.regex != ""){
|
|
54
|
+
// let r = new RegExp(this.regex, "g");
|
|
55
|
+
// if (!r.test(this.value)){
|
|
56
|
+
// this.valid = false;
|
|
57
|
+
// this.errorMessage = "Invalid input";
|
|
58
|
+
// return this.errorMessage;
|
|
59
|
+
// }
|
|
60
|
+
// }
|
|
61
|
+
return "";
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
__decorate([
|
|
65
|
+
Input()
|
|
66
|
+
], TextComponent.prototype, "readonly", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
Input()
|
|
69
|
+
], TextComponent.prototype, "hint", void 0);
|
|
70
|
+
__decorate([
|
|
71
|
+
Input()
|
|
72
|
+
], TextComponent.prototype, "display", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
Input()
|
|
75
|
+
], TextComponent.prototype, "value", void 0);
|
|
76
|
+
__decorate([
|
|
77
|
+
Output()
|
|
78
|
+
], TextComponent.prototype, "valueChange", void 0);
|
|
79
|
+
__decorate([
|
|
80
|
+
Output()
|
|
81
|
+
], TextComponent.prototype, "leave", void 0);
|
|
82
|
+
__decorate([
|
|
83
|
+
Input()
|
|
84
|
+
], TextComponent.prototype, "rows", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
Input()
|
|
87
|
+
], TextComponent.prototype, "width", void 0);
|
|
88
|
+
__decorate([
|
|
89
|
+
Input()
|
|
90
|
+
], TextComponent.prototype, "required", void 0);
|
|
91
|
+
__decorate([
|
|
92
|
+
Input()
|
|
93
|
+
], TextComponent.prototype, "min", void 0);
|
|
94
|
+
__decorate([
|
|
95
|
+
Input()
|
|
96
|
+
], TextComponent.prototype, "max", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
Input()
|
|
99
|
+
], TextComponent.prototype, "regex", void 0);
|
|
100
|
+
TextComponent = __decorate([
|
|
101
|
+
Component({
|
|
102
|
+
selector: 'spa-text',
|
|
103
|
+
template: "<mat-form-field hideRequiredMarker=\"true\" [hintLabel]=\"hint\" *ngIf=\"rows == ''\" style=\"padding-right: 20px;\" [ngStyle]=\"{'width':width}\" >\n<mat-label>{{display}}</mat-label>\n<input matInput autocomplete=\"off\" [(ngModel)]=\"value\" (change)=\"changed()\" (blur)=\"leaved()\" [placeholder]=\"display\" [formControl]=\"control\" [required]=\"required\" [readonly]=\"readonly\"/>\n<mat-error *ngIf=\"control.invalid\">{{validate()}}</mat-error>\n</mat-form-field>\n\n\n<!-- TextArea copy - Only change input to textarea and change ngif to not -->\n\n<mat-form-field hideRequiredMarker=\"true\" [hintLabel]=\"hint\" *ngIf=\"rows != ''\" style=\"padding-right: 20px;\" [ngStyle]=\"{'width':width}\">\n<mat-label>{{display}}</mat-label>\n<textarea matInput autocomplete=\"off\" [rows]=\"rows\" [(ngModel)]=\"value\" (change)=\"changed()\" [placeholder]=\"display\" [formControl]=\"control\" [required]=\"required\"></textarea>\n<mat-error *ngIf=\"control.invalid\">{{validate()}}</mat-error>\n</mat-form-field>\n\n\n",
|
|
104
|
+
styles: [""]
|
|
105
|
+
})
|
|
106
|
+
], TextComponent);
|
|
107
|
+
export { TextComponent };
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGV4dC90ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT3BFLElBQWEsYUFBYSxHQUExQixNQUFhLGFBQWE7SUFFeEI7UUFxQkEsd0JBQW1CLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbkMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDVixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFakMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFNUIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLFVBQUssR0FBRyxNQUFNLENBQUE7UUFFdkIsYUFBYTtRQUNKLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsUUFBRyxHQUFHLENBQUMsQ0FBQztRQUNSLFFBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLFVBQVU7UUFDbEMsVUFBSyxHQUFHLEVBQUUsQ0FBQSxDQUFDLGtDQUFrQztRQVV0RCxZQUFPLEdBQUcsSUFBSSxXQUFXLENBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUcsQ0FBQyxDQUFDO0lBaEQvSSxDQUFDO0lBRWxCLFFBQVE7SUFFUixDQUFDO0lBRUQsZUFBZTtRQUViLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDdkM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUM7WUFFbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQztJQXVCRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBSUQsUUFBUTtRQUdOLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDeEUsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3RDLE9BQU8scUJBQXFCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUN4QztRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDdEMsT0FBTyxxQkFBcUIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ3hDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNwQyxPQUFPLGVBQWUsQ0FBQztTQUN4QjtRQUdELHlCQUF5QjtRQUV6Qix5Q0FBeUM7UUFFekMsOEJBQThCO1FBQzlCLDBCQUEwQjtRQUMxQiwyQ0FBMkM7UUFDM0MsZ0NBQWdDO1FBQ2hDLE1BQU07UUFDTixJQUFJO1FBRUosT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0NBRUYsQ0FBQTtBQTdEVTtJQUFSLEtBQUssRUFBRTsrQ0FBa0I7QUFDakI7SUFBUixLQUFLLEVBQUU7MkNBQVc7QUFDVjtJQUFSLEtBQUssRUFBRTs4Q0FBYztBQUNiO0lBQVIsS0FBSyxFQUFFOzRDQUFZO0FBQ1Y7SUFBVCxNQUFNLEVBQUU7a0RBQWtDO0FBRWpDO0lBQVQsTUFBTSxFQUFFOzRDQUE0QjtBQUU1QjtJQUFSLEtBQUssRUFBRTsyQ0FBVztBQUNWO0lBQVIsS0FBSyxFQUFFOzRDQUFlO0FBR2Q7SUFBUixLQUFLLEVBQUU7K0NBQWlCO0FBQ2hCO0lBQVIsS0FBSyxFQUFFOzBDQUFTO0FBQ1I7SUFBUixLQUFLLEVBQUU7MENBQXdCO0FBQ3ZCO0lBQVIsS0FBSyxFQUFFOzRDQUFXO0FBeENSLGFBQWE7SUFMekIsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLFVBQVU7UUFDcEIsNGdDQUFvQzs7S0FFckMsQ0FBQztHQUNXLGFBQWEsQ0FzRnpCO1NBdEZZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcGEtdGV4dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGV4dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoKSB7ICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpe1xuXG4gICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWxpZGF0b3JzKG51bGwpO1xuICAgICAgdGhpcy5jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnJlcXVpcmVkICYmICF0aGlzLnJlYWRvbmx5KXtcblxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMubWluTGVuZ3RoKHRoaXMubWluKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgodGhpcy5tYXgpLCBWYWxpZGF0b3JzLnBhdHRlcm4odGhpcy5yZWdleCldKTtcbiAgICAgIHRoaXMuY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuICB9XG5cblxuICBvcHRpb25zOiBGb3JtR3JvdXA7XG4gIGhpZGVSZXF1aXJlZENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wodHJ1ZSk7XG5cbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcbiAgQElucHV0KCkgaGludCA9IFwiXCI7XG4gIEBJbnB1dCgpIGRpc3BsYXkgPSBcIlwiO1xuICBASW5wdXQoKSB2YWx1ZSA9IFwiXCI7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KCkgbGVhdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KCkgcm93cyA9IFwiXCI7XG4gIEBJbnB1dCgpIHdpZHRoID0gXCIxMDAlXCJcblxuICAvL3ZhbGlkYXRpb25zXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gdHJ1ZTtcbiAgQElucHV0KCkgbWluID0gMDtcbiAgQElucHV0KCkgbWF4ID0gOTAwMDAwMDAwMDAwMDAwMDsgLy9NYXRoLm1heFxuICBASW5wdXQoKSByZWdleCA9IFwiXCIgLy9cIlthLXpBLVogXSpcIiAvL1wiL1xcUytAXFxTK1xcLlxcUysvXCI7XG5cbiAgY2hhbmdlZCgpe1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGxlYXZlZCgpe1xuICAgIHRoaXMubGVhdmUuZW1pdCgpO1xuICB9XG5cbiAgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCggdGhpcy52YWx1ZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKHRoaXMubWluKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgodGhpcy5tYXgpLCBWYWxpZGF0b3JzLnBhdHRlcm4odGhpcy5yZWdleCkgIF0pO1xuXG4gIHZhbGlkYXRlKCkgOiBzdHJpbmd7XG5cblxuICAgIGlmICgodGhpcy5yZXF1aXJlZCB8fCB0aGlzLm1pbiA+IDApICYmIHRoaXMuY29udHJvbC5oYXNFcnJvcigncmVxdWlyZWQnKSApe1xuICAgICAgcmV0dXJuIGBSZXF1aXJlZGA7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29udHJvbC5oYXNFcnJvcignbWlubGVuZ3RoJykgKXtcbiAgICAgIHJldHVybiBgTWluaW11biBsZW5ndGggaXMgJHt0aGlzLm1pbn1gO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNvbnRyb2wuaGFzRXJyb3IoJ21heGxlbmd0aCcpKSB7XG4gICAgICByZXR1cm4gYE1heGltdW0gbGVuZ3RoIGlzICR7dGhpcy5tYXh9YDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb250cm9sLmhhc0Vycm9yKCdwYXR0ZXJuJykpIHtcbiAgICAgIHJldHVybiBgSW52YWxpZCBJbnB1dGA7XG4gICAgfVxuXG5cbiAgICAvLyBpZiAodGhpcy5yZWdleCAhPSBcIlwiKXtcblxuICAgIC8vICAgbGV0IHIgPSBuZXcgUmVnRXhwKHRoaXMucmVnZXgsIFwiZ1wiKTtcblxuICAgIC8vICAgaWYgKCFyLnRlc3QodGhpcy52YWx1ZSkpe1xuICAgIC8vICAgICB0aGlzLnZhbGlkID0gZmFsc2U7XG4gICAgLy8gICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gXCJJbnZhbGlkIGlucHV0XCI7XG4gICAgLy8gICAgIHJldHVybiB0aGlzLmVycm9yTWVzc2FnZTtcbiAgICAvLyAgIH1cbiAgICAvLyB9XG5cbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, Input } from '@angular/core';
|
|
3
|
+
let TilesComponent = class TilesComponent {
|
|
4
|
+
constructor() { }
|
|
5
|
+
ngOnInit() {
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
__decorate([
|
|
9
|
+
Input()
|
|
10
|
+
], TilesComponent.prototype, "tiles", void 0);
|
|
11
|
+
TilesComponent = __decorate([
|
|
12
|
+
Component({
|
|
13
|
+
selector: 'spa-tiles',
|
|
14
|
+
template: " <div class=\"row align-items-center\">\n\n <div class=\"col\" *ngFor=\"let row of tiles\" >\n\n <mat-card>\n <div class=\"row d-flex justify-content-center\">\n\n <mat-label style=\"font-size:30px;font-weight:bold\" [ngStyle]=\"{'color':row.tileColor}\">{{row.tileValue}}</mat-label>\n\n </div>\n\n <div class=\"row d-flex justify-content-center\">\n\n <mat-label [ngStyle]=\"{'color':row.selected == true ? 'darkorange' : 'black' }\" style=\"font-size:12px;padding-left:5px;padding-right:5px\">{{row.tileName}}</mat-label>\n <mat-icon style=\"font-size: 17px; color:steelblue;\">info</mat-icon>\n\n </div>\n </mat-card>\n\n\n\n </div>\n\n\n\n </div>\n",
|
|
15
|
+
styles: [""]
|
|
16
|
+
})
|
|
17
|
+
], TilesComponent);
|
|
18
|
+
export { TilesComponent };
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RpbGVzL3RpbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFTekQsSUFBYSxjQUFjLEdBQTNCLE1BQWEsY0FBYztJQUV6QixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQztDQUlGLENBQUE7QUFGVTtJQUFSLEtBQUssRUFBRTs2Q0FBZTtBQVBaLGNBQWM7SUFMMUIsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLFdBQVc7UUFDckIsd3dCQUFxQzs7S0FFdEMsQ0FBQztHQUNXLGNBQWMsQ0FTMUI7U0FUWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaWxlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcGEtdGlsZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGlsZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90aWxlcy5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGlsZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBASW5wdXQoKSB0aWxlczogVGlsZVtdO1xuXG59XG4iXX0=
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { Component } from '@angular/core';
|
|
4
|
+
import { Idle, DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';
|
|
5
|
+
import { Keepalive } from '@ng-idle/keepalive';
|
|
6
|
+
import { AuthService } from '../../services/auth.service';
|
|
7
|
+
let TimeoutComponent = class TimeoutComponent {
|
|
8
|
+
constructor(idle, keepalive, authService, router) {
|
|
9
|
+
this.idle = idle;
|
|
10
|
+
this.keepalive = keepalive;
|
|
11
|
+
this.authService = authService;
|
|
12
|
+
this.router = router;
|
|
13
|
+
this.loggedin = false;
|
|
14
|
+
this.idleState = 'Not started.';
|
|
15
|
+
this.timedOut = false;
|
|
16
|
+
this.lastPing = null;
|
|
17
|
+
this.isWarning = false;
|
|
18
|
+
this.authService.loggedinObserv.subscribe(obj => {
|
|
19
|
+
this.loggedin = obj;
|
|
20
|
+
// if (this.loggedin){
|
|
21
|
+
// this.startWatch();
|
|
22
|
+
// }else{
|
|
23
|
+
// this.stopWatch();
|
|
24
|
+
// }
|
|
25
|
+
});
|
|
26
|
+
// sets an idle timeout of 5 seconds, for testing purposes.
|
|
27
|
+
idle.setIdle(900);
|
|
28
|
+
// sets a timeout period of 5 seconds. after 10 seconds of inactivity, the user will be considered timed out.
|
|
29
|
+
idle.setTimeout(10);
|
|
30
|
+
// sets the default interrupts, in this case, things like clicks, scrolls, touches to the document
|
|
31
|
+
idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);
|
|
32
|
+
idle.onIdleStart.subscribe(() => {
|
|
33
|
+
this.idleState = 'You\'ve gone idle!';
|
|
34
|
+
});
|
|
35
|
+
idle.onIdleEnd.subscribe(() => {
|
|
36
|
+
this.idleState = 'No longer idle.';
|
|
37
|
+
this.isWarning = false;
|
|
38
|
+
});
|
|
39
|
+
idle.onTimeoutWarning.subscribe((countdown) => {
|
|
40
|
+
this.idleState = 'You will be signed out in ' + countdown + ' seconds!';
|
|
41
|
+
if (this.loggedin) {
|
|
42
|
+
this.isWarning = true;
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
idle.onTimeout.subscribe(() => {
|
|
46
|
+
this.idleState = 'Timed out!';
|
|
47
|
+
this.timedOut = true;
|
|
48
|
+
//action
|
|
49
|
+
this.stopWatch();
|
|
50
|
+
});
|
|
51
|
+
// sets the ping interval to 15 seconds
|
|
52
|
+
keepalive.interval(15);
|
|
53
|
+
keepalive.onPing.subscribe(() => {
|
|
54
|
+
this.lastPing = new Date();
|
|
55
|
+
});
|
|
56
|
+
this.startWatch();
|
|
57
|
+
}
|
|
58
|
+
ngOnInit() {
|
|
59
|
+
}
|
|
60
|
+
startWatch() {
|
|
61
|
+
this.idle.watch();
|
|
62
|
+
this.idleState = 'Started.';
|
|
63
|
+
this.timedOut = false;
|
|
64
|
+
this.isWarning = false;
|
|
65
|
+
}
|
|
66
|
+
stopWatch() {
|
|
67
|
+
this.idle.stop();
|
|
68
|
+
this.isWarning = false;
|
|
69
|
+
this.router.navigate(['login']);
|
|
70
|
+
}
|
|
71
|
+
using() {
|
|
72
|
+
//remove message and continue
|
|
73
|
+
this.isWarning = false;
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
TimeoutComponent.ctorParameters = () => [
|
|
77
|
+
{ type: Idle },
|
|
78
|
+
{ type: Keepalive },
|
|
79
|
+
{ type: AuthService },
|
|
80
|
+
{ type: Router }
|
|
81
|
+
];
|
|
82
|
+
TimeoutComponent = __decorate([
|
|
83
|
+
Component({
|
|
84
|
+
selector: 'spa-timeout',
|
|
85
|
+
template: "\n<div class=\"loading-spinner\" [hidden]=\"!isWarning\" >\n\n <div style=\"width: 500px; text-align: center;\">\n\n\n\n <div class=\"row\">\n <div class=\"col\">\n <img style=\"width: 100px;\"\n src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTAgMjUwIj4KICAgIDxwYXRoIGZpbGw9IiNERDAwMzEiIGQ9Ik0xMjUgMzBMMzEuOSA2My4ybDE0LjIgMTIzLjFMMTI1IDIzMGw3OC45LTQzLjcgMTQuMi0xMjMuMXoiIC8+CiAgICA8cGF0aCBmaWxsPSIjQzMwMDJGIiBkPSJNMTI1IDMwdjIyLjItLjFWMjMwbDc4LjktNDMuNyAxNC4yLTEyMy4xTDEyNSAzMHoiIC8+CiAgICA8cGF0aCAgZmlsbD0iI0ZGRkZGRiIgZD0iTTEyNSA1Mi4xTDY2LjggMTgyLjZoMjEuN2wxMS43LTI5LjJoNDkuNGwxMS43IDI5LjJIMTgzTDEyNSA1Mi4xem0xNyA4My4zaC0zNGwxNy00MC45IDE3IDQwLjl6IiAvPgogIDwvc3ZnPg==\">\n </div>\n </div>\n\n <mat-card class=\"mat-elevation-z3\" >\n\n <mat-card-header>\n\n <h5>Are you still there ?</h5>\n\n </mat-card-header>\n\n <mat-card-content>\n\n <br>\n <span>{{idleState}}</span>\n\n <br>\n\n </mat-card-content>\n\n <mat-card-actions>\n\n <div class=\"row justify-content-around\">\n\n <div class=\"col-2\">\n <button style=\"width: 100px;\" mat-stroked-button color=\"primary\" (click)=\"using()\">Yes</button>\n </div>\n\n <div class=\"col-4\">\n <button style=\"width: 100px;\" mat-stroked-button color=\"primary\" (click)=\"stopWatch()\">No</button>\n </div>\n\n </div>\n\n </mat-card-actions>\n\n </mat-card>\n\n\n</div>\n\n</div>\n",
|
|
86
|
+
styles: [".loading-spinner{background-color:#0000001f;position:absolute;width:100%;top:0;left:0;height:100vh;align-items:center;justify-content:center;display:-ms-grid;display:grid}.loading-spinner img{-ms-grid-row-align:end;align-self:end}.loading-message{text-align:center;-ms-grid-row-align:start;align-self:start}"]
|
|
87
|
+
})
|
|
88
|
+
], TimeoutComponent);
|
|
89
|
+
export { TimeoutComponent };
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGltZW91dC90aW1lb3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFDLElBQUksRUFBRSx3QkFBd0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBTzFELElBQWEsZ0JBQWdCLEdBQTdCLE1BQWEsZ0JBQWdCO0lBRTNCLFlBQW9CLElBQVUsRUFBVSxTQUFvQixFQUFVLFdBQXdCLEVBQVUsTUFBYztRQUFsRyxTQUFJLEdBQUosSUFBSSxDQUFNO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQTREdEgsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixjQUFTLEdBQUcsY0FBYyxDQUFDO1FBQzNCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFVLElBQUksQ0FBQztRQUN2QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBOURoQixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7WUFDcEIsc0JBQXNCO1lBQ3RCLHVCQUF1QjtZQUN2QixTQUFTO1lBQ1Qsc0JBQXNCO1lBQ3RCLElBQUk7UUFFTixDQUFDLENBQUMsQ0FBQTtRQUVBLDJEQUEyRDtRQUMzRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLDZHQUE2RztRQUM3RyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BCLGtHQUFrRztRQUNsRyxJQUFJLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFHN0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsb0JBQW9CLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQztZQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLDRCQUE0QixHQUFHLFNBQVMsR0FBRyxXQUFXLENBQUM7WUFFeEUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFDO2dCQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQzthQUN2QjtRQUVILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDO1lBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBRXJCLFFBQVE7WUFDUixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFNSCx1Q0FBdUM7UUFDdkMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV2QixTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFJLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFTRCxRQUFRO0lBQ1IsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELEtBQUs7UUFDSCw2QkFBNkI7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztDQUlGLENBQUE7O1lBMUYyQixJQUFJO1lBQXFCLFNBQVM7WUFBdUIsV0FBVztZQUFrQixNQUFNOztBQUYzRyxnQkFBZ0I7SUFMNUIsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLGFBQWE7UUFDdkIsNCtDQUF1Qzs7S0FFeEMsQ0FBQztHQUNXLGdCQUFnQixDQTRGNUI7U0E1RlksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7SWRsZSwgREVGQVVMVF9JTlRFUlJVUFRTT1VSQ0VTfSBmcm9tICdAbmctaWRsZS9jb3JlJztcclxuaW1wb3J0IHtLZWVwYWxpdmV9IGZyb20gJ0BuZy1pZGxlL2tlZXBhbGl2ZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLXRpbWVvdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lb3V0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90aW1lb3V0LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGltZW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaWRsZTogSWRsZSwgcHJpdmF0ZSBrZWVwYWxpdmU6IEtlZXBhbGl2ZSwgIHB1YmxpYyBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcclxuXHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ2dlZGluT2JzZXJ2LnN1YnNjcmliZShvYmogPT4ge1xyXG4gICAgICB0aGlzLmxvZ2dlZGluID0gb2JqO1xyXG4gICAgICAvLyBpZiAodGhpcy5sb2dnZWRpbil7XHJcbiAgICAgIC8vICAgdGhpcy5zdGFydFdhdGNoKCk7XHJcbiAgICAgIC8vIH1lbHNle1xyXG4gICAgICAvLyAgIHRoaXMuc3RvcFdhdGNoKCk7XHJcbiAgICAgIC8vIH1cclxuXHJcbiAgICB9KVxyXG5cclxuICAgICAgLy8gc2V0cyBhbiBpZGxlIHRpbWVvdXQgb2YgNSBzZWNvbmRzLCBmb3IgdGVzdGluZyBwdXJwb3Nlcy5cclxuICAgICAgaWRsZS5zZXRJZGxlKDkwMCk7XHJcbiAgICAgIC8vIHNldHMgYSB0aW1lb3V0IHBlcmlvZCBvZiA1IHNlY29uZHMuIGFmdGVyIDEwIHNlY29uZHMgb2YgaW5hY3Rpdml0eSwgdGhlIHVzZXIgd2lsbCBiZSBjb25zaWRlcmVkIHRpbWVkIG91dC5cclxuICAgICAgaWRsZS5zZXRUaW1lb3V0KDEwKTtcclxuICAgICAgLy8gc2V0cyB0aGUgZGVmYXVsdCBpbnRlcnJ1cHRzLCBpbiB0aGlzIGNhc2UsIHRoaW5ncyBsaWtlIGNsaWNrcywgc2Nyb2xscywgdG91Y2hlcyB0byB0aGUgZG9jdW1lbnRcclxuICAgICAgaWRsZS5zZXRJbnRlcnJ1cHRzKERFRkFVTFRfSU5URVJSVVBUU09VUkNFUyk7XHJcblxyXG5cclxuICAgICAgaWRsZS5vbklkbGVTdGFydC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaWRsZVN0YXRlID0gJ1lvdVxcJ3ZlIGdvbmUgaWRsZSEnO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlkbGUub25JZGxlRW5kLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pZGxlU3RhdGUgPSAnTm8gbG9uZ2VyIGlkbGUuJztcclxuICAgICAgICB0aGlzLmlzV2FybmluZyA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlkbGUub25UaW1lb3V0V2FybmluZy5zdWJzY3JpYmUoKGNvdW50ZG93bikgPT4ge1xyXG4gICAgICAgIHRoaXMuaWRsZVN0YXRlID0gJ1lvdSB3aWxsIGJlIHNpZ25lZCBvdXQgaW4gJyArIGNvdW50ZG93biArICcgc2Vjb25kcyEnO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5sb2dnZWRpbil7XHJcbiAgICAgICAgICB0aGlzLmlzV2FybmluZyA9IHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZGxlLm9uVGltZW91dC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaWRsZVN0YXRlID0gJ1RpbWVkIG91dCEnO1xyXG4gICAgICAgIHRoaXMudGltZWRPdXQgPSB0cnVlO1xyXG5cclxuICAgICAgICAvL2FjdGlvblxyXG4gICAgICAgIHRoaXMuc3RvcFdhdGNoKCk7XHJcbiAgICAgIH0pO1xyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgICAgIC8vIHNldHMgdGhlIHBpbmcgaW50ZXJ2YWwgdG8gMTUgc2Vjb25kc1xyXG4gICAgICBrZWVwYWxpdmUuaW50ZXJ2YWwoMTUpO1xyXG5cclxuICAgICAga2VlcGFsaXZlLm9uUGluZy5zdWJzY3JpYmUoKCkgID0+IHtcclxuICAgICAgICB0aGlzLmxhc3RQaW5nID0gbmV3IERhdGUoKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnN0YXJ0V2F0Y2goKTtcclxuICB9XHJcblxyXG4gIGxvZ2dlZGluID0gZmFsc2U7XHJcbiAgaWRsZVN0YXRlID0gJ05vdCBzdGFydGVkLic7XHJcbiAgdGltZWRPdXQgPSBmYWxzZTtcclxuICBsYXN0UGluZz86IERhdGUgPSBudWxsO1xyXG4gIGlzV2FybmluZyA9IGZhbHNlO1xyXG5cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBzdGFydFdhdGNoKCkge1xyXG4gICAgdGhpcy5pZGxlLndhdGNoKCk7XHJcbiAgICB0aGlzLmlkbGVTdGF0ZSA9ICdTdGFydGVkLic7XHJcbiAgICB0aGlzLnRpbWVkT3V0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzV2FybmluZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc3RvcFdhdGNoKCl7XHJcbiAgICB0aGlzLmlkbGUuc3RvcCgpO1xyXG4gICAgdGhpcy5pc1dhcm5pbmcgPSBmYWxzZTtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnbG9naW4nXSk7XHJcbiAgfVxyXG5cclxuICB1c2luZygpe1xyXG4gICAgLy9yZW1vdmUgbWVzc2FnZSBhbmQgY29udGludWVcclxuICAgIHRoaXMuaXNXYXJuaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
let TinSpaComponent = class TinSpaComponent {
|
|
4
|
+
constructor() { }
|
|
5
|
+
ngOnInit() {
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
TinSpaComponent = __decorate([
|
|
9
|
+
Component({
|
|
10
|
+
selector: 'lib-tin-spa',
|
|
11
|
+
template: `
|
|
12
|
+
<p>
|
|
13
|
+
tin-spa works!
|
|
14
|
+
</p>
|
|
15
|
+
`
|
|
16
|
+
})
|
|
17
|
+
], TinSpaComponent);
|
|
18
|
+
export { TinSpaComponent };
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGluLXNwYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGluLXNwYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFXbEQsSUFBYSxlQUFlLEdBQTVCLE1BQWEsZUFBZTtJQUUxQixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQztDQUVGLENBQUE7QUFQWSxlQUFlO0lBVDNCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLFFBQVEsRUFBRTs7OztHQUlUO0tBRUYsQ0FBQztHQUNXLGVBQWUsQ0FPM0I7U0FQWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXRpbi1zcGEnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxwPlxuICAgICAgdGluLXNwYSB3b3JrcyFcbiAgICA8L3A+XG4gIGAsXG4gIHN0eWxlczogW11cbn0pXG5leHBvcnQgY2xhc3MgVGluU3BhQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbn1cbiJdfQ==
|