tin-spa 10.0.0 → 14.3.11
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 -24
- package/esm2020/lib/classes/Classes.mjs +265 -0
- package/esm2020/lib/classes/TinCore.mjs +401 -0
- package/esm2020/lib/components/accounts/accountDialog.component.mjs +56 -0
- package/esm2020/lib/components/accounts/accounts.component.mjs +70 -0
- package/esm2020/lib/components/activity/activity.component.mjs +24 -0
- package/esm2020/lib/components/alert/alert.component.mjs +29 -0
- package/esm2020/lib/components/attach/attach.component.mjs +86 -0
- package/esm2020/lib/components/bug/bug.component.mjs +14 -0
- package/esm2020/lib/components/change-password/change-password.component.mjs +92 -0
- package/esm2020/lib/components/check/check.component.mjs +67 -0
- package/esm2020/lib/components/chips/chips.component.mjs +58 -0
- package/esm2020/lib/components/create-account/create-account.component.mjs +109 -0
- package/esm2020/lib/components/customers/customers.component.mjs +60 -0
- package/esm2020/lib/components/date/date.component.mjs +101 -0
- package/esm2020/lib/components/datetime/datetime.component.mjs +52 -0
- package/esm2020/lib/components/departments/departments.component.mjs +24 -0
- package/esm2020/lib/components/employees/employees.component.mjs +21 -0
- package/esm2020/lib/components/filter/filter.component.mjs +54 -0
- package/esm2020/lib/components/form/form.component.mjs +191 -0
- package/esm2020/lib/components/grades/grades.component.mjs +14 -0
- package/esm2020/lib/components/inventory/inventory.component.mjs +99 -0
- package/esm2020/lib/components/inventory/quantityDialog.component.mjs +53 -0
- package/esm2020/lib/components/invitations/invitations.component.mjs +14 -0
- package/esm2020/lib/components/invitations-table/invitations-table.component.mjs +70 -0
- package/esm2020/lib/components/label/label.component.mjs +25 -0
- package/esm2020/lib/components/list-dialog/list-dialog.component.mjs +68 -0
- package/esm2020/lib/components/loader/loader.component.mjs +25 -0
- package/esm2020/lib/components/login/login.component.mjs +127 -0
- package/esm2020/lib/components/logs/logs.component.mjs +37 -0
- package/esm2020/lib/components/membership/membership.component.mjs +48 -0
- package/esm2020/lib/components/message/messageDialog.component.mjs +33 -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 +120 -0
- package/esm2020/lib/components/nav-menu/nav-menu.component.mjs +84 -0
- package/esm2020/lib/components/notifications/notifications.component.mjs +14 -0
- package/esm2020/lib/components/number/number.component.mjs +116 -0
- package/esm2020/lib/components/option/option.component.mjs +67 -0
- package/esm2020/lib/components/plans/plans.component.mjs +47 -0
- package/esm2020/lib/components/positions/positions.component.mjs +21 -0
- package/esm2020/lib/components/profile/profile.component.mjs +92 -0
- package/esm2020/lib/components/recover-account/recover-account.component.mjs +46 -0
- package/esm2020/lib/components/roles/addRoleDialog.component.mjs +60 -0
- package/esm2020/lib/components/roles/roles.component.mjs +91 -0
- package/esm2020/lib/components/search/search.component.mjs +31 -0
- package/esm2020/lib/components/select/select.component.mjs +138 -0
- package/esm2020/lib/components/settings/settings.component.mjs +62 -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/suppliers/suppliers.component.mjs +50 -0
- package/esm2020/lib/components/table/detailsDialog.component.mjs +232 -0
- package/esm2020/lib/components/table/table.component.mjs +406 -0
- package/esm2020/lib/components/table-action/table-action.component.mjs +46 -0
- package/esm2020/lib/components/table-header/table-header.component.mjs +76 -0
- package/esm2020/lib/components/table-internal/detailsDialog-internal.component.mjs +226 -0
- package/esm2020/lib/components/table-internal/table-internal.component.mjs +406 -0
- package/esm2020/lib/components/table-row/table-row.component.mjs +58 -0
- package/esm2020/lib/components/tasks/tasks.component.mjs +86 -0
- package/esm2020/lib/components/tenant-settings/inviteDialog.component.mjs +60 -0
- package/esm2020/lib/components/tenant-settings/tenant-settings.component.mjs +155 -0
- package/esm2020/lib/components/tenants/tenants.component.mjs +47 -0
- package/esm2020/lib/components/text/text.component.mjs +181 -0
- package/esm2020/lib/components/tiles/tiles.component.mjs +81 -0
- package/esm2020/lib/components/tin-spa.component.mjs +19 -0
- package/esm2020/lib/components/transactions/transactDialog.component.mjs +80 -0
- package/esm2020/lib/components/transactions/transactions.component.mjs +101 -0
- package/esm2020/lib/components/users/users.component.mjs +118 -0
- package/esm2020/lib/components/viewer/viewer.component.mjs +79 -0
- package/esm2020/lib/components/viewer/viewerDialog.component.mjs +88 -0
- package/esm2020/lib/components/welcome/welcome.component.mjs +86 -0
- package/esm2020/lib/modules/admin/admin-routing.module.mjs +61 -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 +71 -0
- package/esm2020/lib/modules/spa-index.module.mjs +54 -0
- package/esm2020/lib/modules/spa-mat.module.mjs +84 -0
- package/esm2020/lib/modules/spa-user.module.mjs +47 -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 +17 -0
- package/esm2020/lib/services/auth.service.mjs +174 -0
- package/esm2020/lib/services/button.service.mjs +102 -0
- package/esm2020/lib/services/condition.service.mjs +32 -0
- package/esm2020/lib/services/datalib.service.mjs +387 -0
- package/esm2020/lib/services/dialog.service.mjs +81 -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 +86 -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 +59 -0
- package/esm2020/lib/services/storage.service.mjs +34 -0
- package/esm2020/lib/services/table-config.service.mjs +30 -0
- package/esm2020/lib/services/tin-spa.service.mjs +14 -0
- package/esm2020/lib/tin-spa.module.mjs +183 -0
- package/esm2020/public-api.mjs +80 -0
- package/esm2020/tin-spa.mjs +5 -0
- package/fesm2015/tin-spa.mjs +7454 -0
- package/fesm2015/tin-spa.mjs.map +1 -0
- package/fesm2020/tin-spa.mjs +7410 -0
- package/fesm2020/tin-spa.mjs.map +1 -0
- package/index.d.ts +5 -3408
- package/lib/classes/Classes.d.ts +431 -0
- package/lib/classes/TinCore.d.ts +48 -0
- package/lib/components/accounts/accountDialog.component.d.ts +27 -0
- package/lib/components/accounts/accounts.component.d.ts +25 -0
- package/lib/components/activity/activity.component.d.ts +11 -0
- package/lib/components/alert/alert.component.d.ts +14 -0
- package/lib/components/attach/attach.component.d.ts +23 -0
- package/lib/components/bug/bug.component.d.ts +8 -0
- package/lib/components/change-password/change-password.component.d.ts +27 -0
- package/lib/components/check/check.component.d.ts +24 -0
- package/lib/components/chips/chips.component.d.ts +18 -0
- package/lib/components/create-account/create-account.component.d.ts +33 -0
- package/lib/components/customers/customers.component.d.ts +18 -0
- package/lib/components/date/date.component.d.ts +29 -0
- package/lib/components/datetime/datetime.component.d.ts +18 -0
- package/lib/components/departments/departments.component.d.ts +14 -0
- package/lib/components/employees/employees.component.d.ts +12 -0
- package/lib/components/filter/filter.component.d.ts +19 -0
- package/lib/components/form/form.component.d.ts +36 -0
- package/lib/components/grades/grades.component.d.ts +8 -0
- package/lib/components/inventory/inventory.component.d.ts +25 -0
- package/lib/components/inventory/quantityDialog.component.d.ts +23 -0
- package/lib/components/invitations/invitations.component.d.ts +8 -0
- package/lib/components/invitations-table/invitations-table.component.d.ts +19 -0
- package/lib/components/label/label.component.d.ts +11 -0
- package/lib/components/list-dialog/list-dialog.component.d.ts +23 -0
- package/lib/components/loader/loader.component.d.ts +12 -0
- package/lib/components/login/login.component.d.ts +39 -0
- package/lib/components/logs/logs.component.d.ts +18 -0
- package/lib/components/membership/membership.component.d.ts +17 -0
- package/lib/components/message/messageDialog.component.d.ts +15 -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 +33 -0
- package/lib/components/nav-menu/nav-menu.component.d.ts +34 -0
- package/lib/components/notifications/notifications.component.d.ts +8 -0
- package/lib/components/number/number.component.d.ts +35 -0
- package/lib/components/option/option.component.d.ts +23 -0
- package/lib/components/plans/plans.component.d.ts +17 -0
- package/lib/components/positions/positions.component.d.ts +12 -0
- package/lib/components/profile/profile.component.d.ts +34 -0
- package/lib/components/recover-account/recover-account.component.d.ts +18 -0
- package/lib/components/roles/addRoleDialog.component.d.ts +24 -0
- package/lib/components/roles/roles.component.d.ts +30 -0
- package/lib/components/search/search.component.d.ts +13 -0
- package/lib/components/select/select.component.d.ts +42 -0
- package/lib/components/settings/settings.component.d.ts +19 -0
- package/lib/components/signup/signup.component.d.ts +23 -0
- package/lib/components/steps/steps.component.d.ts +18 -0
- package/lib/components/suppliers/suppliers.component.d.ts +17 -0
- package/lib/components/table/detailsDialog.component.d.ts +64 -0
- package/lib/components/table/table.component.d.ts +82 -0
- package/lib/components/table-action/table-action.component.d.ts +22 -0
- package/lib/components/table-header/table-header.component.d.ts +31 -0
- package/lib/components/table-internal/detailsDialog-internal.component.d.ts +64 -0
- package/lib/components/table-internal/table-internal.component.d.ts +82 -0
- package/lib/components/table-row/table-row.component.d.ts +28 -0
- package/lib/components/tasks/tasks.component.d.ts +27 -0
- package/lib/components/tenant-settings/inviteDialog.component.d.ts +28 -0
- package/lib/components/tenant-settings/tenant-settings.component.d.ts +42 -0
- package/lib/components/tenants/tenants.component.d.ts +17 -0
- package/lib/components/text/text.component.d.ts +46 -0
- package/lib/components/tiles/tiles.component.d.ts +25 -0
- package/lib/components/tin-spa.component.d.ts +5 -0
- package/lib/components/transactions/transactDialog.component.d.ts +26 -0
- package/lib/components/transactions/transactions.component.d.ts +31 -0
- package/lib/components/users/users.component.d.ts +36 -0
- package/lib/components/viewer/viewer.component.d.ts +25 -0
- package/lib/components/viewer/viewerDialog.component.d.ts +22 -0
- package/lib/components/welcome/welcome.component.d.ts +25 -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 +15 -0
- package/lib/modules/spa-index.module.d.ts +13 -0
- package/lib/modules/spa-mat.module.d.ts +38 -0
- package/lib/modules/spa-user.module.d.ts +11 -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 +61 -0
- package/lib/services/button.service.d.ts +27 -0
- package/lib/services/condition.service.d.ts +10 -0
- package/lib/services/datalib.service.d.ts +77 -0
- package/lib/services/dialog.service.d.ts +19 -0
- package/lib/services/export.service.d.ts +6 -0
- package/lib/services/http.service.d.ts +22 -0
- package/lib/services/loader-interceptor.service.d.ts +22 -0
- package/lib/services/loader.service.d.ts +8 -0
- package/lib/services/log.service.d.ts +19 -0
- package/lib/services/message.service.d.ts +16 -0
- package/lib/services/storage.service.d.ts +10 -0
- package/lib/services/table-config.service.d.ts +9 -0
- package/lib/services/tin-spa.service.d.ts +6 -0
- package/lib/tin-spa.module.d.ts +66 -0
- package/package.json +13 -8
- package/public-api.d.ts +69 -0
- package/fesm2022/tin-spa.mjs +0 -12474
- package/fesm2022/tin-spa.mjs.map +0 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { UserRoutingModule } from './user-routing.module';
|
|
4
|
+
import { SpaUserModule } from '../spa-user.module';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class UserModule {
|
|
7
|
+
}
|
|
8
|
+
UserModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UserModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
UserModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: UserModule, imports: [CommonModule,
|
|
10
|
+
UserRoutingModule,
|
|
11
|
+
SpaUserModule] });
|
|
12
|
+
UserModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UserModule, imports: [CommonModule,
|
|
13
|
+
UserRoutingModule,
|
|
14
|
+
SpaUserModule] });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UserModule, decorators: [{
|
|
16
|
+
type: NgModule,
|
|
17
|
+
args: [{
|
|
18
|
+
declarations: [],
|
|
19
|
+
imports: [
|
|
20
|
+
CommonModule,
|
|
21
|
+
UserRoutingModule,
|
|
22
|
+
SpaUserModule
|
|
23
|
+
]
|
|
24
|
+
}]
|
|
25
|
+
}] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvbW9kdWxlcy91c2VyL3VzZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFVbkQsTUFBTSxPQUFPLFVBQVU7O3VHQUFWLFVBQVU7d0dBQVYsVUFBVSxZQUxuQixZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLGFBQWE7d0dBR0osVUFBVSxZQUxuQixZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLGFBQWE7MkZBR0osVUFBVTtrQkFSdEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixhQUFhO3FCQUNkO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFVzZXJSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi91c2VyLXJvdXRpbmcubW9kdWxlJztcclxuaW1wb3J0IHsgU3BhVXNlck1vZHVsZSB9IGZyb20gJy4uL3NwYS11c2VyLm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW10sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgVXNlclJvdXRpbmdNb2R1bGUsXHJcbiAgICBTcGFVc2VyTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlck1vZHVsZSB7IH1cclxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { Core } from '../classes/TinCore';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class CamelToWordsPipe {
|
|
5
|
+
transform(value) {
|
|
6
|
+
return Core.camelToWords(value);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
CamelToWordsPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CamelToWordsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
10
|
+
CamelToWordsPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: CamelToWordsPipe, name: "camelToWords" });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CamelToWordsPipe, decorators: [{
|
|
12
|
+
type: Pipe,
|
|
13
|
+
args: [{
|
|
14
|
+
name: 'camelToWords'
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZWxUb1dvcmRzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvcGlwZXMvY2FtZWxUb1dvcmRzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUsxQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDOzs2R0FKVSxnQkFBZ0I7MkdBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUg1QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxjQUFjO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29yZSB9IGZyb20gJy4uL2NsYXNzZXMvVGluQ29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2NhbWVsVG9Xb3JkcydcclxufSlcclxuZXhwb3J0IGNsYXNzIENhbWVsVG9Xb3Jkc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIENvcmUuY2FtZWxUb1dvcmRzKHZhbHVlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { Role, Constants } from '../classes/Classes';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/router";
|
|
6
|
+
import * as i2 from "@abacritt/angularx-social-login";
|
|
7
|
+
import * as i3 from "./storage.service";
|
|
8
|
+
import * as i4 from "./http.service";
|
|
9
|
+
import * as i5 from "./message.service";
|
|
10
|
+
import * as i6 from "./log.service";
|
|
11
|
+
export class AuthService {
|
|
12
|
+
constructor(_route, socialService, storage, router, httpService, messageService, logService) {
|
|
13
|
+
this._route = _route;
|
|
14
|
+
this.socialService = socialService;
|
|
15
|
+
this.storage = storage;
|
|
16
|
+
this.router = router;
|
|
17
|
+
this.httpService = httpService;
|
|
18
|
+
this.messageService = messageService;
|
|
19
|
+
this.logService = logService;
|
|
20
|
+
//Logged in
|
|
21
|
+
this.loggedin = false;
|
|
22
|
+
this.loggedinSource = new BehaviorSubject(this.loggedin);
|
|
23
|
+
this.loggedinObserv = this.loggedinSource.asObservable();
|
|
24
|
+
//autoLogin
|
|
25
|
+
this.autoLogin = false;
|
|
26
|
+
this.autoLoginSource = new BehaviorSubject(this.autoLogin);
|
|
27
|
+
this.autoLoginObserv = this.autoLoginSource.asObservable();
|
|
28
|
+
//Token
|
|
29
|
+
this.token = "";
|
|
30
|
+
this.tokenSource = new BehaviorSubject(this.token);
|
|
31
|
+
this.tokenObserv = this.tokenSource.asObservable();
|
|
32
|
+
//TokenExpire
|
|
33
|
+
this.tokenExpire = "";
|
|
34
|
+
this.tokenExpireSource = new BehaviorSubject(this.tokenExpire);
|
|
35
|
+
this.tokenExpireObserv = this.tokenExpireSource.asObservable();
|
|
36
|
+
//Current User
|
|
37
|
+
this.currentUser = "tnyagato";
|
|
38
|
+
this.currentUserSource = new BehaviorSubject(this.currentUser);
|
|
39
|
+
this.currentUserObserv = this.currentUserSource.asObservable();
|
|
40
|
+
//Line Manager
|
|
41
|
+
this.islineManager = false;
|
|
42
|
+
this.isLineManagerSource = new BehaviorSubject(this.islineManager);
|
|
43
|
+
this.isLineManagerObserv = this.isLineManagerSource.asObservable();
|
|
44
|
+
//Roles
|
|
45
|
+
this.currentRole = new Role;
|
|
46
|
+
this.currentRoleSource = new BehaviorSubject(this.currentRole);
|
|
47
|
+
this.myRoleObserv = this.currentRoleSource.asObservable();
|
|
48
|
+
//Logged in FirstName
|
|
49
|
+
this.loggedUserSource = new BehaviorSubject("tnyagato");
|
|
50
|
+
this.loggedUserFullName = this.loggedUserSource.asObservable();
|
|
51
|
+
//TenantName
|
|
52
|
+
this.tenantNameSource = new BehaviorSubject("Tenant Name");
|
|
53
|
+
this.tenantNameObserv = this.tenantNameSource.asObservable();
|
|
54
|
+
}
|
|
55
|
+
clearSession() {
|
|
56
|
+
this.Updateloggedin(false);
|
|
57
|
+
this.UpdateAutoLogin(false);
|
|
58
|
+
this.UpdateRole(new Role());
|
|
59
|
+
this.storage.clear();
|
|
60
|
+
this.socialService.signOut();
|
|
61
|
+
}
|
|
62
|
+
sessionExpired() {
|
|
63
|
+
this.clearSession();
|
|
64
|
+
let url = new URL(window.location.href);
|
|
65
|
+
let path = url.hash.replace("#/", "");
|
|
66
|
+
this.router.navigate(["login"], {
|
|
67
|
+
relativeTo: this._route,
|
|
68
|
+
queryParams: { redirectTo: path },
|
|
69
|
+
queryParamsHandling: 'merge',
|
|
70
|
+
skipLocationChange: false
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
logoff() {
|
|
74
|
+
this.clearSession();
|
|
75
|
+
this.router.navigate(["login"]);
|
|
76
|
+
}
|
|
77
|
+
Updateloggedin(loggedin) {
|
|
78
|
+
this.loggedinSource.next(loggedin);
|
|
79
|
+
this.loggedin = loggedin;
|
|
80
|
+
}
|
|
81
|
+
UpdateAutoLogin(autoLogin) {
|
|
82
|
+
this.autoLoginSource.next(autoLogin);
|
|
83
|
+
this.autoLogin = autoLogin;
|
|
84
|
+
}
|
|
85
|
+
UpdateToken(newToken) {
|
|
86
|
+
this.tokenSource.next(newToken);
|
|
87
|
+
}
|
|
88
|
+
UpdateTokenExpire(newTokenExpire) {
|
|
89
|
+
this.tokenExpireSource.next(newTokenExpire);
|
|
90
|
+
}
|
|
91
|
+
UpdateCurrentUser(newUser) {
|
|
92
|
+
this.currentUserSource.next(newUser.toLocaleLowerCase());
|
|
93
|
+
this.currentUser = newUser.toLocaleLowerCase();
|
|
94
|
+
}
|
|
95
|
+
UpdateIsLineManager(manager) {
|
|
96
|
+
this.isLineManagerSource.next(manager);
|
|
97
|
+
}
|
|
98
|
+
UpdateRole(role) {
|
|
99
|
+
this.currentRoleSource.next(role);
|
|
100
|
+
}
|
|
101
|
+
updateLoggedUserFullName(userName) {
|
|
102
|
+
this.loggedUserSource.next(userName);
|
|
103
|
+
}
|
|
104
|
+
updateTenantName(tenantName) {
|
|
105
|
+
this.tenantNameSource.next(tenantName);
|
|
106
|
+
}
|
|
107
|
+
//Authorisation
|
|
108
|
+
isAuthorised(capName) {
|
|
109
|
+
if (!this.currentRoleSource.value[capName]) {
|
|
110
|
+
// this.logService.info(`authorise: ${this.currentRoleSource.value.roleName} not authorised for ${capName}`);
|
|
111
|
+
this.router.navigate(["home"]);
|
|
112
|
+
this.messageService.toast(`Unauthorised: ${capName}`);
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
isValidToken() {
|
|
120
|
+
let tokenExpire = new Date(this.tokenExpireSource.value);
|
|
121
|
+
let nowDate = new Date();
|
|
122
|
+
let valid = tokenExpire > nowDate;
|
|
123
|
+
if (!valid) {
|
|
124
|
+
this.sessionExpired();
|
|
125
|
+
this.messageService.toast(`Expired Session`);
|
|
126
|
+
}
|
|
127
|
+
return valid;
|
|
128
|
+
}
|
|
129
|
+
canActivate() {
|
|
130
|
+
if (this.loggedin && this.isValidToken()) {
|
|
131
|
+
// this.logService.info("authentication: logged in");
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
if (localStorage.getItem(Constants.AUTH_USER) === null) {
|
|
135
|
+
// this.logService.info("authentication: not logged and no cache");
|
|
136
|
+
this.sessionExpired();
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
// this.logService.info("authentication: not logged but allowed login");
|
|
141
|
+
this.Updateloggedin(true);
|
|
142
|
+
this.storage.get(Constants.AUTH_USER).then((resp) => {
|
|
143
|
+
this.UpdateCurrentUser(resp);
|
|
144
|
+
});
|
|
145
|
+
this.storage.get(Constants.AUTH_NAME).then((resp) => {
|
|
146
|
+
this.updateLoggedUserFullName(resp);
|
|
147
|
+
});
|
|
148
|
+
this.storage.get(Constants.AUTH_ROLES).then((resp) => {
|
|
149
|
+
let ret = JSON.parse(resp);
|
|
150
|
+
this.UpdateRole(ret);
|
|
151
|
+
});
|
|
152
|
+
this.storage.get(Constants.AUTH_TOKEN).then((resp) => {
|
|
153
|
+
this.UpdateToken(resp);
|
|
154
|
+
});
|
|
155
|
+
this.storage.get(Constants.AUTH_TOKEN_EXPIRE).then((resp) => {
|
|
156
|
+
this.UpdateTokenExpire(resp);
|
|
157
|
+
this.isValidToken();
|
|
158
|
+
});
|
|
159
|
+
this.storage.get(Constants.AUTH_TENANT_NAME).then((resp) => {
|
|
160
|
+
this.updateTenantName(resp);
|
|
161
|
+
});
|
|
162
|
+
return true;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AuthService, deps: [{ token: i1.ActivatedRoute }, { token: i2.SocialAuthService }, { token: i3.StorageService }, { token: i1.Router }, { token: i4.HttpService }, { token: i5.MessageService }, { token: i6.LogService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
167
|
+
AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
168
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AuthService, decorators: [{
|
|
169
|
+
type: Injectable,
|
|
170
|
+
args: [{
|
|
171
|
+
providedIn: 'root'
|
|
172
|
+
}]
|
|
173
|
+
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.SocialAuthService }, { type: i3.StorageService }, { type: i1.Router }, { type: i4.HttpService }, { type: i5.MessageService }, { type: i6.LogService }]; } });
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdkMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7QUFRckQsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFBb0IsTUFBc0IsRUFBVSxhQUFnQyxFQUFVLE9BQXVCLEVBQVMsTUFBYyxFQUFVLFdBQXdCLEVBQVUsY0FBOEIsRUFBVSxVQUFzQjtRQUFsTyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWtDdFAsV0FBVztRQUNILGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckQsbUJBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBTTNELFdBQVc7UUFDSCxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELG9CQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQU83RCxPQUFPO1FBQ0MsVUFBSyxHQUFX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QUMsQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDOzt3R0FqTVUsV0FBVzs0R0FBWCxXQUFXLGNBSFYsTUFBTTsyRkFHUCxXQUFXO2tCQUp2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciwgQ2FuQWN0aXZhdGUsIEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi9sb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IFJvbGUsIENvbnN0YW50cyB9IGZyb20gJy4uL2NsYXNzZXMvQ2xhc3Nlcyc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9odHRwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTb2NpYWxBdXRoU2VydmljZSB9IGZyb20gJ0BhYmFjcml0dC9hbmd1bGFyeC1zb2NpYWwtbG9naW4nO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9yb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgc29jaWFsU2VydmljZTogU29jaWFsQXV0aFNlcnZpY2UsIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZVNlcnZpY2UsIHB1YmxpYyByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBwcml2YXRlIGxvZ1NlcnZpY2U6IExvZ1NlcnZpY2UpIHsgfVxyXG5cclxuICBjbGVhclNlc3Npb24oKXtcclxuXHJcbiAgICB0aGlzLlVwZGF0ZWxvZ2dlZGluKGZhbHNlKTtcclxuICAgIHRoaXMuVXBkYXRlQXV0b0xvZ2luKGZhbHNlKTtcclxuICAgIHRoaXMuVXBkYXRlUm9sZShuZXcgUm9sZSgpKTtcclxuICAgIHRoaXMuc3RvcmFnZS5jbGVhcigpO1xyXG4gICAgdGhpcy5zb2NpYWxTZXJ2aWNlLnNpZ25PdXQoKTtcclxuXHJcbiAgfVxyXG5cclxuICBzZXNzaW9uRXhwaXJlZCgpe1xyXG5cclxuICAgIHRoaXMuY2xlYXJTZXNzaW9uKClcclxuXHJcbiAgICBsZXQgdXJsID0gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7XHJcbiAgICBsZXQgcGF0aCA9IHVybC5oYXNoLnJlcGxhY2UoXCIjL1wiLCBcIlwiKTtcclxuXHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJsb2dpblwiXSwge1xyXG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLl9yb3V0ZSxcclxuICAgICAgcXVlcnlQYXJhbXM6IHsgcmVkaXJlY3RUbzogcGF0aCB9LFxyXG4gICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxyXG4gICAgICBza2lwTG9jYXRpb25DaGFuZ2U6IGZhbHNlXHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBsb2dvZmYoKSB7XHJcbiAgICB0aGlzLmNsZWFyU2Vzc2lvbigpXHJcblxyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wibG9naW5cIl0pO1xyXG4gIH1cclxuXHJcbiAgLy9Mb2dnZWQgaW5cclxuICBwcml2YXRlIGxvZ2dlZGluOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBsb2dnZWRpblNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5sb2dnZWRpbik7XHJcbiAgcHVibGljIGxvZ2dlZGluT2JzZXJ2ID0gdGhpcy5sb2dnZWRpblNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICBVcGRhdGVsb2dnZWRpbihsb2dnZWRpbjogYm9vbGVhbikge1xyXG4gICAgdGhpcy5sb2dnZWRpblNvdXJjZS5uZXh0KGxvZ2dlZGluKTtcclxuICAgIHRoaXMubG9nZ2VkaW4gPSBsb2dnZWRpbjtcclxuICB9XHJcblxyXG4gIC8vYXV0b0xvZ2luXHJcbiAgcHJpdmF0ZSBhdXRvTG9naW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIGF1dG9Mb2dpblNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5hdXRvTG9naW4pO1xyXG4gIHB1YmxpYyBhdXRvTG9naW5PYnNlcnYgPSB0aGlzLmF1dG9Mb2dpblNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICBVcGRhdGVBdXRvTG9naW4oYXV0b0xvZ2luOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmF1dG9Mb2dpblNvdXJjZS5uZXh0KGF1dG9Mb2dpbik7XHJcbiAgICB0aGlzLmF1dG9Mb2dpbiA9IGF1dG9Mb2dpbjtcclxuICB9XHJcblxyXG5cclxuICAvL1Rva2VuXHJcbiAgcHJpdmF0ZSB0b2tlbjogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgdG9rZW5Tb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMudG9rZW4pO1xyXG4gIHB1YmxpYyB0b2tlbk9ic2VydiA9IHRoaXMudG9rZW5Tb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgVXBkYXRlVG9rZW4obmV3VG9rZW46IHN0cmluZykge1xyXG4gICAgdGhpcy50b2tlblNvdXJjZS5uZXh0KG5ld1Rva2VuKTtcclxuXHJcbiAgfVxyXG5cclxuICAvL1Rva2VuRXhwaXJlXHJcbiAgcHJpdmF0ZSB0b2tlbkV4cGlyZTogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgdG9rZW5FeHBpcmVTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMudG9rZW5FeHBpcmUpO1xyXG4gIHB1YmxpYyB0b2tlbkV4cGlyZU9ic2VydiA9IHRoaXMudG9rZW5FeHBpcmVTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgVXBkYXRlVG9rZW5FeHBpcmUobmV3VG9rZW5FeHBpcmU6IHN0cmluZykge1xyXG4gICAgdGhpcy50b2tlbkV4cGlyZVNvdXJjZS5uZXh0KG5ld1Rva2VuRXhwaXJlKTtcclxuXHJcbiAgfVxyXG5cclxuICAvL0N1cnJlbnQgVXNlclxyXG4gIHB1YmxpYyBjdXJyZW50VXNlcjogc3RyaW5nID0gXCJ0bnlhZ2F0b1wiO1xyXG4gIHByaXZhdGUgY3VycmVudFVzZXJTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMuY3VycmVudFVzZXIpO1xyXG4gIHB1YmxpYyBjdXJyZW50VXNlck9ic2VydiA9IHRoaXMuY3VycmVudFVzZXJTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgVXBkYXRlQ3VycmVudFVzZXIobmV3VXNlcjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRVc2VyU291cmNlLm5leHQobmV3VXNlci50b0xvY2FsZUxvd2VyQ2FzZSgpKTtcclxuICAgIHRoaXMuY3VycmVudFVzZXIgPSBuZXdVc2VyLnRvTG9jYWxlTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG5cclxuICAvL0xpbmUgTWFuYWdlclxyXG4gIHByaXZhdGUgaXNsaW5lTWFuYWdlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgaXNMaW5lTWFuYWdlclNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5pc2xpbmVNYW5hZ2VyKTtcclxuICBwdWJsaWMgaXNMaW5lTWFuYWdlck9ic2VydiA9IHRoaXMuaXNMaW5lTWFuYWdlclNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICBVcGRhdGVJc0xpbmVNYW5hZ2VyKG1hbmFnZXI6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuaXNMaW5lTWFuYWdlclNvdXJjZS5uZXh0KG1hbmFnZXIpO1xyXG4gIH1cclxuXHJcbiAgLy9Sb2xlc1xyXG4gIHByaXZhdGUgY3VycmVudFJvbGUgPSBuZXcgUm9sZTtcclxuICBwdWJsaWMgY3VycmVudFJvbGVTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMuY3VycmVudFJvbGUpO1xyXG4gIHB1YmxpYyBteVJvbGVPYnNlcnYgPSB0aGlzLmN1cnJlbnRSb2xlU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIFVwZGF0ZVJvbGUocm9sZSkge1xyXG4gICAgdGhpcy5jdXJyZW50Um9sZVNvdXJjZS5uZXh0KHJvbGUpO1xyXG4gIH1cclxuXHJcbiAgLy9Mb2dnZWQgaW4gRmlyc3ROYW1lXHJcbiAgcHJpdmF0ZSBsb2dnZWRVc2VyU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdChcInRueWFnYXRvXCIpO1xyXG4gIHB1YmxpYyBsb2dnZWRVc2VyRnVsbE5hbWUgPSB0aGlzLmxvZ2dlZFVzZXJTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgdXBkYXRlTG9nZ2VkVXNlckZ1bGxOYW1lKHVzZXJOYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMubG9nZ2VkVXNlclNvdXJjZS5uZXh0KHVzZXJOYW1lKTtcclxuICB9XHJcblxyXG4gIC8vVGVuYW50TmFtZVxyXG4gIHByaXZhdGUgdGVuYW50TmFtZVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3QoXCJUZW5hbnQgTmFtZVwiKTtcclxuICBwdWJsaWMgdGVuYW50TmFtZU9ic2VydiA9IHRoaXMudGVuYW50TmFtZVNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICB1cGRhdGVUZW5hbnROYW1lKHRlbmFudE5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy50ZW5hbnROYW1lU291cmNlLm5leHQodGVuYW50TmFtZSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy9BdXRob3Jpc2F0aW9uXHJcbiAgaXNBdXRob3Jpc2VkKGNhcE5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG5cclxuICAgIGlmICghdGhpcy5jdXJyZW50Um9sZVNvdXJjZS52YWx1ZVtjYXBOYW1lXSkge1xyXG4gICAgICAvLyB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhgYXV0aG9yaXNlOiAke3RoaXMuY3VycmVudFJvbGVTb3VyY2UudmFsdWUucm9sZU5hbWV9IG5vdCBhdXRob3Jpc2VkIGZvciAke2NhcE5hbWV9YCk7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImhvbWVcIl0pO1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KGBVbmF1dGhvcmlzZWQ6ICR7Y2FwTmFtZX1gKTtcclxuXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGlzVmFsaWRUb2tlbigpIHtcclxuXHJcbiAgICBsZXQgdG9rZW5FeHBpcmU6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLnRva2VuRXhwaXJlU291cmNlLnZhbHVlKTtcclxuICAgIGxldCBub3dEYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgICBsZXQgdmFsaWQ6IGJvb2xlYW4gPSB0b2tlbkV4cGlyZSA+IG5vd0RhdGU7XHJcblxyXG4gICAgaWYgKCF2YWxpZCkge1xyXG5cclxuICAgICAgdGhpcy5zZXNzaW9uRXhwaXJlZCgpXHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoYEV4cGlyZWQgU2Vzc2lvbmApO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdmFsaWRcclxuICB9XHJcblxyXG4gIGNhbkFjdGl2YXRlKCkge1xyXG5cclxuICAgIGlmICh0aGlzLmxvZ2dlZGluICYmIHRoaXMuaXNWYWxpZFRva2VuKCkpIHtcclxuICAgICAgLy8gdGhpcy5sb2dTZXJ2aWNlLmluZm8oXCJhdXRoZW50aWNhdGlvbjogbG9nZ2VkIGluXCIpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oQ29uc3RhbnRzLkFVVEhfVVNFUikgPT09IG51bGwpIHtcclxuICAgICAgLy8gdGhpcy5sb2dTZXJ2aWNlLmluZm8oXCJhdXRoZW50aWNhdGlvbjogbm90IGxvZ2dlZCBhbmQgbm8gY2FjaGVcIik7XHJcblxyXG4gICAgICB0aGlzLnNlc3Npb25FeHBpcmVkKCk7XHJcblxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gdGhpcy5sb2dTZXJ2aWNlLmluZm8oXCJhdXRoZW50aWNhdGlvbjogbm90IGxvZ2dlZCBidXQgYWxsb3dlZCBsb2dpblwiKTtcclxuXHJcbiAgICAgIHRoaXMuVXBkYXRlbG9nZ2VkaW4odHJ1ZSk7XHJcblxyXG4gICAgICB0aGlzLnN0b3JhZ2UuZ2V0KENvbnN0YW50cy5BVVRIX1VTRVIpLnRoZW4oKHJlc3A6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuVXBkYXRlQ3VycmVudFVzZXIocmVzcCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5zdG9yYWdlLmdldChDb25zdGFudHMuQVVUSF9OQU1FKS50aGVuKChyZXNwOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0ZUxvZ2dlZFVzZXJGdWxsTmFtZShyZXNwKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnN0b3JhZ2UuZ2V0KENvbnN0YW50cy5BVVRIX1JPTEVTKS50aGVuKChyZXNwKSA9PiB7XHJcbiAgICAgICAgbGV0IHJldCA9IEpTT04ucGFyc2UocmVzcCk7XHJcblxyXG4gICAgICAgIHRoaXMuVXBkYXRlUm9sZShyZXQpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuc3RvcmFnZS5nZXQoQ29uc3RhbnRzLkFVVEhfVE9LRU4pLnRoZW4oKHJlc3A6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuVXBkYXRlVG9rZW4ocmVzcCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5zdG9yYWdlLmdldChDb25zdGFudHMuQVVUSF9UT0tFTl9FWFBJUkUpLnRoZW4oKHJlc3A6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuVXBkYXRlVG9rZW5FeHBpcmUocmVzcCk7XHJcbiAgICAgICAgdGhpcy5pc1ZhbGlkVG9rZW4oKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnN0b3JhZ2UuZ2V0KENvbnN0YW50cy5BVVRIX1RFTkFOVF9OQU1FKS50aGVuKChyZXNwOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVRlbmFudE5hbWUocmVzcCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ButtonService {
|
|
4
|
+
getButton(buttons, name) {
|
|
5
|
+
return buttons?.find(x => x.name === name) || null;
|
|
6
|
+
}
|
|
7
|
+
getButtonProperties(button, row, config) {
|
|
8
|
+
return {
|
|
9
|
+
color: this.getButtonColor(button, row),
|
|
10
|
+
icon: this.getIcon(button, config),
|
|
11
|
+
disabled: this.testDisabled(button, row),
|
|
12
|
+
visible: this.testVisible(button, row),
|
|
13
|
+
tip: button.tip || button.name
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
getButtonColor(button, row) {
|
|
17
|
+
if (this.isButtonDisabled(button, row))
|
|
18
|
+
return 'lightgray';
|
|
19
|
+
if (button?.color)
|
|
20
|
+
return button.color;
|
|
21
|
+
if (button.icon?.color)
|
|
22
|
+
return button.icon.color;
|
|
23
|
+
const colorMap = {
|
|
24
|
+
'delete': '#F44336',
|
|
25
|
+
'create': 'green'
|
|
26
|
+
};
|
|
27
|
+
return colorMap[button.name] || '#4050B5';
|
|
28
|
+
}
|
|
29
|
+
isButtonDisabled(button, row) {
|
|
30
|
+
return button?.disabled ? button.disabled(row) : false;
|
|
31
|
+
}
|
|
32
|
+
isButtonVisible(button, row, isLoadComplete) {
|
|
33
|
+
if (!isLoadComplete)
|
|
34
|
+
return false;
|
|
35
|
+
return button?.visible ? button.visible(row) : true;
|
|
36
|
+
}
|
|
37
|
+
getTitleAction(mode, buttons) {
|
|
38
|
+
const modeMap = {
|
|
39
|
+
'view': 'View',
|
|
40
|
+
'edit': buttons.find(b => b.name === 'edit')?.display || 'Edit',
|
|
41
|
+
'create': buttons.find(b => b.name === 'create')?.display || 'Create'
|
|
42
|
+
};
|
|
43
|
+
return modeMap[mode] || '';
|
|
44
|
+
}
|
|
45
|
+
isTabVisible(tableConfig) {
|
|
46
|
+
return tableConfig.hideTabCondition ? !tableConfig.hideTabCondition(tableConfig.parentData) : true;
|
|
47
|
+
}
|
|
48
|
+
getIcon(button, config) {
|
|
49
|
+
if (button.icon) {
|
|
50
|
+
return button.icon.name;
|
|
51
|
+
}
|
|
52
|
+
return this.getDefaultIcon(button.name, config.flatButtons);
|
|
53
|
+
}
|
|
54
|
+
testDisabled(button, row) {
|
|
55
|
+
return button.disabled ? button.disabled(row) : false;
|
|
56
|
+
}
|
|
57
|
+
testVisible(button, row) {
|
|
58
|
+
return button.visible ? button.visible(row) : true;
|
|
59
|
+
}
|
|
60
|
+
getDefaultColor(buttonName) {
|
|
61
|
+
switch (buttonName) {
|
|
62
|
+
case 'delete': return '#F44336';
|
|
63
|
+
case 'create': return 'green';
|
|
64
|
+
default: return '#4050B5';
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
getDefaultIcon(buttonName, flatButtons) {
|
|
68
|
+
switch (buttonName) {
|
|
69
|
+
case 'view':
|
|
70
|
+
return flatButtons ? 'open_in_new' : 'pageview';
|
|
71
|
+
case 'edit': return 'edit';
|
|
72
|
+
case 'delete': return 'delete';
|
|
73
|
+
case 'create': return 'add';
|
|
74
|
+
default: return 'more_horiz';
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
getCreateButton(buttons) {
|
|
78
|
+
return buttons?.find(button => button?.name === 'create');
|
|
79
|
+
}
|
|
80
|
+
getDisplayedButtons(buttons, isSmallScreen, minButtons) {
|
|
81
|
+
const nonCreateButtons = buttons?.filter(x => x.name !== 'create' && !x.inHeader);
|
|
82
|
+
if (isSmallScreen) {
|
|
83
|
+
if (minButtons) {
|
|
84
|
+
return nonCreateButtons.filter(x => minButtons.includes(x.name));
|
|
85
|
+
}
|
|
86
|
+
return nonCreateButtons.slice(0, 1);
|
|
87
|
+
}
|
|
88
|
+
return nonCreateButtons;
|
|
89
|
+
}
|
|
90
|
+
getActionsWidth(buttons) {
|
|
91
|
+
return `${buttons.length * 40 + 20}px`;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
ButtonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
95
|
+
ButtonService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonService, providedIn: 'root' });
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonService, decorators: [{
|
|
97
|
+
type: Injectable,
|
|
98
|
+
args: [{
|
|
99
|
+
providedIn: 'root'
|
|
100
|
+
}]
|
|
101
|
+
}] });
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvc2VydmljZXMvYnV0dG9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLGFBQWE7SUFDeEIsU0FBUyxDQUFDLE9BQWlCLEVBQUUsSUFBWTtRQUN2QyxPQUFPLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQztJQUNyRCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBYyxFQUFFLEdBQVEsRUFBRSxNQUFtQjtRQU8vRCxPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQztZQUN2QyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO1lBQ2xDLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUM7WUFDeEMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQztZQUN0QyxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSTtTQUMvQixDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFjLEVBQUUsR0FBUTtRQUNyQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDO1lBQUUsT0FBTyxXQUFXLENBQUM7UUFFM0QsSUFBSSxNQUFNLEVBQUUsS0FBSztZQUFFLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQztRQUN2QyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUs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dCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQnV0dG9uLCBUYWJsZUNvbmZpZyB9IGZyb20gJy4uL2NsYXNzZXMvQ2xhc3Nlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCdXR0b25TZXJ2aWNlIHtcclxuICBnZXRCdXR0b24oYnV0dG9uczogQnV0dG9uW10sIG5hbWU6IHN0cmluZyk6IEJ1dHRvbiB8IG51bGwge1xyXG4gICAgcmV0dXJuIGJ1dHRvbnM/LmZpbmQoeCA9PiB4Lm5hbWUgPT09IG5hbWUpIHx8IG51bGw7XHJcbiAgfVxyXG5cclxuICBnZXRCdXR0b25Qcm9wZXJ0aWVzKGJ1dHRvbjogQnV0dG9uLCByb3c6IGFueSwgY29uZmlnOiBUYWJsZUNvbmZpZyk6IHtcclxuICAgIGNvbG9yOiBzdHJpbmcsXHJcbiAgICBpY29uOiBzdHJpbmcsXHJcbiAgICBkaXNhYmxlZDogYm9vbGVhbixcclxuICAgIHZpc2libGU6IGJvb2xlYW4sXHJcbiAgICB0aXA6IHN0cmluZ1xyXG4gIH0ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgY29sb3I6IHRoaXMuZ2V0QnV0dG9uQ29sb3IoYnV0dG9uLCByb3cpLFxyXG4gICAgICBpY29uOiB0aGlzLmdldEljb24oYnV0dG9uLCBjb25maWcpLFxyXG4gICAgICBkaXNhYmxlZDogdGhpcy50ZXN0RGlzYWJsZWQoYnV0dG9uLCByb3cpLFxyXG4gICAgICB2aXNpYmxlOiB0aGlzLnRlc3RWaXNpYmxlKGJ1dHRvbiwgcm93KSxcclxuICAgICAgdGlwOiBidXR0b24udGlwIHx8IGJ1dHRvbi5uYW1lXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0QnV0dG9uQ29sb3IoYnV0dG9uOiBCdXR0b24sIHJvdzogYW55KTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmlzQnV0dG9uRGlzYWJsZWQoYnV0dG9uLCByb3cpKSByZXR1cm4gJ2xpZ2h0Z3JheSc7XHJcblxyXG4gICAgaWYgKGJ1dHRvbj8uY29sb3IpIHJldHVybiBidXR0b24uY29sb3I7XHJcbiAgICBpZiAoYnV0dG9uLmljb24/LmNvbG9yKSByZXR1cm4gYnV0dG9uLmljb24uY29sb3I7XHJcblxyXG4gICAgY29uc3QgY29sb3JNYXAgPSB7XHJcbiAgICAgICdkZWxldGUnOiAnI0Y0NDMzNicsXHJcbiAgICAgICdjcmVhdGUnOiAnZ3JlZW4nXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBjb2xvck1hcFtidXR0b24ubmFtZV0gfHwgJyM0MDUwQjUnO1xyXG4gIH1cclxuXHJcbiAgaXNCdXR0b25EaXNhYmxlZChidXR0b246IEJ1dHRvbiwgcm93OiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBidXR0b24/LmRpc2FibGVkID8gYnV0dG9uLmRpc2FibGVkKHJvdykgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGlzQnV0dG9uVmlzaWJsZShidXR0b246IEJ1dHRvbiwgcm93OiBhbnksIGlzTG9hZENvbXBsZXRlOiBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIWlzTG9hZENvbXBsZXRlKSByZXR1cm4gZmFsc2U7XHJcbiAgICByZXR1cm4gYnV0dG9uPy52aXNpYmxlID8gYnV0dG9uLnZpc2libGUocm93KSA6IHRydWU7XHJcbiAgfVxyXG5cclxuICBnZXRUaXRsZUFjdGlvbihtb2RlOiBzdHJpbmcsIGJ1dHRvbnM6IEJ1dHRvbltdKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IG1vZGVNYXAgPSB7XHJcbiAgICAgICd2aWV3JzogJ1ZpZXcnLFxyXG4gICAgICAnZWRpdCc6IGJ1dHRvbnMuZmluZChiID0+IGIubmFtZSA9PT0gJ2VkaXQnKT8uZGlzcGxheSB8fCAnRWRpdCcsXHJcbiAgICAgICdjcmVhdGUnOiBidXR0b25zLmZpbmQoYiA9PiBiLm5hbWUgPT09ICdjcmVhdGUnKT8uZGlzcGxheSB8fCAnQ3JlYXRlJ1xyXG4gICAgfTtcclxuICAgIHJldHVybiBtb2RlTWFwW21vZGVdIHx8ICcnO1xyXG4gIH1cclxuXHJcbiAgaXNUYWJWaXNpYmxlKHRhYmxlQ29uZmlnOiBUYWJsZUNvbmZpZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRhYmxlQ29uZmlnLmhpZGVUYWJDb25kaXRpb24gPyAhdGFibGVDb25maWcuaGlkZVRhYkNvbmRpdGlvbih0YWJsZUNvbmZpZy5wYXJlbnREYXRhKSA6IHRydWU7XHJcbiAgfVxyXG5cclxuICBnZXRJY29uKGJ1dHRvbjogQnV0dG9uLCBjb25maWc6IFRhYmxlQ29uZmlnKTogc3RyaW5nIHtcclxuICAgIGlmIChidXR0b24uaWNvbikge1xyXG4gICAgICByZXR1cm4gYnV0dG9uLmljb24ubmFtZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmdldERlZmF1bHRJY29uKGJ1dHRvbi5uYW1lLCBjb25maWcuZmxhdEJ1dHRvbnMpO1xyXG4gIH1cclxuXHJcbiAgdGVzdERpc2FibGVkKGJ1dHRvbjogQnV0dG9uLCByb3c6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGJ1dHRvbi5kaXNhYmxlZCA/IGJ1dHRvbi5kaXNhYmxlZChyb3cpIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICB0ZXN0VmlzaWJsZShidXR0b246IEJ1dHRvbiwgcm93OiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBidXR0b24udmlzaWJsZSA/IGJ1dHRvbi52aXNpYmxlKHJvdykgOiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXREZWZhdWx0Q29sb3IoYnV0dG9uTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAoYnV0dG9uTmFtZSkge1xyXG4gICAgICBjYXNlICdkZWxldGUnOiByZXR1cm4gJyNGNDQzMzYnO1xyXG4gICAgICBjYXNlICdjcmVhdGUnOiByZXR1cm4gJ2dyZWVuJztcclxuICAgICAgZGVmYXVsdDogcmV0dXJuICcjNDA1MEI1JztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RGVmYXVsdEljb24oYnV0dG9uTmFtZTogc3RyaW5nLCBmbGF0QnV0dG9uczogYm9vbGVhbik6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKGJ1dHRvbk5hbWUpIHtcclxuICAgICAgY2FzZSAndmlldyc6XHJcbiAgICAgICAgcmV0dXJuIGZsYXRCdXR0b25zID8gJ29wZW5faW5fbmV3JyA6ICdwYWdldmlldyc7XHJcbiAgICAgIGNhc2UgJ2VkaXQnOiByZXR1cm4gJ2VkaXQnO1xyXG4gICAgICBjYXNlICdkZWxldGUnOiByZXR1cm4gJ2RlbGV0ZSc7XHJcbiAgICAgIGNhc2UgJ2NyZWF0ZSc6IHJldHVybiAnYWRkJztcclxuICAgICAgZGVmYXVsdDogcmV0dXJuICdtb3JlX2hvcml6JztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENyZWF0ZUJ1dHRvbihidXR0b25zOiBCdXR0b25bXSk6IEJ1dHRvbiB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gYnV0dG9ucz8uZmluZChidXR0b24gPT4gYnV0dG9uPy5uYW1lID09PSAnY3JlYXRlJyk7XHJcbiAgfVxyXG5cclxuICBnZXREaXNwbGF5ZWRCdXR0b25zKGJ1dHRvbnM6IEJ1dHRvbltdLCBpc1NtYWxsU2NyZWVuOiBib29sZWFuLCBtaW5CdXR0b25zPzogc3RyaW5nW10pOiBCdXR0b25bXSB7XHJcbiAgICBjb25zdCBub25DcmVhdGVCdXR0b25zID0gYnV0dG9ucz8uZmlsdGVyKHggPT4geC5uYW1lICE9PSAnY3JlYXRlJyAmJiAheC5pbkhlYWRlcik7XHJcblxyXG4gICAgaWYgKGlzU21hbGxTY3JlZW4pIHtcclxuICAgICAgaWYgKG1pbkJ1dHRvbnMpIHtcclxuICAgICAgICByZXR1cm4gbm9uQ3JlYXRlQnV0dG9ucy5maWx0ZXIoeCA9PiBtaW5CdXR0b25zLmluY2x1ZGVzKHgubmFtZSkpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBub25DcmVhdGVCdXR0b25zLnNsaWNlKDAsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBub25DcmVhdGVCdXR0b25zO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aW9uc1dpZHRoKGJ1dHRvbnM6IEJ1dHRvbltdKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgJHtidXR0b25zLmxlbmd0aCAqIDQwICsgMjB9cHhgO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ConditionService {
|
|
4
|
+
testIconCondition(icon, row) {
|
|
5
|
+
if (!icon)
|
|
6
|
+
return false;
|
|
7
|
+
return icon.condition ? icon.condition(row) : true;
|
|
8
|
+
}
|
|
9
|
+
testColorCondition(color, row) {
|
|
10
|
+
if (!color)
|
|
11
|
+
return false;
|
|
12
|
+
return color.condition ? color.condition(row) : true;
|
|
13
|
+
}
|
|
14
|
+
getColor(value, options) {
|
|
15
|
+
if (!options)
|
|
16
|
+
return 'lightgrey';
|
|
17
|
+
const option = options.find(opt => opt.value === value);
|
|
18
|
+
return option ? option.color : 'lightgrey';
|
|
19
|
+
}
|
|
20
|
+
testCondition(condition, value) {
|
|
21
|
+
return condition ? condition(value) : true;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
ConditionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ConditionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
+
ConditionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ConditionService, providedIn: 'root' });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ConditionService, decorators: [{
|
|
27
|
+
type: Injectable,
|
|
28
|
+
args: [{
|
|
29
|
+
providedIn: 'root'
|
|
30
|
+
}]
|
|
31
|
+
}] });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvc2VydmljZXMvY29uZGl0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixpQkFBaUIsQ0FBQyxJQUFVLEVBQUUsR0FBUTtRQUNwQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JELENBQUM7SUFHRCxrQkFBa0IsQ0FBQyxLQUFZLEVBQUUsR0FBUTtRQUN2QyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3pCLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3ZELENBQUM7SUFHRCxRQUFRLENBQUMsS0FBVSxFQUFFLE9BQWM7UUFDakMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLFdBQVcsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztRQUN4RCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQzdDLENBQUM7SUFHRCxhQUFhLENBQUMsU0FBa0MsRUFBRSxLQUFVO1FBQzFELE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM3QyxDQUFDOzs2R0F4QlUsZ0JBQWdCO2lIQUFoQixnQkFBZ0IsY0FGZixNQUFNOzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEljb24sIENvbG9yIH0gZnJvbSAnLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbmRpdGlvblNlcnZpY2Uge1xyXG5cclxuXHJcbiAgdGVzdEljb25Db25kaXRpb24oaWNvbjogSWNvbiwgcm93OiBhbnkpOiBib29sZWFuIHtcclxuICAgIGlmICghaWNvbikgcmV0dXJuIGZhbHNlO1xyXG4gICAgcmV0dXJuIGljb24uY29uZGl0aW9uID8gaWNvbi5jb25kaXRpb24ocm93KSA6IHRydWU7XHJcbiAgfVxyXG5cclxuXHJcbiAgdGVzdENvbG9yQ29uZGl0aW9uKGNvbG9yOiBDb2xvciwgcm93OiBhbnkpOiBib29sZWFuIHtcclxuICAgIGlmICghY29sb3IpIHJldHVybiBmYWxzZTtcclxuICAgIHJldHVybiBjb2xvci5jb25kaXRpb24gPyBjb2xvci5jb25kaXRpb24ocm93KSA6IHRydWU7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0Q29sb3IodmFsdWU6IGFueSwgb3B0aW9uczogYW55W10pOiBzdHJpbmcge1xyXG4gICAgaWYgKCFvcHRpb25zKSByZXR1cm4gJ2xpZ2h0Z3JleSc7XHJcbiAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zLmZpbmQob3B0ID0+IG9wdC52YWx1ZSA9PT0gdmFsdWUpO1xyXG4gICAgcmV0dXJuIG9wdGlvbiA/IG9wdGlvbi5jb2xvciA6ICdsaWdodGdyZXknO1xyXG4gIH1cclxuXHJcblxyXG4gIHRlc3RDb25kaXRpb24oY29uZGl0aW9uOiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbiwgdmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGNvbmRpdGlvbiA/IGNvbmRpdGlvbih2YWx1ZSkgOiB0cnVlO1xyXG4gIH1cclxufVxyXG4iXX0=
|