vcomply-workflow-engine 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/vcomply-workflow-engine.umd.js +244 -3761
- package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
- package/esm2015/lib/add-multiple-responsibility/add-multiple-responsibility.component.js +1 -1
- package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.js +1 -1
- package/esm2015/lib/formgroup/cs-checkbox/cs-checkbox.component.js +2 -5
- package/esm2015/lib/formgroup/cs-checkbox/cs-checkbox.component.ngfactory.js +2 -5
- package/esm2015/lib/formgroup/cs-checkbox/cs-checkbox.component.ngsummary.json +1 -1
- package/esm2015/lib/formgroup/formgroup.module.js +4 -23
- package/esm2015/lib/formgroup/formgroup.module.ngfactory.js +1 -1
- package/esm2015/lib/formgroup/formgroup.module.ngsummary.json +1 -1
- package/esm2015/lib/log-an-issue/log-an-issue.component.js +1 -1
- package/esm2015/lib/more-option/more-option.component.js +2 -53
- package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.ngfactory.js +1 -1
- package/esm2015/lib/sharedComponents/assessment-preview/assessment-preview.module.ngfactory.js +1 -1
- package/esm2015/lib/sharedComponents/floating-bar/floating-bar.component.js +1 -1
- package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.js +1 -1
- package/esm2015/lib/sharedComponents/risk-classification/risk-classification.component.js +1 -1
- package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.js +2 -5
- package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngfactory.js +2 -5
- package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngsummary.json +1 -1
- package/esm2015/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.js +2 -5
- package/esm2015/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngfactory.js +2 -5
- package/esm2015/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngsummary.json +1 -1
- package/esm2015/lib/ui-kit/formgroup/formgroup.module.ngfactory.js +1 -1
- package/esm2015/lib/ui-kit/pagination/pagination/pagination.component.js +1 -1
- package/esm2015/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.js +1 -1
- package/esm2015/lib/workflow-assessment/workflow-assessment.component.js +1 -1
- package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +11 -8
- package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +6 -29
- package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.js +46 -77
- package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngsummary.json +1 -1
- package/esm2015/lib/workflow-engine.module.js +4 -11
- package/esm2015/lib/workflow-engine.module.ngfactory.js +6 -9
- package/esm2015/lib/workflow-engine.module.ngsummary.json +1 -1
- package/esm2015/lib/workflow-policy/workflow-policy.component.js +3 -3
- package/esm2015/lib/workflow-policy/workflow-policy.component.ngfactory.js +2 -2
- package/esm2015/lib/workflow-risk/workflow-risk.component.js +1 -1
- package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.js +1 -1
- package/esm2015/vcomply-workflow-engine.js +152 -189
- package/esm2015/vcomply-workflow-engine.ngsummary.json +1 -1
- package/fesm2015/vcomply-workflow-engine.js +92 -3400
- package/fesm2015/vcomply-workflow-engine.js.map +1 -1
- package/lib/formgroup/cs-checkbox/cs-checkbox.component.d.ts +0 -1
- package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +0 -1
- package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +0 -1
- package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +0 -4
- package/package.json +1 -1
- package/vcomply-workflow-engine.d.ts +151 -188
- package/vcomply-workflow-engine.metadata.json +1 -1
- package/esm2015/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.js +0 -33
- package/esm2015/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngfactory.js +0 -33
- package/esm2015/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/roles-list/roles-list.component.js +0 -25
- package/esm2015/lib/sharedComponents/roles-list/roles-list.component.ngfactory.js +0 -51
- package/esm2015/lib/sharedComponents/roles-list/roles-list.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/no-data/no-data.component.js +0 -36
- package/esm2015/lib/ui-kit/no-data/no-data.component.ngfactory.js +0 -27
- package/esm2015/lib/ui-kit/no-data/no-data.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/no-data/no-data.module.js +0 -13
- package/esm2015/lib/ui-kit/no-data/no-data.module.ngfactory.js +0 -12
- package/esm2015/lib/ui-kit/no-data/no-data.module.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/constants.js +0 -43
- package/esm2015/lib/workflow-program/constants.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.js +0 -15
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.ngfactory.js +0 -19
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.js +0 -214
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ngfactory.js +0 -229
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.js +0 -15
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.ngfactory.js +0 -19
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.js +0 -46
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.js +0 -109
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.ngfactory.js +0 -37
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/checkbox/checkbox.component.js +0 -40
- package/esm2015/lib/workflow-program/create-program-ui/checkbox/checkbox.component.ngfactory.js +0 -24
- package/esm2015/lib/workflow-program/create-program-ui/checkbox/checkbox.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.js +0 -106
- package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngfactory.js +0 -26
- package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.js +0 -45
- package/esm2015/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.ngfactory.js +0 -44
- package/esm2015/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/custom-field/custom-field.component.js +0 -82
- package/esm2015/lib/workflow-program/create-program-ui/custom-field/custom-field.component.ngfactory.js +0 -51
- package/esm2015/lib/workflow-program/create-program-ui/custom-field/custom-field.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.js +0 -241
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.ngfactory.js +0 -253
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.js +0 -47
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.js +0 -15
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.ngfactory.js +0 -19
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.js +0 -19
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.js +0 -19
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.js +0 -23
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/directives/input-trim.directive.js +0 -17
- package/esm2015/lib/workflow-program/create-program-ui/directives/input-trim.directive.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/file-pill/file-pill.component.js +0 -24
- package/esm2015/lib/workflow-program/create-program-ui/file-pill/file-pill.component.ngfactory.js +0 -38
- package/esm2015/lib/workflow-program/create-program-ui/file-pill/file-pill.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.js +0 -77
- package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ngfactory.js +0 -25
- package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/form-field/form-field.component.js +0 -16
- package/esm2015/lib/workflow-program/create-program-ui/form-field/form-field.component.ngfactory.js +0 -24
- package/esm2015/lib/workflow-program/create-program-ui/form-field/form-field.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.js +0 -23
- package/esm2015/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.ngfactory.js +0 -23
- package/esm2015/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.js +0 -145
- package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.ngfactory.js +0 -59
- package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination.module.js +0 -21
- package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination.module.ngfactory.js +0 -13
- package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination.module.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.js +0 -12
- package/esm2015/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/pipes/pager.pipe.js +0 -17
- package/esm2015/lib/workflow-program/create-program-ui/pipes/pager.pipe.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.js +0 -13
- package/esm2015/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/pipes/search.pipe.js +0 -20
- package/esm2015/lib/workflow-program/create-program-ui/pipes/search.pipe.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/role-list/loader/loader.component.js +0 -15
- package/esm2015/lib/workflow-program/create-program-ui/role-list/loader/loader.component.ngfactory.js +0 -19
- package/esm2015/lib/workflow-program/create-program-ui/role-list/loader/loader.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.js +0 -162
- package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.ngfactory.js +0 -94
- package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.js +0 -41
- package/esm2015/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.ngfactory.js +0 -23
- package/esm2015/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.js +0 -15
- package/esm2015/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.ngfactory.js +0 -19
- package/esm2015/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.js +0 -240
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngfactory.js +0 -186
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/workflow-program.component.js +0 -1096
- package/esm2015/lib/workflow-program/workflow-program.component.ngfactory.js +0 -853
- package/esm2015/lib/workflow-program/workflow-program.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-services/programs.service.js +0 -182
- package/esm2015/lib/workflow-services/programs.service.ngsummary.json +0 -1
- package/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +0 -11
- package/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/roles-list/roles-list.component.d.ts +0 -8
- package/lib/sharedComponents/roles-list/roles-list.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/no-data/no-data.component.d.ts +0 -18
- package/lib/ui-kit/no-data/no-data.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/no-data/no-data.module.d.ts +0 -2
- package/lib/ui-kit/no-data/no-data.module.ngfactory.d.ts +0 -3
- package/lib/workflow-program/constants.d.ts +0 -40
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.d.ts +0 -5
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +0 -91
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.d.ts +0 -5
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.d.ts +0 -13
- package/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.d.ts +0 -24
- package/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/checkbox/checkbox.component.d.ts +0 -13
- package/lib/workflow-program/create-program-ui/checkbox/checkbox.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/create-program-ui.module.d.ts +0 -2
- package/lib/workflow-program/create-program-ui/create-program-ui.module.ngfactory.d.ts +0 -3
- package/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.d.ts +0 -17
- package/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/custom-field/custom-field.component.d.ts +0 -19
- package/lib/workflow-program/create-program-ui/custom-field/custom-field.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.d.ts +0 -63
- package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.d.ts +0 -12
- package/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.d.ts +0 -5
- package/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.d.ts +0 -4
- package/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.d.ts +0 -4
- package/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.d.ts +0 -4
- package/lib/workflow-program/create-program-ui/directives/input-trim.directive.d.ts +0 -3
- package/lib/workflow-program/create-program-ui/file-pill/file-pill.component.d.ts +0 -9
- package/lib/workflow-program/create-program-ui/file-pill/file-pill.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.d.ts +0 -33
- package/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/form-field/form-field.component.d.ts +0 -9
- package/lib/workflow-program/create-program-ui/form-field/form-field.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.d.ts +0 -8
- package/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.d.ts +0 -25
- package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/pagination/pagination.module.d.ts +0 -2
- package/lib/workflow-program/create-program-ui/pagination/pagination.module.ngfactory.d.ts +0 -3
- package/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.d.ts +0 -4
- package/lib/workflow-program/create-program-ui/pipes/pager.pipe.d.ts +0 -4
- package/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.d.ts +0 -4
- package/lib/workflow-program/create-program-ui/pipes/search.pipe.d.ts +0 -4
- package/lib/workflow-program/create-program-ui/role-list/loader/loader.component.d.ts +0 -5
- package/lib/workflow-program/create-program-ui/role-list/loader/loader.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/role-list/role-list.component.d.ts +0 -62
- package/lib/workflow-program/create-program-ui/role-list/role-list.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.d.ts +0 -17
- package/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.d.ts +0 -5
- package/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +0 -88
- package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/workflow-program.component.d.ts +0 -171
- package/lib/workflow-program/workflow-program.component.ngfactory.d.ts +0 -1
- package/lib/workflow-services/programs.service.d.ts +0 -110
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { FrameworkService } from './framework.service';
|
|
3
|
-
export class DefineFrameworkListingComponent {
|
|
4
|
-
constructor(frameworkService) {
|
|
5
|
-
this.frameworkService = frameworkService;
|
|
6
|
-
this.cancel = new EventEmitter();
|
|
7
|
-
this.next = new EventEmitter();
|
|
8
|
-
this.mode = 'CREATE';
|
|
9
|
-
this.animation = true;
|
|
10
|
-
this.isMainLoader = true;
|
|
11
|
-
this.frameworkCount = null;
|
|
12
|
-
this.searchKey = '';
|
|
13
|
-
this.apiFrameworkPayload = {
|
|
14
|
-
page: 1,
|
|
15
|
-
search: '',
|
|
16
|
-
type: 1,
|
|
17
|
-
};
|
|
18
|
-
this.currentView = 'FRAMEWORK_CATEGORY';
|
|
19
|
-
this.activeFrameworkType = 'REGULATIONS';
|
|
20
|
-
this.frameworkTypes = {
|
|
21
|
-
'REGULATIONS': 1,
|
|
22
|
-
'STANDARDS': 2,
|
|
23
|
-
'INTERNAL_CONTROLS': 3,
|
|
24
|
-
'OTHERS': 0
|
|
25
|
-
};
|
|
26
|
-
this.frameworkData = [];
|
|
27
|
-
this.expandedFrameworkId = '';
|
|
28
|
-
//////////////////
|
|
29
|
-
this.searchKeyforFramework = '';
|
|
30
|
-
this.selectedFrameworkData = null;
|
|
31
|
-
this.allControls = [];
|
|
32
|
-
this.inScope = [];
|
|
33
|
-
this.outScope = [];
|
|
34
|
-
this.inScopeIds = [];
|
|
35
|
-
this.allControlsSelected = false;
|
|
36
|
-
this.issubLoading = true;
|
|
37
|
-
this.expandedSubCategoryIds = [];
|
|
38
|
-
}
|
|
39
|
-
set setFramework(value) {
|
|
40
|
-
var _a;
|
|
41
|
-
if (value && (value === null || value === void 0 ? void 0 : value._id)) {
|
|
42
|
-
this.selectedFramework = value;
|
|
43
|
-
this.activeFrameworkType = (_a = ['OTHERS', 'REGULATIONS', 'STANDARDS', 'INTERNAL_CONTROLS'][value === null || value === void 0 ? void 0 : value.type]) !== null && _a !== void 0 ? _a : 1;
|
|
44
|
-
this.currentView = 'FRAMEWORK';
|
|
45
|
-
this.inScope = value === null || value === void 0 ? void 0 : value.in_scope;
|
|
46
|
-
this.inScopeIds = this.inScope.map((ele) => ele === null || ele === void 0 ? void 0 : ele._id);
|
|
47
|
-
this.loadFrameworkData();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
ngOnInit() {
|
|
51
|
-
this.animation = true;
|
|
52
|
-
setTimeout(() => {
|
|
53
|
-
this.animation = false;
|
|
54
|
-
}, 300);
|
|
55
|
-
this.fetchFrameworkCount();
|
|
56
|
-
this.fetchFrameworkCategoryList();
|
|
57
|
-
}
|
|
58
|
-
fetchFrameworkCount() {
|
|
59
|
-
this.frameworkService.fetchFrameworkCount().subscribe({
|
|
60
|
-
next: (res) => { this.frameworkCount = res; },
|
|
61
|
-
error: (err) => {
|
|
62
|
-
//handle error here
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
changeType(type) {
|
|
67
|
-
this.activeFrameworkType = type;
|
|
68
|
-
this.apiFrameworkPayload.page = 1;
|
|
69
|
-
this.apiFrameworkPayload.type = this.frameworkTypes[type];
|
|
70
|
-
this.frameworkListSubscription ? this.frameworkListSubscription.unsubscribe() : null;
|
|
71
|
-
this.fetchFrameworkCategoryList();
|
|
72
|
-
}
|
|
73
|
-
executeSearch() {
|
|
74
|
-
this.apiFrameworkPayload.page = 1;
|
|
75
|
-
this.apiFrameworkPayload.search = this.searchKey;
|
|
76
|
-
this.fetchFrameworkCategoryList();
|
|
77
|
-
}
|
|
78
|
-
pageChanged(evt) {
|
|
79
|
-
this.apiFrameworkPayload.page = evt;
|
|
80
|
-
this.fetchFrameworkCategoryList();
|
|
81
|
-
}
|
|
82
|
-
fetchFrameworkCategoryList() {
|
|
83
|
-
this.isMainLoader = true;
|
|
84
|
-
this.frameworkListSubscription = this.frameworkService.fetchFrameworkInCategory(this.apiFrameworkPayload).subscribe({
|
|
85
|
-
next: (res) => { console.log("response", res); this.frameworkData = res; this.isMainLoader = false; },
|
|
86
|
-
error: () => { this.isMainLoader = false; }
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
selectFramework(evt, framework) {
|
|
90
|
-
var _a;
|
|
91
|
-
if ((_a = evt === null || evt === void 0 ? void 0 : evt.target) === null || _a === void 0 ? void 0 : _a.checked) {
|
|
92
|
-
this.selectedFramework = framework;
|
|
93
|
-
console.log(this.selectedFramework);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
expandCollapseFramework(framework) {
|
|
97
|
-
if (this.expandedFrameworkId === (framework === null || framework === void 0 ? void 0 : framework._id)) {
|
|
98
|
-
this.expandedFrameworkId = '';
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
this.expandedFrameworkId = framework === null || framework === void 0 ? void 0 : framework._id;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
removeSelectedFramework() {
|
|
105
|
-
this.selectedFramework = null;
|
|
106
|
-
this.selectedFrameworkData = null;
|
|
107
|
-
}
|
|
108
|
-
loadFrameworkData() {
|
|
109
|
-
var _a;
|
|
110
|
-
this.issubLoading = true;
|
|
111
|
-
this.frameworkService.fetchCategoryForFramework((_a = this.selectedFramework) === null || _a === void 0 ? void 0 : _a._id).subscribe({
|
|
112
|
-
next: (res) => {
|
|
113
|
-
console.log("nested", res);
|
|
114
|
-
this.selectedFrameworkData = res;
|
|
115
|
-
this.checkAllElements(this.mode === 'EDIT' ? false : true);
|
|
116
|
-
this.issubLoading = false;
|
|
117
|
-
},
|
|
118
|
-
error: () => { this.issubLoading = false; }
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
checkAllElements(populateInScope) {
|
|
122
|
-
var _a, _b;
|
|
123
|
-
let allElement = [];
|
|
124
|
-
(_b = (_a = this.selectedFrameworkData.data) === null || _a === void 0 ? void 0 : _a.child_list_details) === null || _b === void 0 ? void 0 : _b.forEach((element) => {
|
|
125
|
-
element === null || element === void 0 ? void 0 : element.controlsData.forEach((el) => { allElement.push(el); });
|
|
126
|
-
});
|
|
127
|
-
this.allControls = this.uniqueByProp(allElement, '_id');
|
|
128
|
-
if (populateInScope) {
|
|
129
|
-
this.inScope = this.uniqueByProp(allElement, '_id');
|
|
130
|
-
}
|
|
131
|
-
this.checkSelectAll();
|
|
132
|
-
this.setInscopeIds();
|
|
133
|
-
}
|
|
134
|
-
checkSelectAll() {
|
|
135
|
-
var _a, _b;
|
|
136
|
-
const allIds = this.allControls.map((ele) => ele === null || ele === void 0 ? void 0 : ele._id);
|
|
137
|
-
const inScopeIds = this.inScope.map((ele) => ele === null || ele === void 0 ? void 0 : ele._id);
|
|
138
|
-
this.allControlsSelected = ((_a = allIds.sort()) === null || _a === void 0 ? void 0 : _a.toString()) === ((_b = inScopeIds.sort()) === null || _b === void 0 ? void 0 : _b.toString());
|
|
139
|
-
}
|
|
140
|
-
selectAll(evt) {
|
|
141
|
-
var _a;
|
|
142
|
-
if ((_a = evt === null || evt === void 0 ? void 0 : evt.target) === null || _a === void 0 ? void 0 : _a.checked) {
|
|
143
|
-
this.checkAllElements(true);
|
|
144
|
-
}
|
|
145
|
-
else {
|
|
146
|
-
this.inScope = [];
|
|
147
|
-
this.inScopeIds = [];
|
|
148
|
-
}
|
|
149
|
-
this.checkSelectAll();
|
|
150
|
-
}
|
|
151
|
-
setInscopeIds() {
|
|
152
|
-
this.inScopeIds = this.inScope.map((el) => el === null || el === void 0 ? void 0 : el._id);
|
|
153
|
-
}
|
|
154
|
-
selectItem(evt, payload) {
|
|
155
|
-
var _a;
|
|
156
|
-
((_a = evt === null || evt === void 0 ? void 0 : evt.target) === null || _a === void 0 ? void 0 : _a.checked) === true ? this.manipulateItem('ADD', payload) : this.manipulateItem('DELETE', payload);
|
|
157
|
-
}
|
|
158
|
-
manipulateItem(action, payload) {
|
|
159
|
-
if (action === 'ADD') {
|
|
160
|
-
this.inScope = this.uniqueByProp([...this.inScope, ...[payload]], '_id');
|
|
161
|
-
this.inScopeIds = this.inScope.map((ele) => ele === null || ele === void 0 ? void 0 : ele._id);
|
|
162
|
-
}
|
|
163
|
-
else if (action === 'DELETE') {
|
|
164
|
-
let index = this.inScope.findIndex((ele) => (ele === null || ele === void 0 ? void 0 : ele._id) === (payload === null || payload === void 0 ? void 0 : payload._id));
|
|
165
|
-
if (index > -1) {
|
|
166
|
-
this.inScope = this.inScope.filter((ele) => (ele === null || ele === void 0 ? void 0 : ele._id) !== (payload === null || payload === void 0 ? void 0 : payload._id));
|
|
167
|
-
this.inScopeIds = this.inScope.map((ele) => ele === null || ele === void 0 ? void 0 : ele._id);
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
this.checkSelectAll();
|
|
171
|
-
}
|
|
172
|
-
selectCategory(evt, payload) {
|
|
173
|
-
var _a;
|
|
174
|
-
((_a = evt === null || evt === void 0 ? void 0 : evt.target) === null || _a === void 0 ? void 0 : _a.checked) === true ? this.manipulateCategory('ADD', payload) : this.manipulateCategory('DELETE', payload);
|
|
175
|
-
}
|
|
176
|
-
manipulateCategory(action, payload) {
|
|
177
|
-
if (action === 'ADD') {
|
|
178
|
-
const itemsTobeAdded = payload === null || payload === void 0 ? void 0 : payload.controlsData;
|
|
179
|
-
this.inScope = this.uniqueByProp([...this.inScope, ...itemsTobeAdded], '_id');
|
|
180
|
-
this.inScopeIds = this.inScope.map((ele) => ele === null || ele === void 0 ? void 0 : ele._id);
|
|
181
|
-
}
|
|
182
|
-
else if (action === 'DELETE') {
|
|
183
|
-
const itemsTobeRemoved = payload === null || payload === void 0 ? void 0 : payload.controlsData.map((el) => el._id);
|
|
184
|
-
this.inScope = this.inScope.filter((ele) => !itemsTobeRemoved.includes(ele._id));
|
|
185
|
-
this.inScopeIds = this.inScope.map((ele) => ele === null || ele === void 0 ? void 0 : ele._id);
|
|
186
|
-
}
|
|
187
|
-
this.checkSelectAll();
|
|
188
|
-
}
|
|
189
|
-
nextHandler() {
|
|
190
|
-
if (this.currentView === 'FRAMEWORK_CATEGORY') {
|
|
191
|
-
this.currentView = 'FRAMEWORK';
|
|
192
|
-
this.loadFrameworkData();
|
|
193
|
-
}
|
|
194
|
-
else {
|
|
195
|
-
this.next.emit(Object.assign(Object.assign({}, this.selectedFramework), { in_scope: this.inScope, out_scope: this.allControls.filter((ele) => !this.inScopeIds.includes(ele === null || ele === void 0 ? void 0 : ele._id)) }));
|
|
196
|
-
console.log("Final payload", Object.assign(Object.assign({}, this.selectedFramework), { in_scope: this.inScope, outScope: this.allControls.filter((ele) => !this.inScopeIds.includes(ele === null || ele === void 0 ? void 0 : ele._id)) }));
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
cancelHandler() {
|
|
200
|
-
if (this.currentView === 'FRAMEWORK') {
|
|
201
|
-
this.currentView = 'FRAMEWORK_CATEGORY';
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
this.cancel.emit();
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
subCategoryExpandCollapse(category) {
|
|
208
|
-
var _a;
|
|
209
|
-
console.log(category);
|
|
210
|
-
const index = this.expandedSubCategoryIds.indexOf(category === null || category === void 0 ? void 0 : category._id);
|
|
211
|
-
if (index < 0 && ((_a = category === null || category === void 0 ? void 0 : category.controlsData) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
212
|
-
this.expandedSubCategoryIds.push(category === null || category === void 0 ? void 0 : category._id);
|
|
213
|
-
}
|
|
214
|
-
else {
|
|
215
|
-
this.expandedSubCategoryIds.splice(index, 1);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
uniqueByProp(array, key) {
|
|
219
|
-
return Array.from(array
|
|
220
|
-
.reduce((acc, item) => (item && item[key] && acc.set(item[key], item),
|
|
221
|
-
acc), new Map())
|
|
222
|
-
.values());
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
DefineFrameworkListingComponent.decorators = [
|
|
226
|
-
{ type: Component, args: [{
|
|
227
|
-
selector: 'app-define-framework-listing',
|
|
228
|
-
template: "<div class=\"define-framework-listing\" [class.animate]=\"animation\">\r\n <ng-container *ngIf=\"currentView==='FRAMEWORK_CATEGORY'\">\r\n <div class=\"define-framework-listing-head\">\r\n <h3 class=\"define-framework-listing-title\">Select a Framework</h3>\r\n </div>\r\n \r\n <div *ngIf=\"true\" class=\"define-framework-listing-body\">\r\n <div class=\"vx-d-flex vx-align-center vx-mb-2\">\r\n <div (click)=\"changeType('REGULATIONS')\" class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeFrameworkType ==='REGULATIONS'\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">REGULATIONS</label>\r\n </div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">{{frameworkCount?.regulations ?? '--'}}</span>\r\n </div>\r\n </div>\r\n <div (click)=\"changeType('STANDARDS')\" class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeFrameworkType ==='STANDARDS'\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">STANDARDS</label>\r\n </div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">{{frameworkCount?.standards ??'--'}}</span>\r\n </div>\r\n </div>\r\n <div (click)=\"changeType('INTERNAL_CONTROLS')\" class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeFrameworkType ==='INTERNAL_CONTROLS'\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">INTERNAL CONTROLS</label>\r\n </div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">{{frameworkCount?.internalControls??'--'}}</span>\r\n </div>\r\n </div>\r\n <div (click)=\"changeType('OTHERS')\" class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeFrameworkType ==='OTHERS'\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">OTHERS</label>\r\n </div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">{{frameworkCount?.others ?? '--'}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"search-block\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" placeholder=\"Search Frameworks\" [(ngModel)]=\"searchKey\" (keyup.enter)=\"executeSearch()\"/>\r\n </div>\r\n <div class=\"vx-mt-2\" *ngIf=\"isMainLoader\">\r\n <framework-loader></framework-loader>\r\n </div>\r\n \r\n <ng-container *ngIf=\"!isMainLoader && frameworkData?.total_items > 0\">\r\n <div class=\"vx-mt-2\">\r\n <vui-pagination (pageChanged)=\"pageChanged($event)\" [from]=\"frameworkData?.items_from\" [to]=\"frameworkData?.items_to\" [total]=\"frameworkData?.total_items\" [totalPage]=\"frameworkData?.total_pages\" [currentPage]=\"apiFrameworkPayload?.page\"></vui-pagination>\r\n </div>\r\n <div class=\"define-framework-listing-table vx-mt-1\" [class.with-pagination]=\"true\">\r\n <div class=\"table-header\">\r\n <!-- when checkbox was checked then show \"active\" class in table-row -->\r\n <div class=\"table-row\" [class.active]=\"false\">\r\n <div class=\"table-column vx-fs-10 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n #\r\n <!-- <app-cs-checkbox *ngIf=\"true\"></app-cs-checkbox>\r\n <app-cs-checkbox-indeterminate *ngIf=\"false\"></app-cs-checkbox-indeterminate> -->\r\n </div>\r\n <div class=\"table-column vx-fs-10 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center category\">FRAMEWORKS</div>\r\n <div class=\"table-column vx-fs-10 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center action\"></div>\r\n </div>\r\n </div>\r\n <div class=\"table-body\">\r\n <div class=\"table-item\" [class.open]=\"hideCategoryList\" *ngFor=\"let framework of frameworkData?.data;let i=index\">\r\n <!-- when checkbox was checked then show \"active\" class in table-row -->\r\n <div class=\"table-row main\" (click)=\"expandCollapseFramework(framework)\" [class.active]=\"selectedFramework?.framework_id === framework?.framework_id\" [class.disabled]=\"!framework?.child_list_details?.length\">\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\">{{apiFrameworkPayload?.page | pager:i}}</div>\r\n <app-cs-radio [checked]=\"selectedFramework?.framework_id === framework?.framework_id\" (checkedEvent)=\"selectFramework($event,framework)\"></app-cs-radio>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center category\">\r\n <div class=\"category-name vx-fs-13 vx-label-txt\" [appTooltip]=\"framework?.framework_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{framework?.framework_name}}</div>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center action\">\r\n <button class=\"arrow-btn vx-fs-14 vx-paragraph-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\">\r\n <i class=\"icons vx-d-flex\" (click)=\"expandCollapseFramework(framework)\">\r\n <ng-container *ngIf=\"expandedFrameworkId !== framework?.framework_id\"></ng-container>\r\n <ng-container *ngIf=\"expandedFrameworkId === framework?.framework_id\"></ng-container>\r\n </i>\r\n </button>\r\n </div>\r\n </div>\r\n <!-- sub table -->\r\n <ng-container *ngIf=\"expandedFrameworkId === framework?._id\">\r\n <div class=\"table-row child\" *ngFor=\"let subCat of framework?.child_list_details; let x = index\">\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{(apiFrameworkPayload?.page | pager:i) + '.' + (x+1)}}</div>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center category\">\r\n <div class=\"vx-d-block vx-w-100\">\r\n <div class=\"category-name vx-fs-12 vx-paragraph-txt\" [appTooltip]=\"subCat?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{subCat?.name}}</div>\r\n <div class=\"within\" *ngIf=\"false\">\r\n <div class=\"block\">WITHIN</div>\r\n <div class=\"data\" [appTooltip]=\"'Kolkata > America > South Africa'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">Kolkata > America > South Africa</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center action\"></div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <app-no-data *ngIf=\"!isMainLoader && frameworkData?.total_items <= 0\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No Frameworks Found'\"></app-no-data>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"currentView==='FRAMEWORK'\">\r\n <div class=\"define-framework-listing-head\">\r\n <h3 class=\"define-framework-listing-title\">Framework: {{selectedFramework?.framework_name}}</h3>\r\n </div>\r\n\r\n <div *ngIf=\"true\" class=\"define-framework-listing-body after-framework-listing\">\r\n <div class=\"vx-d-flex vx-align-center vx-mb-2\">\r\n <div class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"true\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">TOTAL RESPONSIBILITIES</label>\r\n </div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">{{allControls?.length}}</span>\r\n </div>\r\n </div>\r\n <div class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"false\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">RESPONSIBILITIES IN SCOPE</label>\r\n </div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">{{inScope.length}}</span>\r\n </div>\r\n </div>\r\n <div class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"false\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">RESPONSIBILITIES NOT IN SCOPE</label>\r\n </div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">{{allControls?.length - inScope?.length}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"search-block\">\r\n <i class=\"icons\"></i>\r\n <input [(ngModel)]=\"searchKeyforFramework\" type=\"text\" placeholder=\"Search\" />\r\n </div>\r\n <!-- <div class=\"vx-mt-2\">\r\n <vui-pagination></vui-pagination>\r\n </div> -->\r\n <div class=\"define-framework-listing-table vx-mt-1\" [class.with-pagination]=\"true\">\r\n <div class=\"vx-mt-2\" *ngIf=\"issubLoading\">\r\n <framework-loader></framework-loader>\r\n </div>\r\n <ng-container *ngIf=\"!issubLoading\">\r\n <ng-container *ngIf=\"(selectedFrameworkData?.data?.child_list_details | searchPipe :searchKeyforFramework) as frameworkCat \">\r\n <ng-container *ngIf=\"frameworkCat?.length\">\r\n <div class=\"selected-area\">\r\n <vui-checkbox #check (change)=\"selectAll($event)\" [disabled]=\"allControls?.length < 1\" [checked]=\"(allControlsSelected && isScope?.length > 0) || inScope?.length > 0\" [indeterminateEnabled] = \"inScope?.length > 0 && !allControlsSelected\">\r\n {{check?.checked ? 'Deselect All' :'Select All'}}\r\n </vui-checkbox>\r\n </div>\r\n\r\n <div class=\"program-listing-item\" [class.active]=\"subList\" *ngFor=\"let subCat of frameworkCat;let k = index\">\r\n <div class=\"table-row main-list\" [class.active]=\"false\" [class.disabled]=\"!subCat?.controlsData?.length\" (click)=\"subCategoryExpandCollapse(subCat)\">\r\n <div class=\"table-column serial\">\r\n <div class=\"sr-no\">{{k+1}}</div>\r\n \r\n <vui-checkbox [indeterminateEnabled] = \"subCat?.controlsData|subCatIndeter:inScope \" [checked]=\"((subCat?.controlsData|categoryAllSelect:inScope) || (subCat?.controlsData|subCatIndeter:inScope)) && subCat?.controlsData?.length\" (change)=\"selectCategory($event,subCat)\"></vui-checkbox>\r\n </div>\r\n <div class=\"table-column name\">\r\n <div class=\"name-inner\">\r\n <div class=\"name-with-count\">\r\n <div class=\"value\" [appTooltip]=\"subCat?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{subCat?.name}}</div>\r\n <span class=\"count\">{{subCat?.controlsData?.length}}</span>\r\n </div>\r\n <div class=\"within-part\" *ngIf=\"false\">\r\n <span class=\"within-box\">Within</span>\r\n <span class=\"value\" [appTooltip]=\"'South Africa > America > India'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">South Africa > America > India</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-column action\">\r\n <button class=\"arrow\" [class.disabled]=\"!subCat?.controlsData?.length\">\r\n <i *ngIf=\"!expandedSubCategoryIds.includes(subCat?._id)\" class=\"icons\"></i>\r\n <i *ngIf=\"expandedSubCategoryIds.includes(subCat?._id)\" class=\"icons\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"sub-list\" *ngIf=\"expandedSubCategoryIds.includes(subCat?._id)\">\r\n <div class=\"table-row\" [class.disabled]=\"false\" *ngFor=\"let control of subCat?.controlsData;let c = index\">\r\n <div class=\"table-column serial\">\r\n <div class=\"sr-no\">{{k+1+'.'+(c+1)}}</div>\r\n <vui-checkbox [checked]=\"inScopeIds.includes(control?._id)\" (change)=\"selectItem($event,control)\"></vui-checkbox>\r\n </div>\r\n <div class=\"table-column name\">\r\n <div class=\"name-inner\">\r\n <div class=\"value\" [appTooltip]=\"control?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{control?.name}}</div>\r\n </div>\r\n </div>\r\n <div class=\"table-column action\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <app-no-data *ngIf=\"!frameworkCat?.length\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No Frameworks Found'\"></app-no-data>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div class=\"define-framework-listing-footer\">\r\n \r\n <vui-floating-bar (closeEvent)=\"nextHandler()\" (closeList)=\"cancelHandler()\" *ngIf=\"currentView ==='FRAMEWORK_CATEGORY' \" [nextDisabled]=\"!selectedFramework?._id\">\r\n <div class=\"chip\" *ngIf=\"selectedFramework\" >\r\n <ng-container>\r\n <i class=\"icons\" (click)=\"removeSelectedFramework()\"></i>\r\n <span class=\"value\"> {{selectedFramework?.framework_name}}</span>\r\n </ng-container>\r\n </div>\r\n </vui-floating-bar>\r\n <vui-floating-bar (closeEvent)=\"nextHandler()\" (closeList)=\"cancelHandler()\" *ngIf=\"currentView ==='FRAMEWORK' \" [nextDisabled]=\"inScope?.length < 1\"></vui-floating-bar>\r\n </div>\r\n</div>",
|
|
229
|
-
styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");@import url(\"https://cdn.v-comply.com/design-system/css/text/text.css\");@import url(\"https://cdn.v-comply.com/design-system/css/color/color.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/width/width.css\");@import url(\"https://cdn.v-comply.com/design-system/css/table-card/table-card.css\");::ng-deep .define-framework-listing{background:#fff;position:fixed;top:0;right:500px;bottom:0;left:0;border-top:3px solid #1e5dd3}::ng-deep .define-framework-listing.animate{-webkit-animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .define-framework-listing-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border:1px solid #f1f1f1;border-right:none}::ng-deep .define-framework-listing-title{color:#161b2f;font-size:15px;font-weight:500;margin:0!important;padding:0;line-height:21px}::ng-deep .define-framework-listing-body{padding:24px 40px 24px 36px;height:calc(100vh - 124px)}::ng-deep .define-framework-listing-body .search-block{position:relative}::ng-deep .define-framework-listing-body .search-block input{height:44px;line-height:24px;padding:10px 16px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}::ng-deep .define-framework-listing-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .define-framework-listing-body .search-block i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#f1f1f1}::ng-deep .define-framework-listing-body.after-framework-listing .define-framework-listing-table{height:calc(100vh - 12.75rem)}::ng-deep .define-framework-listing-body.after-framework-listing .define-framework-listing-table.with-pagination{height:calc(100vh - 15.5rem)}::ng-deep .define-framework-listing-table{width:calc(100% + .75rem);height:calc(100vh - 16.75rem);overflow:auto;padding-right:.75rem}::ng-deep .define-framework-listing-table.with-pagination{height:calc(100vh - 19.5rem)}::ng-deep .define-framework-listing-table .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .define-framework-listing-table .table-header .table-row .table-column{color:#161b2f!important;min-height:1.5rem!important}::ng-deep .define-framework-listing-table .table-header .table-row .table-column.serial{position:relative}::ng-deep .define-framework-listing-table .table-header .table-row .table-column.serial app-cs-checkbox,::ng-deep .define-framework-listing-table .table-header .table-row .table-column.serial app-cs-checkbox-indeterminate{background:#fff;border-radius:.125rem;position:absolute;top:.25rem;left:.5rem;width:1rem;height:1rem;transition:all .2s ease-in-out;opacity:0}::ng-deep .define-framework-listing-table .table-header .table-row .table-column.serial app-cs-checkbox-indeterminate .checkbox-item,::ng-deep .define-framework-listing-table .table-header .table-row .table-column.serial app-cs-checkbox .checkbox-item{position:absolute;top:0;left:0}::ng-deep .define-framework-listing-table .table-header .table-row .table-column.serial app-cs-checkbox-indeterminate .checkbox-item .checkbox,::ng-deep .define-framework-listing-table .table-header .table-row .table-column.serial app-cs-checkbox-indeterminate .checkbox-item .checkmark,::ng-deep .define-framework-listing-table .table-header .table-row .table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .define-framework-listing-table .table-header .table-row .table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0;left:0}::ng-deep .define-framework-listing-table .table-header .table-row.active .table-column.serial app-cs-checkbox,::ng-deep .define-framework-listing-table .table-header .table-row.active .table-column.serial app-cs-radio,::ng-deep .define-framework-listing-table .table-header .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .define-framework-listing-table .table-header .table-row:hover .table-column.serial app-cs-radio{opacity:1}::ng-deep .define-framework-listing-table .table-body{position:relative}::ng-deep .define-framework-listing-table .table-body .table-item{border:1px solid #f1f1f1;border-radius:.25rem;margin-bottom:.25rem}::ng-deep .define-framework-listing-table .table-body .table-item.open{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .define-framework-listing-table .table-body .table-item .table-row.active .table-column.serial app-cs-checkbox,::ng-deep .define-framework-listing-table .table-body .table-item .table-row.active .table-column.serial app-cs-checkbox-indeterminate,::ng-deep .define-framework-listing-table .table-body .table-item .table-row.active .table-column.serial app-cs-radio,::ng-deep .define-framework-listing-table .table-body .table-item .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .define-framework-listing-table .table-body .table-item .table-row:hover .table-column.serial app-cs-checkbox-indeterminate,::ng-deep .define-framework-listing-table .table-body .table-item .table-row:hover .table-column.serial app-cs-radio{opacity:1}::ng-deep .define-framework-listing-table .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .define-framework-listing-table .table-row.main{cursor:pointer}::ng-deep .define-framework-listing-table .table-row.child{border-top:1px solid #f1f1f1}::ng-deep .define-framework-listing-table .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .define-framework-listing-table .table-row .table-column.serial{width:2rem;max-width:2rem;flex:0 0 2rem;justify-content:center;position:relative}::ng-deep .define-framework-listing-table .table-row .table-column.serial .sr-no{width:1rem;background:#f8f8f8;-ms-writing-mode:tb-lr;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .define-framework-listing-table .table-row .table-column.serial app-cs-radio{background:#fff;border-radius:50%;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;transition:all .2s ease-in-out;opacity:0}::ng-deep .define-framework-listing-table .table-row .table-column.serial app-cs-radio .radio-item{position:absolute;top:0;left:0}::ng-deep .define-framework-listing-table .table-row .table-column.serial app-cs-radio .radio-item .radio,::ng-deep .define-framework-listing-table .table-row .table-column.serial app-cs-radio .radio-item .radiomark{position:absolute;top:0;left:0}::ng-deep .define-framework-listing-table .table-row .table-column.serial app-cs-checkbox,::ng-deep .define-framework-listing-table .table-row .table-column.serial app-cs-checkbox-indeterminate{background:#fff;border-radius:50%;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;transition:all .2s ease-in-out;opacity:0}::ng-deep .define-framework-listing-table .table-row .table-column.serial app-cs-checkbox-indeterminate .checkbox-item,::ng-deep .define-framework-listing-table .table-row .table-column.serial app-cs-checkbox .checkbox-item{position:absolute;top:0;left:0}::ng-deep .define-framework-listing-table .table-row .table-column.serial app-cs-checkbox-indeterminate .checkbox-item .checkbox,::ng-deep .define-framework-listing-table .table-row .table-column.serial app-cs-checkbox-indeterminate .checkbox-item .checkboxmark,::ng-deep .define-framework-listing-table .table-row .table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .define-framework-listing-table .table-row .table-column.serial app-cs-checkbox .checkbox-item .checkboxmark{position:absolute;top:0;left:0}::ng-deep .define-framework-listing-table .table-row .table-column.category{width:calc(100% - 4.5rem);min-width:calc(100% - 4.5rem)}::ng-deep .define-framework-listing-table .table-row .table-column.category .category-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .define-framework-listing-table .table-row .table-column.category .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .define-framework-listing-table .table-row .table-column.category .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .define-framework-listing-table .table-row .table-column.category .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .define-framework-listing-table .table-row .table-column.frameworks{width:calc(100% - 26rem);min-width:calc(100% - 26rem)}::ng-deep .define-framework-listing-table .table-row .table-column.frameworks .frameworks-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .define-framework-listing-table .table-row .table-column.frameworks .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .define-framework-listing-table .table-row .table-column.frameworks .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .define-framework-listing-table .table-row .table-column.frameworks .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .define-framework-listing-table .table-row .table-column.in-scope{width:10rem;min-width:10rem}::ng-deep .define-framework-listing-table .table-row .table-column.in-scope .scope{border:1px solid #dbdbdb;border-radius:.125rem;min-width:1.75rem}::ng-deep .define-framework-listing-table .table-row .table-column.not-in-scope{width:11rem;min-width:11rem}::ng-deep .define-framework-listing-table .table-row .table-column.not-in-scope .scope{border:1px solid #dbdbdb;border-radius:.125rem;min-width:1.75rem}::ng-deep .define-framework-listing-table .table-row .table-column.action{width:2.5rem;min-width:2.5rem}::ng-deep .define-framework-listing-table .table-row .table-column.action button.arrow-btn{background:transparent;border-radius:0;border:none}::ng-deep .define-framework-listing-table .selected-area{background:#fff;height:32px;position:sticky;top:0;z-index:1}::ng-deep .define-framework-listing-table .selected-area app-cs-checkbox,::ng-deep .define-framework-listing-table .selected-area app-cs-checkbox-indeterminate{background:#fff;border-radius:2px;width:100%;height:16px}::ng-deep .define-framework-listing-table .selected-area app-cs-checkbox-indeterminate .checkbox-item,::ng-deep .define-framework-listing-table .selected-area app-cs-checkbox .checkbox-item{width:100%;position:relative}::ng-deep .define-framework-listing-table .selected-area app-cs-checkbox-indeterminate .checkbox-item .checkbox,::ng-deep .define-framework-listing-table .selected-area app-cs-checkbox-indeterminate .checkbox-item .checkmark,::ng-deep .define-framework-listing-table .selected-area app-cs-checkbox .checkbox-item .checkbox,::ng-deep .define-framework-listing-table .selected-area app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .define-framework-listing-table .selected-area app-cs-checkbox-indeterminate .checkbox-item .value,::ng-deep .define-framework-listing-table .selected-area app-cs-checkbox .checkbox-item .value{color:#161b2f!important;font-size:12px!important;font-weight:500!important;margin-left:24px!important}::ng-deep .define-framework-listing-table .program-listing-item{border:1px solid #f1f1f1;border-radius:2px;margin-bottom:4px}::ng-deep .define-framework-listing-table .program-listing-item .main-list{cursor:pointer}::ng-deep .define-framework-listing-table .program-listing-item.active{border-color:#1e5dd3;box-shadow:0 3px 6px #4681ef26}::ng-deep .define-framework-listing-table .program-listing-item .table-row{display:flex;align-items:center;justify-content:space-between}::ng-deep .define-framework-listing-table .program-listing-item .table-row.disabled{pointer-events:none}::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column{color:#747576;height:48px;position:relative;width:100%;display:flex;align-items:center;padding:0 4px}::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.serial{width:32px;max-width:32px;justify-content:center}::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.serial .sr-no{width:16px;background:#f8f8f8;-ms-writing-mode:tb-lr;writing-mode:vertical-lr;color:#747576;font-size:10px;font-weight:500;display:flex;height:100%;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.serial app-cs-checkbox,::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.serial app-cs-checkbox-indeterminate,::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.serial app-cs-radio{position:absolute;top:14px;left:8px;opacity:0;transition:all .2s ease-in-out}::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.serial app-cs-checkbox,::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.serial app-cs-checkbox-indeterminate{background:#fff;border-radius:2px;width:16px;height:16px;top:16px}::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.serial app-cs-checkbox-indeterminate .checkbox-item .checkbox,::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.serial app-cs-checkbox-indeterminate .checkbox-item .checkmark,::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0;left:0}::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.name{width:calc(100% - 64px);min-width:calc(100% - 64px)}::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.name .name-inner{width:100%}::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.name .name-inner .value{color:#161b2f;font-size:12px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-right:8px}::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.name .name-inner .count{background:#1e5dd3;border-radius:20px;color:#fff;font-size:9px;font-weight:500;line-height:16px;min-width:24px;display:inline-block;text-align:center;padding:0 4px}::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.name .name-inner .name-with-count{display:flex;align-items:center;width:100%}::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.action{width:32px;max-width:32px;justify-content:center}::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.action button.arrow{background:transparent;border:none;border-radius:0;color:#747576;font-size:12px;padding:0;margin:0;display:flex;align-items:center;justify-content:center;height:100%;width:100%}::ng-deep .define-framework-listing-table .program-listing-item .table-row .table-column.action button.disabled{opacity:.5!important;pointer-events:none}::ng-deep .define-framework-listing-table .program-listing-item .table-row.active .table-column.serial app-cs-checkbox,::ng-deep .define-framework-listing-table .program-listing-item .table-row.active .table-column.serial app-cs-checkbox-indeterminate,::ng-deep .define-framework-listing-table .program-listing-item .table-row.active .table-column.serial app-cs-radio,::ng-deep .define-framework-listing-table .program-listing-item .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .define-framework-listing-table .program-listing-item .table-row:hover .table-column.serial app-cs-checkbox-indeterminate,::ng-deep .define-framework-listing-table .program-listing-item .table-row:hover .table-column.serial app-cs-radio{opacity:1}::ng-deep .define-framework-listing-table .program-listing-item .sub-list .table-row{border-top:1px solid #f1f1f1}::ng-deep .define-framework-listing-table .program-listing-item .sub-list .table-row.active .table-column.serial .sr-no,::ng-deep .define-framework-listing-table .program-listing-item .sub-list .table-row:hover .table-column.serial .sr-no{color:#f8f8f8}::ng-deep .define-framework-listing-table .program-listing-item .sub-list .table-row.active .table-column.serial .sr-no vui-checkbox,::ng-deep .define-framework-listing-table .program-listing-item .sub-list .table-row:hover .table-column.serial .sr-no vui-checkbox{opacity:1}::ng-deep .define-framework-listing-table .program-listing-item .sub-list .table-row .table-column.name .name-inner .value{color:#747576;font-size:12px}::ng-deep .define-framework-listing-table .program-listing-item.active .table-row .table-column.serial app-cs-checkbox,::ng-deep .define-framework-listing-table .program-listing-item.active .table-row .table-column.serial app-cs-checkbox-indeterminate,::ng-deep .define-framework-listing-table .program-listing-item.active .table-row .table-column.serial app-cs-radio{opacity:1}.within-part{display:flex;align-items:center;padding-right:12px}.within-part .value{text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important;font-size:11px!important;color:#747576!important}.within-box{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding:0 4px;margin-right:8px;line-height:12px}.disabled{pointer-events:none;opacity:.7}"]
|
|
230
|
-
},] }
|
|
231
|
-
];
|
|
232
|
-
DefineFrameworkListingComponent.ctorParameters = () => [
|
|
233
|
-
{ type: FrameworkService }
|
|
234
|
-
];
|
|
235
|
-
DefineFrameworkListingComponent.propDecorators = {
|
|
236
|
-
cancel: [{ type: Output }],
|
|
237
|
-
next: [{ type: Output }],
|
|
238
|
-
mode: [{ type: Input }],
|
|
239
|
-
setFramework: [{ type: Input, args: ['selectedFramework',] }]
|
|
240
|
-
};
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvZGVmaW5lLWZyYW1ld29yay1saXN0aW5nL2RlZmluZS1mcmFtZXdvcmstbGlzdGluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQU92RCxNQUFNLE9BQU8sK0JBQStCO0lBZ0IxQyxZQUFvQixnQkFBaUM7UUFBakMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQWYzQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1QixTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQixTQUFJLEdBQUcsUUFBUSxDQUFDO1FBV3pCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFhakIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsbUJBQWMsR0FBTSxJQUFJLENBQUM7UUFTM0IsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNiLHdCQUFtQixHQUFHO1lBQ3BCLElBQUksRUFBQyxDQUFDO1lBQ04sTUFBTSxFQUFDLEVBQUU7WUFDVCxJQUFJLEVBQUMsQ0FBQztTQUVOLENBQUE7UUFDRixnQkFBVyxHQUFzQyxvQkFBb0IsQ0FBQztRQUN0RSx3QkFBbUIsR0FBbUUsYUFBYSxDQUFDO1FBRXBHLG1CQUFjLEdBQUc7WUFDZixhQUFhLEVBQUMsQ0FBQztZQUNmLFdBQVcsRUFBQyxDQUFDO1lBQ2IsbUJBQW1CLEVBQUMsQ0FBQztZQUNyQixRQUFRLEVB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O1lBQ0gsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUE7U0FDNUM7SUFDSCxDQUFDO0lBQ0QsWUFBWSxDQUFDLEtBQVUsRUFBRSxHQUFXO1FBQ2xDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FDZixLQUFLO2FBQ0YsTUFBTSxDQUNMLENBQUMsR0FBUSxFQUFFLElBQVMsRUFBRSxFQUFFLENBQUMsQ0FDdkIsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUM7WUFDN0MsR0FBRyxDQUNKLEVBQ0QsSUFBSSxHQUFHLEVBQUUsQ0FDVjthQUNBLE1BQU0sRUFBRSxDQUNaLENBQUM7SUFDSixDQUFDOzs7WUFuUEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw4QkFBOEI7Z0JBQ3hDLG9ubUJBQXdEOzthQUV6RDs7O1lBTlEsZ0JBQWdCOzs7cUJBUXRCLE1BQU07bUJBQ04sTUFBTTttQkFDTixLQUFLOzJCQUNMLEtBQUssU0FBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRnJhbWV3b3JrU2VydmljZSB9IGZyb20gJy4vZnJhbWV3b3JrLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZGVmaW5lLWZyYW1ld29yay1saXN0aW5nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmcuY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVmaW5lRnJhbWV3b3JrTGlzdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQE91dHB1dCgpIGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgbmV4dCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBtb2RlID0gJ0NSRUFURSc7XHJcbiAgQElucHV0KCdzZWxlY3RlZEZyYW1ld29yaycpIHNldCBzZXRGcmFtZXdvcmsodmFsdWU6IGFueSkge1xyXG4gICAgaWYodmFsdWUgJiYgdmFsdWU/Ll9pZCl7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGcmFtZXdvcmsgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5hY3RpdmVGcmFtZXdvcmtUeXBlID0gWydPVEhFUlMnLCdSRUdVTEFUSU9OUycgLCAnU1RBTkRBUkRTJyAsICdJTlRFUk5BTF9DT05UUk9MUyddW3ZhbHVlPy50eXBlXSA/PyAxO1xyXG4gICAgICB0aGlzLmN1cnJlbnRWaWV3ID0gJ0ZSQU1FV09SSyc7XHJcbiAgICAgIHRoaXMuaW5TY29wZSA9IHZhbHVlPy5pbl9zY29wZTtcclxuICAgICAgdGhpcy5pblNjb3BlSWRzID0gdGhpcy5pblNjb3BlLm1hcCgoZWxlOmFueSkgPT4gZWxlPy5faWQpO1xyXG4gICAgICB0aGlzLmxvYWRGcmFtZXdvcmtEYXRhKClcclxuICAgIH1cclxuICB9XHJcbiAgYW5pbWF0aW9uID0gdHJ1ZTtcclxuICBmcmFtZXdvcmtMaXN0U3Vic2NyaXB0aW9uICE6U3Vic2NyaXB0aW9uO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJhbWV3b3JrU2VydmljZTpGcmFtZXdvcmtTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcclxuICAgIH0sIDMwMCk7XHJcbiAgICB0aGlzLmZldGNoRnJhbWV3b3JrQ291bnQoKTtcclxuICAgIHRoaXMuZmV0Y2hGcmFtZXdvcmtDYXRlZ29yeUxpc3QoKTtcclxuICB9XHJcblxyXG4gIGlzTWFpbkxvYWRlciA9IHRydWU7XHJcbiAgZnJhbWV3b3JrQ291bnQ6YW55PSBudWxsO1xyXG4gIGZldGNoRnJhbWV3b3JrQ291bnQoKXtcclxuICAgIHRoaXMuZnJhbWV3b3JrU2VydmljZS5mZXRjaEZyYW1ld29ya0NvdW50KCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDoocmVzOmFueSk9Pnt0aGlzLmZyYW1ld29ya0NvdW50ID0gcmVzfSxcclxuICAgICAgZXJyb3I6KGVycjphbnkpPT57XHJcbiAgICAgICAgLy9oYW5kbGUgZXJyb3IgaGVyZVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuc2VhcmNoS2V5ID0gJyc7XHJcbiAgYXBpRnJhbWV3b3JrUGF5bG9hZCA9IHtcclxuICAgIHBhZ2U6MSxcclxuICAgIHNlYXJjaDonJyxcclxuICAgIHR5cGU6MSxcclxuXHJcbiAgIH1cclxuICBjdXJyZW50VmlldyA6ICdGUkFNRVdPUktfQ0FURUdPUlknIHwgJ0ZSQU1FV09SSyc9J0ZSQU1FV09SS19DQVRFR09SWSc7XHJcbiAgYWN0aXZlRnJhbWV3b3JrVHlwZSA6J1JFR1VMQVRJT05TJyB8ICdTVEFOREFSRFMnIHwgJ0lOVEVSTkFMX0NPTlRST0xTJyB8J09USEVSUyd8YW55PSAnUkVHVUxBVElPTlMnO1xyXG5cclxuICBmcmFtZXdvcmtUeXBlcyA9IHtcclxuICAgICdSRUdVTEFUSU9OUyc6MSxcclxuICAgICdTVEFOREFSRFMnOjIsXHJcbiAgICAnSU5URVJOQUxfQ09OVFJPTFMnOjMsXHJcbiAgICAnT1RIRVJTJzowXHJcbiAgfVxyXG4gIFxyXG5cclxuXHJcblxyXG4gIGZyYW1ld29ya0RhdGE6YW55ID0gW11cclxuICBjaGFuZ2VUeXBlKHR5cGU6J1JFR1VMQVRJT05TJyB8ICdTVEFOREFSRFMnIHwgJ0lOVEVSTkFMX0NPTlRST0xTJyB8J09USEVSUycpe1xyXG4gICAgdGhpcy5hY3RpdmVGcmFtZXdvcmtUeXBlID0gdHlwZTtcclxuICAgIHRoaXMuYXBpRnJhbWV3b3JrUGF5bG9hZC5wYWdlID0gMTtcclxuICAgIHRoaXMuYXBpRnJhbWV3b3JrUGF5bG9hZC50eXBlID0gdGhpcy5mcmFtZXdvcmtUeXBlc1t0eXBlXTtcclxuICAgIHRoaXMuZnJhbWV3b3JrTGlzdFN1YnNjcmlwdGlvbiA/ICB0aGlzLmZyYW1ld29ya0xpc3RTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSA6bnVsbDtcclxuICAgIHRoaXMuZmV0Y2hGcmFtZXdvcmtDYXRlZ29yeUxpc3QoKVxyXG4gIH1cclxuXHJcbiAgZXhlY3V0ZVNlYXJjaCgpe1xyXG4gICAgdGhpcy5hcGlGcmFtZXdvcmtQYXlsb2FkLnBhZ2U9MTtcclxuICAgIHRoaXMuYXBpRnJhbWV3b3JrUGF5bG9hZC5zZWFyY2ggPSB0aGlzLnNlYXJjaEtleTtcclxuICAgIHRoaXMuZmV0Y2hGcmFtZXdvcmtDYXRlZ29yeUxpc3QoKTtcclxuICB9XHJcblxyXG4gIHBhZ2VDaGFuZ2VkKGV2dDphbnkpe1xyXG5cclxuICAgIHRoaXMuYXBpRnJhbWV3b3JrUGF5bG9hZC5wYWdlID0gZXZ0O1xyXG4gICAgdGhpcy5mZXRjaEZyYW1ld29ya0NhdGVnb3J5TGlzdCgpXHJcbiAgfVxyXG5cclxuXHJcbiAgZmV0Y2hGcmFtZXdvcmtDYXRlZ29yeUxpc3QoKXtcclxuICAgIHRoaXMuaXNNYWluTG9hZGVyID0gdHJ1ZTtcclxuICAgIHRoaXMuZnJhbWV3b3JrTGlzdFN1YnNjcmlwdGlvbiA9IHRoaXMuZnJhbWV3b3JrU2VydmljZS5mZXRjaEZyYW1ld29ya0luQ2F0ZWdvcnkodGhpcy5hcGlGcmFtZXdvcmtQYXlsb2FkKS5zdWJzY3JpYmUoe1xyXG4gICAgbmV4dDoocmVzOmFueSk9Pntjb25zb2xlLmxvZyhcInJlc3BvbnNlXCIscmVzKTt0aGlzLmZyYW1ld29ya0RhdGEgPSByZXMgOyB0aGlzLmlzTWFpbkxvYWRlciA9IGZhbHNlfSxcclxuICAgIGVycm9yOigpPT57dGhpcy5pc01haW5Mb2FkZXIgPSBmYWxzZX1cclxuICB9KVxyXG4gIH1cclxuICBzZWxlY3RlZEZyYW1ld29yayAhOmFueVxyXG4gIHNlbGVjdEZyYW1ld29yayhldnQ6YW55LGZyYW1ld29yazphbnkpe1xyXG4gICAgaWYoZXZ0Py50YXJnZXQ/LmNoZWNrZWQpe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRnJhbWV3b3JrICA9IGZyYW1ld29yaztcclxuICAgICAgY29uc29sZS5sb2codGhpcy5zZWxlY3RlZEZyYW1ld29yaylcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGV4cGFuZGVkRnJhbWV3b3JrSWQ6YW55ID0gJyc7XHJcbiAgZXhwYW5kQ29sbGFwc2VGcmFtZXdvcmsoZnJhbWV3b3JrOmFueSl7XHJcbiAgICBpZih0aGlzLmV4cGFuZGVkRnJhbWV3b3JrSWQgPT09IGZyYW1ld29yaz8uX2lkKXtcclxuICAgICAgdGhpcy5leHBhbmRlZEZyYW1ld29ya0lkID0gJydcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmV4cGFuZGVkRnJhbWV3b3JrSWQgPSBmcmFtZXdvcms/Ll9pZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbW92ZVNlbGVjdGVkRnJhbWV3b3JrKCl7XHJcbiAgICB0aGlzLnNlbGVjdGVkRnJhbWV3b3JrID0gbnVsbDtcclxuICAgIHRoaXMuc2VsZWN0ZWRGcmFtZXdvcmtEYXRhID0gbnVsbDtcclxuICB9XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbnNlYXJjaEtleWZvckZyYW1ld29yayA9ICcnO1xyXG4gIHNlbGVjdGVkRnJhbWV3b3JrRGF0YTphbnk9IG51bGw7XHJcbiAgYWxsQ29udHJvbHM6YW55ID0gW11cclxuICBpblNjb3BlOmFueSA9IFtdO1xyXG4gIG91dFNjb3BlOmFueSA9IFtdO1xyXG4gIGluU2NvcGVJZHM6YW55ID1bXTtcclxuICBhbGxDb250cm9sc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgaXNzdWJMb2FkaW5nID0gdHJ1ZTtcclxuICBsb2FkRnJhbWV3b3JrRGF0YSgpe1xyXG4gICAgdGhpcy5pc3N1YkxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5mcmFtZXdvcmtTZXJ2aWNlLmZldGNoQ2F0ZWdvcnlGb3JGcmFtZXdvcmsodGhpcy5zZWxlY3RlZEZyYW1ld29yaz8uX2lkKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OihyZXM6YW55KT0+e1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwibmVzdGVkXCIscmVzKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRnJhbWV3b3JrRGF0YSA9IHJlcztcclxuICAgICAgICB0aGlzLmNoZWNrQWxsRWxlbWVudHModGhpcy5tb2RlID09PSAnRURJVCcgPyBmYWxzZSA6IHRydWUpO1xyXG4gICAgICAgIHRoaXMuaXNzdWJMb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjooKT0+eyAgdGhpcy5pc3N1YkxvYWRpbmcgPSBmYWxzZTt9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgY2hlY2tBbGxFbGVtZW50cyhwb3B1bGF0ZUluU2NvcGU6IGFueSl7XHJcbiAgICBsZXQgYWxsRWxlbWVudDphbnkgPSBbXVxyXG4gICAgdGhpcy5zZWxlY3RlZEZyYW1ld29ya0RhdGEuZGF0YT8uY2hpbGRfbGlzdF9kZXRhaWxzPy5mb3JFYWNoKChlbGVtZW50OmFueSkgPT4ge1xyXG4gICAgICAgZWxlbWVudD8uY29udHJvbHNEYXRhLmZvckVhY2goKGVsOmFueSkgPT4ge2FsbEVsZW1lbnQucHVzaChlbCl9KVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmFsbENvbnRyb2xzID0gdGhpcy51bmlxdWVCeVByb3AoYWxsRWxlbWVudCwnX2lkJyk7XHJcbiAgICBpZihwb3B1bGF0ZUluU2NvcGUpe1xyXG4gICAgICB0aGlzLmluU2NvcGUgPSB0aGlzLnVuaXF1ZUJ5UHJvcChhbGxFbGVtZW50LCdfaWQnKTtcclxuICAgIH1cclxuICAgXHJcbiAgICB0aGlzLmNoZWNrU2VsZWN0QWxsKCk7XHJcbiAgICB0aGlzLnNldEluc2NvcGVJZHMoKTtcclxuICB9XHJcblxyXG4gIGNoZWNrU2VsZWN0QWxsKCl7XHJcbiAgICBjb25zdCBhbGxJZHMgPSB0aGlzLmFsbENvbnRyb2xzLm1hcCgoZWxlOmFueSkgPT4gZWxlPy5faWQpO1xyXG4gICAgY29uc3QgaW5TY29wZUlkcyA9IHRoaXMuaW5TY29wZS5tYXAoKGVsZTphbnkpID0+IGVsZT8uX2lkKTtcclxuICAgIHRoaXMuYWxsQ29udHJvbHNTZWxlY3RlZCA9IGFsbElkcy5zb3J0KCk/LnRvU3RyaW5nKCkgPT09IGluU2NvcGVJZHMuc29ydCgpPy50b1N0cmluZygpXHJcbiAgfVxyXG4gc2VsZWN0QWxsKGV2dDphbnkpe1xyXG4gICAgaWYoZXZ0Py50YXJnZXQ/LmNoZWNrZWQpe1xyXG4gICAgICB0aGlzLmNoZWNrQWxsRWxlbWVudHModHJ1ZSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5pblNjb3BlID0gW107XHJcbiAgICAgIHRoaXMuaW5TY29wZUlkcyA9IFtdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jaGVja1NlbGVjdEFsbCgpO1xyXG4gfVxyXG4gIHNldEluc2NvcGVJZHMoKXtcclxuICAgIHRoaXMuaW5TY29wZUlkcyA9IHRoaXMuaW5TY29wZS5tYXAoKGVsOmFueSkgPT4gZWw/Ll9pZClcclxuICB9XHJcblxyXG4gIHNlbGVjdEl0ZW0oZXZ0OmFueSxwYXlsb2FkOmFueSl7XHJcbiAgICBldnQ/LnRhcmdldD8uY2hlY2tlZCA9PT0gdHJ1ZSA/IHRoaXMubWFuaXB1bGF0ZUl0ZW0oJ0FERCcsIHBheWxvYWQpIDogdGhpcy5tYW5pcHVsYXRlSXRlbSgnREVMRVRFJywgcGF5bG9hZClcclxuICB9XHJcbiAgbWFuaXB1bGF0ZUl0ZW0oYWN0aW9uOiAnQUREJyB8ICdERUxFVEUnLCBwYXlsb2FkOiBhbnkpIHtcclxuICAgIGlmIChhY3Rpb24gPT09ICdBREQnKSB7XHJcbiAgICAgIHRoaXMuaW5TY29wZSA9IHRoaXMudW5pcXVlQnlQcm9wKFsuLi50aGlzLmluU2NvcGUsIC4uLltwYXlsb2FkXV0sICdfaWQnKTtcclxuICAgICAgdGhpcy5pblNjb3BlSWRzID0gdGhpcy5pblNjb3BlLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uX2lkKVxyXG4gICAgfSBlbHNlIGlmIChhY3Rpb24gPT09ICdERUxFVEUnKSB7XHJcbiAgICAgIGxldCBpbmRleCA9IHRoaXMuaW5TY29wZS5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGU/Ll9pZCA9PT0gcGF5bG9hZD8uX2lkKTtcclxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICB0aGlzLmluU2NvcGUgPSB0aGlzLmluU2NvcGUuZmlsdGVyKChlbGU6IGFueSkgPT4gZWxlPy5faWQgIT09IHBheWxvYWQ/Ll9pZCk7XHJcbiAgICAgICAgdGhpcy5pblNjb3BlSWRzID0gdGhpcy5pblNjb3BlLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uX2lkKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgIHRoaXMuY2hlY2tTZWxlY3RBbGwoKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdENhdGVnb3J5KGV2dDphbnkscGF5bG9hZDphbnkpe1xyXG4gICAgZXZ0Py50YXJnZXQ/LmNoZWNrZWQgPT09IHRydWUgPyB0aGlzLm1hbmlwdWxhdGVDYXRlZ29yeSgnQUREJywgcGF5bG9hZCkgOiB0aGlzLm1hbmlwdWxhdGVDYXRlZ29yeSgnREVMRVRFJywgcGF5bG9hZClcclxuICB9XHJcbiAgbWFuaXB1bGF0ZUNhdGVnb3J5KGFjdGlvbjogJ0FERCcgfCAnREVMRVRFJywgcGF5bG9hZDogYW55KSB7XHJcbiAgICBpZiAoYWN0aW9uID09PSAnQUREJykge1xyXG4gICAgICBjb25zdCBpdGVtc1RvYmVBZGRlZCA9IHBheWxvYWQ/LmNvbnRyb2xzRGF0YTsgXHJcbiAgICAgIHRoaXMuaW5TY29wZSA9IHRoaXMudW5pcXVlQnlQcm9wKFsuLi50aGlzLmluU2NvcGUsIC4uLml0ZW1zVG9iZUFkZGVkXSwgJ19pZCcpO1xyXG4gICAgICB0aGlzLmluU2NvcGVJZHMgPSB0aGlzLmluU2NvcGUubWFwKChlbGU6IGFueSkgPT4gZWxlPy5faWQpXHJcbiAgICB9IGVsc2UgaWYgKGFjdGlvbiA9PT0gJ0RFTEVURScpIHtcclxuICAgICAgY29uc3QgaXRlbXNUb2JlUmVtb3ZlZCA9IHBheWxvYWQ/LmNvbnRyb2xzRGF0YS5tYXAoKGVsOmFueSk9PiBlbC5faWQpOyBcclxuICAgICAgIHRoaXMuaW5TY29wZSA9IHRoaXMuaW5TY29wZS5maWx0ZXIoKGVsZTphbnkpPT4gIWl0ZW1zVG9iZVJlbW92ZWQuaW5jbHVkZXMoZWxlLl9pZCkpO1xyXG4gICAgICAgdGhpcy5pblNjb3BlSWRzID0gdGhpcy5pblNjb3BlLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uX2lkKVxyXG4gICAgIFxyXG4gICAgfVxyXG4gICB0aGlzLmNoZWNrU2VsZWN0QWxsKCk7XHJcbiAgfVxyXG5cclxuICBuZXh0SGFuZGxlcigpe1xyXG4gICAgaWYodGhpcy5jdXJyZW50VmlldyA9PT0gJ0ZSQU1FV09SS19DQVRFR09SWScpe1xyXG4gICAgICB0aGlzLmN1cnJlbnRWaWV3ID0gJ0ZSQU1FV09SSyc7XHJcbiAgICAgIHRoaXMubG9hZEZyYW1ld29ya0RhdGEoKTtcclxuICAgIH1cclxuICAgIGVsc2V7XHJcbiAgICAgIHRoaXMubmV4dC5lbWl0KHsuLi50aGlzLnNlbGVjdGVkRnJhbWV3b3JrLGluX3Njb3BlOnRoaXMuaW5TY29wZSxvdXRfc2NvcGU6IHRoaXMuYWxsQ29udHJvbHMuZmlsdGVyKChlbGU6YW55KT0+ICF0aGlzLmluU2NvcGVJZHMuaW5jbHVkZXMoZWxlPy5faWQpKX0pO1xyXG4gICAgICBjb25zb2xlLmxvZyhcIkZpbmFsIHBheWxvYWRcIix7Li4udGhpcy5zZWxlY3RlZEZyYW1ld29yayxpbl9zY29wZTp0aGlzLmluU2NvcGUsb3V0U2NvcGU6IHRoaXMuYWxsQ29udHJvbHMuZmlsdGVyKChlbGU6YW55KT0+ICF0aGlzLmluU2NvcGVJZHMuaW5jbHVkZXMoZWxlPy5faWQpKX0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYW5jZWxIYW5kbGVyKCl7XHJcbiAgICBpZih0aGlzLmN1cnJlbnRWaWV3ID09PSAnRlJBTUVXT1JLJyl7XHJcbiAgICAgIHRoaXMuY3VycmVudFZpZXcgPSAnRlJBTUVXT1JLX0NBVEVHT1JZJztcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGV4cGFuZGVkU3ViQ2F0ZWdvcnlJZHM6YW55ID0gW107XHJcbiAgc3ViQ2F0ZWdvcnlFeHBhbmRDb2xsYXBzZShjYXRlZ29yeTphbnkpe1xyXG4gICAgY29uc29sZS5sb2coY2F0ZWdvcnkpXHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZXhwYW5kZWRTdWJDYXRlZ29yeUlkcy5pbmRleE9mKGNhdGVnb3J5Py5faWQpO1xyXG4gICAgaWYoaW5kZXggPCAwICYmIGNhdGVnb3J5Py5jb250cm9sc0RhdGE/Lmxlbmd0aCl7XHJcbiAgICAgIHRoaXMuZXhwYW5kZWRTdWJDYXRlZ29yeUlkcy5wdXNoKGNhdGVnb3J5Py5faWQpXHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5leHBhbmRlZFN1YkNhdGVnb3J5SWRzLnNwbGljZShpbmRleCwxKVxyXG4gICAgfVxyXG4gIH1cclxuICB1bmlxdWVCeVByb3AoYXJyYXk6IGFueSwga2V5OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBBcnJheS5mcm9tKFxyXG4gICAgICBhcnJheVxyXG4gICAgICAgIC5yZWR1Y2UoXHJcbiAgICAgICAgICAoYWNjOiBhbnksIGl0ZW06IGFueSkgPT4gKFxyXG4gICAgICAgICAgICBpdGVtICYmIGl0ZW1ba2V5XSAmJiBhY2Muc2V0KGl0ZW1ba2V5XSwgaXRlbSksXHJcbiAgICAgICAgICAgIGFjY1xyXG4gICAgICAgICAgKSxcclxuICAgICAgICAgIG5ldyBNYXAoKVxyXG4gICAgICAgIClcclxuICAgICAgICAudmFsdWVzKClcclxuICAgICk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|