@resolveio/client-lib-core 16.0.0 → 21.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/fesm2022/resolveio-client-lib-core.min.mjs +1 -0
- package/package.json +10 -8
- package/types/resolveio-client-lib-core.d.ts +1904 -0
- package/esm2022/lib/account-manager.service.mjs +0 -229
- package/esm2022/lib/auth/auth-guard.service.mjs +0 -174
- package/esm2022/lib/auth/auth-permissions.service.mjs +0 -23
- package/esm2022/lib/auth/auth.service.mjs +0 -251
- package/esm2022/lib/auth/auth365.component.mjs +0 -51
- package/esm2022/lib/auth/can-deactivate-guard.service.mjs +0 -13
- package/esm2022/lib/auth/enroll.component.mjs +0 -88
- package/esm2022/lib/auth/forgot-password.component.mjs +0 -89
- package/esm2022/lib/core.component.mjs +0 -404
- package/esm2022/lib/core.module.mjs +0 -176
- package/esm2022/lib/core.service.mjs +0 -88
- package/esm2022/lib/directive/focus.mjs +0 -24
- package/esm2022/lib/directive/scroll.mjs +0 -54
- package/esm2022/lib/home/home.component.mjs +0 -84
- package/esm2022/lib/logger/logger.component.mjs +0 -229
- package/esm2022/lib/models/app-status.model.mjs +0 -2
- package/esm2022/lib/models/collection-document.model.mjs +0 -2
- package/esm2022/lib/models/cron-job.model.mjs +0 -2
- package/esm2022/lib/models/dialog.model.mjs +0 -2
- package/esm2022/lib/models/file.model.mjs +0 -2
- package/esm2022/lib/models/log-method-latency.model.mjs +0 -2
- package/esm2022/lib/models/navbar-main-tab.model.mjs +0 -2
- package/esm2022/lib/models/pagination.model.mjs +0 -2
- package/esm2022/lib/models/permission.model.mjs +0 -2
- package/esm2022/lib/models/select-data-label.model.mjs +0 -2
- package/esm2022/lib/models/subscription.model.mjs +0 -2
- package/esm2022/lib/models/support-ticket.model.mjs +0 -2
- package/esm2022/lib/models/user-group.model.mjs +0 -2
- package/esm2022/lib/models/user.model.mjs +0 -2
- package/esm2022/lib/offline-db.mjs +0 -519
- package/esm2022/lib/offline-manager.service.mjs +0 -109
- package/esm2022/lib/pipes/domsanitizor.pipe.mjs +0 -29
- package/esm2022/lib/pipes/filter.pipe.mjs +0 -36
- package/esm2022/lib/pipes/json-parse.pipe.mjs +0 -29
- package/esm2022/lib/pipes/minus-currency.pipe.mjs +0 -16
- package/esm2022/lib/pipes/phone.pipe.mjs +0 -47
- package/esm2022/lib/pipes/pipe.module.mjs +0 -54
- package/esm2022/lib/pipes/reverse-list.pipe.mjs +0 -17
- package/esm2022/lib/pipes/titlecase.pipe.mjs +0 -22
- package/esm2022/lib/report-builder.permission.mjs +0 -13
- package/esm2022/lib/resolveio-class.mjs +0 -50
- package/esm2022/lib/shared/shared.module.mjs +0 -96
- package/esm2022/lib/socket-manager.service.mjs +0 -340
- package/esm2022/lib/socket.service.mjs +0 -200
- package/esm2022/lib/super-admin.permission.mjs +0 -9
- package/esm2022/lib/support-ticket/detail/support-ticket-detail.component.mjs +0 -211
- package/esm2022/lib/support-ticket/edit/support-ticket-edit.component.mjs +0 -131
- package/esm2022/lib/support-ticket/list/support-ticket-list.component.mjs +0 -142
- package/esm2022/lib/support-ticket/new/support-ticket-new.component.mjs +0 -121
- package/esm2022/lib/support-ticket/support-ticket.component.mjs +0 -67
- package/esm2022/lib/support-ticket/support-ticket.module.mjs +0 -50
- package/esm2022/lib/support-ticket/support-ticket.routing.mjs +0 -20
- package/esm2022/lib/support-ticket/support-ticket.service.mjs +0 -16
- package/esm2022/lib/token-manager.service.mjs +0 -25
- package/esm2022/lib/user-settings/settings/users-settings.component.mjs +0 -302
- package/esm2022/lib/user-settings/user-settings.component.mjs +0 -61
- package/esm2022/lib/user-settings/user-settings.module.mjs +0 -41
- package/esm2022/lib/user-settings/user-settings.permission.mjs +0 -10
- package/esm2022/lib/user-settings/user-settings.routing.mjs +0 -14
- package/esm2022/lib/user-settings/user-settings.service.mjs +0 -16
- package/esm2022/lib/util/action-name.helper.mjs +0 -9
- package/esm2022/lib/util/aws.service.mjs +0 -80
- package/esm2022/lib/util/common.helper.mjs +0 -133
- package/esm2022/lib/util/validation.service.mjs +0 -185
- package/esm2022/lib/util/window-resize.service.mjs +0 -38
- package/esm2022/lib/util/window.service.mjs +0 -16
- package/esm2022/lib/widgets/alert/alert.model.mjs +0 -2
- package/esm2022/lib/widgets/alert/alert.service.mjs +0 -79
- package/esm2022/lib/widgets/collapse-table/collapse-table.component.mjs +0 -83
- package/esm2022/lib/widgets/collapse-table/collapse-table.module.mjs +0 -34
- package/esm2022/lib/widgets/data-table/data-table.component.mjs +0 -84
- package/esm2022/lib/widgets/data-table/data-table.model.mjs +0 -2
- package/esm2022/lib/widgets/data-table/data-table.module.mjs +0 -41
- package/esm2022/lib/widgets/date-shortcut/date-shortcut.component.mjs +0 -198
- package/esm2022/lib/widgets/date-shortcut/date-shortcut.module.mjs +0 -32
- package/esm2022/lib/widgets/dialog/dialog.confirm.content.mjs +0 -67
- package/esm2022/lib/widgets/dialog/dialog.error.content.mjs +0 -60
- package/esm2022/lib/widgets/dialog/dialog.input.content.mjs +0 -200
- package/esm2022/lib/widgets/dialog/dialog.login.content.mjs +0 -354
- package/esm2022/lib/widgets/dialog/dialog.notify.content.mjs +0 -60
- package/esm2022/lib/widgets/dialog/dialog.register.content.mjs +0 -333
- package/esm2022/lib/widgets/dialog/dialog.select-array-objs.content.mjs +0 -203
- package/esm2022/lib/widgets/dialog/dialog.select-array.content.mjs +0 -310
- package/esm2022/lib/widgets/dialog/dialog.select-data-labels.content.mjs +0 -196
- package/esm2022/lib/widgets/dialog/dialog.select-datetime.content.mjs +0 -191
- package/esm2022/lib/widgets/dialog/dialog.select-with-buttons-url.content.mjs +0 -166
- package/esm2022/lib/widgets/dialog/dialog.service.mjs +0 -98
- package/esm2022/lib/widgets/file/file-upload.component.mjs +0 -433
- package/esm2022/lib/widgets/file/file-upload.module.mjs +0 -48
- package/esm2022/lib/widgets/form-button/form-button.component.mjs +0 -97
- package/esm2022/lib/widgets/form-button/form-button.module.mjs +0 -28
- package/esm2022/lib/widgets/navbar-main/navbar-main.component.mjs +0 -222
- package/esm2022/lib/widgets/navbar-module/navbar-module.component.mjs +0 -108
- package/esm2022/lib/widgets/navbar-module/navbar-module.model.mjs +0 -2
- package/esm2022/lib/widgets/responsive-button-group/responsive-button-group.component.mjs +0 -41
- package/esm2022/lib/widgets/responsive-button-group/responsive-button-group.module.mjs +0 -24
- package/esm2022/lib/widgets/scheduler/scheduler.component.mjs +0 -186
- package/esm2022/lib/widgets/scheduler/scheduler.module.mjs +0 -37
- package/esm2022/lib/widgets/sort-table/sort-table-header.component.mjs +0 -72
- package/esm2022/lib/widgets/sort-table/sort-table-ngfor.component.mjs +0 -49
- package/esm2022/lib/widgets/sort-table/sort-table.directive.mjs +0 -177
- package/esm2022/lib/widgets/sort-table/sort-table.module.mjs +0 -38
- package/esm2022/lib/widgets/user-role/user-role.component.mjs +0 -29
- package/esm2022/lib/widgets/user-role/user-role.module.mjs +0 -24
- package/esm2022/public_api.mjs +0 -91
- package/esm2022/resolveio-client-lib-core.mjs +0 -5
- package/fesm2022/resolveio-client-lib-core.mjs +0 -9019
- package/fesm2022/resolveio-client-lib-core.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/account-manager.service.d.ts +0 -41
- package/lib/auth/auth-guard.service.d.ts +0 -26
- package/lib/auth/auth-permissions.service.d.ts +0 -10
- package/lib/auth/auth.service.d.ts +0 -30
- package/lib/auth/auth365.component.d.ts +0 -20
- package/lib/auth/can-deactivate-guard.service.d.ts +0 -10
- package/lib/auth/enroll.component.d.ts +0 -28
- package/lib/auth/forgot-password.component.d.ts +0 -28
- package/lib/core.component.d.ts +0 -63
- package/lib/core.module.d.ts +0 -34
- package/lib/core.service.d.ts +0 -49
- package/lib/directive/focus.d.ts +0 -10
- package/lib/directive/scroll.d.ts +0 -20
- package/lib/home/home.component.d.ts +0 -28
- package/lib/logger/logger.component.d.ts +0 -37
- package/lib/models/app-status.model.d.ts +0 -4
- package/lib/models/collection-document.model.d.ts +0 -6
- package/lib/models/cron-job.model.d.ts +0 -13
- package/lib/models/dialog.model.d.ts +0 -23
- package/lib/models/file.model.d.ts +0 -9
- package/lib/models/log-method-latency.model.d.ts +0 -7
- package/lib/models/navbar-main-tab.model.d.ts +0 -14
- package/lib/models/pagination.model.d.ts +0 -17
- package/lib/models/permission.model.d.ts +0 -14
- package/lib/models/select-data-label.model.d.ts +0 -9
- package/lib/models/subscription.model.d.ts +0 -19
- package/lib/models/support-ticket.model.d.ts +0 -71
- package/lib/models/user-group.model.d.ts +0 -19
- package/lib/models/user.model.d.ts +0 -70
- package/lib/offline-db.d.ts +0 -28
- package/lib/offline-manager.service.d.ts +0 -23
- package/lib/pipes/domsanitizor.pipe.d.ts +0 -10
- package/lib/pipes/filter.pipe.d.ts +0 -12
- package/lib/pipes/json-parse.pipe.d.ts +0 -7
- package/lib/pipes/minus-currency.pipe.d.ts +0 -7
- package/lib/pipes/phone.pipe.d.ts +0 -7
- package/lib/pipes/pipe.module.d.ts +0 -13
- package/lib/pipes/reverse-list.pipe.d.ts +0 -6
- package/lib/pipes/titlecase.pipe.d.ts +0 -7
- package/lib/report-builder.permission.d.ts +0 -2
- package/lib/resolveio-class.d.ts +0 -26
- package/lib/shared/shared.module.d.ts +0 -17
- package/lib/socket-manager.service.d.ts +0 -36
- package/lib/socket.service.d.ts +0 -38
- package/lib/super-admin.permission.d.ts +0 -2
- package/lib/support-ticket/detail/support-ticket-detail.component.d.ts +0 -32
- package/lib/support-ticket/edit/support-ticket-edit.component.d.ts +0 -30
- package/lib/support-ticket/list/support-ticket-list.component.d.ts +0 -26
- package/lib/support-ticket/new/support-ticket-new.component.d.ts +0 -26
- package/lib/support-ticket/support-ticket.component.d.ts +0 -20
- package/lib/support-ticket/support-ticket.module.d.ts +0 -15
- package/lib/support-ticket/support-ticket.routing.d.ts +0 -3
- package/lib/support-ticket/support-ticket.service.d.ts +0 -9
- package/lib/token-manager.service.d.ts +0 -11
- package/lib/user-settings/settings/users-settings.component.d.ts +0 -54
- package/lib/user-settings/user-settings.component.d.ts +0 -20
- package/lib/user-settings/user-settings.module.d.ts +0 -12
- package/lib/user-settings/user-settings.permission.d.ts +0 -2
- package/lib/user-settings/user-settings.routing.d.ts +0 -3
- package/lib/user-settings/user-settings.service.d.ts +0 -9
- package/lib/util/action-name.helper.d.ts +0 -1
- package/lib/util/aws.service.d.ts +0 -16
- package/lib/util/common.helper.d.ts +0 -12
- package/lib/util/validation.service.d.ts +0 -88
- package/lib/util/window-resize.service.d.ts +0 -13
- package/lib/util/window.service.d.ts +0 -6
- package/lib/widgets/alert/alert.model.d.ts +0 -1
- package/lib/widgets/alert/alert.service.d.ts +0 -11
- package/lib/widgets/collapse-table/collapse-table.component.d.ts +0 -23
- package/lib/widgets/collapse-table/collapse-table.module.d.ts +0 -9
- package/lib/widgets/data-table/data-table.component.d.ts +0 -23
- package/lib/widgets/data-table/data-table.model.d.ts +0 -13
- package/lib/widgets/data-table/data-table.module.d.ts +0 -12
- package/lib/widgets/date-shortcut/date-shortcut.component.d.ts +0 -20
- package/lib/widgets/date-shortcut/date-shortcut.module.d.ts +0 -10
- package/lib/widgets/dialog/dialog.confirm.content.d.ts +0 -12
- package/lib/widgets/dialog/dialog.error.content.d.ts +0 -11
- package/lib/widgets/dialog/dialog.input.content.d.ts +0 -18
- package/lib/widgets/dialog/dialog.login.content.d.ts +0 -17
- package/lib/widgets/dialog/dialog.notify.content.d.ts +0 -11
- package/lib/widgets/dialog/dialog.register.content.d.ts +0 -13
- package/lib/widgets/dialog/dialog.select-array-objs.content.d.ts +0 -23
- package/lib/widgets/dialog/dialog.select-array.content.d.ts +0 -31
- package/lib/widgets/dialog/dialog.select-data-labels.content.d.ts +0 -22
- package/lib/widgets/dialog/dialog.select-datetime.content.d.ts +0 -21
- package/lib/widgets/dialog/dialog.select-with-buttons-url.content.d.ts +0 -25
- package/lib/widgets/dialog/dialog.service.d.ts +0 -21
- package/lib/widgets/file/file-upload.component.d.ts +0 -49
- package/lib/widgets/file/file-upload.module.d.ts +0 -14
- package/lib/widgets/form-button/form-button.component.d.ts +0 -15
- package/lib/widgets/form-button/form-button.module.d.ts +0 -9
- package/lib/widgets/navbar-main/navbar-main.component.d.ts +0 -52
- package/lib/widgets/navbar-module/navbar-module.component.d.ts +0 -24
- package/lib/widgets/navbar-module/navbar-module.model.d.ts +0 -13
- package/lib/widgets/responsive-button-group/responsive-button-group.component.d.ts +0 -17
- package/lib/widgets/responsive-button-group/responsive-button-group.module.d.ts +0 -8
- package/lib/widgets/scheduler/scheduler.component.d.ts +0 -50
- package/lib/widgets/scheduler/scheduler.module.d.ts +0 -11
- package/lib/widgets/sort-table/sort-table-header.component.d.ts +0 -23
- package/lib/widgets/sort-table/sort-table-ngfor.component.d.ts +0 -17
- package/lib/widgets/sort-table/sort-table.directive.d.ts +0 -48
- package/lib/widgets/sort-table/sort-table.module.d.ts +0 -11
- package/lib/widgets/user-role/user-role.component.d.ts +0 -10
- package/lib/widgets/user-role/user-role.module.d.ts +0 -8
- package/public_api.d.ts +0 -87
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { UserSettingsService } from './user-settings.service';
|
|
3
|
-
import { UserSettingsModulePermission } from './user-settings.permission';
|
|
4
|
-
import { ProviderService, BaseComponent } from '../resolveio-class';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./user-settings.service";
|
|
7
|
-
import * as i2 from "../resolveio-class";
|
|
8
|
-
import * as i3 from "@angular/router";
|
|
9
|
-
export class UserSettingsComponent extends BaseComponent {
|
|
10
|
-
_us;
|
|
11
|
-
_services;
|
|
12
|
-
selectedUserSettings$;
|
|
13
|
-
menuData;
|
|
14
|
-
constructor(_us, _services) {
|
|
15
|
-
super(_services);
|
|
16
|
-
this._us = _us;
|
|
17
|
-
this._services = _services;
|
|
18
|
-
}
|
|
19
|
-
ngOnInit() {
|
|
20
|
-
this.selectedUserSettings$ = this._us.selectedUser.subscribe(val => this.selectedUserSettingsChanged(val));
|
|
21
|
-
}
|
|
22
|
-
ngOnDestroy() {
|
|
23
|
-
this._us.setSelectedUser('0');
|
|
24
|
-
this.selectedUserSettings$.unsubscribe();
|
|
25
|
-
}
|
|
26
|
-
selectedUserSettingsChanged(id) {
|
|
27
|
-
this.setUserSettingsMenuData();
|
|
28
|
-
}
|
|
29
|
-
setUserSettingsMenuData(id, user) {
|
|
30
|
-
let tabs = [];
|
|
31
|
-
UserSettingsModulePermission.views.forEach(view => {
|
|
32
|
-
if (this._services._account.isUserInView(view.link) || this._services._account.isUserSuperAdmin()) {
|
|
33
|
-
switch (view.link) {
|
|
34
|
-
case '/user-settings/settings':
|
|
35
|
-
tabs.push({ link: '/user-settings/settings', params: null, label: 'Settings' });
|
|
36
|
-
break;
|
|
37
|
-
default:
|
|
38
|
-
break;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
this.menuData = {
|
|
43
|
-
title: 'User Settings',
|
|
44
|
-
module: 'User Settings',
|
|
45
|
-
description_name: 'User: ',
|
|
46
|
-
description: user ? user.fullname : '',
|
|
47
|
-
tabs: tabs
|
|
48
|
-
};
|
|
49
|
-
this._services._app.setNavbarModuleData(this.menuData);
|
|
50
|
-
}
|
|
51
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserSettingsComponent, deps: [{ token: i1.UserSettingsService }, { token: i2.ProviderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UserSettingsComponent, selector: "ng-component", providers: [ProviderService], usesInheritance: true, ngImport: i0, template: '<router-outlet></router-outlet>', isInline: true, dependencies: [{ kind: "directive", type: i3.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
|
|
53
|
-
}
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserSettingsComponent, decorators: [{
|
|
55
|
-
type: Component,
|
|
56
|
-
args: [{
|
|
57
|
-
providers: [ProviderService],
|
|
58
|
-
template: '<router-outlet></router-outlet>'
|
|
59
|
-
}]
|
|
60
|
-
}], ctorParameters: function () { return [{ type: i1.UserSettingsService }, { type: i2.ProviderService }]; } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZXR0aW5ncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvdXNlci1zZXR0aW5ncy91c2VyLXNldHRpbmdzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7OztBQVFwRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsYUFBYTtJQUtuQztJQUFrQztJQUp0RCxxQkFBcUIsQ0FBZTtJQUVwQyxRQUFRLENBQWM7SUFFdEIsWUFBb0IsR0FBd0IsRUFBVSxTQUEwQjtRQUMvRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFERSxRQUFHLEdBQUgsR0FBRyxDQUFxQjtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQWlCO0lBRWhGLENBQUM7SUFFRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FDM0QsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLENBQzVDLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTlCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsMkJBQTJCLENBQUMsRUFBVTtRQUNyQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsdUJBQXVCLENBQUMsRUFBVyxFQUFFLElBQWdCO1FBQ3BELElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVkLDRCQUE0QixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLEVBQUU7Z0JBQ2xHLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtvQkFDbEIsS0FBSyx5QkFBeUI7d0JBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQzt3QkFDOUUsTUFBTTtvQkFDUDt3QkFDQyxNQUFNO2lCQUNQO2FBQ0Q7UUFDRixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZixLQUFLLEVBQUUsZUFBZTtZQUN0QixNQUFNLEVBQUUsZUFBZTtZQUN2QixnQkFBZ0IsRUFBRSxRQUFRO1lBQzFCLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdEMsSUFBSSxFQUFFLElBQUk7U0FDVixDQUFDO1FBRUYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7d0dBakRXLHFCQUFxQjs0RkFBckIscUJBQXFCLHVDQUp0QixDQUFDLGVBQWUsQ0FBQyxpREFDbEIsaUNBQWlDOzs0RkFHL0IscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNWLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDNUIsUUFBUSxFQUFFLGlDQUFpQztpQkFDM0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZiYXJNb2RlbCB9IGZyb20gJy4uL3dpZGdldHMvbmF2YmFyLW1vZHVsZS9uYXZiYXItbW9kdWxlLm1vZGVsJztcbmltcG9ydCB7IFVzZXJTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL3VzZXItc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVzZXJTZXR0aW5nc01vZHVsZVBlcm1pc3Npb24gfSBmcm9tICcuL3VzZXItc2V0dGluZ3MucGVybWlzc2lvbic7XG5pbXBvcnQgeyBQcm92aWRlclNlcnZpY2UsIEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9yZXNvbHZlaW8tY2xhc3MnO1xuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3VzZXIubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcblx0cHJvdmlkZXJzOiBbUHJvdmlkZXJTZXJ2aWNlXSxcblx0dGVtcGxhdGU6ICc8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+J1xufSlcblxuZXhwb3J0IGNsYXNzIFVzZXJTZXR0aW5nc0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7IFxuXHRzZWxlY3RlZFVzZXJTZXR0aW5ncyQ6IFN1YnNjcmlwdGlvbjtcblxuXHRtZW51RGF0YTogTmF2YmFyTW9kZWw7XG5cdFxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIF91czogVXNlclNldHRpbmdzU2VydmljZSwgcHJpdmF0ZSBfc2VydmljZXM6IFByb3ZpZGVyU2VydmljZSkge1xuXHRcdHN1cGVyKF9zZXJ2aWNlcyk7XG5cdH1cblxuXHRuZ09uSW5pdCgpIHtcblx0XHR0aGlzLnNlbGVjdGVkVXNlclNldHRpbmdzJCA9IHRoaXMuX3VzLnNlbGVjdGVkVXNlci5zdWJzY3JpYmUoXG5cdFx0XHR2YWwgPT4gdGhpcy5zZWxlY3RlZFVzZXJTZXR0aW5nc0NoYW5nZWQodmFsKVxuXHRcdCk7XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpIHtcblx0XHR0aGlzLl91cy5zZXRTZWxlY3RlZFVzZXIoJzAnKTtcblxuXHRcdHRoaXMuc2VsZWN0ZWRVc2VyU2V0dGluZ3MkLnVuc3Vic2NyaWJlKCk7XG5cdH1cblxuXHRzZWxlY3RlZFVzZXJTZXR0aW5nc0NoYW5nZWQoaWQ6IHN0cmluZykge1xuXHRcdHRoaXMuc2V0VXNlclNldHRpbmdzTWVudURhdGEoKTtcblx0fVxuXG5cdHNldFVzZXJTZXR0aW5nc01lbnVEYXRhKGlkPzogc3RyaW5nLCB1c2VyPzogVXNlck1vZGVsKSB7XG5cdFx0bGV0IHRhYnMgPSBbXTtcblxuXHRcdFVzZXJTZXR0aW5nc01vZHVsZVBlcm1pc3Npb24udmlld3MuZm9yRWFjaCh2aWV3ID0+IHtcblx0XHRcdGlmICh0aGlzLl9zZXJ2aWNlcy5fYWNjb3VudC5pc1VzZXJJblZpZXcodmlldy5saW5rKSB8fCB0aGlzLl9zZXJ2aWNlcy5fYWNjb3VudC5pc1VzZXJTdXBlckFkbWluKCkpIHtcblx0XHRcdFx0c3dpdGNoICh2aWV3LmxpbmspIHtcblx0XHRcdFx0XHRjYXNlICcvdXNlci1zZXR0aW5ncy9zZXR0aW5ncyc6IFxuXHRcdFx0XHRcdFx0dGFicy5wdXNoKHtsaW5rOiAnL3VzZXItc2V0dGluZ3Mvc2V0dGluZ3MnLCBwYXJhbXM6IG51bGwsIGxhYmVsOiAnU2V0dGluZ3MnfSk7XG5cdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9KTtcblxuXHRcdHRoaXMubWVudURhdGEgPSB7XG5cdFx0XHR0aXRsZTogJ1VzZXIgU2V0dGluZ3MnLFxuXHRcdFx0bW9kdWxlOiAnVXNlciBTZXR0aW5ncycsXG5cdFx0XHRkZXNjcmlwdGlvbl9uYW1lOiAnVXNlcjogJyxcblx0XHRcdGRlc2NyaXB0aW9uOiB1c2VyID8gdXNlci5mdWxsbmFtZSA6ICcnLFxuXHRcdFx0dGFiczogdGFic1xuXHRcdH07XG5cblx0XHR0aGlzLl9zZXJ2aWNlcy5fYXBwLnNldE5hdmJhck1vZHVsZURhdGEodGhpcy5tZW51RGF0YSk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { SharedModule } from '../shared/shared.module';
|
|
3
|
-
import { UserSettingsRouting } from './user-settings.routing';
|
|
4
|
-
import { UserSettingsComponent } from './user-settings.component';
|
|
5
|
-
import { UserSettingsService } from './user-settings.service';
|
|
6
|
-
import { DatatableModule } from '../widgets/data-table/data-table.module';
|
|
7
|
-
import { FileModule } from '../widgets/file/file-upload.module';
|
|
8
|
-
import { UsersSettingsComponent } from './settings/users-settings.component';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/router";
|
|
11
|
-
export class UserSettingsModule {
|
|
12
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserSettingsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: UserSettingsModule, declarations: [UserSettingsComponent,
|
|
14
|
-
UsersSettingsComponent], imports: [SharedModule, i1.RouterModule, DatatableModule,
|
|
15
|
-
FileModule] });
|
|
16
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserSettingsModule, providers: [
|
|
17
|
-
UserSettingsService
|
|
18
|
-
], imports: [SharedModule,
|
|
19
|
-
UserSettingsRouting,
|
|
20
|
-
DatatableModule,
|
|
21
|
-
FileModule] });
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserSettingsModule, decorators: [{
|
|
24
|
-
type: NgModule,
|
|
25
|
-
args: [{
|
|
26
|
-
imports: [
|
|
27
|
-
SharedModule,
|
|
28
|
-
UserSettingsRouting,
|
|
29
|
-
DatatableModule,
|
|
30
|
-
FileModule
|
|
31
|
-
],
|
|
32
|
-
declarations: [
|
|
33
|
-
UserSettingsComponent,
|
|
34
|
-
UsersSettingsComponent
|
|
35
|
-
],
|
|
36
|
-
providers: [
|
|
37
|
-
UserSettingsService
|
|
38
|
-
]
|
|
39
|
-
}]
|
|
40
|
-
}] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZXR0aW5ncy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvdXNlci1zZXR0aW5ncy91c2VyLXNldHRpbmdzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7QUFpQjdFLE1BQU0sT0FBTyxrQkFBa0I7d0dBQWxCLGtCQUFrQjt5R0FBbEIsa0JBQWtCLGlCQVA3QixxQkFBcUI7WUFDckIsc0JBQXNCLGFBUHRCLFlBQVksbUJBRVosZUFBZTtZQUNmLFVBQVU7eUdBVUMsa0JBQWtCLGFBSm5CO1lBQ1YsbUJBQW1CO1NBQ25CLFlBWEEsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsVUFBVTs7NEZBVUMsa0JBQWtCO2tCQWY5QixRQUFRO21CQUFDO29CQUNULE9BQU8sRUFBRTt3QkFDUixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixVQUFVO3FCQUNWO29CQUNELFlBQVksRUFBRTt3QkFDYixxQkFBcUI7d0JBQ3JCLHNCQUFzQjtxQkFDdEI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNWLG1CQUFtQjtxQkFDbkI7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuXG5pbXBvcnQgeyBVc2VyU2V0dGluZ3NSb3V0aW5nIH0gZnJvbSAnLi91c2VyLXNldHRpbmdzLnJvdXRpbmcnO1xuaW1wb3J0IHsgVXNlclNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyLXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi91c2VyLXNldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0YXRhYmxlTW9kdWxlIH0gZnJvbSAnLi4vd2lkZ2V0cy9kYXRhLXRhYmxlL2RhdGEtdGFibGUubW9kdWxlJztcbmltcG9ydCB7IEZpbGVNb2R1bGUgfSBmcm9tICcuLi93aWRnZXRzL2ZpbGUvZmlsZS11cGxvYWQubW9kdWxlJztcbmltcG9ydCB7IFVzZXJzU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmdzL3VzZXJzLXNldHRpbmdzLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG5cdGltcG9ydHM6IFtcblx0XHRTaGFyZWRNb2R1bGUsXG5cdFx0VXNlclNldHRpbmdzUm91dGluZyxcblx0XHREYXRhdGFibGVNb2R1bGUsXG5cdFx0RmlsZU1vZHVsZVxuXHRdLFxuXHRkZWNsYXJhdGlvbnM6IFsgXG5cdFx0VXNlclNldHRpbmdzQ29tcG9uZW50LFxuXHRcdFVzZXJzU2V0dGluZ3NDb21wb25lbnRcblx0XSxcblx0cHJvdmlkZXJzOiBbXG5cdFx0VXNlclNldHRpbmdzU2VydmljZVxuXHRdXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJTZXR0aW5nc01vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export const UserSettingsModulePermission = {
|
|
2
|
-
name: 'user-settings',
|
|
3
|
-
views: [
|
|
4
|
-
{ link: '/user-settings/settings', label: 'Settings' }
|
|
5
|
-
],
|
|
6
|
-
approval: {
|
|
7
|
-
type: 'user-settings'
|
|
8
|
-
}
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZXR0aW5ncy5wZXJtaXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3VzZXItc2V0dGluZ3MvdXNlci1zZXR0aW5ncy5wZXJtaXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUEwQjtJQUNsRSxJQUFJLEVBQUUsZUFBZTtJQUNyQixLQUFLLEVBQUU7UUFDTixFQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFDO0tBQ3BEO0lBQ0QsUUFBUSxFQUFFO1FBQ1QsSUFBSSxFQUFFLGVBQWU7S0FDckI7Q0FDRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlUGVybWlzc2lvbk1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3Blcm1pc3Npb24ubW9kZWwnO1xuXG5leHBvcnQgY29uc3QgVXNlclNldHRpbmdzTW9kdWxlUGVybWlzc2lvbjogTW9kdWxlUGVybWlzc2lvbk1vZGVsID0ge1xuXHRuYW1lOiAndXNlci1zZXR0aW5ncycsXG5cdHZpZXdzOiBbXG5cdFx0e2xpbms6ICcvdXNlci1zZXR0aW5ncy9zZXR0aW5ncycsIGxhYmVsOiAnU2V0dGluZ3MnfVxuXHRdLFxuXHRhcHByb3ZhbDoge1xuXHRcdHR5cGU6ICd1c2VyLXNldHRpbmdzJ1xuXHR9XG59O1xuIl19
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { RouterModule } from '@angular/router';
|
|
2
|
-
import { UserSettingsComponent } from './user-settings.component';
|
|
3
|
-
import { UsersSettingsComponent } from './settings/users-settings.component';
|
|
4
|
-
const routes = [{
|
|
5
|
-
path: 'user-settings',
|
|
6
|
-
component: UserSettingsComponent,
|
|
7
|
-
children: [
|
|
8
|
-
{ path: 'settings', component: UsersSettingsComponent },
|
|
9
|
-
{ path: '**', redirectTo: 'settings' }
|
|
10
|
-
]
|
|
11
|
-
}
|
|
12
|
-
];
|
|
13
|
-
export const UserSettingsRouting = RouterModule.forChild(routes);
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZXR0aW5ncy5yb3V0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3VzZXItc2V0dGluZ3MvdXNlci1zZXR0aW5ncy5yb3V0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBVSxZQUFZLEVBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3RSxNQUFNLE1BQU0sR0FBVyxDQUFDO1FBQ3ZCLElBQUksRUFBRSxlQUFlO1FBQ3JCLFNBQVMsRUFBRSxxQkFBcUI7UUFDaEMsUUFBUSxFQUFFO1lBQ1QsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRTtZQUN2RCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRTtTQUN0QztLQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUErQixZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXMsIFJvdXRlck1vZHVsZSwgUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVXNlclNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyLXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2Vyc1NldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5ncy91c2Vycy1zZXR0aW5ncy5jb21wb25lbnQnO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFt7IFxuXHRwYXRoOiAndXNlci1zZXR0aW5ncycsXG5cdGNvbXBvbmVudDogVXNlclNldHRpbmdzQ29tcG9uZW50LFxuXHRjaGlsZHJlbjogW1xuXHRcdHsgcGF0aDogJ3NldHRpbmdzJywgY29tcG9uZW50OiBVc2Vyc1NldHRpbmdzQ29tcG9uZW50IH0sXG5cdFx0eyBwYXRoOiAnKionLCByZWRpcmVjdFRvOiAnc2V0dGluZ3MnIH1cblx0XX1cbl07XG5cbmV4cG9ydCBjb25zdCBVc2VyU2V0dGluZ3NSb3V0aW5nOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFJvdXRlPiA9IFJvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpO1xuIl19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class UserSettingsService {
|
|
5
|
-
selectedUser = new BehaviorSubject('0');
|
|
6
|
-
constructor() { }
|
|
7
|
-
setSelectedUser(id) {
|
|
8
|
-
this.selectedUser.next(id);
|
|
9
|
-
}
|
|
10
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserSettingsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserSettingsService });
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserSettingsService, decorators: [{
|
|
14
|
-
type: Injectable
|
|
15
|
-
}], ctorParameters: function () { return []; } });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZXR0aW5ncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3VzZXItc2V0dGluZ3MvdXNlci1zZXR0aW5ncy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHdkMsTUFBTSxPQUFPLG1CQUFtQjtJQUUvQixZQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFeEMsZ0JBQWUsQ0FBQztJQUVoQixlQUFlLENBQUMsRUFBVTtRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDO3dHQVJXLG1CQUFtQjs0R0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVc2VyU2V0dGluZ3NTZXJ2aWNlIHtcblxuXHRzZWxlY3RlZFVzZXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcwJyk7XG5cblx0Y29uc3RydWN0b3IoKSB7fVxuXG5cdHNldFNlbGVjdGVkVXNlcihpZDogc3RyaW5nKSB7XG5cdFx0dGhpcy5zZWxlY3RlZFVzZXIubmV4dChpZCk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
let typeCache = {};
|
|
2
|
-
export function type(label) {
|
|
3
|
-
if (typeCache[label]) {
|
|
4
|
-
throw new Error(`Action type "${label}" is not unqiue"`);
|
|
5
|
-
}
|
|
6
|
-
typeCache[label] = true;
|
|
7
|
-
return label;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLW5hbWUuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3V0aWwvYWN0aW9uLW5hbWUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLElBQUksU0FBUyxHQUFpQyxFQUFFLENBQUM7QUFDakQsTUFBTSxVQUFVLElBQUksQ0FBSSxLQUFhO0lBQ3BDLElBQUksU0FBUyxDQUFTLEtBQUssQ0FBQyxFQUFFO1FBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLEtBQUssa0JBQWtCLENBQUMsQ0FBQztLQUN6RDtJQUVELFNBQVMsQ0FBUyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7SUFFaEMsT0FBVSxLQUFLLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImxldCB0eXBlQ2FjaGU6IHsgW2xhYmVsOiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcbmV4cG9ydCBmdW5jdGlvbiB0eXBlPFQ+KGxhYmVsOiBUIHwgJycpOiBUIHtcblx0aWYgKHR5cGVDYWNoZVs8c3RyaW5nPmxhYmVsXSkge1xuXHRcdHRocm93IG5ldyBFcnJvcihgQWN0aW9uIHR5cGUgXCIke2xhYmVsfVwiIGlzIG5vdCB1bnFpdWVcImApO1xuXHR9XG5cblx0dHlwZUNhY2hlWzxzdHJpbmc+bGFiZWxdID0gdHJ1ZTtcblxuXHRyZXR1cm4gPFQ+bGFiZWw7XG59XG4iXX0=
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { SocketManagerService } from '../socket-manager.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../socket-manager.service";
|
|
5
|
-
export class AwsService {
|
|
6
|
-
_socket;
|
|
7
|
-
constructor(_socket) {
|
|
8
|
-
this._socket = _socket;
|
|
9
|
-
}
|
|
10
|
-
dataURItoFile(dataURI, filename) {
|
|
11
|
-
// convert base64 to raw binary data held in a string
|
|
12
|
-
// doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this
|
|
13
|
-
let byteString = atob(dataURI.split(',')[1]);
|
|
14
|
-
// separate out the mime component
|
|
15
|
-
let mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
|
|
16
|
-
// write the bytes of the string to an ArrayBuffer
|
|
17
|
-
let ab = new ArrayBuffer(byteString.length);
|
|
18
|
-
let ia = new Uint8Array(ab);
|
|
19
|
-
for (let i = 0; i < byteString.length; i++) {
|
|
20
|
-
ia[i] = byteString.charCodeAt(i);
|
|
21
|
-
}
|
|
22
|
-
// write the ArrayBuffer to a blob, and you're done
|
|
23
|
-
let blob = new Blob([ab], { type: mimeString });
|
|
24
|
-
blob['lastModifiedDate'] = new Date();
|
|
25
|
-
blob['name'] = filename;
|
|
26
|
-
return blob;
|
|
27
|
-
}
|
|
28
|
-
uploadFile(file, type, order, filename) {
|
|
29
|
-
return new Promise((resolve, reject) => {
|
|
30
|
-
if (file.size) {
|
|
31
|
-
this.getBase64(file).then(data => {
|
|
32
|
-
this._socket.call('uploadFileAndSave', filename ? filename : file.name, data, file.size, order ? order : -1, type, true, (err, res) => {
|
|
33
|
-
if (res) {
|
|
34
|
-
resolve(res);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
reject(err);
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
reject('Invalid File');
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
getFileWithKey(key, callback) {
|
|
48
|
-
this._socket.call('getFile', key, callback);
|
|
49
|
-
}
|
|
50
|
-
getFileWithId(id, callback) {
|
|
51
|
-
this._socket.call('findOne', 'files', { _id: id }, (err, file) => {
|
|
52
|
-
this.getFileWithKey(file.key, callback);
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
deleteFile(key, callback) {
|
|
56
|
-
this._socket.call('deleteFile', key, callback);
|
|
57
|
-
}
|
|
58
|
-
deleteFileWithId(id, callback) {
|
|
59
|
-
this._socket.call('findOne', 'files', { _id: id }, (err, file) => {
|
|
60
|
-
this.deleteFile(file.key, callback);
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
deleteFilesWithKeys(keys, callback) {
|
|
64
|
-
this._socket.call('deleteFiles', keys, callback);
|
|
65
|
-
}
|
|
66
|
-
getBase64(file) {
|
|
67
|
-
return new Promise((resolve, reject) => {
|
|
68
|
-
const reader = new FileReader();
|
|
69
|
-
reader.readAsDataURL(file);
|
|
70
|
-
reader.onload = () => resolve(reader.result);
|
|
71
|
-
reader.onerror = error => reject(error);
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AwsService, deps: [{ token: i1.SocketManagerService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
75
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AwsService });
|
|
76
|
-
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AwsService, decorators: [{
|
|
78
|
-
type: Injectable
|
|
79
|
-
}], ctorParameters: function () { return [{ type: i1.SocketManagerService }]; } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvdXRpbC9hd3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFHakUsTUFBTSxPQUFPLFVBQVU7SUFFRjtJQUFwQixZQUFvQixPQUE2QjtRQUE3QixZQUFPLEdBQVAsT0FBTyxDQUFzQjtJQUFHLENBQUM7SUFFckQsYUFBYSxDQUFDLE9BQWUsRUFBRSxRQUFnQjtRQUM5QyxxREFBcUQ7UUFDckQsc0ZBQXNGO1FBQ3RGLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFN0Msa0NBQWtDO1FBQ2xDLElBQUksVUFBVSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVuRSxrREFBa0Q7UUFDbEQsSUFBSSxFQUFFLEdBQUcsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLElBQUksRUFBRSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzNDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pD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QyxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQVMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JELE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO3dHQS9FVyxVQUFVOzRHQUFWLFVBQVU7OzRGQUFWLFVBQVU7a0JBRHRCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU29ja2V0TWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9zb2NrZXQtbWFuYWdlci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF3c1NlcnZpY2UgIHtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIF9zb2NrZXQ6IFNvY2tldE1hbmFnZXJTZXJ2aWNlKSB7fVxuXG5cdGRhdGFVUkl0b0ZpbGUoZGF0YVVSSTogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nKTogRmlsZSB7XG5cdFx0Ly8gY29udmVydCBiYXNlNjQgdG8gcmF3IGJpbmFyeSBkYXRhIGhlbGQgaW4gYSBzdHJpbmdcblx0XHQvLyBkb2Vzbid0IGhhbmRsZSBVUkxFbmNvZGVkIERhdGFVUklzIC0gc2VlIFNPIGFuc3dlciAjNjg1MDI3NiBmb3IgY29kZSB0aGF0IGRvZXMgdGhpc1xuXHRcdGxldCBieXRlU3RyaW5nID0gYXRvYihkYXRhVVJJLnNwbGl0KCcsJylbMV0pO1xuXG5cdFx0Ly8gc2VwYXJhdGUgb3V0IHRoZSBtaW1lIGNvbXBvbmVudFxuXHRcdGxldCBtaW1lU3RyaW5nID0gZGF0YVVSSS5zcGxpdCgnLCcpWzBdLnNwbGl0KCc6JylbMV0uc3BsaXQoJzsnKVswXTtcblxuXHRcdC8vIHdyaXRlIHRoZSBieXRlcyBvZiB0aGUgc3RyaW5nIHRvIGFuIEFycmF5QnVmZmVyXG5cdFx0bGV0IGFiID0gbmV3IEFycmF5QnVmZmVyKGJ5dGVTdHJpbmcubGVuZ3RoKTtcblx0XHRsZXQgaWEgPSBuZXcgVWludDhBcnJheShhYik7XG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBieXRlU3RyaW5nLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRpYVtpXSA9IGJ5dGVTdHJpbmcuY2hhckNvZGVBdChpKTtcblx0XHR9XG5cblx0XHQvLyB3cml0ZSB0aGUgQXJyYXlCdWZmZXIgdG8gYSBibG9iLCBhbmQgeW91J3JlIGRvbmVcblx0XHRsZXQgYmxvYiA9IG5ldyBCbG9iKFthYl0sIHt0eXBlOiBtaW1lU3RyaW5nfSk7XG5cdFx0XG5cdFx0YmxvYlsnbGFzdE1vZGlmaWVkRGF0ZSddID0gbmV3IERhdGUoKTtcblx0XHRibG9iWyduYW1lJ10gPSBmaWxlbmFtZTtcblxuXHRcdHJldHVybiA8RmlsZT5ibG9iO1xuXHR9XG5cblx0dXBsb2FkRmlsZShmaWxlOiBGaWxlLCB0eXBlOiBzdHJpbmcsIG9yZGVyPzogbnVtYmVyLCBmaWxlbmFtZT86IHN0cmluZykge1xuXHRcdHJldHVybiBuZXcgUHJvbWlzZSAoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXHRcdFx0aWYgKGZpbGUuc2l6ZSkge1xuXHRcdFx0XHR0aGlzLmdldEJhc2U2NChmaWxlKS50aGVuKGRhdGEgPT4ge1xuXHRcdFx0XHRcdHRoaXMuX3NvY2tldC5jYWxsKCd1cGxvYWRGaWxlQW5kU2F2ZScsIGZpbGVuYW1lID8gZmlsZW5hbWUgOiBmaWxlLm5hbWUsIGRhdGEsIGZpbGUuc2l6ZSwgb3JkZXIgPyBvcmRlciA6IC0xLCB0eXBlLCB0cnVlLCAoZXJyLCByZXMpID0+IHtcblx0XHRcdFx0XHRcdGlmIChyZXMpIHtcblx0XHRcdFx0XHRcdFx0cmVzb2x2ZShyZXMpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRcdHJlamVjdChlcnIpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHRcdGVsc2Uge1xuXHRcdFx0XHRyZWplY3QoJ0ludmFsaWQgRmlsZScpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0Z2V0RmlsZVdpdGhLZXkoa2V5OiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbikge1xuXHRcdHRoaXMuX3NvY2tldC5jYWxsKCdnZXRGaWxlJywga2V5LCBjYWxsYmFjayk7XG5cdH1cblxuXHRnZXRGaWxlV2l0aElkKGlkOiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbikge1xuXHRcdHRoaXMuX3NvY2tldC5jYWxsKCdmaW5kT25lJywgJ2ZpbGVzJywge19pZDogaWR9LCAoZXJyLCBmaWxlKSA9PiB7XG5cdFx0XHR0aGlzLmdldEZpbGVXaXRoS2V5KGZpbGUua2V5LCBjYWxsYmFjayk7XG5cdFx0fSk7XG5cdH1cblxuXHRkZWxldGVGaWxlKGtleTogc3RyaW5nLCBjYWxsYmFjazogRnVuY3Rpb24pIHtcblx0XHR0aGlzLl9zb2NrZXQuY2FsbCgnZGVsZXRlRmlsZScsIGtleSwgY2FsbGJhY2spO1xuXHR9XG5cblx0ZGVsZXRlRmlsZVdpdGhJZChpZDogc3RyaW5nLCBjYWxsYmFjazogRnVuY3Rpb24pIHtcblx0XHR0aGlzLl9zb2NrZXQuY2FsbCgnZmluZE9uZScsICdmaWxlcycsIHtfaWQ6IGlkfSwgKGVyciwgZmlsZSkgPT4ge1xuXHRcdFx0dGhpcy5kZWxldGVGaWxlKGZpbGUua2V5LCBjYWxsYmFjayk7XG5cdFx0fSk7XG5cdH1cblxuXHRkZWxldGVGaWxlc1dpdGhLZXlzKGtleXM6IHN0cmluZ1tdLCBjYWxsYmFjazogRnVuY3Rpb24pIHtcblx0XHR0aGlzLl9zb2NrZXQuY2FsbCgnZGVsZXRlRmlsZXMnLCBrZXlzLCBjYWxsYmFjayk7XG5cdH1cblxuXHRnZXRCYXNlNjQoZmlsZSk6IFByb21pc2U8c3RyaW5nPiB7XG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHRcdGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cdFx0XHRyZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcblx0XHRcdHJlYWRlci5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKDxzdHJpbmc+cmVhZGVyLnJlc3VsdCk7XG5cdFx0XHRyZWFkZXIub25lcnJvciA9IGVycm9yID0+IHJlamVjdChlcnJvcik7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { detailedDiff } from 'deep-object-diff';
|
|
2
|
-
import moment from 'moment';
|
|
3
|
-
const isObject = (object) => {
|
|
4
|
-
return object instanceof Object && object.constructor.name === 'Object';
|
|
5
|
-
};
|
|
6
|
-
export function toTitleCase(str) {
|
|
7
|
-
return str.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); });
|
|
8
|
-
}
|
|
9
|
-
export function isUpperCase(str) {
|
|
10
|
-
return (/^[A-Z]*$/).test(str);
|
|
11
|
-
}
|
|
12
|
-
export function pad(num, size) {
|
|
13
|
-
let s = num + '';
|
|
14
|
-
while (s.length < size) {
|
|
15
|
-
s = '0' + s;
|
|
16
|
-
}
|
|
17
|
-
return s;
|
|
18
|
-
}
|
|
19
|
-
export function deepCopy(obj) {
|
|
20
|
-
return JSON.parse(JSON.stringify(obj), dateReviver);
|
|
21
|
-
}
|
|
22
|
-
export function dateReviver(key, value) {
|
|
23
|
-
if (typeof value === 'string') {
|
|
24
|
-
let a = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value);
|
|
25
|
-
if (a) {
|
|
26
|
-
return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], +a[5], +a[6].split('.')[0], +a[6].split('.')[1]));
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return value;
|
|
30
|
-
}
|
|
31
|
-
export function b64toBlobURL(b64Data, contentType, sliceSize) {
|
|
32
|
-
b64Data = b64Data.replace('data:application/pdf;base64,', '');
|
|
33
|
-
contentType = contentType || '';
|
|
34
|
-
sliceSize = sliceSize || 512;
|
|
35
|
-
let byteCharacters = atob(b64Data);
|
|
36
|
-
let byteArrays = [];
|
|
37
|
-
for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {
|
|
38
|
-
let slice = byteCharacters.slice(offset, offset + sliceSize);
|
|
39
|
-
let byteNumbers = new Array(slice.length);
|
|
40
|
-
for (let i = 0; i < slice.length; i++) {
|
|
41
|
-
byteNumbers[i] = slice.charCodeAt(i);
|
|
42
|
-
}
|
|
43
|
-
let byteArray = new Uint8Array(byteNumbers);
|
|
44
|
-
byteArrays.push(byteArray);
|
|
45
|
-
}
|
|
46
|
-
let blob = new Blob(byteArrays, { type: contentType });
|
|
47
|
-
return URL.createObjectURL(blob);
|
|
48
|
-
}
|
|
49
|
-
export function blobToFile(theBlob, fileName) {
|
|
50
|
-
//A Blob() is almost a File() - it's just missing the two properties below which we will add
|
|
51
|
-
theBlob.lastModifiedDate = new Date();
|
|
52
|
-
theBlob.name = fileName;
|
|
53
|
-
return theBlob;
|
|
54
|
-
}
|
|
55
|
-
export function toDataURL(url, callback) {
|
|
56
|
-
let xhr = new XMLHttpRequest();
|
|
57
|
-
xhr.onload = function () {
|
|
58
|
-
let reader = new FileReader();
|
|
59
|
-
reader.onloadend = function () {
|
|
60
|
-
callback(reader.result);
|
|
61
|
-
};
|
|
62
|
-
reader.readAsDataURL(xhr.response);
|
|
63
|
-
};
|
|
64
|
-
xhr.open('GET', url);
|
|
65
|
-
xhr.responseType = 'blob';
|
|
66
|
-
xhr.send();
|
|
67
|
-
}
|
|
68
|
-
export function getDeepDiffDetails(obj1, obj2) {
|
|
69
|
-
let diff = detailedDiff(obj2, obj1);
|
|
70
|
-
let diffString = '';
|
|
71
|
-
const formatObjectDiff = (obj1, obj2) => {
|
|
72
|
-
if (!obj1 || !obj2)
|
|
73
|
-
return '';
|
|
74
|
-
return Object.keys(obj1)
|
|
75
|
-
.map(key => {
|
|
76
|
-
if (Array.isArray(obj1[key]) && Array.isArray(obj2[key])) {
|
|
77
|
-
const arrayDiff = obj1[key].map((item, index) => typeof item === 'object' && obj2[key][index]
|
|
78
|
-
? `{${formatObjectDiff(item, obj2[key][index])}}`
|
|
79
|
-
: `"${item}" to "${obj2[key][index]}"`).join(', ');
|
|
80
|
-
return `${toTitleCase(key)}: [${arrayDiff}]`;
|
|
81
|
-
}
|
|
82
|
-
if (typeof obj1[key] === 'object' && obj2[key]) {
|
|
83
|
-
return `${toTitleCase(key)}: {${formatObjectDiff(obj1[key], obj2[key])}}`;
|
|
84
|
-
}
|
|
85
|
-
return `${toTitleCase(key)}: "${obj1[key]}" to "${obj2[key]}"`;
|
|
86
|
-
})
|
|
87
|
-
.join(', ');
|
|
88
|
-
};
|
|
89
|
-
if (Object.keys(diff['updated']).length > 0) {
|
|
90
|
-
diffString += 'Updated:\n';
|
|
91
|
-
const updates = Object.keys(diff['updated'])
|
|
92
|
-
.filter(key => key.substr(0, 2) !== 'id' && diff['updated'][key] !== obj2[key])
|
|
93
|
-
.map(key => moment.isDate(diff['updated'][key])
|
|
94
|
-
? `${toTitleCase(key)}: "${moment(diff['updated'][key]).format('llll')}" to "${moment(obj2[key]).format('llll')}"`
|
|
95
|
-
: `${toTitleCase(key)}: {${formatObjectDiff(diff['updated'][key], obj2[key])}}`)
|
|
96
|
-
.join(',\n');
|
|
97
|
-
diffString += updates ? `${updates}\n` : '';
|
|
98
|
-
}
|
|
99
|
-
return diffString;
|
|
100
|
-
}
|
|
101
|
-
export function generateCronStringFromDate(date) {
|
|
102
|
-
return date.getSeconds() + ' ' + date.getMinutes() + ' ' + date.getHours() + ' ' + date.getDate() + ' ' + (date.getMonth() + 1) + ' ' + date.getDay();
|
|
103
|
-
}
|
|
104
|
-
export function s2ab(s) {
|
|
105
|
-
let buf = new ArrayBuffer(s.length);
|
|
106
|
-
let view = new Uint8Array(buf);
|
|
107
|
-
// tslint:disable-next-line:no-bitwise
|
|
108
|
-
for (let i = 0; i !== s.length; ++i) {
|
|
109
|
-
view[i] = s.charCodeAt(i) & 0xFF;
|
|
110
|
-
}
|
|
111
|
-
return buf;
|
|
112
|
-
}
|
|
113
|
-
export function mergeDeep(target, ...sources) {
|
|
114
|
-
if (!sources.length) {
|
|
115
|
-
return target;
|
|
116
|
-
}
|
|
117
|
-
const source = sources.shift();
|
|
118
|
-
if (isObject(target) && isObject(source)) {
|
|
119
|
-
for (const key in source) {
|
|
120
|
-
if (isObject(source[key])) {
|
|
121
|
-
if (!target[key]) {
|
|
122
|
-
Object.assign(target, { [key]: {} });
|
|
123
|
-
}
|
|
124
|
-
mergeDeep(target[key], source[key]);
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
Object.assign(target, { [key]: source[key] });
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
return mergeDeep(target, ...sources);
|
|
132
|
-
}
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi91dGlsL2NvbW1vbi5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFO0lBQzNCLE9BQU8sTUFBTSxZQUFZLE1BQU0sSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUM7QUFDekUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFHO0lBQzlCLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsVUFBUyxHQUFHLElBQUUsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqSCxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFHO0lBQzlCLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQUVELE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUk7SUFDNUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNqQixPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxFQUFFO1FBQ3ZCLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0tBQ1o7SUFDRCxPQUFPLENBQUMsQ0FBQztBQUNWLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQUc7SUFDM0Is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QUMsQ0FBQzthQUM5QztTQUNEO0tBQ0Q7SUFFRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztBQUN0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGV0YWlsZWREaWZmIH0gZnJvbSAnZGVlcC1vYmplY3QtZGlmZic7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5cbmNvbnN0IGlzT2JqZWN0ID0gKG9iamVjdCkgPT4ge1xuXHRyZXR1cm4gb2JqZWN0IGluc3RhbmNlb2YgT2JqZWN0ICYmIG9iamVjdC5jb25zdHJ1Y3Rvci5uYW1lID09PSAnT2JqZWN0Jztcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1RpdGxlQ2FzZShzdHIpIHtcblx0cmV0dXJuIHN0ci5yZXBsYWNlKC9cXHdcXFMqL2csIGZ1bmN0aW9uKHR4dCl7cmV0dXJuIHR4dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHR4dC5zdWJzdHIoMSkudG9Mb3dlckNhc2UoKTsgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1VwcGVyQ2FzZShzdHIpIHtcblx0cmV0dXJuICgvXltBLVpdKiQvKS50ZXN0KHN0cik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYWQobnVtLCBzaXplKSB7XG5cdGxldCBzID0gbnVtICsgJyc7XG5cdHdoaWxlIChzLmxlbmd0aCA8IHNpemUpIHtcblx0XHRzID0gJzAnICsgcztcblx0fVxuXHRyZXR1cm4gcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZXBDb3B5KG9iaikge1xuXHRyZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvYmopLCBkYXRlUmV2aXZlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRlUmV2aXZlcihrZXksIHZhbHVlKSB7XG5cdGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG5cdFx0bGV0IGEgPSAvXihcXGR7NH0pLShcXGR7Mn0pLShcXGR7Mn0pVChcXGR7Mn0pOihcXGR7Mn0pOihcXGR7Mn0oPzpcXC5cXGQqKT8pWiQvLmV4ZWModmFsdWUpO1xuXHRcdGlmIChhKSB7XG5cdFx0XHRyZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEMoK2FbMV0sICthWzJdIC0gMSwgK2FbM10sICthWzRdLCArYVs1XSwgK2FbNl0uc3BsaXQoJy4nKVswXSwgK2FbNl0uc3BsaXQoJy4nKVsxXSkpO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiNjR0b0Jsb2JVUkwoYjY0RGF0YSwgY29udGVudFR5cGUsIHNsaWNlU2l6ZT8pIHtcblx0YjY0RGF0YSA9IGI2NERhdGEucmVwbGFjZSgnZGF0YTphcHBsaWNhdGlvbi9wZGY7YmFzZTY0LCcsICcnKTtcblx0Y29udGVudFR5cGUgPSBjb250ZW50VHlwZSB8fCAnJztcblx0c2xpY2VTaXplID0gc2xpY2VTaXplIHx8IDUxMjtcblxuXHRsZXQgYnl0ZUNoYXJhY3RlcnMgPSBhdG9iKGI2NERhdGEpO1xuXHRsZXQgYnl0ZUFycmF5cyA9IFtdO1xuXG5cdGZvciAobGV0IG9mZnNldCA9IDA7IG9mZnNldCA8IGJ5dGVDaGFyYWN0ZXJzLmxlbmd0aDsgb2Zmc2V0ICs9IHNsaWNlU2l6ZSkge1xuXHRcdGxldCBzbGljZSA9IGJ5dGVDaGFyYWN0ZXJzLnNsaWNlKG9mZnNldCwgb2Zmc2V0ICsgc2xpY2VTaXplKTtcblxuXHRcdGxldCBieXRlTnVtYmVycyA9IG5ldyBBcnJheShzbGljZS5sZW5ndGgpO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgc2xpY2UubGVuZ3RoOyBpKyspIHtcblx0XHRieXRlTnVtYmVyc1tpXSA9IHNsaWNlLmNoYXJDb2RlQXQoaSk7XG5cdFx0fVxuXG5cdFx0bGV0IGJ5dGVBcnJheSA9IG5ldyBVaW50OEFycmF5KGJ5dGVOdW1iZXJzKTtcblxuXHRcdGJ5dGVBcnJheXMucHVzaChieXRlQXJyYXkpO1xuXHR9XG5cblx0bGV0IGJsb2IgPSBuZXcgQmxvYihieXRlQXJyYXlzLCB7dHlwZTogY29udGVudFR5cGV9KTtcblx0cmV0dXJuIFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBibG9iVG9GaWxlKHRoZUJsb2IsIGZpbGVOYW1lKSA6IEZpbGUge1xuICAgIC8vQSBCbG9iKCkgaXMgYWxtb3N0IGEgRmlsZSgpIC0gaXQncyBqdXN0IG1pc3NpbmcgdGhlIHR3byBwcm9wZXJ0aWVzIGJlbG93IHdoaWNoIHdlIHdpbGwgYWRkXG4gICAgdGhlQmxvYi5sYXN0TW9kaWZpZWREYXRlID0gbmV3IERhdGUoKTtcbiAgICB0aGVCbG9iLm5hbWUgPSBmaWxlTmFtZTtcbiAgICByZXR1cm4gKDxGaWxlPnRoZUJsb2IpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9EYXRhVVJMKHVybCwgY2FsbGJhY2spIHtcblx0bGV0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuXHR4aHIub25sb2FkID0gZnVuY3Rpb24oKSB7XG5cdFx0bGV0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cdFx0cmVhZGVyLm9ubG9hZGVuZCA9IGZ1bmN0aW9uKCkge1xuXHRcdFx0Y2FsbGJhY2socmVhZGVyLnJlc3VsdCk7XG5cdFx0fTtcblx0XHRyZWFkZXIucmVhZEFzRGF0YVVSTCh4aHIucmVzcG9uc2UpO1xuXHR9O1xuXHR4aHIub3BlbignR0VUJywgdXJsKTtcblx0eGhyLnJlc3BvbnNlVHlwZSA9ICdibG9iJztcblx0eGhyLnNlbmQoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERlZXBEaWZmRGV0YWlscyhvYmoxOiBhbnksIG9iajI6IGFueSk6IHN0cmluZyB7XG4gICAgbGV0IGRpZmYgPSBkZXRhaWxlZERpZmYob2JqMiwgb2JqMSk7XG4gICAgbGV0IGRpZmZTdHJpbmcgPSAnJztcblxuICAgIGNvbnN0IGZvcm1hdE9iamVjdERpZmYgPSAob2JqMTogYW55LCBvYmoyOiBhbnkpOiBzdHJpbmcgPT4ge1xuICAgICAgICBpZiAoIW9iajEgfHwgIW9iajIpIHJldHVybiAnJztcblxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqMSlcbiAgICAgICAgICAgIC5tYXAoa2V5ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmoxW2tleV0pICYmIEFycmF5LmlzQXJyYXkob2JqMltrZXldKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhcnJheURpZmYgPSBvYmoxW2tleV0ubWFwKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnICYmIG9iajJba2V5XVtpbmRleF0gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBgeyR7Zm9ybWF0T2JqZWN0RGlmZihpdGVtLCBvYmoyW2tleV1baW5kZXhdKX19YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogYFwiJHtpdGVtfVwiIHRvIFwiJHtvYmoyW2tleV1baW5kZXhdfVwiYFxuICAgICAgICAgICAgICAgICAgICApLmpvaW4oJywgJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3RvVGl0bGVDYXNlKGtleSl9OiBbJHthcnJheURpZmZ9XWA7XG4gICAgICAgICAgICAgICAgfSBcblxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb2JqMVtrZXldID09PSAnb2JqZWN0JyAmJiBvYmoyW2tleV0pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3RvVGl0bGVDYXNlKGtleSl9OiB7JHtmb3JtYXRPYmplY3REaWZmKG9iajFba2V5XSwgb2JqMltrZXldKX19YDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7dG9UaXRsZUNhc2Uoa2V5KX06IFwiJHtvYmoxW2tleV19XCIgdG8gXCIke29iajJba2V5XX1cImA7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgfTtcblxuICAgIGlmIChPYmplY3Qua2V5cyhkaWZmWyd1cGRhdGVkJ10pLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZGlmZlN0cmluZyArPSAnVXBkYXRlZDpcXG4nO1xuXG4gICAgICAgIGNvbnN0IHVwZGF0ZXMgPSBPYmplY3Qua2V5cyhkaWZmWyd1cGRhdGVkJ10pXG4gICAgICAgICAgICAuZmlsdGVyKGtleSA9PiBrZXkuc3Vic3RyKDAsIDIpICE9PSAnaWQnICYmIGRpZmZbJ3VwZGF0ZWQnXVtrZXldICE9PSBvYmoyW2tleV0pXG4gICAgICAgICAgICAubWFwKGtleSA9PiBcbiAgICAgICAgICAgICAgICBtb21lbnQuaXNEYXRlKGRpZmZbJ3VwZGF0ZWQnXVtrZXldKVxuICAgICAgICAgICAgICAgICAgICA/IGAke3RvVGl0bGVDYXNlKGtleSl9OiBcIiR7bW9tZW50KGRpZmZbJ3VwZGF0ZWQnXVtrZXldKS5mb3JtYXQoJ2xsbGwnKX1cIiB0byBcIiR7bW9tZW50KG9iajJba2V5XSkuZm9ybWF0KCdsbGxsJyl9XCJgXG4gICAgICAgICAgICAgICAgICAgIDogYCR7dG9UaXRsZUNhc2Uoa2V5KX06IHske2Zvcm1hdE9iamVjdERpZmYoZGlmZlsndXBkYXRlZCddW2tleV0sIG9iajJba2V5XSl9fWBcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5qb2luKCcsXFxuJyk7XG5cbiAgICAgICAgZGlmZlN0cmluZyArPSB1cGRhdGVzID8gYCR7dXBkYXRlc31cXG5gIDogJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRpZmZTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUNyb25TdHJpbmdGcm9tRGF0ZShkYXRlOiBEYXRlKSB7XG5cdHJldHVybiBkYXRlLmdldFNlY29uZHMoKSArICcgJyArIGRhdGUuZ2V0TWludXRlcygpICsgJyAnICsgZGF0ZS5nZXRIb3VycygpICsgJyAnICsgZGF0ZS5nZXREYXRlKCkgKyAnICcgKyAoZGF0ZS5nZXRNb250aCgpICsgMSkgKyAnICcgKyBkYXRlLmdldERheSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gczJhYihzKSB7XG5cdGxldCBidWYgPSBuZXcgQXJyYXlCdWZmZXIocy5sZW5ndGgpO1xuXHRsZXQgdmlldyA9IG5ldyBVaW50OEFycmF5KGJ1Zik7XG5cdC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXG5cdGZvciAobGV0IGkgPSAwOyBpICE9PSBzLmxlbmd0aDsgKytpKSB7IHZpZXdbaV0gPSBzLmNoYXJDb2RlQXQoaSkgJiAweEZGOyB9XG5cdHJldHVybiBidWY7IFxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VEZWVwKHRhcmdldCwgLi4uc291cmNlcykge1xuXHRpZiAoIXNvdXJjZXMubGVuZ3RoKSB7XG5cdFx0cmV0dXJuIHRhcmdldDtcblx0fVxuXHRjb25zdCBzb3VyY2UgPSBzb3VyY2VzLnNoaWZ0KCk7XG5cblx0aWYgKGlzT2JqZWN0KHRhcmdldCkgJiYgaXNPYmplY3Qoc291cmNlKSkge1xuXHRcdGZvciAoY29uc3Qga2V5IGluIHNvdXJjZSkge1xuXHRcdFx0aWYgKGlzT2JqZWN0KHNvdXJjZVtrZXldKSkge1xuXHRcdFx0XHRpZiAoIXRhcmdldFtrZXldKSB7XG5cdFx0XHRcdFx0T2JqZWN0LmFzc2lnbih0YXJnZXQsIHsgW2tleV06IHt9IH0pO1xuXHRcdFx0XHR9XG5cdFx0XHRcdG1lcmdlRGVlcCh0YXJnZXRba2V5XSwgc291cmNlW2tleV0pO1xuXHRcdFx0fSBcblx0XHRcdGVsc2Uge1xuXHRcdFx0XHRPYmplY3QuYXNzaWduKHRhcmdldCwgeyBba2V5XTogc291cmNlW2tleV0gfSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIG1lcmdlRGVlcCh0YXJnZXQsIC4uLnNvdXJjZXMpO1xufSJdfQ==
|