vcomply-workflow-engine 6.0.51 → 6.0.53

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.
Files changed (120) hide show
  1. package/esm2022/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.mjs +2 -2
  2. package/esm2022/lib/add-multiple-risk/add-multiple-risk.component.mjs +2 -2
  3. package/esm2022/lib/constants/assets.constants.mjs +57 -0
  4. package/esm2022/lib/constants/link-responsibility.constants.mjs +2 -2
  5. package/esm2022/lib/interfaces/responsibilty.interface.mjs +1 -1
  6. package/esm2022/lib/log-an-issue/log-an-issue.component.mjs +2 -2
  7. package/esm2022/lib/more-option/more-option.component.mjs +49 -6
  8. package/esm2022/lib/report-a-case/components/assignee/assignee.component.mjs +2 -2
  9. package/esm2022/lib/report-a-case/components/case-assignees/case-assignees.component.mjs +2 -2
  10. package/esm2022/lib/report-a-case/components/case-category/case-category.component.mjs +2 -2
  11. package/esm2022/lib/report-a-case/components/case-details/case-details.component.mjs +2 -2
  12. package/esm2022/lib/report-a-case/components/case-owners/case-owners.component.mjs +2 -2
  13. package/esm2022/lib/report-a-case/components/case-priority/case-priority.component.mjs +2 -2
  14. package/esm2022/lib/report-a-case/components/case-resolution-deadline/case-resolution-deadline.component.mjs +2 -2
  15. package/esm2022/lib/report-a-case/components/case-type-dropdown/case-dropdown.component.mjs +2 -2
  16. package/esm2022/lib/report-a-case/components/due-date/due-date.component.mjs +2 -2
  17. package/esm2022/lib/report-a-case/components/field-holder/field-holder.component.mjs +2 -2
  18. package/esm2022/lib/report-a-case/components/linked assessment/linked-assessment.component.mjs +2 -2
  19. package/esm2022/lib/report-a-case/components/linked-responsibilities/linked-responsibilities.component.mjs +2 -2
  20. package/esm2022/lib/report-a-case/components/rc-details/rc-details.component.mjs +2 -2
  21. package/esm2022/lib/report-a-case/components/report-date/report-date.component.mjs +2 -2
  22. package/esm2022/lib/report-a-case/workflow-case/workflow-case.component.mjs +2 -2
  23. package/esm2022/lib/services/report-case-permission.service.mjs +3 -5
  24. package/esm2022/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.mjs +2 -2
  25. package/esm2022/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.mjs +2 -2
  26. package/esm2022/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.mjs +2 -2
  27. package/esm2022/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.mjs +2 -2
  28. package/esm2022/lib/sharedComponents/assessment-editor/components/logic/logic.component.mjs +2 -2
  29. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.mjs +2 -2
  30. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.mjs +2 -2
  31. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.mjs +2 -2
  32. package/esm2022/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.mjs +2 -2
  33. package/esm2022/lib/sharedComponents/assessment-list/assessment-list.component.mjs +2 -2
  34. package/esm2022/lib/sharedComponents/audit-category-list/audit-category-list.component.mjs +2 -2
  35. package/esm2022/lib/sharedComponents/category-list/category-list.component.mjs +2 -2
  36. package/esm2022/lib/sharedComponents/category-list-selection/category-list-selection/category-list-selection.component.mjs +2 -2
  37. package/esm2022/lib/sharedComponents/category-multiselect/category-multi-select.component.mjs +2 -2
  38. package/esm2022/lib/sharedComponents/checkbox-list/checkbox-list.component.mjs +2 -2
  39. package/esm2022/lib/sharedComponents/format-and-evidence/format-and-evidence.component.mjs +2 -2
  40. package/esm2022/lib/sharedComponents/framework-list/framework-list.component.mjs +2 -2
  41. package/esm2022/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.mjs +1 -5
  42. package/esm2022/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +1 -5
  43. package/esm2022/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +1 -2
  44. package/esm2022/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +2 -6
  45. package/esm2022/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +1 -2
  46. package/esm2022/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +1 -3
  47. package/esm2022/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +1 -5
  48. package/esm2022/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +1 -3
  49. package/esm2022/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.mjs +2 -2
  50. package/esm2022/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +2 -4
  51. package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +1 -185
  52. package/esm2022/lib/sharedComponents/group-users-list/group-users-list.component.mjs +4 -4
  53. package/esm2022/lib/sharedComponents/link-program/link-program/link-program.component.mjs +2 -2
  54. package/esm2022/lib/sharedComponents/owner-list/owner-list.component.mjs +2 -2
  55. package/esm2022/lib/sharedComponents/policy-access/policy-access.component.mjs +2 -2
  56. package/esm2022/lib/sharedComponents/policy-template/constants/template.constant.mjs +2 -2
  57. package/esm2022/lib/sharedComponents/program-listing/program-listing.component.mjs +2 -2
  58. package/esm2022/lib/sharedComponents/radio-list/radio-list.component.mjs +2 -2
  59. package/esm2022/lib/sharedComponents/radio-list-with-pagination/radio-list.component.mjs +2 -2
  60. package/esm2022/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.mjs +2 -2
  61. package/esm2022/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.mjs +2 -2
  62. package/esm2022/lib/sharedComponents/review-frequency/review-frequency.component.mjs +2 -2
  63. package/esm2022/lib/sharedComponents/roles-list/roles-list.component.mjs +2 -2
  64. package/esm2022/lib/sharedComponents/select-approvers/select-approvers.component.mjs +2 -2
  65. package/esm2022/lib/sharedComponents/users-radio-list/users-radio-list.component.mjs +2 -2
  66. package/esm2022/lib/ui-kit/pagination/pagination/pagination.component.mjs +2 -2
  67. package/esm2022/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.mjs +2 -2
  68. package/esm2022/lib/workflow/shared/constants/cdn-link.constant.mjs +2 -2
  69. package/esm2022/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.mjs +2 -2
  70. package/esm2022/lib/workflow-assessment/workflow-assessment.component.mjs +2 -2
  71. package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +133 -275
  72. package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +3 -5
  73. package/esm2022/lib/workflow-engine.module.mjs +6 -13
  74. package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +2 -2
  75. package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.mjs +2 -2
  76. package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.mjs +2 -2
  77. package/esm2022/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.mjs +2 -2
  78. package/esm2022/lib/workflow-program/create-program-ui/role-list/role-list.component.mjs +2 -2
  79. package/esm2022/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.mjs +2 -2
  80. package/esm2022/lib/workflow-program/workflow-program.component.mjs +241 -84
  81. package/esm2022/lib/workflow-risk/workflow-risk.component.mjs +2 -2
  82. package/esm2022/lib/workflow-services/programs.service.mjs +112 -28
  83. package/esm2022/lib/workflow-services/responsibility.service.mjs +9 -9
  84. package/esm2022/lib/workflow-survey-form/workflow-survey-form.component.mjs +2 -2
  85. package/fesm2022/vcomply-workflow-engine.mjs +598 -1130
  86. package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
  87. package/lib/interfaces/responsibilty.interface.d.ts +1 -1
  88. package/lib/services/report-case-permission.service.d.ts +1 -3
  89. package/lib/sharedComponents/frequency/frequency.service.d.ts +0 -30
  90. package/lib/workflow-compliance/workflow-compliance.component.d.ts +4 -29
  91. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +1 -2
  92. package/lib/workflow-engine.module.d.ts +40 -42
  93. package/lib/workflow-program/workflow-program.component.d.ts +4 -6
  94. package/lib/workflow-risk/workflow-risk.component.d.ts +1 -1
  95. package/lib/workflow-services/programs.service.d.ts +53 -13
  96. package/package.json +1 -1
  97. package/esm2022/lib/constants/assessts.constants.mjs +0 -57
  98. package/esm2022/lib/constants/mock.mjs +0 -130
  99. package/esm2022/lib/interfaces/frequency.interface.mjs +0 -2
  100. package/esm2022/lib/sharedComponents/list-container/list-container.component.mjs +0 -52
  101. package/esm2022/lib/sharedComponents/program-list/constant.mjs +0 -16
  102. package/esm2022/lib/sharedComponents/program-list/interfaces/data-source.interface.mjs +0 -2
  103. package/esm2022/lib/sharedComponents/program-list/interfaces/list-item.interface.mjs +0 -2
  104. package/esm2022/lib/sharedComponents/program-list/pipes/check-selected-items.pipes.mjs +0 -20
  105. package/esm2022/lib/sharedComponents/program-list/program-list/program-list.component.mjs +0 -171
  106. package/esm2022/lib/sharedComponents/program-list/program-list.module.mjs +0 -43
  107. package/esm2022/lib/sharedComponents/program-list/services/list-utils.service.mjs +0 -27
  108. package/esm2022/lib/sharedComponents/program-list/services/program-list-api.service.mjs +0 -32
  109. package/lib/constants/mock.d.ts +0 -15
  110. package/lib/interfaces/frequency.interface.d.ts +0 -37
  111. package/lib/sharedComponents/list-container/list-container.component.d.ts +0 -9
  112. package/lib/sharedComponents/program-list/constant.d.ts +0 -9
  113. package/lib/sharedComponents/program-list/interfaces/data-source.interface.d.ts +0 -4
  114. package/lib/sharedComponents/program-list/interfaces/list-item.interface.d.ts +0 -5
  115. package/lib/sharedComponents/program-list/pipes/check-selected-items.pipes.d.ts +0 -7
  116. package/lib/sharedComponents/program-list/program-list/program-list.component.d.ts +0 -46
  117. package/lib/sharedComponents/program-list/program-list.module.d.ts +0 -13
  118. package/lib/sharedComponents/program-list/services/list-utils.service.d.ts +0 -7
  119. package/lib/sharedComponents/program-list/services/program-list-api.service.d.ts +0 -14
  120. /package/lib/constants/{assessts.constants.d.ts → assets.constants.d.ts} +0 -0
