nuxeo-development-framework 4.3.0 → 4.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/nuxeo-development-framework.umd.js +4364 -3036
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/charts/chart.const.js +3 -0
- package/esm2015/lib/components/charts/chart.token.js +3 -0
- package/esm2015/lib/components/charts/charts.module.js +19 -0
- package/esm2015/lib/components/charts/components/base-chart.component.js +44 -0
- package/esm2015/lib/components/charts/components/chart.component.js +135 -0
- package/esm2015/lib/components/charts/components/data-chart.component.js +169 -0
- package/esm2015/lib/components/charts/components/index.js +4 -0
- package/esm2015/lib/components/charts/defaults/bar.js +18 -0
- package/esm2015/lib/components/charts/defaults/doughnut.js +18 -0
- package/esm2015/lib/components/charts/defaults/index.js +5 -0
- package/esm2015/lib/components/charts/defaults/line.js +36 -0
- package/esm2015/lib/components/charts/defaults/pie.js +20 -0
- package/esm2015/lib/components/charts/index.js +10 -0
- package/esm2015/lib/components/charts/models/index.js +5 -0
- package/esm2015/lib/components/charts/models/options.js +2 -0
- package/esm2015/lib/components/charts/models/plugins-options.js +2 -0
- package/esm2015/lib/components/charts/models/response.js +2 -0
- package/esm2015/lib/components/charts/models/statistic-request-config.js +2 -0
- package/esm2015/lib/components/charts/plugins/doughnut-center-text.js +25 -0
- package/esm2015/lib/components/charts/plugins/doughnut-empty-state.js +34 -0
- package/esm2015/lib/components/charts/plugins/index.js +4 -0
- package/esm2015/lib/components/charts/plugins/legend-margin.js +16 -0
- package/esm2015/lib/components/charts/services/index.js +2 -0
- package/esm2015/lib/components/charts/services/statistic.service.js +75 -0
- package/esm2015/lib/components/charts/utility/colors.js +79 -0
- package/esm2015/lib/components/charts/utility/common.js +7 -0
- package/esm2015/lib/components/charts/utility/index.js +3 -0
- package/esm2015/lib/components/comments/comments.module.js +9 -5
- package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +30 -23
- package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +28 -34
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +22 -22
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +16 -18
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +6 -6
- package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +3 -2
- package/esm2015/lib/components/correspondence-relation/correspondence-relation.module.js +33 -29
- package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +32 -24
- package/esm2015/lib/components/diagrams/components/connection-label.component.js +1 -1
- package/esm2015/lib/components/diagrams/directive/diagram.directive.js +2 -3
- package/esm2015/lib/components/diagrams/editor/customize.js +11 -14
- package/esm2015/lib/components/diagrams/editor/overrides/connection-path.transformers.js +21 -34
- package/esm2015/lib/components/diagrams/editor/path-plugin.js +11 -10
- package/esm2015/lib/components/diagrams/models/base-node.model.js +2 -1
- package/esm2015/lib/components/diagrams/models/connection.model.js +1 -1
- package/esm2015/lib/components/diagrams/types/common.type.js +1 -1
- package/esm2015/lib/components/diagrams/types/diagram-config.type.js +1 -1
- package/esm2015/lib/components/diagrams/types/node-definition.js +1 -1
- package/esm2015/lib/components/diagrams/utilities/random.js +9 -3
- package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +9 -11
- package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +45 -40
- package/esm2015/lib/components/dynamic-chart/dynamic-chart.module.js +21 -17
- package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +98 -92
- package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.js +22 -10
- package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.js +8 -4
- package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +28 -29
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +16 -3
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +26 -18
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.js +2 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +4 -2
- package/esm2015/lib/components/dynamic-form/dynamic-form.module.js +13 -10
- package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +3 -3
- package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +68 -29
- package/esm2015/lib/components/file-manger/components/add-to-collection/add-to-collection.component.js +60 -42
- package/esm2015/lib/components/file-manger/components/copy/copy.component.js +66 -36
- package/esm2015/lib/components/file-manger/components/create-directory/create-directory.component.js +40 -13
- package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +238 -200
- package/esm2015/lib/components/file-manger/components/creation-type/creation-type.component.js +14 -12
- package/esm2015/lib/components/file-manger/components/delete/delete.component.js +49 -20
- package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +45 -43
- package/esm2015/lib/components/file-manger/components/loan-request/loan-request.component.js +63 -36
- package/esm2015/lib/components/file-manger/components/move/move.component.js +61 -31
- package/esm2015/lib/components/file-manger/components/publish-dialog/publish-dialog.component.js +81 -81
- package/esm2015/lib/components/file-manger/components/rename/rename.component.js +58 -30
- package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +99 -66
- package/esm2015/lib/components/file-manger/components/share-dialog/share-dialog.component.js +95 -75
- package/esm2015/lib/components/file-manger/components/template-modal/template-modal.component.js +15 -11
- package/esm2015/lib/components/file-manger/components/transfer-doc/transfer-doc.component.js +54 -23
- package/esm2015/lib/components/file-manger/components/update-modal/update-modal.component.js +24 -24
- package/esm2015/lib/components/file-manger/file-manager.abstract.js +266 -264
- package/esm2015/lib/components/file-manger/file-manger.module.js +39 -35
- package/esm2015/lib/components/filter/filter/filter.component.js +1 -1
- package/esm2015/lib/components/notifications/components/base-notifications.component.js +2 -16
- package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +3 -3
- package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +24 -4
- package/esm2015/lib/components/notifications/containers/notifications-settings-container/notifications-settings-container.component.js +3 -2
- package/esm2015/lib/components/notifications/models/notification-message.mode.js +1 -1
- package/esm2015/lib/components/notifications/models/notifications-list-options.js +1 -1
- package/esm2015/lib/components/notifications/services/notifications.service.js +23 -17
- package/esm2015/lib/components/notifications/services/socket.service.js +13 -5
- package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +107 -90
- package/esm2015/lib/components/permissions/permissions/permissions.component.js +100 -57
- package/esm2015/lib/components/permissions/permissions-template/permissions-template.component.js +36 -52
- package/esm2015/lib/components/permissions/permissions.module.js +23 -7
- package/esm2015/lib/components/select-users-by-department/select-users-by-departments/select-users-by-departments.component.js +1 -1
- package/esm2015/lib/components/spell-checker-field/spell-checker-field.module.js +37 -0
- package/esm2015/lib/components/spell-checker-field/spell-checker-text-field/spell-checker-text-field.component.js +88 -0
- package/esm2015/lib/components/table/dynamic-component.js +59 -0
- package/esm2015/lib/components/table/page-sizes-list/page-sizes-list.component.js +38 -0
- package/esm2015/lib/components/table/table/table.component.js +39 -21
- package/esm2015/lib/components/table/table.module.js +22 -18
- package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +11 -6
- package/esm2015/lib/configuration/app-config.service.js +7 -6
- package/esm2015/lib/core/core.module.js +4 -2
- package/esm2015/lib/core/env/env-manager.js +9 -1
- package/esm2015/lib/core/services/callApi/call-api.service.js +23 -6
- package/esm2015/lib/shared/components/base/base-selector.component.js +1 -1
- package/esm2015/lib/shared/components/base/base.component.js +5 -5
- package/esm2015/lib/shared/components/nuxeo-dialog/confirmation/ndf-confirmation-dialog.component.js +1 -1
- package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo-dialog.module.js +8 -4
- package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +11 -7
- package/esm2015/lib/shared/services/base/http-base.service.js +10 -19
- package/esm2015/lib/shared-services/dialog-mangment.service.js +66 -21
- package/esm2015/lib/shared-services/shared-docs.service.js +20 -26
- package/esm2015/public-api.js +8 -2
- package/fesm2015/nuxeo-development-framework.js +3560 -2282
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/charts/chart.const.d.ts +2 -0
- package/lib/components/charts/chart.token.d.ts +8 -0
- package/lib/components/charts/charts.module.d.ts +9 -0
- package/lib/components/charts/components/base-chart.component.d.ts +21 -0
- package/lib/components/charts/components/chart.component.d.ts +28 -0
- package/lib/components/charts/components/data-chart.component.d.ts +39 -0
- package/lib/components/charts/components/index.d.ts +3 -0
- package/lib/components/charts/defaults/bar.d.ts +2 -0
- package/lib/components/charts/defaults/doughnut.d.ts +2 -0
- package/lib/components/charts/defaults/index.d.ts +4 -0
- package/lib/components/charts/defaults/line.d.ts +2 -0
- package/lib/components/charts/defaults/pie.d.ts +2 -0
- package/lib/components/charts/index.d.ts +9 -0
- package/lib/components/charts/models/index.d.ts +4 -0
- package/lib/components/charts/models/options.d.ts +12 -0
- package/lib/components/charts/models/plugins-options.d.ts +18 -0
- package/lib/components/charts/models/response.d.ts +5 -0
- package/lib/components/charts/models/statistic-request-config.d.ts +30 -0
- package/lib/components/charts/plugins/doughnut-center-text.d.ts +2 -0
- package/lib/components/charts/plugins/doughnut-empty-state.d.ts +2 -0
- package/lib/components/charts/plugins/index.d.ts +3 -0
- package/lib/components/charts/plugins/legend-margin.d.ts +2 -0
- package/lib/components/charts/services/index.d.ts +1 -0
- package/lib/components/charts/services/statistic.service.d.ts +23 -0
- package/lib/components/charts/utility/colors.d.ts +11 -0
- package/lib/components/charts/utility/common.d.ts +4 -0
- package/lib/components/charts/utility/index.d.ts +2 -0
- package/lib/components/comments/comments.module.d.ts +2 -1
- package/lib/components/comments/components/comment-item/comment-item.component.d.ts +3 -1
- package/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.d.ts +8 -5
- package/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.d.ts +8 -8
- package/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.d.ts +5 -5
- package/lib/components/correspondence-relation/correspondence-relation.module.d.ts +3 -2
- package/lib/components/diagrams/editor/customize.d.ts +7 -7
- package/lib/components/diagrams/editor/overrides/connection-path.transformers.d.ts +2 -5
- package/lib/components/diagrams/models/base-node.model.d.ts +1 -1
- package/lib/components/diagrams/models/connection.model.d.ts +2 -1
- package/lib/components/diagrams/types/common.type.d.ts +4 -0
- package/lib/components/diagrams/types/diagram-config.type.d.ts +7 -7
- package/lib/components/diagrams/types/node-definition.d.ts +1 -0
- package/lib/components/diagrams/utilities/random.d.ts +1 -1
- package/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.d.ts +11 -10
- package/lib/components/dynamic-chart/dynamic-chart.module.d.ts +5 -6
- package/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.d.ts +6 -2
- package/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.d.ts +2 -1
- package/lib/components/dynamic-form/components/department-form/department-form.component.d.ts +4 -4
- package/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.d.ts +5 -1
- package/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.d.ts +3 -1
- package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.d.ts +5 -1
- package/lib/components/dynamic-form/dynamic-form.module.d.ts +2 -1
- package/lib/components/dynamic-table/dynamic-table/dynamic-table.component.d.ts +29 -11
- package/lib/components/file-manger/components/add-to-collection/add-to-collection.component.d.ts +11 -5
- package/lib/components/file-manger/components/copy/copy.component.d.ts +11 -4
- package/lib/components/file-manger/components/create-directory/create-directory.component.d.ts +9 -4
- package/lib/components/file-manger/components/create-modal/create-modal.component.d.ts +13 -19
- package/lib/components/file-manger/components/creation-type/creation-type.component.d.ts +6 -4
- package/lib/components/file-manger/components/delete/delete.component.d.ts +11 -4
- package/lib/components/file-manger/components/folder-modal/folder-modal.component.d.ts +9 -11
- package/lib/components/file-manger/components/loan-request/loan-request.component.d.ts +11 -5
- package/lib/components/file-manger/components/move/move.component.d.ts +11 -4
- package/lib/components/file-manger/components/publish-dialog/publish-dialog.component.d.ts +12 -10
- package/lib/components/file-manger/components/rename/rename.component.d.ts +11 -5
- package/lib/components/file-manger/components/scan-modal/scan-modal.component.d.ts +9 -8
- package/lib/components/file-manger/components/share-dialog/share-dialog.component.d.ts +6 -7
- package/lib/components/file-manger/components/template-modal/template-modal.component.d.ts +4 -3
- package/lib/components/file-manger/components/transfer-doc/transfer-doc.component.d.ts +11 -4
- package/lib/components/file-manger/components/update-modal/update-modal.component.d.ts +9 -8
- package/lib/components/file-manger/file-manager.abstract.d.ts +24 -22
- package/lib/components/file-manger/file-manger.module.d.ts +2 -1
- package/lib/components/notifications/components/base-notifications.component.d.ts +2 -8
- package/lib/components/notifications/components/notification-item/notification-item.component.d.ts +1 -1
- package/lib/components/notifications/components/notifications-button/notifications-button.component.d.ts +4 -1
- package/lib/components/notifications/models/notification-message.mode.d.ts +1 -0
- package/lib/components/notifications/models/notifications-list-options.d.ts +4 -0
- package/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.d.ts +8 -6
- package/lib/components/permissions/permissions/permissions.component.d.ts +3 -1
- package/lib/components/permissions/permissions-template/permissions-template.component.d.ts +3 -3
- package/lib/components/permissions/permissions.module.d.ts +2 -1
- package/lib/components/spell-checker-field/spell-checker-field.module.d.ts +10 -0
- package/lib/components/spell-checker-field/spell-checker-text-field/spell-checker-text-field.component.d.ts +24 -0
- package/lib/components/table/dynamic-component.d.ts +20 -0
- package/lib/components/table/page-sizes-list/page-sizes-list.component.d.ts +15 -0
- package/lib/components/table/table/table.component.d.ts +15 -6
- package/lib/components/table/table.module.d.ts +14 -10
- package/lib/components/vocabulary/services/vocabulary-api.service.d.ts +2 -2
- package/lib/core/core.module.d.ts +1 -1
- package/lib/core/env/env-manager.d.ts +2 -0
- package/lib/core/services/callApi/call-api.service.d.ts +8 -1
- package/lib/shared/components/base/base-selector.component.d.ts +4 -4
- package/lib/shared/components/base/base.component.d.ts +5 -5
- package/lib/shared/components/nuxeo-dialog/nuxeo-dialog.module.d.ts +2 -1
- package/lib/shared/components/nuxeo-dialog/nuxeo.dialog.d.ts +2 -1
- package/lib/shared/services/base/http-base.service.d.ts +3 -1
- package/lib/shared-services/dialog-mangment.service.d.ts +5 -1
- package/lib/shared-services/shared-docs.service.d.ts +3 -1
- package/package.json +3 -4
- package/public-api.d.ts +7 -1
- package/esm2015/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.js +0 -164
- package/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.d.ts +0 -33
package/esm2015/lib/components/permissions/permissions-template/permissions-template.component.js
CHANGED
|
@@ -1,53 +1,53 @@
|
|
|
1
1
|
import { Component, Input, EventEmitter, Output } from '@angular/core';
|
|
2
|
-
import { MatDialogConfig } from '@angular/material/dialog';
|
|
3
2
|
import { AddPermissionsDialogComponent } from '../add-permissions-dialog/add-permissions-dialog.component';
|
|
4
|
-
import { ConfirmationDialogComponent } from '../../confirmation-dialog/confirmation-dialog/confirmation-dialog.component';
|
|
5
3
|
import * as i0 from "@angular/core";
|
|
6
4
|
import * as i1 from "../permission.service";
|
|
7
5
|
import * as i2 from "../../custom-toastr/services/custom-toastr.service";
|
|
8
|
-
import * as i3 from "
|
|
6
|
+
import * as i3 from "../../../shared/components/nuxeo-dialog/services/nuxeo-dialog.service";
|
|
9
7
|
import * as i4 from "@angular/material/icon";
|
|
10
8
|
import * as i5 from "@angular/common";
|
|
11
9
|
import * as i6 from "@ngx-translate/core";
|
|
12
10
|
export class PermissionsTemplateComponent {
|
|
13
|
-
constructor(permissionService, tosterService,
|
|
11
|
+
constructor(permissionService, tosterService, nuxeoDialogService) {
|
|
14
12
|
this.permissionService = permissionService;
|
|
15
13
|
this.tosterService = tosterService;
|
|
16
|
-
this.
|
|
14
|
+
this.nuxeoDialogService = nuxeoDialogService;
|
|
17
15
|
this.allowDeleteAndEdit = false;
|
|
18
16
|
this.permissionsArray = [];
|
|
19
17
|
this.getPermissions = new EventEmitter();
|
|
20
18
|
}
|
|
21
|
-
ngOnInit() {
|
|
22
|
-
}
|
|
19
|
+
ngOnInit() { }
|
|
23
20
|
deletePermission(permission) {
|
|
24
|
-
this.permissionService
|
|
21
|
+
this.permissionService
|
|
22
|
+
.deleteLocalPermissions(this.documentId, permission)
|
|
23
|
+
.subscribe((res) => {
|
|
25
24
|
this.getPermissions.emit();
|
|
26
|
-
this.tosterService.show('success', 'TOASTER.SUCCESS',
|
|
27
|
-
}, err => {
|
|
25
|
+
this.tosterService.show('success', 'TOASTER.SUCCESS', 'TOASTER.PERMISSION_REMOVE_SUCCESS');
|
|
26
|
+
}, (err) => {
|
|
28
27
|
this.tosterService.show('error', 'TOASTER.ERROR', 'TOASTER.PERMISSION_REMOVE_FAIL');
|
|
29
28
|
});
|
|
30
29
|
}
|
|
31
30
|
editPermission(permission, username, userVisiblePermissions, begin, end) {
|
|
32
|
-
const dialogConfig = new MatDialogConfig();
|
|
33
|
-
dialogConfig.disableClose = false;
|
|
34
|
-
dialogConfig.autoFocus = true;
|
|
35
|
-
dialogConfig.data = {
|
|
36
|
-
id: this.documentId,
|
|
37
|
-
rights: this.userVisiblePermissions,
|
|
38
|
-
state: "update",
|
|
39
|
-
aclId: permission,
|
|
40
|
-
username: username,
|
|
41
|
-
editableRight: userVisiblePermissions,
|
|
42
|
-
editableBegin: begin,
|
|
43
|
-
editableEnd: end,
|
|
44
|
-
};
|
|
45
|
-
dialogConfig.width = '35%';
|
|
46
|
-
dialogConfig.height = '70%';
|
|
47
31
|
// befor opening modal we diable clickout side effect to prevent details side menu from closing when clicking in the modal
|
|
48
32
|
this.permissionService.disableClickOutSide = true;
|
|
49
|
-
let addDialogRef = this.
|
|
50
|
-
|
|
33
|
+
let addDialogRef = this.nuxeoDialogService.open({
|
|
34
|
+
component: AddPermissionsDialogComponent,
|
|
35
|
+
width: '35%',
|
|
36
|
+
height: '70%',
|
|
37
|
+
panelClass: 'watcher-dialog-container',
|
|
38
|
+
data: {
|
|
39
|
+
id: this.documentId,
|
|
40
|
+
rights: this.userVisiblePermissions,
|
|
41
|
+
state: 'update',
|
|
42
|
+
aclId: permission,
|
|
43
|
+
username: username,
|
|
44
|
+
editableRight: userVisiblePermissions,
|
|
45
|
+
editableBegin: begin,
|
|
46
|
+
editableEnd: end
|
|
47
|
+
}
|
|
48
|
+
//disableClose: true,
|
|
49
|
+
});
|
|
50
|
+
addDialogRef.afterClosed().subscribe((res) => {
|
|
51
51
|
// return click outside effect to work to close side menu when clicking out side it
|
|
52
52
|
this.permissionService.disableClickOutSide = false;
|
|
53
53
|
this.getPermissions.emit();
|
|
@@ -56,15 +56,17 @@ export class PermissionsTemplateComponent {
|
|
|
56
56
|
openDialog(permission) {
|
|
57
57
|
// befor opening modal we diable clickout side effect to prevent details side menu from closing when clicking in the modal
|
|
58
58
|
this.permissionService.disableClickOutSide = true;
|
|
59
|
-
let dialogRef = this.
|
|
59
|
+
let dialogRef = this.nuxeoDialogService.open({
|
|
60
|
+
component: AddPermissionsDialogComponent,
|
|
60
61
|
width: '510px',
|
|
62
|
+
panelClass: 'watcher-dialog-container',
|
|
61
63
|
data: {
|
|
62
64
|
title: 'confirmDialog.confirm',
|
|
63
65
|
message: 'confirmDialog.Rem_Per',
|
|
64
66
|
confirmButton: `BUTTONS.Remove`,
|
|
65
|
-
cancelButton:
|
|
66
|
-
}
|
|
67
|
-
disableClose: true,
|
|
67
|
+
cancelButton: 'BUTTONS.Cancel'
|
|
68
|
+
}
|
|
69
|
+
//disableClose: true,
|
|
68
70
|
});
|
|
69
71
|
dialogRef.afterClosed().subscribe((result) => {
|
|
70
72
|
// return click outside effect to work to close side menu when clicking out side it
|
|
@@ -73,27 +75,9 @@ export class PermissionsTemplateComponent {
|
|
|
73
75
|
this.deletePermission(permission);
|
|
74
76
|
}
|
|
75
77
|
});
|
|
76
|
-
// const dialogRef = this.fuseConfirmationService.open(
|
|
77
|
-
// {
|
|
78
|
-
// dismissible: true,
|
|
79
|
-
// title: this.translateService.instant("confirmDialog.confirm"),
|
|
80
|
-
// message: this.translateService.instant("confirmDialog.Rem_Per"),
|
|
81
|
-
// actions: {
|
|
82
|
-
// confirm: {
|
|
83
|
-
// show: true,
|
|
84
|
-
// label: this.translateService.instant("BUTTONS.Remove"),
|
|
85
|
-
// color: "warn"
|
|
86
|
-
// },
|
|
87
|
-
// cancel: {
|
|
88
|
-
// show: true,
|
|
89
|
-
// label: this.translateService.instant("BUTTONS.Cancel"),
|
|
90
|
-
// }
|
|
91
|
-
// }
|
|
92
|
-
// }
|
|
93
|
-
// );
|
|
94
78
|
}
|
|
95
79
|
}
|
|
96
|
-
PermissionsTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PermissionsTemplateComponent, deps: [{ token: i1.PermissionService }, { token: i2.CustomToastrService }, { token: i3.
|
|
80
|
+
PermissionsTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PermissionsTemplateComponent, deps: [{ token: i1.PermissionService }, { token: i2.CustomToastrService }, { token: i3.NuxeoDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
97
81
|
PermissionsTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PermissionsTemplateComponent, selector: "app-permissions-template", inputs: { allowDeleteAndEdit: "allowDeleteAndEdit", documentId: "documentId", userVisiblePermissions: "userVisiblePermissions", permissionsArray: "permissionsArray" }, outputs: { getPermissions: "getPermissions" }, ngImport: i0, template: "<div class=\"flex flex-col\">\r\n <div *ngFor=\"let p of permissionsArray\">\r\n <!-- Info -->\r\n <div class=\"flex single-permssion\" *ngIf=\"(p.granted && p.username['entity-type']== 'user') || (p.granted && (p.username['entity-type']== 'group' && (p.username.id != 'administrators' && p.username.id != 'members')))\">\r\n <mat-icon>lock</mat-icon>\r\n <div class=\"flex flex-auto justify-between ml-3\">\r\n <!-- Info -->\r\n <div>\r\n <div class=\"font-bold text-base text-gray-900 w-64\">\r\n <span *ngIf=\"p.username['entity-type'] == 'user'; else group\">\r\n {{p.username.fullName}}\r\n </span>\r\n <ng-template #group>\r\n {{p.username.grouplabel}}\r\n </ng-template>\r\n - {{p.permissionLabel}}</div>\r\n <div class=\"mt-0.5 text-secondary\">\r\n <div class=\"flex flex-row justify-between\">\r\n <div class=\"flex flex-col\">\r\n <div *ngIf=\"p.begin != null;else permanent\">\r\n {{p.begin | date:'dd/MM/yyyy'}}\r\n <span *ngIf=\"p.end != null\">- {{ p.end | date:'dd/MM/yyyy' }}</span>\r\n </div>\r\n <ng-template #permanent>\r\n <h1>{{\"permission.permanent\" | translate }}</h1>\r\n </ng-template>\r\n <div class=\"text-secondary\">\r\n <ng-container *ngIf=\"p.creator != null && p.creator != 'system'; else grantedBySystemAdmin\">\r\n {{\"permission.granted\" | translate }} {{p.creator['fullName']}}\r\n </ng-container>\r\n <ng-template #grantedBySystemAdmin>\r\n {{\"permission.grantedBySystemAdmin\" | translate }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n <!-- Actions -->\r\n <div class=\"flex\" *ngIf=\"allowDeleteAndEdit && p.currentUserIsPermissionOwner \r\n && p.permission != 'Everything'\">\r\n <button mat-icon-button\r\n (click)=\"editPermission(p.id,p.username,p.permission,p.begin,p.end)\">\r\n <mat-icon [svgIcon]=\"'heroicons_outline:pencil-alt'\"></mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button (click)=\"openDialog(p.id)\">\r\n <mat-icon [svgIcon]=\"'heroicons_outline:trash'\"></mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".single-permssion{box-shadow:0 0 12.5px #0000001a;border-radius:8px;padding:15px;margin:10px;font-size:12px}\n"], components: [{ type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "date": i5.DatePipe, "translate": i6.TranslatePipe } });
|
|
98
82
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PermissionsTemplateComponent, decorators: [{
|
|
99
83
|
type: Component,
|
|
@@ -102,7 +86,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
102
86
|
templateUrl: './permissions-template.component.html',
|
|
103
87
|
styleUrls: ['./permissions-template.component.scss']
|
|
104
88
|
}]
|
|
105
|
-
}], ctorParameters: function () { return [{ type: i1.PermissionService }, { type: i2.CustomToastrService }, { type: i3.
|
|
89
|
+
}], ctorParameters: function () { return [{ type: i1.PermissionService }, { type: i2.CustomToastrService }, { type: i3.NuxeoDialogService }]; }, propDecorators: { allowDeleteAndEdit: [{
|
|
106
90
|
type: Input
|
|
107
91
|
}], documentId: [{
|
|
108
92
|
type: Input
|
|
@@ -114,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
114
98
|
}], getPermissions: [{
|
|
115
99
|
type: Output
|
|
116
100
|
}] } });
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMtdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy10ZW1wbGF0ZS9wZXJtaXNzaW9ucy10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLXRlbXBsYXRlL3Blcm1pc3Npb25zLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBRTNHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZFQUE2RSxDQUFDOzs7Ozs7OztBQU8xSCxNQUFNLE9BQU8sNEJBQTRCO0lBT3ZDLFlBQW9CLGlCQUFvQyxFQUM5QyxhQUFrQyxFQUNsQyxNQUFpQjtRQUZQLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDOUMsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2xDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFQbEIsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBR1QscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3ZDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUdmLENBQUM7SUFFaEMsUUFBUTtJQUNSLENBQUM7SUFFRCxnQkFBZ0IsQ0FB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LGtFQUFrRTtRQUNsRSx3QkFBd0I7UUFDeEIsV0FBVztRQUNYLGtCQUFrQjtRQUNsQixzQkFBc0I7UUFDdEIsa0VBQWtFO1FBQ2xFLFVBQVU7UUFDVixRQUFRO1FBQ1IsTUFBTTtRQUNOLEtBQUs7SUFFUCxDQUFDOzswSEF6RlUsNEJBQTRCOzhHQUE1Qiw0QkFBNEIsdVJDWnpDLHN4R0FxRE07NEZEekNPLDRCQUE0QjtrQkFMeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxXQUFXLEVBQUUsdUNBQXVDO29CQUNwRCxTQUFTLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQztpQkFDckQ7a0tBR1Usa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNxQixnQkFBZ0I7c0JBQTFDLEtBQUs7dUJBQUMsa0JBQWtCO2dCQUNmLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBZGRQZXJtaXNzaW9uc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cvYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21Ub2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY3VzdG9tLXRvYXN0ci9zZXJ2aWNlcy9jdXN0b20tdG9hc3RyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcGVybWlzc2lvbnMtdGVtcGxhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wZXJtaXNzaW9ucy10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGVybWlzc2lvbnMtdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNUZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGFsbG93RGVsZXRlQW5kRWRpdCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRvY3VtZW50SWQ7XHJcbiAgQElucHV0KCkgdXNlclZpc2libGVQZXJtaXNzaW9ucztcclxuICBASW5wdXQoJ3Blcm1pc3Npb25zQXJyYXknKSBwZXJtaXNzaW9uc0FycmF5ID0gW107XHJcbiAgQE91dHB1dCgpIGdldFBlcm1pc3Npb25zID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVybWlzc2lvblNlcnZpY2U6IFBlcm1pc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b3N0ZXJTZXJ2aWNlOiBDdXN0b21Ub2FzdHJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZykgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlUGVybWlzc2lvbihwZXJtaXNzaW9uKSB7XHJcbiAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kZWxldGVMb2NhbFBlcm1pc3Npb25zKHRoaXMuZG9jdW1lbnRJZCwgcGVybWlzc2lvbikuc3Vic2NyaWJlKFxyXG4gICAgcmVzID0+IHtcclxuICAgICAgdGhpcy5nZXRQZXJtaXNzaW9ucy5lbWl0KCk7XHJcbiAgICAgIHRoaXMudG9zdGVyU2VydmljZS5zaG93KCdzdWNjZXNzJywgJ1RPQVNURVIuU1VDQ0VTUycsIFwiVE9BU1RFUi5QRVJNSVNTSU9OX1JFTU9WRV9TVUNDRVNTXCIpXHJcbiAgICB9LCBlcnIgPT4ge1xyXG4gICAgICB0aGlzLnRvc3RlclNlcnZpY2Uuc2hvdygnZXJyb3InLCAnVE9BU1RFUi5FUlJPUicsICdUT0FTVEVSLlBFUk1JU1NJT05fUkVNT1ZFX0ZBSUwnKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBlZGl0UGVybWlzc2lvbihwZXJtaXNzaW9uLCB1c2VybmFtZSwgdXNlclZpc2libGVQZXJtaXNzaW9ucywgYmVnaW4sIGVuZCkge1xyXG4gICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xyXG4gICAgZGlhbG9nQ29uZmlnLmRpc2FibGVDbG9zZSA9IGZhbHNlO1xyXG4gICAgZGlhbG9nQ29uZmlnLmF1dG9Gb2N1cyA9IHRydWU7XHJcbiAgICBkaWFsb2dDb25maWcuZGF0YSA9IHtcclxuICAgICAgaWQ6IHRoaXMuZG9jdW1lbnRJZCxcclxuICAgICAgcmlnaHRzOiB0aGlzLnVzZXJWaXNpYmxlUGVybWlzc2lvbnMsXHJcbiAgICAgIHN0YXRlOiBcInVwZGF0ZVwiLFxyXG4gICAgICBhY2xJZDogcGVybWlzc2lvbixcclxuICAgICAgdXNlcm5hbWU6IHVzZXJuYW1lLFxyXG4gICAgICBlZGl0YWJsZVJpZ2h0OiB1c2VyVmlzaWJsZVBlcm1pc3Npb25zLFxyXG4gICAgICBlZGl0YWJsZUJlZ2luOiBiZWdpbixcclxuICAgICAgZWRpdGFibGVFbmQ6IGVuZCxcclxuICAgIH07XHJcbiAgICBkaWFsb2dDb25maWcud2lkdGggPSAnMzUlJztcclxuICAgIGRpYWxvZ0NvbmZpZy5oZWlnaHQgPSAnNzAlJztcclxuICAgIC8vIGJlZm9yIG9wZW5pbmcgbW9kYWwgd2UgZGlhYmxlIGNsaWNrb3V0IHNpZGUgZWZmZWN0IHRvIHByZXZlbnQgZGV0YWlscyBzaWRlIG1lbnUgZnJvbSBjbG9zaW5nIHdoZW4gY2xpY2tpbmcgaW4gdGhlIG1vZGFsXHJcbiAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRpc2FibGVDbGlja091dFNpZGUgPSB0cnVlO1xyXG4gICAgbGV0IGFkZERpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWRkUGVybWlzc2lvbnNEaWFsb2dDb21wb25lbnQsIGRpYWxvZ0NvbmZpZyk7XHJcbiAgICBhZGREaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgLy8gcmV0dXJuIGNsaWNrIG91dHNpZGUgZWZmZWN0IHRvIHdvcmsgdG8gY2xvc2Ugc2lkZSBtZW51IHdoZW4gY2xpY2tpbmcgb3V0IHNpZGUgaXRcclxuICAgICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZ2V0UGVybWlzc2lvbnMuZW1pdCgpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgb3BlbkRpYWxvZyhwZXJtaXNzaW9uKSB7XHJcbiAgICAvLyBiZWZvciBvcGVuaW5nIG1vZGFsIHdlIGRpYWJsZSBjbGlja291dCBzaWRlIGVmZmVjdCB0byBwcmV2ZW50IGRldGFpbHMgc2lkZSBtZW51IGZyb20gY2xvc2luZyB3aGVuIGNsaWNraW5nIGluIHRoZSBtb2RhbFxyXG4gICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlID0gdHJ1ZTtcclxuICAgIGxldCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogJzUxMHB4JyxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgICAgdGl0bGU6ICdjb25maXJtRGlhbG9nLmNvbmZpcm0nLFxyXG4gICAgICAgICAgbWVzc2FnZTogJ2NvbmZpcm1EaWFsb2cuUmVtX1BlcicsXHJcbiAgICAgICAgICBjb25maXJtQnV0dG9uIDogYEJVVFRPTlMuUmVtb3ZlYCxcclxuICAgICAgICAgIGNhbmNlbEJ1dHRvbiA6IFwiQlVUVE9OUy5DYW5jZWxcIlxyXG4gICAgICB9LFxyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgfSk7XHJcbiAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgIC8vIHJldHVybiBjbGljayBvdXRzaWRlIGVmZmVjdCB0byB3b3JrIHRvIGNsb3NlIHNpZGUgbWVudSB3aGVuIGNsaWNraW5nIG91dCBzaWRlIGl0XHJcbiAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRpc2FibGVDbGlja091dFNpZGUgPSBmYWxzZTtcclxuICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgdGhpcy5kZWxldGVQZXJtaXNzaW9uKHBlcm1pc3Npb24pXHJcbiAgICB9XHJcbiAgfSk7XHJcbiAgICAvLyBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmZ1c2VDb25maXJtYXRpb25TZXJ2aWNlLm9wZW4oXHJcbiAgICAvLyAgIHtcclxuICAgIC8vICAgICBkaXNtaXNzaWJsZTogdHJ1ZSxcclxuICAgIC8vICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJjb25maXJtRGlhbG9nLmNvbmZpcm1cIiksXHJcbiAgICAvLyAgICAgbWVzc2FnZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJjb25maXJtRGlhbG9nLlJlbV9QZXJcIiksXHJcbiAgICAvLyAgICAgYWN0aW9uczoge1xyXG4gICAgLy8gICAgICAgY29uZmlybToge1xyXG4gICAgLy8gICAgICAgICBzaG93OiB0cnVlLFxyXG4gICAgLy8gICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJCVVRUT05TLlJlbW92ZVwiKSxcclxuICAgIC8vICAgICAgICAgY29sb3I6IFwid2FyblwiXHJcbiAgICAvLyAgICAgICB9LFxyXG4gICAgLy8gICAgICAgY2FuY2VsOiB7XHJcbiAgICAvLyAgICAgICAgIHNob3c6IHRydWUsXHJcbiAgICAvLyAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcIkJVVFRPTlMuQ2FuY2VsXCIpLFxyXG4gICAgLy8gICAgICAgfVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfVxyXG4gICAgLy8gKTtcclxuXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgcCBvZiBwZXJtaXNzaW9uc0FycmF5XCI+XHJcbiAgICAgICAgPCEtLSBJbmZvIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHNpbmdsZS1wZXJtc3Npb25cIiAqbmdJZj1cIihwLmdyYW50ZWQgJiYgcC51c2VybmFtZVsnZW50aXR5LXR5cGUnXT09ICd1c2VyJykgfHwgKHAuZ3JhbnRlZCAmJiAocC51c2VybmFtZVsnZW50aXR5LXR5cGUnXT09ICdncm91cCcgJiYgKHAudXNlcm5hbWUuaWQgIT0gJ2FkbWluaXN0cmF0b3JzJyAmJiBwLnVzZXJuYW1lLmlkICE9ICdtZW1iZXJzJykpKVwiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24+bG9jazwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtYXV0byBqdXN0aWZ5LWJldHdlZW4gbWwtM1wiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBJbmZvIC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9udC1ib2xkIHRleHQtYmFzZSB0ZXh0LWdyYXktOTAwIHctNjRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwLnVzZXJuYW1lWydlbnRpdHktdHlwZSddID09ICd1c2VyJzsgZWxzZSBncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3twLnVzZXJuYW1lLmZ1bGxOYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2dyb3VwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3twLnVzZXJuYW1lLmdyb3VwbGFiZWx9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAtIHt7cC5wZXJtaXNzaW9uTGFiZWx9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0wLjUgdGV4dC1zZWNvbmRhcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwLmJlZ2luICE9IG51bGw7ZWxzZSBwZXJtYW5lbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3twLmJlZ2luIHwgZGF0ZTonZGQvTU0veXl5eSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInAuZW5kICE9IG51bGxcIj4tIHt7IHAuZW5kIHwgZGF0ZTonZGQvTU0veXl5eScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNwZXJtYW5lbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT57e1wicGVybWlzc2lvbi5wZXJtYW5lbnRcIiB8IHRyYW5zbGF0ZSB9fTwvaDE+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInAuY3JlYXRvciAhPSBudWxsICYmIHAuY3JlYXRvciAhPSAnc3lzdGVtJzsgZWxzZSBncmFudGVkQnlTeXN0ZW1BZG1pblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tcInBlcm1pc3Npb24uZ3JhbnRlZFwiIHwgdHJhbnNsYXRlIH19IHt7cC5jcmVhdG9yWydmdWxsTmFtZSddfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZ3JhbnRlZEJ5U3lzdGVtQWRtaW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1wicGVybWlzc2lvbi5ncmFudGVkQnlTeXN0ZW1BZG1pblwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQWN0aW9ucyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4XCIgKm5nSWY9XCJhbGxvd0RlbGV0ZUFuZEVkaXQgJiYgcC5jdXJyZW50VXNlcklzUGVybWlzc2lvbk93bmVyIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgcC5wZXJtaXNzaW9uICE9ICdFdmVyeXRoaW5nJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0UGVybWlzc2lvbihwLmlkLHAudXNlcm5hbWUscC5wZXJtaXNzaW9uLHAuYmVnaW4scC5lbmQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCInaGVyb2ljb25zX291dGxpbmU6cGVuY2lsLWFsdCdcIj48L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcGVuRGlhbG9nKHAuaWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCInaGVyb2ljb25zX291dGxpbmU6dHJhc2gnXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMtdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy10ZW1wbGF0ZS9wZXJtaXNzaW9ucy10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLXRlbXBsYXRlL3Blcm1pc3Npb25zLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNERBQTRELENBQUM7Ozs7Ozs7O0FBVTNHLE1BQU0sT0FBTyw0QkFBNEI7SUFNeEMsWUFDUyxpQkFBb0MsRUFDcEMsYUFBa0MsRUFDbkMsa0JBQXNDO1FBRnJDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFSckMsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBR1QscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3ZDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUszQyxDQUFDO0lBRUosUUFBUSxLQUFVLENBQUM7SUFFbkIsZ0JBQWdCLENBQUMsVUFBVTtRQUMxQixJQUFJLENBQUMsaUJBQWlCO2FBQ3BCLHNCQUFzQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDO2FB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S0FBSztnQkFDcUIsZ0JBQWdCO3NCQUExQyxLQUFLO3VCQUFDLGtCQUFrQjtnQkFDZixjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vcGVybWlzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWRkUGVybWlzc2lvbnNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9hZGQtcGVybWlzc2lvbnMtZGlhbG9nL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTnV4ZW9EaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL3NlcnZpY2VzL251eGVvLWRpYWxvZy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLXBlcm1pc3Npb25zLXRlbXBsYXRlJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbnMtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL3Blcm1pc3Npb25zLXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25zVGVtcGxhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdEBJbnB1dCgpIGFsbG93RGVsZXRlQW5kRWRpdCA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIGRvY3VtZW50SWQ7XHJcblx0QElucHV0KCkgdXNlclZpc2libGVQZXJtaXNzaW9ucztcclxuXHRASW5wdXQoJ3Blcm1pc3Npb25zQXJyYXknKSBwZXJtaXNzaW9uc0FycmF5ID0gW107XHJcblx0QE91dHB1dCgpIGdldFBlcm1pc3Npb25zID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBwZXJtaXNzaW9uU2VydmljZTogUGVybWlzc2lvblNlcnZpY2UsXHJcblx0XHRwcml2YXRlIHRvc3RlclNlcnZpY2U6IEN1c3RvbVRvYXN0clNlcnZpY2UsXHJcblx0XHRwdWJsaWMgbnV4ZW9EaWFsb2dTZXJ2aWNlOiBOdXhlb0RpYWxvZ1NlcnZpY2VcclxuXHQpIHt9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcblx0ZGVsZXRlUGVybWlzc2lvbihwZXJtaXNzaW9uKSB7XHJcblx0XHR0aGlzLnBlcm1pc3Npb25TZXJ2aWNlXHJcblx0XHRcdC5kZWxldGVMb2NhbFBlcm1pc3Npb25zKHRoaXMuZG9jdW1lbnRJZCwgcGVybWlzc2lvbilcclxuXHRcdFx0LnN1YnNjcmliZShcclxuXHRcdFx0XHQocmVzKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLmdldFBlcm1pc3Npb25zLmVtaXQoKTtcclxuXHRcdFx0XHRcdHRoaXMudG9zdGVyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHQnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdCdUT0FTVEVSLlNVQ0NFU1MnLFxyXG5cdFx0XHRcdFx0XHQnVE9BU1RFUi5QRVJNSVNTSU9OX1JFTU9WRV9TVUNDRVNTJ1xyXG5cdFx0XHRcdFx0KTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdChlcnIpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMudG9zdGVyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHQnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHQnVE9BU1RFUi5FUlJPUicsXHJcblx0XHRcdFx0XHRcdCdUT0FTVEVSLlBFUk1JU1NJT05fUkVNT1ZFX0ZBSUwnXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0KTtcclxuXHR9XHJcblxyXG5cdGVkaXRQZXJtaXNzaW9uKHBlcm1pc3Npb24sIHVzZXJuYW1lLCB1c2VyVmlzaWJsZVBlcm1pc3Npb25zLCBiZWdpbiwgZW5kKSB7XHJcblx0XHQvLyBiZWZvciBvcGVuaW5nIG1vZGFsIHdlIGRpYWJsZSBjbGlja291dCBzaWRlIGVmZmVjdCB0byBwcmV2ZW50IGRldGFpbHMgc2lkZSBtZW51IGZyb20gY2xvc2luZyB3aGVuIGNsaWNraW5nIGluIHRoZSBtb2RhbFxyXG5cdFx0dGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlID0gdHJ1ZTtcclxuXHRcdGxldCBhZGREaWFsb2dSZWYgPSB0aGlzLm51eGVvRGlhbG9nU2VydmljZS5vcGVuKHtcclxuXHRcdFx0Y29tcG9uZW50OiBBZGRQZXJtaXNzaW9uc0RpYWxvZ0NvbXBvbmVudCxcclxuXHRcdFx0d2lkdGg6ICczNSUnLFxyXG5cdFx0XHRoZWlnaHQ6ICc3MCUnLFxyXG5cdFx0XHRwYW5lbENsYXNzOiAnd2F0Y2hlci1kaWFsb2ctY29udGFpbmVyJyxcclxuXHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdGlkOiB0aGlzLmRvY3VtZW50SWQsXHJcblx0XHRcdFx0cmlnaHRzOiB0aGlzLnVzZXJWaXNpYmxlUGVybWlzc2lvbnMsXHJcblx0XHRcdFx0c3RhdGU6ICd1cGRhdGUnLFxyXG5cdFx0XHRcdGFjbElkOiBwZXJtaXNzaW9uLFxyXG5cdFx0XHRcdHVzZXJuYW1lOiB1c2VybmFtZSxcclxuXHRcdFx0XHRlZGl0YWJsZVJpZ2h0OiB1c2VyVmlzaWJsZVBlcm1pc3Npb25zLFxyXG5cdFx0XHRcdGVkaXRhYmxlQmVnaW46IGJlZ2luLFxyXG5cdFx0XHRcdGVkaXRhYmxlRW5kOiBlbmRcclxuXHRcdFx0fVxyXG5cdFx0XHQvL2Rpc2FibGVDbG9zZTogdHJ1ZSxcclxuXHRcdH0pO1xyXG5cdFx0YWRkRGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuXHRcdFx0Ly8gcmV0dXJuIGNsaWNrIG91dHNpZGUgZWZmZWN0IHRvIHdvcmsgdG8gY2xvc2Ugc2lkZSBtZW51IHdoZW4gY2xpY2tpbmcgb3V0IHNpZGUgaXRcclxuXHRcdFx0dGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlID0gZmFsc2U7XHJcblx0XHRcdHRoaXMuZ2V0UGVybWlzc2lvbnMuZW1pdCgpO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRvcGVuRGlhbG9nKHBlcm1pc3Npb24pIHtcclxuXHRcdC8vIGJlZm9yIG9wZW5pbmcgbW9kYWwgd2UgZGlhYmxlIGNsaWNrb3V0IHNpZGUgZWZmZWN0IHRvIHByZXZlbnQgZGV0YWlscyBzaWRlIG1lbnUgZnJvbSBjbG9zaW5nIHdoZW4gY2xpY2tpbmcgaW4gdGhlIG1vZGFsXHJcblx0XHR0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRpc2FibGVDbGlja091dFNpZGUgPSB0cnVlO1xyXG5cdFx0bGV0IGRpYWxvZ1JlZiA9IHRoaXMubnV4ZW9EaWFsb2dTZXJ2aWNlLm9wZW4oe1xyXG5cdFx0XHRjb21wb25lbnQ6IEFkZFBlcm1pc3Npb25zRGlhbG9nQ29tcG9uZW50LFxyXG5cdFx0XHR3aWR0aDogJzUxMHB4JyxcclxuXHRcdFx0cGFuZWxDbGFzczogJ3dhdGNoZXItZGlhbG9nLWNvbnRhaW5lcicsXHJcblx0XHRcdGRhdGE6IHtcclxuXHRcdFx0XHR0aXRsZTogJ2NvbmZpcm1EaWFsb2cuY29uZmlybScsXHJcblx0XHRcdFx0bWVzc2FnZTogJ2NvbmZpcm1EaWFsb2cuUmVtX1BlcicsXHJcblx0XHRcdFx0Y29uZmlybUJ1dHRvbjogYEJVVFRPTlMuUmVtb3ZlYCxcclxuXHRcdFx0XHRjYW5jZWxCdXR0b246ICdCVVRUT05TLkNhbmNlbCdcclxuXHRcdFx0fVxyXG5cdFx0XHQvL2Rpc2FibGVDbG9zZTogdHJ1ZSxcclxuXHRcdH0pO1xyXG5cclxuXHRcdGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcblx0XHRcdC8vIHJldHVybiBjbGljayBvdXRzaWRlIGVmZmVjdCB0byB3b3JrIHRvIGNsb3NlIHNpZGUgbWVudSB3aGVuIGNsaWNraW5nIG91dCBzaWRlIGl0XHJcblx0XHRcdHRoaXMucGVybWlzc2lvblNlcnZpY2UuZGlzYWJsZUNsaWNrT3V0U2lkZSA9IGZhbHNlO1xyXG5cdFx0XHRpZiAocmVzdWx0KSB7XHJcblx0XHRcdFx0dGhpcy5kZWxldGVQZXJtaXNzaW9uKHBlcm1pc3Npb24pO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2xcIj5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHAgb2YgcGVybWlzc2lvbnNBcnJheVwiPlxyXG4gICAgICAgIDwhLS0gSW5mbyAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBzaW5nbGUtcGVybXNzaW9uXCIgKm5nSWY9XCIocC5ncmFudGVkICYmIHAudXNlcm5hbWVbJ2VudGl0eS10eXBlJ109PSAndXNlcicpIHx8IChwLmdyYW50ZWQgJiYgKHAudXNlcm5hbWVbJ2VudGl0eS10eXBlJ109PSAnZ3JvdXAnICYmIChwLnVzZXJuYW1lLmlkICE9ICdhZG1pbmlzdHJhdG9ycycgJiYgcC51c2VybmFtZS5pZCAhPSAnbWVtYmVycycpKSlcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPmxvY2s8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWF1dG8ganVzdGlmeS1iZXR3ZWVuIG1sLTNcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gSW5mbyAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LWJhc2UgdGV4dC1ncmF5LTkwMCB3LTY0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwicC51c2VybmFtZVsnZW50aXR5LXR5cGUnXSA9PSAndXNlcic7IGVsc2UgZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cC51c2VybmFtZS5mdWxsTmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNncm91cD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cC51c2VybmFtZS5ncm91cGxhYmVsfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLSB7e3AucGVybWlzc2lvbkxhYmVsfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMC41IHRleHQtc2Vjb25kYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicC5iZWdpbiAhPSBudWxsO2Vsc2UgcGVybWFuZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cC5iZWdpbiB8IGRhdGU6J2RkL01NL3l5eXknfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwLmVuZCAhPSBudWxsXCI+LSB7eyBwLmVuZCB8IGRhdGU6J2RkL01NL3l5eXknIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcGVybWFuZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+e3tcInBlcm1pc3Npb24ucGVybWFuZW50XCIgfCB0cmFuc2xhdGUgfX08L2gxPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwLmNyZWF0b3IgIT0gbnVsbCAmJiBwLmNyZWF0b3IgIT0gJ3N5c3RlbSc7IGVsc2UgZ3JhbnRlZEJ5U3lzdGVtQWRtaW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7XCJwZXJtaXNzaW9uLmdyYW50ZWRcIiB8IHRyYW5zbGF0ZSB9fSB7e3AuY3JlYXRvclsnZnVsbE5hbWUnXX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2dyYW50ZWRCeVN5c3RlbUFkbWluPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tcInBlcm1pc3Npb24uZ3JhbnRlZEJ5U3lzdGVtQWRtaW5cIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEFjdGlvbnMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiICpuZ0lmPVwiYWxsb3dEZWxldGVBbmRFZGl0ICYmIHAuY3VycmVudFVzZXJJc1Blcm1pc3Npb25Pd25lciBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHAucGVybWlzc2lvbiAhPSAnRXZlcnl0aGluZydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdFBlcm1pc3Npb24ocC5pZCxwLnVzZXJuYW1lLHAucGVybWlzc2lvbixwLmJlZ2luLHAuZW5kKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiJ2hlcm9pY29uc19vdXRsaW5lOnBlbmNpbC1hbHQnXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib3BlbkRpYWxvZyhwLmlkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiJ2hlcm9pY29uc19vdXRsaW5lOnRyYXNoJ1wiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
@@ -14,11 +14,14 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
|
14
14
|
import { DirectiveModule } from '../../directive/directive.module';
|
|
15
15
|
import { NgSelectModule } from '@ng-select/ng-select';
|
|
16
16
|
import { AvatarModule } from '../avatar/avatar.module';
|
|
17
|
+
import { NuxeoDialogModule } from '../../shared/components/nuxeo-dialog/nuxeo-dialog.module';
|
|
17
18
|
import * as i0 from "@angular/core";
|
|
18
19
|
export class PermissionsModule {
|
|
19
20
|
}
|
|
20
21
|
PermissionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PermissionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
21
|
-
PermissionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PermissionsModule, declarations: [PermissionsComponent,
|
|
22
|
+
PermissionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PermissionsModule, declarations: [PermissionsComponent,
|
|
23
|
+
AddPermissionsDialogComponent,
|
|
24
|
+
PermissionsTemplateComponent], imports: [CommonModule,
|
|
22
25
|
TranslateModule,
|
|
23
26
|
MatDividerModule,
|
|
24
27
|
MatProgressBarModule,
|
|
@@ -30,7 +33,10 @@ PermissionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
|
|
|
30
33
|
ReactiveFormsModule,
|
|
31
34
|
DirectiveModule,
|
|
32
35
|
NgSelectModule,
|
|
33
|
-
AvatarModule
|
|
36
|
+
AvatarModule,
|
|
37
|
+
NuxeoDialogModule], exports: [PermissionsComponent,
|
|
38
|
+
AddPermissionsDialogComponent,
|
|
39
|
+
PermissionsTemplateComponent] });
|
|
34
40
|
PermissionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PermissionsModule, imports: [[
|
|
35
41
|
CommonModule,
|
|
36
42
|
TranslateModule,
|
|
@@ -44,12 +50,17 @@ PermissionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versi
|
|
|
44
50
|
ReactiveFormsModule,
|
|
45
51
|
DirectiveModule,
|
|
46
52
|
NgSelectModule,
|
|
47
|
-
AvatarModule
|
|
53
|
+
AvatarModule,
|
|
54
|
+
NuxeoDialogModule
|
|
48
55
|
]] });
|
|
49
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PermissionsModule, decorators: [{
|
|
50
57
|
type: NgModule,
|
|
51
58
|
args: [{
|
|
52
|
-
declarations: [
|
|
59
|
+
declarations: [
|
|
60
|
+
PermissionsComponent,
|
|
61
|
+
AddPermissionsDialogComponent,
|
|
62
|
+
PermissionsTemplateComponent
|
|
63
|
+
],
|
|
53
64
|
imports: [
|
|
54
65
|
CommonModule,
|
|
55
66
|
TranslateModule,
|
|
@@ -63,9 +74,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
63
74
|
ReactiveFormsModule,
|
|
64
75
|
DirectiveModule,
|
|
65
76
|
NgSelectModule,
|
|
66
|
-
AvatarModule
|
|
77
|
+
AvatarModule,
|
|
78
|
+
NuxeoDialogModule
|
|
67
79
|
],
|
|
68
|
-
exports: [
|
|
80
|
+
exports: [
|
|
81
|
+
PermissionsComponent,
|
|
82
|
+
AddPermissionsDialogComponent,
|
|
83
|
+
PermissionsTemplateComponent
|
|
84
|
+
]
|
|
69
85
|
}]
|
|
70
86
|
}] });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDMUcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDckcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOztBQThCN0YsTUFBTSxPQUFPLGlCQUFpQjs7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQTFCNUIsb0JBQW9CO1FBQ3BCLDZCQUE2QjtRQUM3Qiw0QkFBNEIsYUFHNUIsWUFBWTtRQUNaLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLHdCQUF3QjtRQUN4QixvQkFBb0I7UUFDcEIsYUFBYTtRQUNiLFdBQVc7UUFDWCxXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGVBQWU7UUFDZixjQUFjO1FBQ2QsWUFBWTtRQUNaLGlCQUFpQixhQUdqQixvQkFBb0I7UUFDcEIsNkJBQTZCO1FBQzdCLDRCQUE0QjtnSEFHakIsaUJBQWlCLFlBdEJwQjtZQUNSLFlBQVk7WUFDWixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLG9CQUFvQjtZQUNwQix3QkFBd0I7WUFDeEIsb0JBQW9CO1lBQ3BCLGFBQWE7WUFDYixXQUFXO1lBQ1gsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsY0FBYztZQUNkLFlBQVk7WUFDWixpQkFBaUI7U0FDakI7NEZBT1csaUJBQWlCO2tCQTVCN0IsUUFBUTttQkFBQztvQkFDVCxZQUFZLEVBQUU7d0JBQ2Isb0JBQW9CO3dCQUNwQiw2QkFBNkI7d0JBQzdCLDRCQUE0QjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNSLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osaUJBQWlCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Isb0JBQW9CO3dCQUNwQiw2QkFBNkI7d0JBQzdCLDRCQUE0QjtxQkFDNUI7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uc0NvbXBvbmVudCB9IGZyb20gJy4vcGVybWlzc2lvbnMvcGVybWlzc2lvbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWRkUGVybWlzc2lvbnNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cvYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uc1RlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9wZXJtaXNzaW9ucy10ZW1wbGF0ZS9wZXJtaXNzaW9ucy10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlc01vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy9zaGFyZWQtc2VydmljZXMubW9kdWxlJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmVNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvZGlyZWN0aXZlLm1vZHVsZSc7XHJcbmltcG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xyXG5pbXBvcnQgeyBBdmF0YXJNb2R1bGUgfSBmcm9tICcuLi9hdmF0YXIvYXZhdGFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IE51eGVvRGlhbG9nTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL251eGVvLWRpYWxvZy5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuXHRkZWNsYXJhdGlvbnM6IFtcclxuXHRcdFBlcm1pc3Npb25zQ29tcG9uZW50LFxyXG5cdFx0QWRkUGVybWlzc2lvbnNEaWFsb2dDb21wb25lbnQsXHJcblx0XHRQZXJtaXNzaW9uc1RlbXBsYXRlQ29tcG9uZW50XHJcblx0XSxcclxuXHRpbXBvcnRzOiBbXHJcblx0XHRDb21tb25Nb2R1bGUsXHJcblx0XHRUcmFuc2xhdGVNb2R1bGUsXHJcblx0XHRNYXREaXZpZGVyTW9kdWxlLFxyXG5cdFx0TWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXHJcblx0XHRNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcblx0XHRTaGFyZWRTZXJ2aWNlc01vZHVsZSxcclxuXHRcdE1hdEljb25Nb2R1bGUsXHJcblx0XHRQaXBlc01vZHVsZSxcclxuXHRcdEZvcm1zTW9kdWxlLFxyXG5cdFx0UmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuXHRcdERpcmVjdGl2ZU1vZHVsZSxcclxuXHRcdE5nU2VsZWN0TW9kdWxlLFxyXG5cdFx0QXZhdGFyTW9kdWxlLFxyXG5cdFx0TnV4ZW9EaWFsb2dNb2R1bGVcclxuXHRdLFxyXG5cdGV4cG9ydHM6IFtcclxuXHRcdFBlcm1pc3Npb25zQ29tcG9uZW50LFxyXG5cdFx0QWRkUGVybWlzc2lvbnNEaWFsb2dDb21wb25lbnQsXHJcblx0XHRQZXJtaXNzaW9uc1RlbXBsYXRlQ29tcG9uZW50XHJcblx0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNNb2R1bGUge31cclxuIl19
|
|
@@ -88,7 +88,7 @@ export class SelectUsersByDepartmentsComponent {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
SelectUsersByDepartmentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SelectUsersByDepartmentsComponent, deps: [{ token: i1.DepartmentManagementService }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
-
SelectUsersByDepartmentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SelectUsersByDepartmentsComponent, selector: "app-select-users-by-departments", inputs: { display: "display", depLabel: "depLabel", userLabel: "userLabel", allowMultipleUsers: "allowMultipleUsers" }, outputs: { formChanged: "formChanged" }, host: { classAttribute: "userByDepSelectors" }, ngImport: i0, template: "<form [formGroup]=\"depAnditsUsers\">\r\n <div class=\"w-full flex justify-between\"\r\n [ngClass]=\"{'flex-row': display === 'row', 'flex-col': display === 'column'}\">\r\n <div class=\"flex flex-col w-full flex-1 depWrapper\">\r\n <label class=\"dep-label\">\r\n {{depLabel}}\r\n <span class=\"text-danger\" *ngIf=\"isRequired()\">*</span>\r\n </label>\r\n <ng-container *ngIf=\"!reseting\">\r\n <app-dynamic-form-department \r\n #depRef\r\n formControlName=\"dep\"\r\n placeholder=\"placeholder\"\r\n [treeview]=\"false\"\r\n [pp_departmentNestedTree]=\"'PP_OS_Departments'\"\r\n [pp_departmentTree]=\"'PP_OS_Departments'\"\r\n [customPrefix]=\"'osdept'\"\r\n [customParentProperty]=\"'osdepartment_parentDepartmentCode'\"\r\n [useCustomAddEditAction]=\"true\"\r\n (onSelecting)=\"getDepMembers($event)\"\r\n >\r\n </app-dynamic-form-department>\r\n </ng-container>\r\n <ng-container *ngIf=\"reseting\">\r\n <app-dynamic-form-department\r\n #depRef\r\n formControlName=\"dep\"\r\n placeholder=\"placeholder\"\r\n [treeview]=\"false\"\r\n [pp_departmentNestedTree]=\"'PP_OS_Departments'\"\r\n [pp_departmentTree]=\"'PP_OS_Departments'\"\r\n [customPrefix]=\"'osdept'\"\r\n [customParentProperty]=\"'osdepartment_parentDepartmentCode'\"\r\n [useCustomAddEditAction]=\"true\"\r\n (onSelecting)=\"getDepMembers($event)\"\r\n >\r\n </app-dynamic-form-department>\r\n </ng-container>\r\n </div>\r\n <div class=\"flex flex-col w-full flex-1 usersWrapper\"\r\n [ngClass]=\"{'mt-4': display === 'column'}\">\r\n <label class=\"users-label\">\r\n {{userLabel}}\r\n <span class=\"text-danger\" *ngIf=\"isRequired()\">*</span>\r\n </label>\r\n <ng-select \r\n formControlName=\"users\"\r\n #ngSelectComponent \r\n [items]=\"depUsers\" \r\n bindLabel=\"properties.fullName\" \r\n bindValue=\"properties.username\" \r\n [multiple]=\"allowMultipleUsers\"\r\n [placeholder]=\"'share.placeholder' | translate\"\r\n (change)=\"setUser()\"\r\n >\r\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\r\n <div class=\"ng-option disabled\" *ngIf=\"!depAnditsUsers?.get('dep').value;else notFound\">\r\n {{'archiveSearch.select_dep' | translate}}\r\n </div>\r\n <ng-template #notFound>\r\n <div class=\"ng-option disabled\">\r\n {{'archiveSearch.noUsers' | translate}}\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\r\n <div class=\"flex flex-col h-full\">\r\n <div *ngIf=\"item\" class=\"flex flex-row\">\r\n <div class=\"flex-0 w-8 h-8 rounded-full overflow-hidden\">\r\n <cts-avatar [user]=\"{\r\n properties: {\r\n firstName: item.properties?.firstName,\r\n lastName: item.properties?.lastName\r\n }\r\n }\">\r\n </cts-avatar>\r\n </div>\r\n <div class=\"flex flex-col pt-0 px-2\">\r\n <span>{{item.properties?.fullName}}</span>\r\n <span>{{item.properties?.email}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n </div>\r\n</form>", styles: [".userByDepSelectors ngx-dropdown-treeview>.dropdown{@apply bg-primary-50 border-primary-100 !important;}.userByDepSelectors .ng-select .ng-select-container .ng-value-container .ng-placeholder{font-size:12px!important;margin-top:4px!important}\n"], components: [{ type: i3.DynamicFormDepartmentComponent, selector: "app-dynamic-form-department", inputs: ["treeview", "treeViewAsFormControl", "placeholder", "multiple", "searchable", "label", "defaultSelect", "displayDepTypee", "displayIsAllowRecExternal", "pp_departmentNestedTree", "pp_departmentTree", "customPrefix", "useCustomAddEditAction", "customParentProperty", "customParams", "disabled"], outputs: ["onSelecting", "actionClicked"] }, { type: i4.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i5.AvatarComponent, selector: "cts-avatar", inputs: ["user"] }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.ɵl, selector: "[ng-notfound-tmp]" }, { type: i4.ɵf, selector: "[ng-option-tmp]" }], pipes: { "translate": i7.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
91
|
+
SelectUsersByDepartmentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SelectUsersByDepartmentsComponent, selector: "app-select-users-by-departments", inputs: { display: "display", depLabel: "depLabel", userLabel: "userLabel", allowMultipleUsers: "allowMultipleUsers" }, outputs: { formChanged: "formChanged" }, host: { classAttribute: "userByDepSelectors" }, ngImport: i0, template: "<form [formGroup]=\"depAnditsUsers\">\r\n <div class=\"w-full flex justify-between\"\r\n [ngClass]=\"{'flex-row': display === 'row', 'flex-col': display === 'column'}\">\r\n <div class=\"flex flex-col w-full flex-1 depWrapper\">\r\n <label class=\"dep-label\">\r\n {{depLabel}}\r\n <span class=\"text-danger\" *ngIf=\"isRequired()\">*</span>\r\n </label>\r\n <ng-container *ngIf=\"!reseting\">\r\n <app-dynamic-form-department \r\n #depRef\r\n formControlName=\"dep\"\r\n placeholder=\"placeholder\"\r\n [treeview]=\"false\"\r\n [pp_departmentNestedTree]=\"'PP_OS_Departments'\"\r\n [pp_departmentTree]=\"'PP_OS_Departments'\"\r\n [customPrefix]=\"'osdept'\"\r\n [customParentProperty]=\"'osdepartment_parentDepartmentCode'\"\r\n [useCustomAddEditAction]=\"true\"\r\n (onSelecting)=\"getDepMembers($event)\"\r\n >\r\n </app-dynamic-form-department>\r\n </ng-container>\r\n <ng-container *ngIf=\"reseting\">\r\n <app-dynamic-form-department\r\n #depRef\r\n formControlName=\"dep\"\r\n placeholder=\"placeholder\"\r\n [treeview]=\"false\"\r\n [pp_departmentNestedTree]=\"'PP_OS_Departments'\"\r\n [pp_departmentTree]=\"'PP_OS_Departments'\"\r\n [customPrefix]=\"'osdept'\"\r\n [customParentProperty]=\"'osdepartment_parentDepartmentCode'\"\r\n [useCustomAddEditAction]=\"true\"\r\n (onSelecting)=\"getDepMembers($event)\"\r\n >\r\n </app-dynamic-form-department>\r\n </ng-container>\r\n </div>\r\n <div class=\"flex flex-col w-full flex-1 usersWrapper\"\r\n [ngClass]=\"{'mt-4': display === 'column'}\">\r\n <label class=\"users-label\">\r\n {{userLabel}}\r\n <span class=\"text-danger\" *ngIf=\"isRequired()\">*</span>\r\n </label>\r\n <ng-select \r\n formControlName=\"users\"\r\n #ngSelectComponent \r\n [items]=\"depUsers\" \r\n bindLabel=\"properties.fullName\" \r\n bindValue=\"properties.username\" \r\n [multiple]=\"allowMultipleUsers\"\r\n [placeholder]=\"'share.placeholder' | translate\"\r\n (change)=\"setUser()\"\r\n >\r\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\r\n <div class=\"ng-option disabled\" *ngIf=\"!depAnditsUsers?.get('dep').value;else notFound\">\r\n {{'archiveSearch.select_dep' | translate}}\r\n </div>\r\n <ng-template #notFound>\r\n <div class=\"ng-option disabled\">\r\n {{'archiveSearch.noUsers' | translate}}\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\r\n <div class=\"flex flex-col h-full\">\r\n <div *ngIf=\"item\" class=\"flex flex-row\">\r\n <div class=\"flex-0 w-8 h-8 rounded-full overflow-hidden\">\r\n <cts-avatar [user]=\"{\r\n properties: {\r\n firstName: item.properties?.firstName,\r\n lastName: item.properties?.lastName\r\n }\r\n }\">\r\n </cts-avatar>\r\n </div>\r\n <div class=\"flex flex-col pt-0 px-2\">\r\n <span>{{item.properties?.fullName}}</span>\r\n <span>{{item.properties?.email}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n </div>\r\n</form>", styles: [".userByDepSelectors ngx-dropdown-treeview>.dropdown{@apply bg-primary-50 border-primary-100 !important;}.userByDepSelectors .ng-select .ng-select-container .ng-value-container .ng-placeholder{font-size:12px!important;margin-top:4px!important}\n"], components: [{ type: i3.DynamicFormDepartmentComponent, selector: "app-dynamic-form-department", inputs: ["treeview", "treeViewAsFormControl", "placeholder", "multiple", "searchable", "label", "defaultSelect", "displayDepTypee", "displayIsAllowRecExternal", "pp_departmentNestedTree", "pp_departmentTree", "customPrefix", "useCustomAddEditAction", "customParentProperty", "customParams", "disabled", "fixedParentNode"], outputs: ["onSelecting", "actionClicked"] }, { type: i4.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i5.AvatarComponent, selector: "cts-avatar", inputs: ["user"] }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.ɵl, selector: "[ng-notfound-tmp]" }, { type: i4.ɵf, selector: "[ng-option-tmp]" }], pipes: { "translate": i7.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
92
92
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SelectUsersByDepartmentsComponent, decorators: [{
|
|
93
93
|
type: Component,
|
|
94
94
|
args: [{
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
5
|
+
import { SpellCheckerTextFieldComponent } from './spell-checker-text-field/spell-checker-text-field.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class SpellCheckerFieldModule {
|
|
8
|
+
}
|
|
9
|
+
SpellCheckerFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SpellCheckerFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
SpellCheckerFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SpellCheckerFieldModule, declarations: [SpellCheckerTextFieldComponent], imports: [CommonModule,
|
|
11
|
+
FormsModule,
|
|
12
|
+
TranslateModule,
|
|
13
|
+
ReactiveFormsModule], exports: [SpellCheckerTextFieldComponent] });
|
|
14
|
+
SpellCheckerFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SpellCheckerFieldModule, imports: [[
|
|
15
|
+
CommonModule,
|
|
16
|
+
FormsModule,
|
|
17
|
+
TranslateModule,
|
|
18
|
+
ReactiveFormsModule
|
|
19
|
+
]] });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SpellCheckerFieldModule, decorators: [{
|
|
21
|
+
type: NgModule,
|
|
22
|
+
args: [{
|
|
23
|
+
declarations: [
|
|
24
|
+
SpellCheckerTextFieldComponent
|
|
25
|
+
],
|
|
26
|
+
imports: [
|
|
27
|
+
CommonModule,
|
|
28
|
+
FormsModule,
|
|
29
|
+
TranslateModule,
|
|
30
|
+
ReactiveFormsModule
|
|
31
|
+
],
|
|
32
|
+
exports: [
|
|
33
|
+
SpellCheckerTextFieldComponent
|
|
34
|
+
]
|
|
35
|
+
}]
|
|
36
|
+
}] });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlbGwtY2hlY2tlci1maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3NwZWxsLWNoZWNrZXItZmllbGQvc3BlbGwtY2hlY2tlci1maWVsZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQzs7QUFrQi9HLE1BQU0sT0FBTyx1QkFBdUI7O3FIQUF2Qix1QkFBdUI7c0hBQXZCLHVCQUF1QixpQkFaaEMsOEJBQThCLGFBRzlCLFlBQVk7UUFDWixXQUFXO1FBQ1gsZUFBZTtRQUNmLG1CQUFtQixhQUduQiw4QkFBOEI7c0hBR3JCLHVCQUF1QixZQVZ6QjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsZUFBZTtZQUNmLG1CQUFtQjtTQUNwQjs0RkFLVSx1QkFBdUI7a0JBZG5DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDhCQUE4QjtxQkFDL0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxlQUFlO3dCQUNmLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDhCQUE4QjtxQkFDL0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7IFNwZWxsQ2hlY2tlclRleHRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vc3BlbGwtY2hlY2tlci10ZXh0LWZpZWxkL3NwZWxsLWNoZWNrZXItdGV4dC1maWVsZC5jb21wb25lbnQnO1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU3BlbGxDaGVja2VyVGV4dEZpZWxkQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNwZWxsQ2hlY2tlclRleHRGaWVsZENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNwZWxsQ2hlY2tlckZpZWxkTW9kdWxlIHsgfVxuIl19
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { debounceTime, takeUntil } from 'rxjs/operators';
|
|
3
|
+
import { BaseSelector } from '../../../shared/components/base';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@ngx-translate/core";
|
|
8
|
+
export class SpellCheckerTextFieldComponent extends BaseSelector {
|
|
9
|
+
constructor(injector, control) {
|
|
10
|
+
super(injector);
|
|
11
|
+
this.control = control;
|
|
12
|
+
this.id = '';
|
|
13
|
+
this.placeholder = '';
|
|
14
|
+
this.fieldType = 'text';
|
|
15
|
+
this.enteredText = '';
|
|
16
|
+
this.trackChange = true;
|
|
17
|
+
this.checkFromText = new EventEmitter();
|
|
18
|
+
this.control.valueAccessor = this;
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
this.control.valueChanges
|
|
22
|
+
.pipe(debounceTime(500), takeUntil(this.destroy$))
|
|
23
|
+
.subscribe(res => {
|
|
24
|
+
if (res && this.trackChange) {
|
|
25
|
+
this.checkFromText.emit(true);
|
|
26
|
+
// const caretOffset = this.saveCaretPosition();
|
|
27
|
+
// console.log('caretOffset', caretOffset)
|
|
28
|
+
// setTimeout(() => {
|
|
29
|
+
// this.enteredText = this.documentUploadService.checkTextIfCorrect(res).map(_word => _word.word).join(' ');
|
|
30
|
+
// this.restoreCaretPosition(caretOffset);
|
|
31
|
+
// }, 0);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
onInput() {
|
|
36
|
+
this.trackChange = true;
|
|
37
|
+
if (this.spellCheckerField.nativeElement.innerText.trim() === '') {
|
|
38
|
+
this.onChange(null);
|
|
39
|
+
this.spellCheckerField.nativeElement.innerText = '';
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
this.onChange(this.spellCheckerField.nativeElement.innerText);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
onBlur() {
|
|
46
|
+
this.spellCheckerField.nativeElement.scrollLeft = 0;
|
|
47
|
+
}
|
|
48
|
+
setDisabledState(isDisabled) {
|
|
49
|
+
this.disabled = isDisabled;
|
|
50
|
+
}
|
|
51
|
+
writeValue(value) {
|
|
52
|
+
this.trackChange = false;
|
|
53
|
+
this.enteredText = value || '';
|
|
54
|
+
setTimeout(() => {
|
|
55
|
+
if (this.spellCheckerField) {
|
|
56
|
+
this.onChange(this.spellCheckerField.nativeElement.innerText);
|
|
57
|
+
}
|
|
58
|
+
}, 1000);
|
|
59
|
+
this.cdr.detectChanges();
|
|
60
|
+
}
|
|
61
|
+
validate(control) {
|
|
62
|
+
return control.valid ? null : control.errors;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
SpellCheckerTextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SpellCheckerTextFieldComponent, deps: [{ token: i0.Injector }, { token: i1.NgControl }], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
+
SpellCheckerTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SpellCheckerTextFieldComponent, selector: "ndf-spell-checker-text-field", inputs: { id: "id", placeholder: "placeholder", fieldType: "fieldType", label: "label" }, outputs: { checkFromText: "checkFromText" }, viewQueries: [{ propertyName: "spellCheckerField", first: true, predicate: ["spellCheckerField"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"spellCheckerFieldWrapper\">\r\n <span class=\"spellCheckerFieldLabel\" *ngIf=\"label\">{{\r\n label | translate\r\n }}</span>\r\n <div\r\n class=\"spellCheckerField {{ fieldType }} {{ disabled ? 'disabled' : '' }}\"\r\n >\r\n <p class=\"placeholder\" *ngIf=\"!spellCheckerField.innerText && placeholder\">\r\n {{ placeholder | translate }}\r\n </p>\r\n <div\r\n [id]=\"id\"\r\n class=\"contentField {{ fieldType }}\"\r\n #spellCheckerField\r\n [attr.contenteditable]=\"!disabled\"\r\n [attr.placeholder]=\"placeholder\"\r\n (input)=\"onInput()\"\r\n (blur)=\"onBlur()\"\r\n [innerHtml]=\"enteredText\"\r\n ></div>\r\n </div>\r\n</div>\r\n", styles: [".spellCheckerFieldWrapper{display:flex;flex-direction:column;width:100%}.spellCheckerFieldWrapper .spellCheckerField{width:100%;display:flex;position:relative;border-radius:4px;padding:.25rem .75rem;border:1px solid lightgray}.spellCheckerFieldWrapper .spellCheckerField:focus-within{border:1px solid #6c74e7}.spellCheckerFieldWrapper .spellCheckerField.text{white-space:nowrap;outline:none;overflow:hidden;align-items:center;height:40px}.spellCheckerFieldWrapper .spellCheckerField.textarea{white-space:pre-wrap;word-wrap:break-word;outline:none;overflow-x:hidden;overflow-y:auto;min-height:120px;max-height:200px;height:auto!important;align-items:start}.spellCheckerFieldWrapper .placeholder{position:absolute;color:#000;z-index:1}.spellCheckerFieldWrapper .contentField{overflow:hidden;padding-bottom:.25rem;position:relative;z-index:2}.spellCheckerFieldWrapper .spellCheckerField.disabled{opacity:.5;cursor:default;pointer-events:none;background-color:#e9ecef!important}.spellCheckerFieldWrapper .contentField.text{position:absolute;width:calc(100% - 24px)}.spellCheckerFieldWrapper .contentField.textarea{width:100%;height:100%;min-height:108px}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i3.TranslatePipe } });
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SpellCheckerTextFieldComponent, decorators: [{
|
|
68
|
+
type: Component,
|
|
69
|
+
args: [{
|
|
70
|
+
selector: 'ndf-spell-checker-text-field',
|
|
71
|
+
templateUrl: './spell-checker-text-field.component.html',
|
|
72
|
+
styleUrls: ['./spell-checker-text-field.component.scss']
|
|
73
|
+
}]
|
|
74
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.NgControl }]; }, propDecorators: { id: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], placeholder: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], fieldType: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], label: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], spellCheckerField: [{
|
|
83
|
+
type: ViewChild,
|
|
84
|
+
args: ['spellCheckerField']
|
|
85
|
+
}], checkFromText: [{
|
|
86
|
+
type: Output
|
|
87
|
+
}] } });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlbGwtY2hlY2tlci10ZXh0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvc3BlbGwtY2hlY2tlci1maWVsZC9zcGVsbC1jaGVja2VyLXRleHQtZmllbGQvc3BlbGwtY2hlY2tlci10ZXh0LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvc3BlbGwtY2hlY2tlci1maWVsZC9zcGVsbC1jaGVja2VyLXRleHQtZmllbGQvc3BlbGwtY2hlY2tlci10ZXh0LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFZLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhHLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7OztBQU8vRCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsWUFBWTtJQVU5RCxZQUFZLFFBQWtCLEVBQ3JCLE9BQWtCO1FBRXpCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUZULFlBQU8sR0FBUCxPQUFPLENBQVc7UUFUbEIsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUNoQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixjQUFTLEdBQXdCLE1BQU0sQ0FBQztRQUdqRCxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixnQkFBVyxHQUFZLElBQUksQ0FBQztRQUNsQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFLcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZO2FBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ3JCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDMUIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzlCLGdEQUFnRDtnQkFDaEQsMENBQTBDO2dCQUMxQyxxQkFBcUI7Z0JBQ3JCLDhHQUE4RztnQkFDOUcsNENBQTRDO2dCQUM1QyxTQUFTO2FBQ1Y7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7U0FDckQ7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMvRDtJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQy9EO1FBQ0gsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQXdCO1FBQy9CLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQy9DLENBQUM7OzRIQWpFVSw4QkFBOEI7Z0hBQTlCLDhCQUE4QiwwVkNWM0MsaXRCQXNCQTs0RkRaYSw4QkFBOEI7a0JBTDFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsV0FBVyxFQUFFLDJDQUEyQztvQkFDeEQsU0FBUyxFQUFFLENBQUMsMkNBQTJDLENBQUM7aUJBQ3pEO3VIQUdVLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUMwQixpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsbUJBQW1CO2dCQUdwQixhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOZ0NvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCYXNlU2VsZWN0b3IgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9iYXNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmRmLXNwZWxsLWNoZWNrZXItdGV4dC1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NwZWxsLWNoZWNrZXItdGV4dC1maWVsZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3BlbGwtY2hlY2tlci10ZXh0LWZpZWxkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNwZWxsQ2hlY2tlclRleHRGaWVsZENvbXBvbmVudCBleHRlbmRzIEJhc2VTZWxlY3RvciB7XHJcblxyXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgZmllbGRUeXBlOiAndGV4dCcgfCAndGV4dGFyZWEnID0gJ3RleHQnO1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgQFZpZXdDaGlsZCgnc3BlbGxDaGVja2VyRmllbGQnKSBzcGVsbENoZWNrZXJGaWVsZDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgZW50ZXJlZFRleHQ6IHN0cmluZyA9ICcnO1xyXG4gIHRyYWNrQ2hhbmdlOiBib29sZWFuID0gdHJ1ZTtcclxuICBAT3V0cHV0KCkgY2hlY2tGcm9tVGV4dCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwdWJsaWMgY29udHJvbDogTmdDb250cm9sLFxyXG4gICkge1xyXG4gICAgc3VwZXIoaW5qZWN0b3IpO1xyXG4gICAgdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MDApLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgdGhpcy50cmFja0NoYW5nZSkge1xyXG4gICAgICAgICAgdGhpcy5jaGVja0Zyb21UZXh0LmVtaXQodHJ1ZSk7XHJcbiAgICAgICAgICAvLyBjb25zdCBjYXJldE9mZnNldCA9IHRoaXMuc2F2ZUNhcmV0UG9zaXRpb24oKTtcclxuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdjYXJldE9mZnNldCcsIGNhcmV0T2Zmc2V0KVxyXG4gICAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAvLyAgIHRoaXMuZW50ZXJlZFRleHQgPSB0aGlzLmRvY3VtZW50VXBsb2FkU2VydmljZS5jaGVja1RleHRJZkNvcnJlY3QocmVzKS5tYXAoX3dvcmQgPT4gX3dvcmQud29yZCkuam9pbignICcpO1xyXG4gICAgICAgICAgLy8gICB0aGlzLnJlc3RvcmVDYXJldFBvc2l0aW9uKGNhcmV0T2Zmc2V0KTtcclxuICAgICAgICAgIC8vIH0sIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICB9XHJcblxyXG4gIG9uSW5wdXQoKSB7XHJcbiAgICB0aGlzLnRyYWNrQ2hhbmdlID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLnNwZWxsQ2hlY2tlckZpZWxkLm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0LnRyaW0oKSA9PT0gJycpIHtcclxuICAgICAgdGhpcy5vbkNoYW5nZShudWxsKTtcclxuICAgICAgdGhpcy5zcGVsbENoZWNrZXJGaWVsZC5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCA9ICcnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNwZWxsQ2hlY2tlckZpZWxkLm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQmx1cigpIHtcclxuICAgIHRoaXMuc3BlbGxDaGVja2VyRmllbGQubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gMDtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYWNrQ2hhbmdlID0gZmFsc2U7XHJcbiAgICB0aGlzLmVudGVyZWRUZXh0ID0gdmFsdWUgfHwgJyc7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuc3BlbGxDaGVja2VyRmllbGQpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc3BlbGxDaGVja2VyRmllbGQubmF0aXZlRWxlbWVudC5pbm5lclRleHQpO1xyXG4gICAgICB9XHJcbiAgICB9LCAxMDAwKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xyXG4gICAgcmV0dXJuIGNvbnRyb2wudmFsaWQgPyBudWxsIDogY29udHJvbC5lcnJvcnM7XHJcbiAgfVxyXG4gIC8vIHNhdmVDYXJldFBvc2l0aW9uKCkge1xyXG4gIC8vICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xyXG4gIC8vICAgaWYgKHNlbGVjdGlvbi5yYW5nZUNvdW50ID09PSAwKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgLy8gICBjb25zdCByYW5nZSA9IHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApO1xyXG4gIC8vICAgY29uc3QgcHJlQ2FyZXRSYW5nZSA9IHJhbmdlLmNsb25lUmFuZ2UoKTtcclxuICAvLyAgIHByZUNhcmV0UmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKHRoaXMuc3BlbGxDaGVja2VyRmllbGQubmF0aXZlRWxlbWVudCk7XHJcbiAgLy8gICBwcmVDYXJldFJhbmdlLnNldEVuZChyYW5nZS5lbmRDb250YWluZXIsIHJhbmdlLmVuZE9mZnNldCk7XHJcblxyXG4gIC8vICAgY29uc3QgY2FyZXRPZmZzZXQgPSBwcmVDYXJldFJhbmdlLnRvU3RyaW5nKCkubGVuZ3RoO1xyXG4gIC8vICAgcmV0dXJuIGNhcmV0T2Zmc2V0O1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gcmVzdG9yZUNhcmV0UG9zaXRpb24oY2FyZXRPZmZzZXQpIHtcclxuICAvLyAgIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcclxuICAvLyAgIGNvbnN0IHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtcclxuICAvLyAgIGxldCBjdXJyZW50T2Zmc2V0ID0gMDtcclxuXHJcbiAgLy8gICBjb25zdCB0cmF2ZXJzZU5vZGVzID0gKG5vZGUpID0+IHtcclxuICAvLyAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFKSB7XHJcbiAgLy8gICAgICAgY29uc3QgbmV4dE9mZnNldCA9IGN1cnJlbnRPZmZzZXQgKyBub2RlLmxlbmd0aDtcclxuICAvLyAgICAgICBpZiAoY2FyZXRPZmZzZXQgPj0gY3VycmVudE9mZnNldCAmJiBjYXJldE9mZnNldCA8PSBuZXh0T2Zmc2V0KSB7XHJcbiAgLy8gICAgICAgICByYW5nZS5zZXRTdGFydChub2RlLCBjYXJldE9mZnNldCAtIGN1cnJlbnRPZmZzZXQpO1xyXG4gIC8vICAgICAgICAgcmFuZ2UuY29sbGFwc2UodHJ1ZSk7XHJcbiAgLy8gICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgICAgY3VycmVudE9mZnNldCA9IG5leHRPZmZzZXQ7XHJcbiAgLy8gICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBub2RlLmNoaWxkTm9kZXMubGVuZ3RoOyBpKyspIHtcclxuICAvLyAgICAgICAgIGlmICh0cmF2ZXJzZU5vZGVzKG5vZGUuY2hpbGROb2Rlc1tpXSkpIHtcclxuICAvLyAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9XHJcbiAgLy8gICAgIHJldHVybiBmYWxzZTtcclxuICAvLyAgIH07XHJcblxyXG4gIC8vICAgdHJhdmVyc2VOb2Rlcyh0aGlzLnNwZWxsQ2hlY2tlckZpZWxkLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIC8vICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgLy8gICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcclxuICAvLyAgICAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTtcclxuICAvLyAgIH0sIDUwKTtcclxuICAvLyB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNwZWxsQ2hlY2tlckZpZWxkV3JhcHBlclwiPlxyXG4gIDxzcGFuIGNsYXNzPVwic3BlbGxDaGVja2VyRmllbGRMYWJlbFwiICpuZ0lmPVwibGFiZWxcIj57e1xyXG4gICAgbGFiZWwgfCB0cmFuc2xhdGVcclxuICB9fTwvc3Bhbj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInNwZWxsQ2hlY2tlckZpZWxkIHt7IGZpZWxkVHlwZSB9fSB7eyBkaXNhYmxlZCA/ICdkaXNhYmxlZCcgOiAnJyB9fVwiXHJcbiAgPlxyXG4gICAgPHAgY2xhc3M9XCJwbGFjZWhvbGRlclwiICpuZ0lmPVwiIXNwZWxsQ2hlY2tlckZpZWxkLmlubmVyVGV4dCAmJiBwbGFjZWhvbGRlclwiPlxyXG4gICAgICB7eyBwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9wPlxyXG4gICAgPGRpdlxyXG4gICAgICBbaWRdPVwiaWRcIlxyXG4gICAgICBjbGFzcz1cImNvbnRlbnRGaWVsZCB7eyBmaWVsZFR5cGUgfX1cIlxyXG4gICAgICAjc3BlbGxDaGVja2VyRmllbGRcclxuICAgICAgW2F0dHIuY29udGVudGVkaXRhYmxlXT1cIiFkaXNhYmxlZFwiXHJcbiAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgKGlucHV0KT1cIm9uSW5wdXQoKVwiXHJcbiAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcclxuICAgICAgW2lubmVySHRtbF09XCJlbnRlcmVkVGV4dFwiXHJcbiAgICA+PC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Component, Input, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../core/services/extension/extension.service";
|
|
4
|
+
export class DynamicCustomComponent {
|
|
5
|
+
constructor(_extensions, _factoryResolver) {
|
|
6
|
+
this._extensions = _extensions;
|
|
7
|
+
this._factoryResolver = _factoryResolver;
|
|
8
|
+
}
|
|
9
|
+
ngOnInit() {
|
|
10
|
+
const componentType = this._extensions.getComponentById(this.componentName);
|
|
11
|
+
if (componentType) {
|
|
12
|
+
const factory = this._factoryResolver.resolveComponentFactory(componentType);
|
|
13
|
+
if (factory) {
|
|
14
|
+
this._componentRef = this._vcr.createComponent(factory, 0);
|
|
15
|
+
this.updateInstance();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
ngOnChanges(changes) {
|
|
20
|
+
this.updateInstance();
|
|
21
|
+
}
|
|
22
|
+
updateInstance() {
|
|
23
|
+
var _a;
|
|
24
|
+
if ((_a = this._componentRef) === null || _a === void 0 ? void 0 : _a.instance) {
|
|
25
|
+
this._componentRef.instance.row = this.row;
|
|
26
|
+
this._componentRef.instance.onAction = this.rowAction;
|
|
27
|
+
this._componentRef.instance.onClick = this.onClick;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
ngOnDestroy() {
|
|
31
|
+
if (this._componentRef) {
|
|
32
|
+
this._componentRef.destroy();
|
|
33
|
+
this._componentRef = null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
DynamicCustomComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicCustomComponent, deps: [{ token: i1.ExtensionService }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
DynamicCustomComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicCustomComponent, selector: "app-dynamic-component", inputs: { componentName: "componentName", row: "row", rowAction: "rowAction", onClick: "onClick" }, host: { classAttribute: "dynamic-component" }, viewQueries: [{ propertyName: "_vcr", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: ` <ng-container #container></ng-container> `, isInline: true, encapsulation: i0.ViewEncapsulation.None });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicCustomComponent, decorators: [{
|
|
40
|
+
type: Component,
|
|
41
|
+
args: [{
|
|
42
|
+
selector: 'app-dynamic-component',
|
|
43
|
+
template: ` <ng-container #container></ng-container> `,
|
|
44
|
+
encapsulation: ViewEncapsulation.None,
|
|
45
|
+
host: { class: 'dynamic-component' }
|
|
46
|
+
}]
|
|
47
|
+
}], ctorParameters: function () { return [{ type: i1.ExtensionService }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { _vcr: [{
|
|
48
|
+
type: ViewChild,
|
|
49
|
+
args: ['container', { read: ViewContainerRef, static: true }]
|
|
50
|
+
}], componentName: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], row: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], rowAction: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], onClick: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}] } });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2R5bmFtaWMtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBSVQsS0FBSyxFQUtMLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7QUFTdkIsTUFBTSxPQUFPLHNCQUFzQjtJQWFsQyxZQUFvQixXQUE2QixFQUFVLGdCQUEwQztRQUFqRixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTBCO0lBQUcsQ0FBQztJQUV6RyxRQUFRO1FBQ1AsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUUsSUFBSSxhQUFhLEVBQUU7WUFDbEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzdFLElBQUksT0FBTyxFQUFFO2dCQUNaLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDdEI7U0FDRDtJQUNGLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFDakMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxjQUFjOztRQUNyQixJQUFJLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsUUFBUSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQzNDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ25EO0lBQ0YsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUMxQjtJQUNGLENBQUM7O29IQTFDVyxzQkFBc0I7d0dBQXRCLHNCQUFzQiw4UkFDRixnQkFBZ0IsZ0VBTHRDLDRDQUE0Qzs0RkFJMUMsc0JBQXNCO2tCQU5sQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSw0Q0FBNEM7b0JBQ3RELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUU7aUJBQ3BDOzhJQUdRLElBQUk7c0JBRFgsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHdkQsYUFBYTtzQkFBckIsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEV4dGVuc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL2V4dGVuc2lvbi9leHRlbnNpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1keW5hbWljLWNvbXBvbmVudCcsXHJcblx0dGVtcGxhdGU6IGAgPG5nLWNvbnRhaW5lciAjY29udGFpbmVyPjwvbmctY29udGFpbmVyPiBgLFxyXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcblx0aG9zdDogeyBjbGFzczogJ2R5bmFtaWMtY29tcG9uZW50JyB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljQ3VzdG9tQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcblx0QFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSlcclxuXHRwcml2YXRlIF92Y3I6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG5cdEBJbnB1dCgpIGNvbXBvbmVudE5hbWU6IHN0cmluZztcclxuXHJcblx0QElucHV0KCkgcm93OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cclxuXHRASW5wdXQoKSByb3dBY3Rpb246IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cdEBJbnB1dCgpIG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuXHRwcml2YXRlIF9jb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIF9leHRlbnNpb25zOiBFeHRlbnNpb25TZXJ2aWNlLCBwcml2YXRlIF9mYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge31cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHRjb25zdCBjb21wb25lbnRUeXBlID0gdGhpcy5fZXh0ZW5zaW9ucy5nZXRDb21wb25lbnRCeUlkKHRoaXMuY29tcG9uZW50TmFtZSk7XHJcblx0XHRpZiAoY29tcG9uZW50VHlwZSkge1xyXG5cdFx0XHRjb25zdCBmYWN0b3J5ID0gdGhpcy5fZmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudFR5cGUpO1xyXG5cdFx0XHRpZiAoZmFjdG9yeSkge1xyXG5cdFx0XHRcdHRoaXMuX2NvbXBvbmVudFJlZiA9IHRoaXMuX3Zjci5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSwgMCk7XHJcblx0XHRcdFx0dGhpcy51cGRhdGVJbnN0YW5jZSgpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuXHRcdHRoaXMudXBkYXRlSW5zdGFuY2UoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgdXBkYXRlSW5zdGFuY2UoKSB7XHJcblx0XHRpZiAodGhpcy5fY29tcG9uZW50UmVmPy5pbnN0YW5jZSkge1xyXG5cdFx0XHR0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2Uucm93ID0gdGhpcy5yb3c7XHJcblx0XHRcdHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5vbkFjdGlvbiA9IHRoaXMucm93QWN0aW9uO1xyXG5cdFx0XHR0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2Uub25DbGljayA9IHRoaXMub25DbGljaztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCkge1xyXG5cdFx0aWYgKHRoaXMuX2NvbXBvbmVudFJlZikge1xyXG5cdFx0XHR0aGlzLl9jb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG5cdFx0XHR0aGlzLl9jb21wb25lbnRSZWYgPSBudWxsO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXX0=
|