@@ -1,130 +0,0 @@
1
- export const MOCK_PROGRAMS = [
2
- {
3
- "id": "A2B4C6",
4
- "name": "P1",
5
- "type": "regulations",
6
- },
7
- {
8
- "id": "X7Y9Z8",
9
- "name": "Standard A",
10
- "type": "standards",
11
- },
12
- {
13
- "id": "G7H2J9",
14
- "name": "Internal Control B",
15
- "type": "internal_controls",
16
- },
17
- {
18
- "id": "K4L6M1",
19
- "name": "Other Document C",
20
- "type": "others",
21
- },
22
- {
23
- "id": "N8P5Q7",
24
- "name": "Regulation X",
25
- "type": "regulations",
26
- },
27
- {
28
- "id": "R3S9T4",
29
- "name": "Standard Y",
30
- "type": "standards",
31
- },
32
- {
33
- "id": "U6V2W8",
34
- "name": "Internal Control Z",
35
- "type": "internal_controls",
36
- },
37
- {
38
- "id": "B9C4D7",
39
- "name": "Other Document D",
40
- "type": "others",
41
- },
42
- {
43
- "id": "E5F8H2",
44
- "name": "Regulation AA",
45
- "type": "regulations",
46
- },
47
- {
48
- "id": "J3K7L4",
49
- "name": "Standard BB",
50
- "type": "standards",
51
- },
52
- {
53
- "id": "M6N9P5",
54
- "name": "Internal Control CC",
55
- "type": "internal_controls",
56
- },
57
- {
58
- "id": "Q2R8S3",
59
- "name": "Other Document E",
60
- "type": "others",
61
- },
62
- {
63
- "id": "T7U4V1",
64
- "name": "Regulation BB",
65
- "type": "regulations",
66
- },
67
- {
68
- "id": "W5X8Y6",
69
- "name": "Standard CC",
70
- "type": "standards",
71
- },
72
- {
73
- "id": "Z2A6B9",
74
- "name": "Internal Control DD",
75
- "type": "internal_controls",
76
- },
77
- {
78
- "id": "C4D7E2",
79
- "name": "Other Document F",
80
- "type": "others",
81
- },
82
- ];
83
- export const MOCK_CATEGORIES = [
84
- { id: "A2B4C6", name: "P1", description: "Primary regulation document", level: 1, parent: null },
85
- { id: "D5E8F3", name: "Standard A", description: "Industry standard document", level: 1, parent: "A2B4C6" },
86
- { id: "G7H2J9", name: "Internal Control B", description: "Internal guidelines", level: 1, parent: "A2B4C6" },
87
- { id: "K4L6M1", name: "Other Document C", description: "Miscellaneous document", level: 1, parent: "A2B4C6" },
88
- { id: "N8P5Q7", name: "Regulation X", description: "Legal framework", level: 2, parent: "A2B4C6" },
89
- { id: "R3S9T4", name: "Standard Y", description: "Updated standard", level: 2, parent: "D5E8F3" },
90
- { id: "U6V2W8", name: "Internal Control Z", description: "Control procedures", level: 2, parent: "G7H2J9" },
91
- { id: "B9C4D7", name: "Other Document D", description: "General information", level: 2, parent: "K4L6M1" },
92
- { id: "E5F8H2", name: "Regulation AA", description: "Supplementary regulation", level: 3, parent: "N8P5Q7" },
93
- { id: "J3K7L4", name: "Standard BB", description: "New compliance standard", level: 3, parent: "R3S9T4" },
94
- { id: "M6N9P5", name: "Internal Control CC", description: "Advanced controls", level: 3, parent: "U6V2W8" },
95
- { id: "Q2R8S3", name: "Other Document E", description: "Additional reference", level: 3, parent: "B9C4D7" },
96
- { id: "T7U4V1", name: "Regulation BB", description: "Regulatory expansion", level: 4, parent: "E5F8H2" },
97
- { id: "W5X8Y6", name: "Standard CC", description: "Industry benchmark", level: 4, parent: "J3K7L4" },
98
- { id: "Z2A6B9", name: "Internal Control DD", description: "Internal audit policies", level: 4, parent: "M6N9P5" },
99
- { id: "C4D7E2", name: "Other Document F", description: "Extra documentation", level: 4, parent: "Q2R8S3" },
100
- { id: "F8H3J6", name: "Regulation CC", description: "Additional compliance rules", level: 5, parent: "T7U4V1" },
101
- { id: "K5L9M4", name: "Standard DD", description: "Revised guidelines", level: 5, parent: "W5X8Y6" },
102
- { id: "N2P6Q8", name: "Internal Control EE", description: "Operational security measures", level: 5, parent: "Z2A6B9" },
103
- { id: "R7S3T5", name: "Other Document G", description: "Supplementary notes", level: 5, parent: "C4D7E2" }
104
- ];
105
- function addParentTreeToCategories(categories) {
106
- // Create a map for quick lookup of categories by ID
107
- const categoryMap = new Map(categories.map(category => [category.id, category]));
108
- function getParentTree(category) {
109
- const parentTree = [];
110
- let currentParent = category.parent;
111
- while (currentParent) {
112
- const parentCategory = categoryMap.get(currentParent);
113
- if (parentCategory) {
114
- parentTree.push(parentCategory.name);
115
- currentParent = parentCategory.parent;
116
- }
117
- else {
118
- break;
119
- }
120
- }
121
- return parentTree;
122
- }
123
- return categories.map(category => ({
124
- ...category,
125
- parentTree: getParentTree(category)
126
- }));
127
- }
128
- // Example usage:
129
- const categoriesWithParentTree = addParentTreeToCategories(MOCK_CATEGORIES);
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL2NvbnN0YW50cy9tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBZTtJQUN2QztRQUNFLElBQUksRUFBRSxRQUFRO1FBQ2QsTUFBTSxFQUFFLElBQUk7UUFDWixNQUFNLEVBQUUsYUFBYTtLQUN0QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFFBQVE7UUFDZCxNQUFNLEVBQUUsWUFBWTtRQUNwQixNQUFNLEVBQUUsV0FBVztLQUVwQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFFBQVE7UUFDZCxNQUFNLEVBQUUsb0JBQW9CO1FBQzVCLE1BQU0sRUFBRSxtQkFBbUI7S0FHNUI7SUFDRDtRQUNFLElBQUksRUFBRSxRQUFRO1FBQ2QsTUFBTSxFQUFFLGtCQUFrQjtRQUMxQixNQUFNLEVBQUUsUUFBUTtLQUdqQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFFBQVE7UUFDZCxNQUFNLEVBQUUsY0FBYztRQUN0QixNQUFNLEVBQUUsYUFBYTtLQUd0QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFFBQVE7UUFDZCxNQUFNLEVBQUUsWUFBWTtRQUNwQixNQUFNLEVBQUUsV0FBVztLQUdwQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFFBQVE7UUFDZCxNQUFNLEVBQUUsb0JBQW9CO1FBQzVCLE1BQU0sRUFBRSxtQkFBbUI7S0FDNUI7SUFDRDtRQUNFLElBQUksRUFBRSxRQUFRO1FBQ2QsTUFBTSxFQUFFLGtCQUFrQjtRQUMxQixNQUFNLEVBQUUsUUFBUTtLQUNqQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFFBQVE7UUFDZCxNQUFNLEVBQUUsZUFBZTtRQUN2QixNQUFNLEVBQUUsYUFBYTtLQUN0QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFFBQVE7UUFDZCxNQUFNLEVBQUUsYUFBYTtRQUNyQixNQUFNLEVB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QUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUU7Q0FFM0csQ0FBQTtBQWNELFNBQVMseUJBQXlCLENBQUMsVUFBc0I7SUFDdkQsb0RBQW9EO0lBQ3BELE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWpGLFNBQVMsYUFBYSxDQUFDLFFBQWtCO1FBQ3ZDLE1BQU0sVUFBVSxHQUFhLEVBQUUsQ0FBQztRQUNoQyxJQUFJLGFBQWEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBRXBDLE9BQU8sYUFBYSxFQUFFO1lBQ3BCLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdEQsSUFBSSxjQUFjLEVBQUU7Z0JBQ2xCLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNyQyxhQUFhLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQzthQUN2QztpQkFBTTtnQkFDTCxNQUFNO2FBQ1A7U0FDRjtRQUVELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLEdBQUcsUUFBUTtRQUNYLFVBQVUsRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDO0tBQ3BDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELGlCQUFpQjtBQUNqQixNQUFNLHdCQUF3QixHQUFHLHlCQUF5QixDQUFDLGVBQWUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gbW9jay1kYXRhLnRzXG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJy4uL3NoYXJlZENvbXBvbmVudHMvcHJvZ3JhbS1saXN0L2ludGVyZmFjZXMvbGlzdC1pdGVtLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBNT0NLX1BST0dSQU1TOiBMaXN0SXRlbVtdID0gW1xuICB7XG4gICAgXCJpZFwiOiBcIkEyQjRDNlwiLFxuICAgIFwibmFtZVwiOiBcIlAxXCIsXG4gICAgXCJ0eXBlXCI6IFwicmVndWxhdGlvbnNcIixcbiAgfSxcbiAge1xuICAgIFwiaWRcIjogXCJYN1k5WjhcIixcbiAgICBcIm5hbWVcIjogXCJTdGFuZGFyZCBBXCIsXG4gICAgXCJ0eXBlXCI6IFwic3RhbmRhcmRzXCIsXG4gICBcbiAgfSxcbiAge1xuICAgIFwiaWRcIjogXCJHN0gySjlcIixcbiAgICBcIm5hbWVcIjogXCJJbnRlcm5hbCBDb250cm9sIEJcIixcbiAgICBcInR5cGVcIjogXCJpbnRlcm5hbF9jb250cm9sc1wiLFxuICAgIFxuICAgXG4gIH0sXG4gIHtcbiAgICBcImlkXCI6IFwiSzRMNk0xXCIsXG4gICAgXCJuYW1lXCI6IFwiT3RoZXIgRG9jdW1lbnQgQ1wiLFxuICAgIFwidHlwZVwiOiBcIm90aGVyc1wiLFxuICAgIFxuICAgIFxuICB9LFxuICB7XG4gICAgXCJpZFwiOiBcIk44UDVRN1wiLFxuICAgIFwibmFtZVwiOiBcIlJlZ3VsYXRpb24gWFwiLFxuICAgIFwidHlwZVwiOiBcInJlZ3VsYXRpb25zXCIsXG4gICAgXG4gICAgXG4gIH0sXG4gIHtcbiAgICBcImlkXCI6IFwiUjNTOVQ0XCIsXG4gICAgXCJuYW1lXCI6IFwiU3RhbmRhcmQgWVwiLFxuICAgIFwidHlwZVwiOiBcInN0YW5kYXJkc1wiLFxuXG4gICBcbiAgfSxcbiAge1xuICAgIFwiaWRcIjogXCJVNlYyVzhcIixcbiAgICBcIm5hbWVcIjogXCJJbnRlcm5hbCBDb250cm9sIFpcIixcbiAgICBcInR5cGVcIjogXCJpbnRlcm5hbF9jb250cm9sc1wiLFxuICB9LFxuICB7XG4gICAgXCJpZFwiOiBcIkI5QzREN1wiLFxuICAgIFwibmFtZVwiOiBcIk90aGVyIERvY3VtZW50IERcIixcbiAgICBcInR5cGVcIjogXCJvdGhlcnNcIixcbiAgfSxcbiAge1xuICAgIFwiaWRcIjogXCJFNUY4SDJcIixcbiAgICBcIm5hbWVcIjogXCJSZWd1bGF0aW9uIEFBXCIsXG4gICAgXCJ0eXBlXCI6IFwicmVndWxhdGlvbnNcIixcbiAgfSxcbiAge1xuICAgIFwiaWRcIjogXCJKM0s3TDRcIixcbiAgICBcIm5hbWVcIjogXCJTdGFuZGFyZCBCQlwiLFxuICAgIFwidHlwZVwiOiBcInN0YW5kYXJkc1wiLFxuICAgIFxuICAgIFxuICB9LFxuICB7XG4gICAgXCJpZFwiOiBcIk02TjlQNVwiLFxuICAgIFwibmFtZVwiOiBcIkludGVybmFsIENvbnRyb2wgQ0NcIixcbiAgICBcInR5cGVcIjogXCJpbnRlcm5hbF9jb250cm9sc1wiLFxuICAgIFxuICAgIFxuICB9LFxuICB7XG4gICAgXCJpZFwiOiBcIlEyUjhTM1wiLFxuICAgIFwibmFtZVwiOiBcIk90aGVyIERvY3VtZW50IEVcIixcbiAgICBcInR5cGVcIjogXCJvdGhlcnNcIixcbiAgICBcbiAgICBcbiAgfSxcbiAge1xuICAgIFwiaWRcIjogXCJUN1U0VjFcIixcbiAgICBcIm5hbWVcIjogXCJSZWd1bGF0aW9uIEJCXCIsXG4gICAgXCJ0eXBlXCI6IFwicmVndWxhdGlvbnNcIixcbiAgICBcbiAgICBcbiAgfSxcbiAge1xuICAgIFwiaWRcIjogXCJXNVg4WTZcIixcbiAgICBcIm5hbWVcIjogXCJTdGFuZGFyZCBDQ1wiLFxuICAgIFwidHlwZVwiOiBcInN0YW5kYXJkc1wiLFxuICAgIFxuICAgIFxuICB9LFxuICB7XG4gICAgXCJpZFwiOiBcIloyQTZCOVwiLFxuICAgIFwibmFtZVwiOiBcIkludGVybmFsIENvbnRyb2wgRERcIixcbiAgICBcInR5cGVcIjogXCJpbnRlcm5hbF9jb250cm9sc1wiLFxuICAgIFxuICAgIFxuICB9LFxuICB7XG4gICAgXCJpZFwiOiBcIkM0RDdFMlwiLFxuICAgIFwibmFtZVwiOiBcIk90aGVyIERvY3VtZW50IEZcIixcbiAgICBcInR5cGVcIjogXCJvdGhlcnNcIixcbiAgICBcbiAgICBcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBNT0NLX0NBVEVHT1JJRVMgPSBbICAgIFxuICB7IGlkOiBcIkEyQjRDNlwiLCBuYW1lOiBcIlAxXCIsIGRlc2NyaXB0aW9uOiBcIlByaW1hcnkgcmVndWxhdGlvbiBkb2N1bWVudFwiLCBsZXZlbDogMSwgcGFyZW50OiBudWxsIH0sXG4gIHsgaWQ6IFwiRDVFOEYzXCIsIG5hbWU6IFwiU3RhbmRhcmQgQVwiLCBkZXNjcmlwdGlvbjogXCJJbmR1c3RyeSBzdGFuZGFyZCBkb2N1bWVudFwiLCBsZXZlbDogMSwgcGFyZW50OiBcIkEyQjRDNlwiIH0sXG4gIHsgaWQ6IFwiRzdIMko5XCIsIG5hbWU6IFwiSW50ZXJuYWwgQ29udHJvbCBCXCIsIGRlc2NyaXB0aW9uOiBcIkludGVybmFsIGd1aWRlbGluZXNcIiwgbGV2ZWw6IDEsIHBhcmVudDogXCJBMkI0QzZcIiB9LFxuICB7IGlkOiBcIks0TDZNMVwiLCBuYW1lOiBcIk90aGVyIERvY3VtZW50IENcIiwgZGVzY3JpcHRpb246IFwiTWlzY2VsbGFuZW91cyBkb2N1bWVudFwiLCBsZXZlbDogMSwgcGFyZW50OiBcIkEyQjRDNlwiIH0sXG4gIHsgaWQ6IFwiTjhQNVE3XCIsIG5hbWU6IFwiUmVndWxhdGlvbiBYXCIsIGRlc2NyaXB0aW9uOiBcIkxlZ2FsIGZyYW1ld29ya1wiLCBsZXZlbDogMiwgcGFyZW50OiBcIkEyQjRDNlwiIH0sXG4gIHsgaWQ6IFwiUjNTOVQ0XCIsIG5hbWU6IFwiU3RhbmRhcmQgWVwiLCBkZXNjcmlwdGlvbjogXCJVcGRhdGVkIHN0YW5kYXJkXCIsIGxldmVsOiAyLCBwYXJlbnQ6IFwiRDVFOEYzXCIgfSxcbiAgeyBpZDogXCJVNlYyVzhcIiwgbmFtZTogXCJJbnRlcm5hbCBDb250cm9sIFpcIiwgZGVzY3JpcHRpb246IFwiQ29udHJvbCBwcm9jZWR1cmVzXCIsIGxldmVsOiAyLCBwYXJlbnQ6IFwiRzdIMko5XCIgfSxcbiAgeyBpZDogXCJCOUM0RDdcIiwgbmFtZTogXCJPdGhlciBEb2N1bWVudCBEXCIsIGRlc2NyaXB0aW9uOiBcIkdlbmVyYWwgaW5mb3JtYXRpb25cIiwgbGV2ZWw6IDIsIHBhcmVudDogXCJLNEw2TTFcIiB9LFxuICB7IGlkOiBcIkU1RjhIMlwiLCBuYW1lOiBcIlJlZ3VsYXRpb24gQUFcIiwgZGVzY3JpcHRpb246IFwiU3VwcGxlbWVudGFyeSByZWd1bGF0aW9uXCIsIGxldmVsOiAzLCBwYXJlbnQ6IFwiTjhQNVE3XCIgfSxcbiAgeyBpZDogXCJKM0s3TDRcIiwgbmFtZTogXCJTdGFuZGFyZCBCQlwiLCBkZXNjcmlwdGlvbjogXCJOZXcgY29tcGxpYW5jZSBzdGFuZGFyZFwiLCBsZXZlbDogMywgcGFyZW50OiBcIlIzUzlUNFwiIH0sXG4gIHsgaWQ6IFwiTTZOOVA1XCIsIG5hbWU6IFwiSW50ZXJuYWwgQ29udHJvbCBDQ1wiLCBkZXNjcmlwdGlvbjogXCJBZHZhbmNlZCBjb250cm9sc1wiLCBsZXZlbDogMywgcGFyZW50OiBcIlU2VjJXOFwiIH0sXG4gIHsgaWQ6IFwiUTJSOFMzXCIsIG5hbWU6IFwiT3RoZXIgRG9jdW1lbnQgRVwiLCBkZXNjcmlwdGlvbjogXCJBZGRpdGlvbmFsIHJlZmVyZW5jZVwiLCBsZXZlbDogMywgcGFyZW50OiBcIkI5QzREN1wiIH0sXG4gIHsgaWQ6IFwiVDdVNFYxXCIsIG5hbWU6IFwiUmVndWxhdGlvbiBCQlwiLCBkZXNjcmlwdGlvbjogXCJSZWd1bGF0b3J5IGV4cGFuc2lvblwiLCBsZXZlbDogNCwgcGFyZW50OiBcIkU1RjhIMlwiIH0sXG4gIHsgaWQ6IFwiVzVYOFk2XCIsIG5hbWU6IFwiU3RhbmRhcmQgQ0NcIiwgZGVzY3JpcHRpb246IFwiSW5kdXN0cnkgYmVuY2htYXJrXCIsIGxldmVsOiA0LCBwYXJlbnQ6IFwiSjNLN0w0XCIgfSxcbiAgeyBpZDogXCJaMkE2QjlcIiwgbmFtZTogXCJJbnRlcm5hbCBDb250cm9sIEREXCIsIGRlc2NyaXB0aW9uOiBcIkludGVybmFsIGF1ZGl0IHBvbGljaWVzXCIsIGxldmVsOiA0LCBwYXJlbnQ6IFwiTTZOOVA1XCIgfSxcbiAgeyBpZDogXCJDNEQ3RTJcIiwgbmFtZTogXCJPdGhlciBEb2N1bWVudCBGXCIsIGRlc2NyaXB0aW9uOiBcIkV4dHJhIGRvY3VtZW50YXRpb25cIiwgbGV2ZWw6IDQsIHBhcmVudDogXCJRMlI4UzNcIiB9LFxuICB7IGlkOiBcIkY4SDNKNlwiLCBuYW1lOiBcIlJlZ3VsYXRpb24gQ0NcIiwgZGVzY3JpcHRpb246IFwiQWRkaXRpb25hbCBjb21wbGlhbmNlIHJ1bGVzXCIsIGxldmVsOiA1LCBwYXJlbnQ6IFwiVDdVNFYxXCIgfSxcbiAgeyBpZDogXCJLNUw5TTRcIiwgbmFtZTogXCJTdGFuZGFyZCBERFwiLCBkZXNjcmlwdGlvbjogXCJSZXZpc2VkIGd1aWRlbGluZXNcIiwgbGV2ZWw6IDUsIHBhcmVudDogXCJXNVg4WTZcIiB9LFxuICB7IGlkOiBcIk4yUDZROFwiLCBuYW1lOiBcIkludGVybmFsIENvbnRyb2wgRUVcIiwgZGVzY3JpcHRpb246IFwiT3BlcmF0aW9uYWwgc2VjdXJpdHkgbWVhc3VyZXNcIiwgbGV2ZWw6IDUsIHBhcmVudDogXCJaMkE2QjlcIiB9LFxuICB7IGlkOiBcIlI3UzNUNVwiLCBuYW1lOiBcIk90aGVyIERvY3VtZW50IEdcIiwgZGVzY3JpcHRpb246IFwiU3VwcGxlbWVudGFyeSBub3Rlc1wiLCBsZXZlbDogNSwgcGFyZW50OiBcIkM0RDdFMlwiIH1cbiAgXG5dXG5cbmludGVyZmFjZSBDYXRlZ29yeSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgbGV2ZWw6IG51bWJlcjtcbiAgcGFyZW50OiBzdHJpbmcgfCBudWxsO1xufVxuXG5pbnRlcmZhY2UgQ2F0ZWdvcnlXaXRoUGFyZW50VHJlZSBleHRlbmRzIENhdGVnb3J5IHtcbiAgcGFyZW50VHJlZTogc3RyaW5nW107XG59XG5cbmZ1bmN0aW9uIGFkZFBhcmVudFRyZWVUb0NhdGVnb3JpZXMoY2F0ZWdvcmllczogQ2F0ZWdvcnlbXSk6IENhdGVnb3J5V2l0aFBhcmVudFRyZWVbXSB7XG4gIC8vIENyZWF0ZSBhIG1hcCBmb3IgcXVpY2sgbG9va3VwIG9mIGNhdGVnb3JpZXMgYnkgSURcbiAgY29uc3QgY2F0ZWdvcnlNYXAgPSBuZXcgTWFwKGNhdGVnb3JpZXMubWFwKGNhdGVnb3J5ID0+IFtjYXRlZ29yeS5pZCwgY2F0ZWdvcnldKSk7XG5cbiAgZnVuY3Rpb24gZ2V0UGFyZW50VHJlZShjYXRlZ29yeTogQ2F0ZWdvcnkpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgcGFyZW50VHJlZTogc3RyaW5nW10gPSBbXTtcbiAgICBsZXQgY3VycmVudFBhcmVudCA9IGNhdGVnb3J5LnBhcmVudDtcblxuICAgIHdoaWxlIChjdXJyZW50UGFyZW50KSB7XG4gICAgICBjb25zdCBwYXJlbnRDYXRlZ29yeSA9IGNhdGVnb3J5TWFwLmdldChjdXJyZW50UGFyZW50KTtcbiAgICAgIGlmIChwYXJlbnRDYXRlZ29yeSkge1xuICAgICAgICBwYXJlbnRUcmVlLnB1c2gocGFyZW50Q2F0ZWdvcnkubmFtZSk7XG4gICAgICAgIGN1cnJlbnRQYXJlbnQgPSBwYXJlbnRDYXRlZ29yeS5wYXJlbnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcGFyZW50VHJlZTtcbiAgfVxuXG4gIHJldHVybiBjYXRlZ29yaWVzLm1hcChjYXRlZ29yeSA9PiAoe1xuICAgIC4uLmNhdGVnb3J5LFxuICAgIHBhcmVudFRyZWU6IGdldFBhcmVudFRyZWUoY2F0ZWdvcnkpXG4gIH0pKTtcbn1cblxuLy8gRXhhbXBsZSB1c2FnZTpcbmNvbnN0IGNhdGVnb3JpZXNXaXRoUGFyZW50VHJlZSA9IGFkZFBhcmVudFRyZWVUb0NhdGVnb3JpZXMoTU9DS19DQVRFR09SSUVTKTsiXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL2ludGVyZmFjZXMvZnJlcXVlbmN5LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBGcmVxdWVuY3lPYmplY3Qge1xuICB0eXBlOiAnb25lX3RpbWUnIHwgJ2RhaWx5JyB8ICd3ZWVrbHknIHwgJ21vbnRobHknIHwgJ3F1YXJ0ZXJseScgfCAnc2VtZXN0ZXInIHwgJ3llYXJseScgfCAncmFuZG9tJyB8ICdvbmdvaW5nJyB8ICdvbl9jb21wbGV0aW9uX29mJyB8ICdiaWFubnVhbGx5JzsgXG4gIGVuZEFmdGVyOiBudW1iZXI7XG4gIHN0YXJ0QmVmb3JlOiBudW1iZXI7XG4gIGF1dG9EZWFjdGl2YXRlOiBudW1iZXI7XG4gIGRheTogbnVtYmVyO1xuICB0aW1lOiBzdHJpbmc7XG4gIHJlcGVhdE9wdGlvbnM/OiBSZXBlYXRPcHRpb25zO1xuICByYW5kb20/OiBSYW5kb20gfCB7fTtcbiAgb25Db21wbGV0ZT86IE9uQ29tcGxldGUgfCB7fTtcbiAgb25Hb2luZz86IE9uR29pbmcgfCB7fTtcbiAgXG59XG5cblxuaW50ZXJmYWNlIFJlcGVhdE9wdGlvbnMge1xuICBldmVyeTogbnVtYmVyO1xuICByZXBlYXRPbjogc3RyaW5nO1xuICBsaWZlY3ljbGU6IExpZmVjeWNsZTtcbn1cblxuaW50ZXJmYWNlIFJhbmRvbSB7XG4gIHR5cGU6IHN0cmluZztcbiAgb2NjdXJyZW5jZXM6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIE9uQ29tcGxldGUge1xuICBySWQ6IG51bWJlcjtcbiAgYUlkOiBudW1iZXI7XG4gIHJjSWQ6IG51bWJlcjtcbiAgc3RhcnRBZnRlcjogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgT25Hb2luZyB7XG4gICByZW1pbmRlcnM6IG51bWJlcjtcbiAgIHN0YXJ0T2Y6ICd3ZWVrJyB8ICdtb250aCcgfCAncXVhcnRlcicgfCAnc2VtZXN0ZXInIHwgJ3llYXInO1xufVxuXG5pbnRlcmZhY2UgTGlmZWN5Y2xlIHtcbiAgc3RhcnRGcm9tOiBzdHJpbmc7IC8veXl5eS1tbS1kZFxuICBlbmRCeTogc3RyaW5nIHwgdW5kZWZpbmVkOyAvL3l5eXktbW0tZGRcbiAgZW5kQWZ0ZXI6IG51bWJlciB8IHVuZGVmaW5lZDtcbn1cblxuXG4iXX0=
@@ -1,52 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ListContainerComponent {
4
- constructor() {
5
- this.heading = 'Select Programs & Program Categories';
6
- this.close = new EventEmitter();
7
- }
8
- onClose() {
9
- this.close.emit();
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ListContainerComponent, selector: "app-list-container", inputs: { heading: "heading" }, outputs: { close: "close" }, ngImport: i0, template: `
13
- <div class="wfe-list-container">
14
- <div
15
- class="wfe-list-container-heading vx-d-flex vx-align-center vx-pl-4 vx-pr-4"
16
- >
17
- <i class="icons arrow-back vx-mr-2" (click)="onClose()">&#xe91d;</i>
18
- <div class="vx-fs-14 vx-fw-500 vx-gray-70">{{ heading }}</div>
19
- </div>
20
- <div class="wfe-list-container-body">
21
- <ng-content select="[body]"></ng-content>
22
- <div class="wfe-list-container-footer">
23
- <ng-content select="[footer]"></ng-content>
24
- </div>
25
- </div>
26
- </div>
27
- `, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .wfe-list-container{position:fixed;inset:0 500px 0 0}::ng-deep .wfe-list-container:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .wfe-list-container-heading{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .wfe-list-container-heading .arrow-back{cursor:pointer}::ng-deep .wfe-list-container-body{width:100%;padding:2rem;height:calc(100% - 2.75rem)}::ng-deep .wfe-list-container-footer{background:#fff;border-radius:.25rem;box-shadow:0 6px 12px #4681ef26;border:1px solid #f8f8f8;padding:.5rem .75rem;display:flex;justify-content:space-between;position:relative;align-items:center;height:3rem}\n"] }); }
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListContainerComponent, decorators: [{
30
- type: Component,
31
- args: [{ selector: 'app-list-container', template: `
32
- <div class="wfe-list-container">
33
- <div
34
- class="wfe-list-container-heading vx-d-flex vx-align-center vx-pl-4 vx-pr-4"
35
- >
36
- <i class="icons arrow-back vx-mr-2" (click)="onClose()">&#xe91d;</i>
37
- <div class="vx-fs-14 vx-fw-500 vx-gray-70">{{ heading }}</div>
38
- </div>
39
- <div class="wfe-list-container-body">
40
- <ng-content select="[body]"></ng-content>
41
- <div class="wfe-list-container-footer">
42
- <ng-content select="[footer]"></ng-content>
43
- </div>
44
- </div>
45
- </div>
46
- `, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .wfe-list-container{position:fixed;inset:0 500px 0 0}::ng-deep .wfe-list-container:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .wfe-list-container-heading{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .wfe-list-container-heading .arrow-back{cursor:pointer}::ng-deep .wfe-list-container-body{width:100%;padding:2rem;height:calc(100% - 2.75rem)}::ng-deep .wfe-list-container-footer{background:#fff;border-radius:.25rem;box-shadow:0 6px 12px #4681ef26;border:1px solid #f8f8f8;padding:.5rem .75rem;display:flex;justify-content:space-between;position:relative;align-items:center;height:3rem}\n"] }]
47
- }], propDecorators: { heading: [{
48
- type: Input
49
- }], close: [{
50
- type: Output
51
- }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9saXN0LWNvbnRhaW5lci9saXN0LWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFzQnZFLE1BQU0sT0FBTyxzQkFBc0I7SUFwQm5DO1FBcUJXLFlBQU8sR0FBVyxzQ0FBc0MsQ0FBQztRQUN4RCxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQUs1QztJQUhDLE9BQU87UUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBTlUsc0JBQXNCO21HQUF0QixzQkFBc0IsdUhBbEJ2Qjs7Ozs7Ozs7Ozs7Ozs7O0dBZVQ7OzRGQUdVLHNCQUFzQjtrQkFwQmxDLFNBQVM7K0JBQ0Usb0JBQW9CLFlBQ3BCOzs7Ozs7Ozs7Ozs7Ozs7R0FlVDs4QkFJUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWxpc3QtY29udGFpbmVyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwid2ZlLWxpc3QtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwid2ZlLWxpc3QtY29udGFpbmVyLWhlYWRpbmcgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wbC00IHZ4LXByLTRcIlxuICAgICAgPlxuICAgICAgICA8aSBjbGFzcz1cImljb25zIGFycm93LWJhY2sgdngtbXItMlwiIChjbGljayk9XCJvbkNsb3NlKClcIj4mI3hlOTFkOzwvaT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1ncmF5LTcwXCI+e3sgaGVhZGluZyB9fTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwid2ZlLWxpc3QtY29udGFpbmVyLWJvZHlcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JvZHldXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8ZGl2IGNsYXNzPVwid2ZlLWxpc3QtY29udGFpbmVyLWZvb3RlclwiPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmb290ZXJdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LWNvbnRhaW5lci5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0Q29udGFpbmVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaGVhZGluZzogc3RyaW5nID0gJ1NlbGVjdCBQcm9ncmFtcyAmIFByb2dyYW0gQ2F0ZWdvcmllcyc7XG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG59XG4iXX0=
@@ -1,16 +0,0 @@
1
- // constants.ts
2
- export const PROGRAM_TABLE_HEADERS = [
3
- 'Program Name',
4
- 'Program Categories'
5
- ];
6
- export const PAGINATION_OPTIONS = {
7
- PAGE_SIZE: 30,
8
- DEFAULT_CURRENT_PAGE: 1
9
- };
10
- export const PROGRAM_TYPE_LIST = [
11
- { name: 'Regulations', id: 'regulations' },
12
- { name: 'Standards', id: 'standards' },
13
- { name: 'Internal Controls', id: 'internal_controls' },
14
- { name: 'Others', id: 'others' },
15
- ];
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL3Byb2dyYW0tbGlzdC9jb25zdGFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlO0FBQ2YsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDakMsY0FBYztJQUNkLG9CQUFvQjtDQUNyQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsU0FBUyxFQUFFLEVBQUU7SUFDYixvQkFBb0IsRUFBRSxDQUFDO0NBQ3hCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUMvQixFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBQztJQUN4QyxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBQztJQUNwQyxFQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLEVBQUUsbUJBQW1CLEVBQUM7SUFDcEQsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUM7Q0FDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGNvbnN0YW50cy50c1xuZXhwb3J0IGNvbnN0IFBST0dSQU1fVEFCTEVfSEVBREVSUyA9IFtcbiAgICAnUHJvZ3JhbSBOYW1lJyxcbiAgICAnUHJvZ3JhbSBDYXRlZ29yaWVzJ1xuICBdO1xuICBcbiAgZXhwb3J0IGNvbnN0IFBBR0lOQVRJT05fT1BUSU9OUyA9IHtcbiAgICBQQUdFX1NJWkU6IDMwLFxuICAgIERFRkFVTFRfQ1VSUkVOVF9QQUdFOiAxXG4gIH07XG5cbiAgZXhwb3J0IGNvbnN0IFBST0dSQU1fVFlQRV9MSVNUID0gW1xuICAgIHtuYW1lOiAnUmVndWxhdGlvbnMnLCBpZDogJ3JlZ3VsYXRpb25zJ30sXG4gICAge25hbWU6ICdTdGFuZGFyZHMnLCBpZDogJ3N0YW5kYXJkcyd9LFxuICAgIHtuYW1lOiAnSW50ZXJuYWwgQ29udHJvbHMnLCBpZDogJ2ludGVybmFsX2NvbnRyb2xzJ30sXG4gICAge25hbWU6ICdPdGhlcnMnLCBpZDogJ290aGVycyd9LFxuICBdO1xuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wcm9ncmFtLWxpc3QvaW50ZXJmYWNlcy9kYXRhLXNvdXJjZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIGRhdGEtc291cmNlLmludGVyZmFjZS50c1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFTb3VyY2U8VD4ge1xuICBsb2FkKHNlYXJjaFRlcm0/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRbXT47XG59Il19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvcHJvZ3JhbS1saXN0L2ludGVyZmFjZXMvbGlzdC1pdGVtLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gbGlzdC1pdGVtLmludGVyZmFjZS50c1xuZXhwb3J0IGludGVyZmFjZSBMaXN0SXRlbSB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgdHlwZTogXCJyZWd1bGF0aW9uc1wiIHwgXCJzdGFuZGFyZHNcIiB8IFwiaW50ZXJuYWxfY29udHJvbHNcIiB8IFwib3RoZXJzXCI7XG4gICAgICBcbiAgfVxuICAiXX0=
@@ -1,20 +0,0 @@
1
- import { Pipe } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class CheckSelectedItemsPipe {
4
- transform(id, selectedItems) {
5
- const selectedItem = selectedItems.find((item) => item.id === id);
6
- if (selectedItem) {
7
- return true;
8
- }
9
- return false;
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckSelectedItemsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: CheckSelectedItemsPipe, name: "checkSelectedItems" }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckSelectedItemsPipe, decorators: [{
15
- type: Pipe,
16
- args: [{
17
- name: 'checkSelectedItems'
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stc2VsZWN0ZWQtaXRlbXMucGlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL3Byb2dyYW0tbGlzdC9waXBlcy9jaGVjay1zZWxlY3RlZC1pdGVtcy5waXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQixTQUFTLENBQUMsRUFBVSxFQUFFLGFBQWtCO1FBQ25DLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdkUsSUFBRyxZQUFZLEVBQUU7WUFDZCxPQUFPLElBQUksQ0FBQztTQUNkO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDbEIsQ0FBQzsrR0FQUSxzQkFBc0I7NkdBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFIbEMsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsb0JBQW9CO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2NoZWNrU2VsZWN0ZWRJdGVtcydcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tTZWxlY3RlZEl0ZW1zUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShpZDogc3RyaW5nLCBzZWxlY3RlZEl0ZW1zOiBhbnkpIHtcbiAgICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IHNlbGVjdGVkSXRlbXMuZmluZCgoaXRlbTogYW55KSA9PiBpdGVtLmlkID09PSBpZCk7XG4gICAgICAgICBpZihzZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgfVxuICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn0iXX0=
@@ -1,171 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import { PROGRAM_TABLE_HEADERS, PAGINATION_OPTIONS, PROGRAM_TYPE_LIST } from '../constant';
3
- import { MOCK_CATEGORIES } from '../../../constants/mock';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../services/list-utils.service";
6
- import * as i2 from "../services/program-list-api.service";
7
- import * as i3 from "@angular/common";
8
- import * as i4 from "@angular/forms";
9
- import * as i5 from "../../../formgroup/cs-checkbox/cs-checkbox.component";
10
- import * as i6 from "../../../ui-kit/no-data/no-data.component";
11
- import * as i7 from "../../../ui-kit/popover/popover.component";
12
- import * as i8 from "../../../ui-kit/popover/popover.directive";
13
- import * as i9 from "../pipes/check-selected-items.pipes";
14
- export class ProgramListComponent {
15
- constructor(listUtils, programListApiService) {
16
- this.listUtils = listUtils;
17
- this.programListApiService = programListApiService;
18
- this.items = [];
19
- this.selectedItems = {};
20
- this.itemSelected = new EventEmitter();
21
- this.itemDeselected = new EventEmitter();
22
- this.itemsSelectedChange = new EventEmitter();
23
- this.tableHeaders = PROGRAM_TABLE_HEADERS;
24
- this.currentPage = PAGINATION_OPTIONS.DEFAULT_CURRENT_PAGE;
25
- this.pageSize = PAGINATION_OPTIONS.PAGE_SIZE;
26
- this.totalPages = 0;
27
- this.searchTerm = '';
28
- this.paginatedItems = [];
29
- this.activeProgram = null;
30
- this.categoryList = [
31
- { name: 'Program Details 1' },
32
- { name: 'Program Details 2' },
33
- { name: 'Program Details 3' },
34
- { name: 'Program Details 4' },
35
- ];
36
- this.programTypeList = PROGRAM_TYPE_LIST;
37
- this.selectedProgramType = [];
38
- }
39
- ngOnInit() {
40
- this.getProgramList();
41
- }
42
- ngOnChanges(changes) {
43
- if (changes['items'] || changes['selectedItems']) {
44
- this.paginateItems();
45
- }
46
- }
47
- getProgramList() {
48
- this.programListApiService.getProgramList('sailsProgramList').subscribe((res) => {
49
- console.log('res', res);
50
- });
51
- }
52
- loadData() {
53
- if (this.dataSource) {
54
- this.dataSource.load(this.searchTerm).subscribe(items => {
55
- this.items = items;
56
- this.viewCategory(items[0]);
57
- });
58
- }
59
- else {
60
- this.viewCategory();
61
- }
62
- }
63
- search() {
64
- this.currentPage = PAGINATION_OPTIONS.DEFAULT_CURRENT_PAGE;
65
- this.loadData();
66
- }
67
- selectItem(event, item) {
68
- if (event) {
69
- if (!this.selectedItems[this.activeProgram.id]) {
70
- this.selectedItems[this.activeProgram.id] = [];
71
- }
72
- this.selectedItems[this.activeProgram.id].push(item);
73
- this.itemsSelectedChange.emit(this.selectedItems);
74
- this.itemSelected.emit(item);
75
- }
76
- else {
77
- this.selectedItems = this.selectedItems[this.activeProgram.id].filter((selected) => selected.id !== item.id);
78
- this.itemsSelectedChange.emit(this.selectedItems);
79
- this.itemDeselected.emit(item);
80
- }
81
- }
82
- deselectItem(item) {
83
- //this.selectedItems = this.selectedItems.filter(selected => selected.id !== item.id);
84
- this.itemsSelectedChange.emit(this.selectedItems);
85
- this.itemDeselected.emit(item);
86
- }
87
- isSelected(item) {
88
- return false;
89
- // return this.selectionPredicate(item);
90
- }
91
- goToPage(page) {
92
- this.currentPage = page;
93
- this.paginateItems();
94
- }
95
- getPageNumbers() {
96
- return this.listUtils.getPageNumbers(this.items.length, this.pageSize);
97
- }
98
- paginateItems() {
99
- this.totalPages = Math.ceil(this.items.length / this.pageSize);
100
- this.paginatedItems = this.listUtils.paginate(this.items, this.currentPage, this.pageSize);
101
- }
102
- viewCategory(item) {
103
- this.activeProgram = item;
104
- this.categoryList = this.addParentTreeToCategories(MOCK_CATEGORIES);
105
- }
106
- addParentTreeToCategories(categories) {
107
- // Create a map for quick lookup of categories by ID
108
- const categoryMap = new Map(categories.map(category => [category.id, category]));
109
- function getParentTree(category) {
110
- const parentTree = [];
111
- let currentParent = category.parent;
112
- while (currentParent) {
113
- const parentCategory = categoryMap.get(currentParent);
114
- if (parentCategory) {
115
- parentTree.push(parentCategory.name);
116
- currentParent = parentCategory.parent;
117
- }
118
- else {
119
- break;
120
- }
121
- }
122
- return parentTree;
123
- }
124
- return categories.map(category => ({
125
- ...category,
126
- parentTree: getParentTree(category)
127
- }));
128
- }
129
- selectFilter(event, item) {
130
- if (event) {
131
- this.selectedProgramType.push(item.id);
132
- }
133
- else {
134
- this.selectedProgramType = this.selectedProgramType.filter((selected) => selected.id !== item.id);
135
- }
136
- }
137
- resetFilter() {
138
- this.selectedProgramType = [];
139
- this.onFilterChange();
140
- }
141
- onFilterChange() {
142
- if (this.selectedProgramType.length > 0) {
143
- const filteredItems = this.items.filter((item) => this.selectedProgramType.includes(item.type));
144
- this.paginatedItems = this.listUtils.paginate(filteredItems, this.currentPage, this.pageSize);
145
- }
146
- else {
147
- this.paginatedItems = this.listUtils.paginate(this.items, this.currentPage, this.pageSize);
148
- }
149
- }
150
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProgramListComponent, deps: [{ token: i1.ListUtilsService }, { token: i2.ProgramListApiService }], target: i0.ɵɵFactoryTarget.Component }); }
151
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ProgramListComponent, selector: "app-program-list", inputs: { items: "items", selectedItems: "selectedItems", itemTemplate: "itemTemplate", dataSource: "dataSource" }, outputs: { itemSelected: "itemSelected", itemDeselected: "itemDeselected", itemsSelectedChange: "itemsSelectedChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"dynamic-list-container\">\n <div class=\"vx-d-flex\">\n <div class=\"search-block vx-w-100\">\n <i class=\"icons\">&#xe90b;</i>\n <input\n type=\"text\"\n [(ngModel)]=\"searchTerm\"\n placeholder=\"Search...\"\n (keyup)=\"search()\"\n />\n </div>\n <div\n class=\"dynamic-list-filter\"\n appPopover\n (click)=\"programTypePopover.popover()\"\n placement=\"right\"\n >\n <div class=\"filter-text\">All Program Type</div>\n <i class=\"icons filter-icon\"> &#xe9e8; </i>\n </div>\n </div>\n <div\n class=\"dynamic-list-table\"\n *ngIf=\"paginatedItems?.length > 0; else defaultTemplate\"\n >\n <div class=\"dynamic-list-header vx-d-flex\">\n <ng-container *ngFor=\"let header of tableHeaders\">\n <div class=\"vx-d-flex vx-w-50 vx-pl-1\">\n <div\n class=\"serialNo vx-fs-11 vx-fw-500 vx-tt-uppercase vx-d-flex vx-align-center vx-justify-center\"\n >\n #\n </div>\n <div\n class=\"headerText vx-fs-11 vx-fw-500 vx-tt-uppercase vx-d-flex vx-align-center\"\n >\n {{ header }}\n </div>\n </div>\n </ng-container>\n </div>\n <div class=\"dynamic-list-body vx-d-flex\">\n <div class=\"left-column\">\n <div\n *ngFor=\"let item of paginatedItems; let i = index\"\n class=\"list-row\"\n [class.selected]=\"activeProgram?.id === item.id\"\n (click)=\"viewCategory(item)\"\n >\n <div class=\"list-column serial\">\n <div class=\"srNo\">{{ i + 1 }}</div>\n </div>\n <div\n class=\"list-column name\"\n [class.with-count]=\"selectedItems[item.id]?.length > 0\"\n >\n <div class=\"name-inner vx-fs-13 vx-pr-2\">{{ item.name }}</div>\n </div>\n <div\n class=\"list-column count\"\n *ngIf=\"selectedItems[item.id]?.length > 0\"\n >\n <div\n class=\"count-box vx-fs-9 vx-fw-600 vx-lh-4 vx-d-flex vx-align-center vx-justify-center\"\n >\n {{ selectedItems[item.id].length }}\n </div>\n <div\n class=\"count-text vx-fs-11 vx-fw-500 vx-tt-uppercase vx-lh-4 vx-ml-2\"\n >\n CATEGORIES SELECTED\n </div>\n </div>\n <div class=\"list-column action\">\n <button\n class=\"arrow vx-fs-12 vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\n >\n <i class=\"icons\"> &#xe970; </i>\n </button>\n </div>\n </div>\n </div>\n <div class=\"right-column\">\n <div\n class=\"list-row vx-pl-2 vx-pr-2\"\n *ngFor=\"let item of categoryList; let i = index\"\n > \n <app-cs-checkbox\n [value]=\"item?.id\"\n [ngValue]=\"item.id | checkSelectedItems: selectedItems[activeProgram.id]\"\n (ngValueChange)=\"selectItem($event, item)\"\n >\n <span class=\"value-inner\">\n <div class=\"item-name vx-fs-13\">{{ item?.name }}</div>\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\n <div\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\n >\n Within\n </div>\n <div\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\n [appTooltip]=\"item?.parentTree?.join(' > ')\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ item?.parentTree?.join(\" > \") }}\n </div>\n </div>\n </span>\n </app-cs-checkbox>\n </div>\n </div>\n </div>\n </div>\n <ng-template #defaultTemplate>\n <div class=\"list-no-data-container\">\n <app-no-data\n [noDataImage]=\"\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\n \"\n [noDataText]=\"'No data to display'\"\n ></app-no-data>\n </div>\n </ng-template>\n</div>\n\n<app-popover #programTypePopover>\n <div class=\"new-action-list\">\n <div\n class=\"program-type-text vx-fs-11 vx-fw-500 vx-gray-60 vx-lh-16 vx-p-2 vx-tt-uppercase\"\n >\n Program Type:\n </div>\n <ul class=\"action-item\">\n <li *ngFor=\"let item of programTypeList\">\n <div class=\"chip-item\">\n <app-cs-checkbox\n [value]=\"item.id\"\n [ngValue]=\"selectedProgramType.includes(item.id)\"\n (ngValueChange)=\"selectFilter($event, item)\"\n >\n {{ item?.name }}\n </app-cs-checkbox>\n </div>\n </li>\n </ul>\n <div\n class=\"program-type-bottom vx-d-flex vx-align-center vx-justify-center vx-pt-3 vx-pb-3\"\n >\n <button\n (click)=\"resetFilter()\"\n class=\"reset-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-lh-6\"\n >\n RESET\n </button>\n <button\n (click)=\"onFilterChange()\"\n class=\"apply-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-lh-6\"\n [class.disabled]=\"selectedProgramType?.length === 0\"\n >\n APPLY\n </button>\n </div>\n </div>\n</app-popover>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .dynamic-list-container{height:calc(100% - 48px)}::ng-deep .dynamic-list-container.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .dynamic-list-container .search-block{position:relative}::ng-deep .dynamic-list-container .search-block input{height:2.5rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #cdced6;border-radius:.25rem;width:100%;font-size:13px;color:#747576}::ng-deep .dynamic-list-container .search-block input::placeholder{font-weight:400}::ng-deep .dynamic-list-container .search-block input:focus{border-color:#1e5dd3}::ng-deep .dynamic-list-container .search-block i{position:absolute;left:1rem;top:14px;pointer-events:none;color:#e3e3e9;font-size:12px}::ng-deep .dynamic-list-filter{position:relative;min-width:240px;height:2.5rem;border:1px solid #cdced6;border-radius:.25rem;margin-left:6px;color:#a9aab6;font-size:13px;padding:0 .75rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between}::ng-deep .dynamic-list-filter .filter-icon{color:#787a8c;font-size:12px}::ng-deep .dynamic-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .dynamic-list-head button.back-btn{background:transparent;border-radius:0;border:none;position:relative;top:.125rem}::ng-deep .dynamic-list-header .serialNo{color:#787a8c;min-width:2rem;height:2rem}::ng-deep .dynamic-list-header .headerText{color:#787a8c;min-width:calc(100% - 2rem);height:2rem}::ng-deep .dynamic-list-table{width:100%;border-collapse:collapse;height:calc(100% - 3rem)}::ng-deep .dynamic-list-body{height:calc(100% - 2rem);width:calc(100% + .75rem);position:relative}::ng-deep .dynamic-list-body .left-column{width:calc(50% + .5rem);padding-right:.5rem;position:relative;overflow-y:auto;scrollbar-width:thin}::ng-deep .dynamic-list-body .left-column .list-row{background-color:#fff;border-radius:.25rem;border:1px solid #cdced6;cursor:pointer;display:flex;align-items:center;margin-bottom:.25rem;position:relative;transition:all .2s ease-in-out;width:100%;height:3rem}::ng-deep .dynamic-list-body .left-column .list-row:hover{background:#f8f8f8}::ng-deep .dynamic-list-body .left-column .list-row.selected{background-color:#f2f2f5}::ng-deep .dynamic-list-body .left-column .list-row.selected:before{background:#1e5dd3;border-radius:.125rem .125rem 0 0;content:\"\";position:absolute;left:0;top:-1px;width:100%;height:.125rem;z-index:1}::ng-deep .dynamic-list-body .left-column .list-row.selected .list-column.serial .srNo{background:#e3e3e9;color:#565a6f}::ng-deep .dynamic-list-body .left-column .list-row .list-column{color:#000;font-size:11px;height:3rem;position:relative;display:flex;align-items:center;padding:0 .25rem}::ng-deep .dynamic-list-body .left-column .list-row .list-column.serial{width:2rem;justify-content:center}::ng-deep .dynamic-list-body .left-column .list-row .list-column.serial .srNo{background:#f9f9fa;writing-mode:vertical-lr;color:#787a8c;font-size:11px;font-weight:500;height:46px;display:flex;justify-content:center;transition:all .2s ease-in-out;position:relative}::ng-deep .dynamic-list-body .left-column .list-row .list-column.name{width:calc(100% - 4.5rem)}::ng-deep .dynamic-list-body .left-column .list-row .list-column.name .name-inner{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .dynamic-list-body .left-column .list-row .list-column.name.with-count{width:calc(100% - 16rem)}::ng-deep .dynamic-list-body .left-column .list-row .list-column.count{width:11.5rem;justify-content:center}::ng-deep .dynamic-list-body .left-column .list-row .list-column.count .count-box{background:#1e5dd3;border-radius:1.25rem;color:#fff;padding:0 .125rem;min-width:1rem;height:1rem}::ng-deep .dynamic-list-body .left-column .list-row .list-column.count .count-text{color:#787a8c}::ng-deep .dynamic-list-body .left-column .list-row .list-column.action{width:2.5rem;justify-content:center}::ng-deep .dynamic-list-body .left-column .list-row .list-column.action button.arrow{background:transparent;border-radius:.25rem;border:none;color:#565a6f;min-width:1.5rem;height:1.5rem}::ng-deep .dynamic-list-body .left-column .list-row .list-column.action button.arrow:hover{background:#e3e3e9}::ng-deep .dynamic-list-body .right-column{width:calc(50% + .5rem);padding-right:.5rem;position:relative;overflow-y:auto;scrollbar-width:thin}::ng-deep .dynamic-list-body .right-column .list-row{background-color:#fff;border-radius:.25rem;border:1px solid #cdced6;cursor:pointer;display:flex;align-items:center;margin-bottom:.25rem;position:relative;transition:all .2s ease-in-out;width:100%;height:3rem}::ng-deep .dynamic-list-body .right-column .list-row:hover{background:#f8f8f8}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox{width:100%;display:flex}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item{width:100%}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item .value{width:100%;justify-content:start}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item .value .value-inner{width:100%}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item .value .value-inner .item-name{color:#000;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .new-action-list{background:#fff;border-radius:.25rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1e5dd326;width:240px}::ng-deep .new-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;max-height:220px;overflow:auto}::ng-deep .new-action-list ul.action-item{display:block}::ng-deep .new-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .new-action-list ul.action-item li:last-child{border-bottom:none}::ng-deep .new-action-list ul.action-item li app-cs-checkbox{display:flex}::ng-deep .new-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .new-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .new-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .new-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .new-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .new-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .new-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .new-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .new-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .new-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .new-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .new-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .new-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .new-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .new-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .new-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .new-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .new-action-list ul.action-item li .chip-item app-cs-checkbox .checkbox-item .value{color:#000;font-size:11px}::ng-deep .new-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .new-action-list ul.action-item li .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 .new-action-list ul.action-item li .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 .new-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list .program-type-text{color:#787a8c;border-bottom:1px solid #f2f2f5}::ng-deep .new-action-list .program-type-bottom{border-top:1px solid #f2f2f5}::ng-deep .new-action-list .program-type-bottom button{background:#fff;border-radius:.125rem;margin:0 .125rem!important;transition:all .3s ease-out}::ng-deep .new-action-list .program-type-bottom button.reset-btn{border:1px solid #cdced6;color:#1e5dd3}::ng-deep .new-action-list .program-type-bottom button.reset-btn:hover{background:#f9f9fa}::ng-deep .new-action-list .program-type-bottom button.apply-btn{background:#1e5dd3;border:1px solid #1e5dd3;color:#fff}::ng-deep .new-action-list .program-type-bottom button.apply-btn:hover{background:#1146a8}::ng-deep .new-action-list .program-type-bottom button.apply-btn.disabled{background:#e3e3e9;border-color:#e3e3e9;color:#a9aab6;pointer-events:none}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value", "readonly", "oneLine"], outputs: ["ngValueChange"] }, { kind: "component", type: i6.NoDataComponentUI, selector: "app-no-data", inputs: ["action", "secondaryAction", "noDataImage", "noDataText", "noDataButton", "secondaryButton", "noDataSecButton", "altText", "smallButton"], outputs: ["buttonAction", "secondaryActionButton"] }, { kind: "component", type: i7.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i8.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "pipe", type: i9.CheckSelectedItemsPipe, name: "checkSelectedItems" }] }); }
152
- }
153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProgramListComponent, decorators: [{
154
- type: Component,
155
- args: [{ selector: 'app-program-list', template: "<div class=\"dynamic-list-container\">\n <div class=\"vx-d-flex\">\n <div class=\"search-block vx-w-100\">\n <i class=\"icons\">&#xe90b;</i>\n <input\n type=\"text\"\n [(ngModel)]=\"searchTerm\"\n placeholder=\"Search...\"\n (keyup)=\"search()\"\n />\n </div>\n <div\n class=\"dynamic-list-filter\"\n appPopover\n (click)=\"programTypePopover.popover()\"\n placement=\"right\"\n >\n <div class=\"filter-text\">All Program Type</div>\n <i class=\"icons filter-icon\"> &#xe9e8; </i>\n </div>\n </div>\n <div\n class=\"dynamic-list-table\"\n *ngIf=\"paginatedItems?.length > 0; else defaultTemplate\"\n >\n <div class=\"dynamic-list-header vx-d-flex\">\n <ng-container *ngFor=\"let header of tableHeaders\">\n <div class=\"vx-d-flex vx-w-50 vx-pl-1\">\n <div\n class=\"serialNo vx-fs-11 vx-fw-500 vx-tt-uppercase vx-d-flex vx-align-center vx-justify-center\"\n >\n #\n </div>\n <div\n class=\"headerText vx-fs-11 vx-fw-500 vx-tt-uppercase vx-d-flex vx-align-center\"\n >\n {{ header }}\n </div>\n </div>\n </ng-container>\n </div>\n <div class=\"dynamic-list-body vx-d-flex\">\n <div class=\"left-column\">\n <div\n *ngFor=\"let item of paginatedItems; let i = index\"\n class=\"list-row\"\n [class.selected]=\"activeProgram?.id === item.id\"\n (click)=\"viewCategory(item)\"\n >\n <div class=\"list-column serial\">\n <div class=\"srNo\">{{ i + 1 }}</div>\n </div>\n <div\n class=\"list-column name\"\n [class.with-count]=\"selectedItems[item.id]?.length > 0\"\n >\n <div class=\"name-inner vx-fs-13 vx-pr-2\">{{ item.name }}</div>\n </div>\n <div\n class=\"list-column count\"\n *ngIf=\"selectedItems[item.id]?.length > 0\"\n >\n <div\n class=\"count-box vx-fs-9 vx-fw-600 vx-lh-4 vx-d-flex vx-align-center vx-justify-center\"\n >\n {{ selectedItems[item.id].length }}\n </div>\n <div\n class=\"count-text vx-fs-11 vx-fw-500 vx-tt-uppercase vx-lh-4 vx-ml-2\"\n >\n CATEGORIES SELECTED\n </div>\n </div>\n <div class=\"list-column action\">\n <button\n class=\"arrow vx-fs-12 vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\n >\n <i class=\"icons\"> &#xe970; </i>\n </button>\n </div>\n </div>\n </div>\n <div class=\"right-column\">\n <div\n class=\"list-row vx-pl-2 vx-pr-2\"\n *ngFor=\"let item of categoryList; let i = index\"\n > \n <app-cs-checkbox\n [value]=\"item?.id\"\n [ngValue]=\"item.id | checkSelectedItems: selectedItems[activeProgram.id]\"\n (ngValueChange)=\"selectItem($event, item)\"\n >\n <span class=\"value-inner\">\n <div class=\"item-name vx-fs-13\">{{ item?.name }}</div>\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\n <div\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\n >\n Within\n </div>\n <div\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\n [appTooltip]=\"item?.parentTree?.join(' > ')\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ item?.parentTree?.join(\" > \") }}\n </div>\n </div>\n </span>\n </app-cs-checkbox>\n </div>\n </div>\n </div>\n </div>\n <ng-template #defaultTemplate>\n <div class=\"list-no-data-container\">\n <app-no-data\n [noDataImage]=\"\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\n \"\n [noDataText]=\"'No data to display'\"\n ></app-no-data>\n </div>\n </ng-template>\n</div>\n\n<app-popover #programTypePopover>\n <div class=\"new-action-list\">\n <div\n class=\"program-type-text vx-fs-11 vx-fw-500 vx-gray-60 vx-lh-16 vx-p-2 vx-tt-uppercase\"\n >\n Program Type:\n </div>\n <ul class=\"action-item\">\n <li *ngFor=\"let item of programTypeList\">\n <div class=\"chip-item\">\n <app-cs-checkbox\n [value]=\"item.id\"\n [ngValue]=\"selectedProgramType.includes(item.id)\"\n (ngValueChange)=\"selectFilter($event, item)\"\n >\n {{ item?.name }}\n </app-cs-checkbox>\n </div>\n </li>\n </ul>\n <div\n class=\"program-type-bottom vx-d-flex vx-align-center vx-justify-center vx-pt-3 vx-pb-3\"\n >\n <button\n (click)=\"resetFilter()\"\n class=\"reset-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-lh-6\"\n >\n RESET\n </button>\n <button\n (click)=\"onFilterChange()\"\n class=\"apply-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-lh-6\"\n [class.disabled]=\"selectedProgramType?.length === 0\"\n >\n APPLY\n </button>\n </div>\n </div>\n</app-popover>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .dynamic-list-container{height:calc(100% - 48px)}::ng-deep .dynamic-list-container.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .dynamic-list-container .search-block{position:relative}::ng-deep .dynamic-list-container .search-block input{height:2.5rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #cdced6;border-radius:.25rem;width:100%;font-size:13px;color:#747576}::ng-deep .dynamic-list-container .search-block input::placeholder{font-weight:400}::ng-deep .dynamic-list-container .search-block input:focus{border-color:#1e5dd3}::ng-deep .dynamic-list-container .search-block i{position:absolute;left:1rem;top:14px;pointer-events:none;color:#e3e3e9;font-size:12px}::ng-deep .dynamic-list-filter{position:relative;min-width:240px;height:2.5rem;border:1px solid #cdced6;border-radius:.25rem;margin-left:6px;color:#a9aab6;font-size:13px;padding:0 .75rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between}::ng-deep .dynamic-list-filter .filter-icon{color:#787a8c;font-size:12px}::ng-deep .dynamic-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .dynamic-list-head button.back-btn{background:transparent;border-radius:0;border:none;position:relative;top:.125rem}::ng-deep .dynamic-list-header .serialNo{color:#787a8c;min-width:2rem;height:2rem}::ng-deep .dynamic-list-header .headerText{color:#787a8c;min-width:calc(100% - 2rem);height:2rem}::ng-deep .dynamic-list-table{width:100%;border-collapse:collapse;height:calc(100% - 3rem)}::ng-deep .dynamic-list-body{height:calc(100% - 2rem);width:calc(100% + .75rem);position:relative}::ng-deep .dynamic-list-body .left-column{width:calc(50% + .5rem);padding-right:.5rem;position:relative;overflow-y:auto;scrollbar-width:thin}::ng-deep .dynamic-list-body .left-column .list-row{background-color:#fff;border-radius:.25rem;border:1px solid #cdced6;cursor:pointer;display:flex;align-items:center;margin-bottom:.25rem;position:relative;transition:all .2s ease-in-out;width:100%;height:3rem}::ng-deep .dynamic-list-body .left-column .list-row:hover{background:#f8f8f8}::ng-deep .dynamic-list-body .left-column .list-row.selected{background-color:#f2f2f5}::ng-deep .dynamic-list-body .left-column .list-row.selected:before{background:#1e5dd3;border-radius:.125rem .125rem 0 0;content:\"\";position:absolute;left:0;top:-1px;width:100%;height:.125rem;z-index:1}::ng-deep .dynamic-list-body .left-column .list-row.selected .list-column.serial .srNo{background:#e3e3e9;color:#565a6f}::ng-deep .dynamic-list-body .left-column .list-row .list-column{color:#000;font-size:11px;height:3rem;position:relative;display:flex;align-items:center;padding:0 .25rem}::ng-deep .dynamic-list-body .left-column .list-row .list-column.serial{width:2rem;justify-content:center}::ng-deep .dynamic-list-body .left-column .list-row .list-column.serial .srNo{background:#f9f9fa;writing-mode:vertical-lr;color:#787a8c;font-size:11px;font-weight:500;height:46px;display:flex;justify-content:center;transition:all .2s ease-in-out;position:relative}::ng-deep .dynamic-list-body .left-column .list-row .list-column.name{width:calc(100% - 4.5rem)}::ng-deep .dynamic-list-body .left-column .list-row .list-column.name .name-inner{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .dynamic-list-body .left-column .list-row .list-column.name.with-count{width:calc(100% - 16rem)}::ng-deep .dynamic-list-body .left-column .list-row .list-column.count{width:11.5rem;justify-content:center}::ng-deep .dynamic-list-body .left-column .list-row .list-column.count .count-box{background:#1e5dd3;border-radius:1.25rem;color:#fff;padding:0 .125rem;min-width:1rem;height:1rem}::ng-deep .dynamic-list-body .left-column .list-row .list-column.count .count-text{color:#787a8c}::ng-deep .dynamic-list-body .left-column .list-row .list-column.action{width:2.5rem;justify-content:center}::ng-deep .dynamic-list-body .left-column .list-row .list-column.action button.arrow{background:transparent;border-radius:.25rem;border:none;color:#565a6f;min-width:1.5rem;height:1.5rem}::ng-deep .dynamic-list-body .left-column .list-row .list-column.action button.arrow:hover{background:#e3e3e9}::ng-deep .dynamic-list-body .right-column{width:calc(50% + .5rem);padding-right:.5rem;position:relative;overflow-y:auto;scrollbar-width:thin}::ng-deep .dynamic-list-body .right-column .list-row{background-color:#fff;border-radius:.25rem;border:1px solid #cdced6;cursor:pointer;display:flex;align-items:center;margin-bottom:.25rem;position:relative;transition:all .2s ease-in-out;width:100%;height:3rem}::ng-deep .dynamic-list-body .right-column .list-row:hover{background:#f8f8f8}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox{width:100%;display:flex}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item{width:100%}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item .value{width:100%;justify-content:start}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item .value .value-inner{width:100%}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item .value .value-inner .item-name{color:#000;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .new-action-list{background:#fff;border-radius:.25rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1e5dd326;width:240px}::ng-deep .new-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;max-height:220px;overflow:auto}::ng-deep .new-action-list ul.action-item{display:block}::ng-deep .new-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .new-action-list ul.action-item li:last-child{border-bottom:none}::ng-deep .new-action-list ul.action-item li app-cs-checkbox{display:flex}::ng-deep .new-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .new-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .new-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .new-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .new-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .new-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .new-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .new-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .new-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .new-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .new-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .new-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .new-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .new-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .new-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .new-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .new-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .new-action-list ul.action-item li .chip-item app-cs-checkbox .checkbox-item .value{color:#000;font-size:11px}::ng-deep .new-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .new-action-list ul.action-item li .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 .new-action-list ul.action-item li .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 .new-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list .program-type-text{color:#787a8c;border-bottom:1px solid #f2f2f5}::ng-deep .new-action-list .program-type-bottom{border-top:1px solid #f2f2f5}::ng-deep .new-action-list .program-type-bottom button{background:#fff;border-radius:.125rem;margin:0 .125rem!important;transition:all .3s ease-out}::ng-deep .new-action-list .program-type-bottom button.reset-btn{border:1px solid #cdced6;color:#1e5dd3}::ng-deep .new-action-list .program-type-bottom button.reset-btn:hover{background:#f9f9fa}::ng-deep .new-action-list .program-type-bottom button.apply-btn{background:#1e5dd3;border:1px solid #1e5dd3;color:#fff}::ng-deep .new-action-list .program-type-bottom button.apply-btn:hover{background:#1146a8}::ng-deep .new-action-list .program-type-bottom button.apply-btn.disabled{background:#e3e3e9;border-color:#e3e3e9;color:#a9aab6;pointer-events:none}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}\n"] }]
156
- }], ctorParameters: function () { return [{ type: i1.ListUtilsService }, { type: i2.ProgramListApiService }]; }, propDecorators: { items: [{
157
- type: Input
158
- }], selectedItems: [{
159
- type: Input
160
- }], itemTemplate: [{
161
- type: Input
162
- }], dataSource: [{
163
- type: Input
164
- }], itemSelected: [{
165
- type: Output
166
- }], itemDeselected: [{
167
- type: Output
168
- }], itemsSelectedChange: [{
169
- type: Output
170
- }] } });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvcHJvZ3JhbS1saXN0L3Byb2dyYW0tbGlzdC9wcm9ncmFtLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wcm9ncmFtLWxpc3QvcHJvZ3JhbS1saXN0L3Byb2dyYW0tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFpRCxNQUFNLGVBQWUsQ0FBQztBQUd0SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFM0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7OztBQU8xRCxNQUFNLE9BQU8sb0JBQW9CO0lBNkIvQixZQUNVLFNBQTJCLEVBQzNCLHFCQUE0QztRQUQ1QyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBOUI3QyxVQUFLLEdBQVEsRUFBRSxDQUFDO1FBQ2hCLGtCQUFhLEdBQWUsRUFBRSxDQUFDO1FBSzlCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUssQ0FBQztRQUNyQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7UUFDdkMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV4RCxpQkFBWSxHQUFHLHFCQUFxQixDQUFDO1FBQ3JDLGdCQUFXLEdBQUcsa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7UUFD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OUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN0QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNyRyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMvRjthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzVGO0lBRUgsQ0FBQzsrR0EvSlUsb0JBQW9CO21HQUFwQixvQkFBb0IsMFRDWmpDLDgvS0F3S0E7OzRGRDVKYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0Usa0JBQWtCOzJJQUtuQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBUZW1wbGF0ZVJlZiwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9saXN0LWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RhdGEtc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQUk9HUkFNX1RBQkxFX0hFQURFUlMsIFBBR0lOQVRJT05fT1BUSU9OUywgUFJPR1JBTV9UWVBFX0xJU1QgfSBmcm9tICcuLi9jb25zdGFudCc7XG5pbXBvcnQgeyBMaXN0VXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbGlzdC11dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IE1PQ0tfQ0FURUdPUklFUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9tb2NrJztcbmltcG9ydCB7IFByb2dyYW1MaXN0QXBpU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Byb2dyYW0tbGlzdC1hcGkuc2VydmljZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZ3JhbS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyYW0tbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyYW0tbGlzdC5jb21wb25lbnQubGVzcyddXG59KVxuZXhwb3J0IGNsYXNzIFByb2dyYW1MaXN0Q29tcG9uZW50PFQgZXh0ZW5kcyBMaXN0SXRlbT4gaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGl0ZW1zOiBUW10gPSBbXTtcbiAgQElucHV0KCkgc2VsZWN0ZWRJdGVtczogYW55IHwgbnVsbCA9IHt9O1xuICAvL0BJbnB1dCgpIHNlbGVjdGlvblByZWRpY2F0ZTogU2VsZWN0aW9uUHJlZGljYXRlPFQ+ID0gKGl0ZW0pID0+IHRoaXMuc2VsZWN0ZWRJdGVtcy5zb21lKHNlbGVjdGVkID0+IHNlbGVjdGVkLmlkID09PSBpdGVtLmlkKTtcbiAgQElucHV0KCkgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBkYXRhU291cmNlOiBEYXRhU291cmNlPFQ+IHwgdW5kZWZpbmVkO1xuXG4gIEBPdXRwdXQoKSBpdGVtU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG4gIEBPdXRwdXQoKSBpdGVtRGVzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcbiAgQE91dHB1dCgpIGl0ZW1zU2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRbXT4oKTtcblxuICB0YWJsZUhlYWRlcnMgPSBQUk9HUkFNX1RBQkxFX0hFQURFUlM7XG4gIGN1cnJlbnRQYWdlID0gUEFHSU5BVElPTl9PUFRJT05TLkRFRkFVTFRfQ1VSUkVOVF9QQUdFO1xuICBwYWdlU2l6ZSA9IFBBR0lOQVRJT05fT1BUSU9OUy5QQUdFX1NJWkU7XG4gIHRvdGFsUGFnZXMgPSAwO1xuICBzZWFyY2hUZXJtID0gJyc7XG4gIHBhZ2luYXRlZEl0ZW1zOiBUW10gPSBbXTtcbiAgYWN0aXZlUHJvZ3JhbTogYW55IHwgIG51bGwgPSBudWxsO1xuICBjYXRlZ29yeUxpc3Q6IGFueVtdPSBbXG4gICAge25hbWU6ICdQcm9ncmFtIERldGFpbHMgMSd9LFxuICAgIHtuYW1lOiAnUHJvZ3JhbSBEZXRhaWxzIDInfSxcbiAgICB7bmFtZTogJ1Byb2dyYW0gRGV0YWlscyAzJ30sXG4gICAge25hbWU6ICdQcm9ncmFtIERldGFpbHMgNCd9LFxuICBdO1xuXG4gIHByb2dyYW1UeXBlTGlzdDogYW55W10gPSBQUk9HUkFNX1RZUEVfTElTVDtcblxuICBzZWxlY3RlZFByb2dyYW1UeXBlOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbGlzdFV0aWxzOiBMaXN0VXRpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJvZ3JhbUxpc3RBcGlTZXJ2aWNlOiBQcm9ncmFtTGlzdEFwaVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0UHJvZ3JhbUxpc3QoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snaXRlbXMnXSB8fCBjaGFuZ2VzWydzZWxlY3RlZEl0ZW1zJ10pIHtcbiAgICAgIHRoaXMucGFnaW5hdGVJdGVtcygpO1xuICAgIH1cbiAgfVxuXG4gIGdldFByb2dyYW1MaXN0KCkge1xuICAgIHRoaXMucHJvZ3JhbUxpc3RBcGlTZXJ2aWNlLmdldFByb2dyYW1MaXN0KCdzYWlsc1Byb2dyYW1MaXN0Jykuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ3JlcycsIHJlcyk7XG4gICAgfSk7XG4gIH1cblxuICBsb2FkRGF0YSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhU291cmNlKSB7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UubG9hZCh0aGlzLnNlYXJjaFRlcm0pLnN1YnNjcmliZShpdGVtcyA9PiB7XG4gICAgICAgIHRoaXMuaXRlbXMgPSBpdGVtcztcbiAgICAgICAgdGhpcy52aWV3Q2F0ZWdvcnkoaXRlbXNbMF0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlld0NhdGVnb3J5KCk7XG4gICAgfVxuICB9XG5cbiAgc2VhcmNoKCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFBhZ2UgPSBQQUdJTkFUSU9OX09QVElPTlMuREVGQVVMVF9DVVJSRU5UX1BBR0U7XG4gICAgdGhpcy5sb2FkRGF0YSgpO1xuICB9XG5cbiAgc2VsZWN0SXRlbShldmVudDogYW55LCBpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGlmKCF0aGlzLnNlbGVjdGVkSXRlbXNbdGhpcy5hY3RpdmVQcm9ncmFtLmlkXSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXNbdGhpcy5hY3RpdmVQcm9ncmFtLmlkXSA9IFtdO1xuICAgICAgfVxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zW3RoaXMuYWN0aXZlUHJvZ3JhbS5pZF0ucHVzaChpdGVtKTtcbiAgICAgIHRoaXMuaXRlbXNTZWxlY3RlZENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KGl0ZW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLnNlbGVjdGVkSXRlbXNbdGhpcy5hY3RpdmVQcm9ncmFtLmlkXS5maWx0ZXIoKHNlbGVjdGVkOiBhbnkpID0+IHNlbGVjdGVkLmlkICE9PSBpdGVtLmlkKTtcbiAgICAgIHRoaXMuaXRlbXNTZWxlY3RlZENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgICB0aGlzLml0ZW1EZXNlbGVjdGVkLmVtaXQoaXRlbSk7XG4gICAgfVxuICB9XG5cbiAgZGVzZWxlY3RJdGVtKGl0ZW06IFQpOiB2b2lkIHtcbiAgICAvL3RoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5maWx0ZXIoc2VsZWN0ZWQgPT4gc2VsZWN0ZWQuaWQgIT09IGl0ZW0uaWQpO1xuICAgIHRoaXMuaXRlbXNTZWxlY3RlZENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgdGhpcy5pdGVtRGVzZWxlY3RlZC5lbWl0KGl0ZW0pO1xuICB9XG5cbiAgaXNTZWxlY3RlZChpdGVtOiBUKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICAgLy8gcmV0dXJuIHRoaXMuc2VsZWN0aW9uUHJlZGljYXRlKGl0ZW0pO1xuICB9XG5cbiAgZ29Ub1BhZ2UocGFnZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhZ2U7XG4gICAgdGhpcy5wYWdpbmF0ZUl0ZW1zKCk7XG4gIH1cblxuICBnZXRQYWdlTnVtYmVycygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMubGlzdFV0aWxzLmdldFBhZ2VOdW1iZXJzKHRoaXMuaXRlbXMubGVuZ3RoLCB0aGlzLnBhZ2VTaXplKTtcbiAgfVxuXG4gIHBhZ2luYXRlSXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy50b3RhbFBhZ2VzID0gTWF0aC5jZWlsKHRoaXMuaXRlbXMubGVuZ3RoIC8gdGhpcy5wYWdlU2l6ZSk7XG4gICAgdGhpcy5wYWdpbmF0ZWRJdGVtcyA9IHRoaXMubGlzdFV0aWxzLnBhZ2luYXRlKHRoaXMuaXRlbXMsIHRoaXMuY3VycmVudFBhZ2UsIHRoaXMucGFnZVNpemUpO1xuICB9XG5cbiAgdmlld0NhdGVnb3J5KGl0ZW0/OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZVByb2dyYW0gPSBpdGVtO1xuICAgIHRoaXMuY2F0ZWdvcnlMaXN0ID0gdGhpcy5hZGRQYXJlbnRUcmVlVG9DYXRlZ29yaWVzKE1PQ0tfQ0FURUdPUklFUyk7XG4gIH1cblxuICBhZGRQYXJlbnRUcmVlVG9DYXRlZ29yaWVzKGNhdGVnb3JpZXM6IGFueVtdKTogYW55W10ge1xuICAgIC8vIENyZWF0ZSBhIG1hcCBmb3IgcXVpY2sgbG9va3VwIG9mIGNhdGVnb3JpZXMgYnkgSURcbiAgICBjb25zdCBjYXRlZ29yeU1hcCA9IG5ldyBNYXAoY2F0ZWdvcmllcy5tYXAoY2F0ZWdvcnkgPT4gW2NhdGVnb3J5LmlkLCBjYXRlZ29yeV0pKTtcbiAgXG4gICAgZnVuY3Rpb24gZ2V0UGFyZW50VHJlZShjYXRlZ29yeTogYW55KTogc3RyaW5nW10ge1xuICAgICAgY29uc3QgcGFyZW50VHJlZTogc3RyaW5nW10gPSBbXTtcbiAgICAgIGxldCBjdXJyZW50UGFyZW50ID0gY2F0ZWdvcnkucGFyZW50O1xuICBcbiAgICAgIHdoaWxlIChjdXJyZW50UGFyZW50KSB7XG4gICAgICAgIGNvbnN0IHBhcmVudENhdGVnb3J5ID0gY2F0ZWdvcnlNYXAuZ2V0KGN1cnJlbnRQYXJlbnQpO1xuICAgICAgICBpZiAocGFyZW50Q2F0ZWdvcnkpIHtcbiAgICAgICAgICBwYXJlbnRUcmVlLnB1c2gocGFyZW50Q2F0ZWdvcnkubmFtZSk7XG4gICAgICAgICAgY3VycmVudFBhcmVudCA9IHBhcmVudENhdGVnb3J5LnBhcmVudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICBcbiAgICAgIHJldHVybiBwYXJlbnRUcmVlO1xuICAgIH1cbiAgXG4gICAgcmV0dXJuIGNhdGVnb3JpZXMubWFwKGNhdGVnb3J5ID0+ICh7XG4gICAgICAuLi5jYXRlZ29yeSxcbiAgICAgIHBhcmVudFRyZWU6IGdldFBhcmVudFRyZWUoY2F0ZWdvcnkpXG4gICAgfSkpO1xuICB9XG5cbiAgc2VsZWN0RmlsdGVyKGV2ZW50OiBhbnksIGl0ZW06IGFueSk6IHZvaWQge1xuICAgIGlmKGV2ZW50KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbVR5cGUucHVzaChpdGVtLmlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZFByb2dyYW1UeXBlID0gdGhpcy5zZWxlY3RlZFByb2dyYW1UeXBlLmZpbHRlcigoc2VsZWN0ZWQ6IGFueSkgPT4gc2VsZWN0ZWQuaWQgIT09IGl0ZW0uaWQpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0RmlsdGVyKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtVHlwZSA9IFtdO1xuICAgIHRoaXMub25GaWx0ZXJDaGFuZ2UoKTtcbiAgfVxuXG4gIG9uRmlsdGVyQ2hhbmdlKCk6IHZvaWQge1xuICAgIGlmKHRoaXMuc2VsZWN0ZWRQcm9ncmFtVHlwZS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBmaWx0ZXJlZEl0ZW1zID0gdGhpcy5pdGVtcy5maWx0ZXIoKGl0ZW06IGFueSkgPT4gdGhpcy5zZWxlY3RlZFByb2dyYW1UeXBlLmluY2x1ZGVzKGl0ZW0udHlwZSkpO1xuICAgICAgdGhpcy5wYWdpbmF0ZWRJdGVtcyA9IHRoaXMubGlzdFV0aWxzLnBhZ2luYXRlKGZpbHRlcmVkSXRlbXMsIHRoaXMuY3VycmVudFBhZ2UsIHRoaXMucGFnZVNpemUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBhZ2luYXRlZEl0ZW1zID0gdGhpcy5saXN0VXRpbHMucGFnaW5hdGUodGhpcy5pdGVtcywgdGhpcy5jdXJyZW50UGFnZSwgdGhpcy5wYWdlU2l6ZSk7XG4gICAgfVxuXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkeW5hbWljLWxpc3QtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRlcm1cIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaC4uLlwiXG4gICAgICAgIChrZXl1cCk9XCJzZWFyY2goKVwiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZHluYW1pYy1saXN0LWZpbHRlclwiXG4gICAgICBhcHBQb3BvdmVyXG4gICAgICAoY2xpY2spPVwicHJvZ3JhbVR5cGVQb3BvdmVyLnBvcG92ZXIoKVwiXG4gICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci10ZXh0XCI+QWxsIFByb2dyYW0gVHlwZTwvZGl2PlxuICAgICAgPGkgY2xhc3M9XCJpY29ucyBmaWx0ZXItaWNvblwiPiAmI3hlOWU4OyA8L2k+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJkeW5hbWljLWxpc3QtdGFibGVcIlxuICAgICpuZ0lmPVwicGFnaW5hdGVkSXRlbXM/Lmxlbmd0aCA+IDA7IGVsc2UgZGVmYXVsdFRlbXBsYXRlXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLWxpc3QtaGVhZGVyIHZ4LWQtZmxleFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIHRhYmxlSGVhZGVyc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LXctNTAgdngtcGwtMVwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwic2VyaWFsTm8gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICAjXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJoZWFkZXJUZXh0IHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgaGVhZGVyIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtbGlzdC1ib2R5IHZ4LWQtZmxleFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY29sdW1uXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwYWdpbmF0ZWRJdGVtczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgY2xhc3M9XCJsaXN0LXJvd1wiXG4gICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImFjdGl2ZVByb2dyYW0/LmlkID09PSBpdGVtLmlkXCJcbiAgICAgICAgICAoY2xpY2spPVwidmlld0NhdGVnb3J5KGl0ZW0pXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWNvbHVtbiBzZXJpYWxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzck5vXCI+e3sgaSArIDEgfX08L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImxpc3QtY29sdW1uIG5hbWVcIlxuICAgICAgICAgICAgW2NsYXNzLndpdGgtY291bnRdPVwic2VsZWN0ZWRJdGVtc1tpdGVtLmlkXT8ubGVuZ3RoID4gMFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUtaW5uZXIgdngtZnMtMTMgdngtcHItMlwiPnt7IGl0ZW0ubmFtZSB9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibGlzdC1jb2x1bW4gY291bnRcIlxuICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3RlZEl0ZW1zW2l0ZW0uaWRdPy5sZW5ndGggPiAwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiY291bnQtYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LWxoLTQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IHNlbGVjdGVkSXRlbXNbaXRlbS5pZF0ubGVuZ3RoIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJjb3VudC10ZXh0IHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtbGgtNCB2eC1tbC0yXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQ0FURUdPUklFUyBTRUxFQ1RFRFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtY29sdW1uIGFjdGlvblwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cImFycm93IHZ4LWZzLTEyIHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4gJiN4ZTk3MDsgPC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmlnaHQtY29sdW1uXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImxpc3Qtcm93IHZ4LXBsLTIgdngtcHItMlwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY2F0ZWdvcnlMaXN0OyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgPiBcbiAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgICBbdmFsdWVdPVwiaXRlbT8uaWRcIlxuICAgICAgICAgICAgW25nVmFsdWVdPVwiaXRlbS5pZCB8IGNoZWNrU2VsZWN0ZWRJdGVtczogc2VsZWN0ZWRJdGVtc1thY3RpdmVQcm9ncmFtLmlkXVwiXG4gICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RJdGVtKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWUtaW5uZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tbmFtZSB2eC1mcy0xM1wiPnt7IGl0ZW0/Lm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpdGhpbi1wYXJ0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcHItM1wiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLWJveCB2eC1mcy05IHZ4LWZ3LTYwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTIgdngtbGgtM1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgV2l0aGluXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiXG4gICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJpdGVtPy5wYXJlbnRUcmVlPy5qb2luKCcgPiAnKVwiXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IGl0ZW0/LnBhcmVudFRyZWU/LmpvaW4oXCIgPiBcIikgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwibGlzdC1uby1kYXRhLWNvbnRhaW5lclwiPlxuICAgICAgPGFwcC1uby1kYXRhXG4gICAgICAgIFtub0RhdGFJbWFnZV09XCJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NlYXJjaC1kYXRhLnN2ZydcbiAgICAgICAgXCJcbiAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIlxuICAgICAgPjwvYXBwLW5vLWRhdGE+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cblxuPGFwcC1wb3BvdmVyICNwcm9ncmFtVHlwZVBvcG92ZXI+XG4gIDxkaXYgY2xhc3M9XCJuZXctYWN0aW9uLWxpc3RcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInByb2dyYW0tdHlwZS10ZXh0IHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1ncmF5LTYwIHZ4LWxoLTE2IHZ4LXAtMiB2eC10dC11cHBlcmNhc2VcIlxuICAgID5cbiAgICAgIFByb2dyYW0gVHlwZTpcbiAgICA8L2Rpdj5cbiAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIHByb2dyYW1UeXBlTGlzdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpcC1pdGVtXCI+XG4gICAgICAgICAgPGFwcC1jcy1jaGVja2JveFxuICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0uaWRcIlxuICAgICAgICAgICAgW25nVmFsdWVdPVwic2VsZWN0ZWRQcm9ncmFtVHlwZS5pbmNsdWRlcyhpdGVtLmlkKVwiXG4gICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RGaWx0ZXIoJGV2ZW50LCBpdGVtKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgaXRlbT8ubmFtZSB9fVxuICAgICAgICAgIDwvYXBwLWNzLWNoZWNrYm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInByb2dyYW0tdHlwZS1ib3R0b20gdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC1wdC0zIHZ4LXBiLTNcIlxuICAgID5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cInJlc2V0RmlsdGVyKClcIlxuICAgICAgICBjbGFzcz1cInJlc2V0LWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wbC0yIHZ4LXByLTIgdngtbGgtNlwiXG4gICAgICA+XG4gICAgICAgIFJFU0VUXG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cIm9uRmlsdGVyQ2hhbmdlKClcIlxuICAgICAgICBjbGFzcz1cImFwcGx5LWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wbC0yIHZ4LXByLTIgdngtbGgtNlwiXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJzZWxlY3RlZFByb2dyYW1UeXBlPy5sZW5ndGggPT09IDBcIlxuICAgICAgPlxuICAgICAgICBBUFBMWVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9hcHAtcG9wb3Zlcj5cbiJdfQ==