@amc-technology/ui-library 1.0.100 → 1.0.102

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 (128) hide show
  1. package/README.md +25 -8
  2. package/esm2022/amc-technology-ui-library.mjs +5 -0
  3. package/esm2022/projects/UILibrary/src/app/Helpers.mjs +11 -0
  4. package/esm2022/projects/UILibrary/src/app/components/activity/activity.component.mjs +79 -0
  5. package/esm2022/projects/UILibrary/src/app/components/chat-box/chat-box.component.mjs +137 -0
  6. package/esm2022/projects/UILibrary/src/app/components/chat-message/chat-message.component.mjs +40 -0
  7. package/esm2022/projects/UILibrary/src/app/components/create/create.component.mjs +34 -0
  8. package/esm2022/projects/UILibrary/src/app/components/current-activity/current-activity.component.mjs +170 -0
  9. package/esm2022/projects/UILibrary/src/app/components/disposition/disposition.component.mjs +47 -0
  10. package/esm2022/projects/UILibrary/src/app/components/duration/duration.component.mjs +58 -0
  11. package/esm2022/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.mjs +72 -0
  12. package/esm2022/projects/UILibrary/src/app/components/interaction/interaction.component.mjs +98 -0
  13. package/esm2022/projects/UILibrary/src/app/components/login/login.component.mjs +41 -0
  14. package/esm2022/projects/UILibrary/src/app/components/operation/operation.component.mjs +56 -0
  15. package/esm2022/projects/UILibrary/src/app/components/property/property.component.mjs +106 -0
  16. package/esm2022/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.mjs +144 -0
  17. package/esm2022/projects/UILibrary/src/app/components/scenario/scenario.component.mjs +38 -0
  18. package/esm2022/projects/UILibrary/src/app/components/search-information/search-information.component.mjs +160 -0
  19. package/esm2022/projects/UILibrary/src/app/models/IActivity.mjs +2 -0
  20. package/esm2022/projects/UILibrary/src/app/models/IActivityDetails.mjs +2 -0
  21. package/esm2022/projects/UILibrary/src/app/models/IHoldActivityDetails.mjs +2 -0
  22. package/esm2022/projects/UILibrary/src/app/models/IInteractionActivityDetails.mjs +2 -0
  23. package/esm2022/projects/UILibrary/src/app/models/chat.message.mjs +7 -0
  24. package/esm2022/projects/UILibrary/src/app/models/chat.settings.mjs +2 -0
  25. package/esm2022/projects/UILibrary/src/app/models/disposition.interface.mjs +2 -0
  26. package/esm2022/projects/UILibrary/src/app/models/login.interface.mjs +2 -0
  27. package/esm2022/projects/UILibrary/src/app/models/uilibrary.model.mjs +61 -0
  28. package/esm2022/projects/UILibrary/src/app/uilibrary.module.mjs +106 -0
  29. package/esm2022/public_api.mjs +10 -0
  30. package/fesm2022/amc-technology-ui-library.mjs +1393 -0
  31. package/fesm2022/amc-technology-ui-library.mjs.map +1 -0
  32. package/index.d.ts +5 -0
  33. package/package.json +26 -21
  34. package/projects/UILibrary/src/app/Helpers.d.ts +1 -1
  35. package/projects/UILibrary/src/app/components/activity/activity.component.d.ts +26 -23
  36. package/projects/UILibrary/src/app/components/chat-box/chat-box.component.d.ts +38 -35
  37. package/projects/UILibrary/src/app/components/chat-message/chat-message.component.d.ts +16 -13
  38. package/projects/UILibrary/src/app/components/create/create.component.d.ts +14 -11
  39. package/projects/UILibrary/src/app/components/current-activity/current-activity.component.d.ts +37 -34
  40. package/projects/UILibrary/src/app/components/disposition/disposition.component.d.ts +15 -12
  41. package/projects/UILibrary/src/app/components/duration/duration.component.d.ts +19 -16
  42. package/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.d.ts +24 -21
  43. package/projects/UILibrary/src/app/components/interaction/interaction.component.d.ts +44 -41
  44. package/projects/UILibrary/src/app/components/login/login.component.d.ts +14 -11
  45. package/projects/UILibrary/src/app/components/operation/operation.component.d.ts +25 -22
  46. package/projects/UILibrary/src/app/components/property/property.component.d.ts +44 -41
  47. package/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.d.ts +38 -35
  48. package/projects/UILibrary/src/app/components/scenario/scenario.component.d.ts +16 -13
  49. package/projects/UILibrary/src/app/components/search-information/search-information.component.d.ts +29 -26
  50. package/projects/UILibrary/src/app/models/IActivity.d.ts +36 -36
  51. package/projects/UILibrary/src/app/models/IActivityDetails.d.ts +7 -7
  52. package/projects/UILibrary/src/app/models/IHoldActivityDetails.d.ts +10 -10
  53. package/projects/UILibrary/src/app/models/IInteractionActivityDetails.d.ts +9 -9
  54. package/projects/UILibrary/src/app/models/chat.message.d.ts +15 -15
  55. package/projects/UILibrary/src/app/models/chat.settings.d.ts +6 -6
  56. package/projects/UILibrary/src/app/models/disposition.interface.d.ts +12 -12
  57. package/projects/UILibrary/src/app/models/login.interface.d.ts +13 -13
  58. package/projects/UILibrary/src/app/models/uilibrary.model.d.ts +281 -281
  59. package/projects/UILibrary/src/app/uilibrary.module.d.ts +30 -7
  60. package/public_api.d.ts +9 -1
  61. package/webcomponents/webcomponents.js +3 -3
  62. package/amc-technology-ui-library.d.ts +0 -19
  63. package/amc-technology-ui-library.metadata.json +0 -1
  64. package/bundles/amc-technology-ui-library.umd.js +0 -1653
  65. package/bundles/amc-technology-ui-library.umd.js.map +0 -1
  66. package/bundles/amc-technology-ui-library.umd.min.js +0 -16
  67. package/bundles/amc-technology-ui-library.umd.min.js.map +0 -1
  68. package/esm2015/amc-technology-ui-library.js +0 -20
  69. package/esm2015/projects/UILibrary/src/app/Helpers.js +0 -11
  70. package/esm2015/projects/UILibrary/src/app/components/activity/activity.component.js +0 -83
  71. package/esm2015/projects/UILibrary/src/app/components/chat-box/chat-box.component.js +0 -139
  72. package/esm2015/projects/UILibrary/src/app/components/chat-message/chat-message.component.js +0 -44
  73. package/esm2015/projects/UILibrary/src/app/components/create/create.component.js +0 -35
  74. package/esm2015/projects/UILibrary/src/app/components/current-activity/current-activity.component.js +0 -169
  75. package/esm2015/projects/UILibrary/src/app/components/disposition/disposition.component.js +0 -49
  76. package/esm2015/projects/UILibrary/src/app/components/duration/duration.component.js +0 -58
  77. package/esm2015/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.js +0 -72
  78. package/esm2015/projects/UILibrary/src/app/components/interaction/interaction.component.js +0 -93
  79. package/esm2015/projects/UILibrary/src/app/components/login/login.component.js +0 -43
  80. package/esm2015/projects/UILibrary/src/app/components/operation/operation.component.js +0 -57
  81. package/esm2015/projects/UILibrary/src/app/components/property/property.component.js +0 -99
  82. package/esm2015/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.js +0 -142
  83. package/esm2015/projects/UILibrary/src/app/components/scenario/scenario.component.js +0 -43
  84. package/esm2015/projects/UILibrary/src/app/components/search-information/search-information.component.js +0 -155
  85. package/esm2015/projects/UILibrary/src/app/models/IActivity.js +0 -1
  86. package/esm2015/projects/UILibrary/src/app/models/IActivityDetails.js +0 -1
  87. package/esm2015/projects/UILibrary/src/app/models/IHoldActivityDetails.js +0 -1
  88. package/esm2015/projects/UILibrary/src/app/models/IInteractionActivityDetails.js +0 -1
  89. package/esm2015/projects/UILibrary/src/app/models/chat.message.js +0 -7
  90. package/esm2015/projects/UILibrary/src/app/models/chat.settings.js +0 -1
  91. package/esm2015/projects/UILibrary/src/app/models/disposition.interface.js +0 -1
  92. package/esm2015/projects/UILibrary/src/app/models/login.interface.js +0 -1
  93. package/esm2015/projects/UILibrary/src/app/models/uilibrary.model.js +0 -40
  94. package/esm2015/projects/UILibrary/src/app/uilibrary.module.js +0 -83
  95. package/esm2015/public_api.js +0 -2
  96. package/esm5/amc-technology-ui-library.js +0 -20
  97. package/esm5/projects/UILibrary/src/app/Helpers.js +0 -11
  98. package/esm5/projects/UILibrary/src/app/components/activity/activity.component.js +0 -84
  99. package/esm5/projects/UILibrary/src/app/components/chat-box/chat-box.component.js +0 -140
  100. package/esm5/projects/UILibrary/src/app/components/chat-message/chat-message.component.js +0 -45
  101. package/esm5/projects/UILibrary/src/app/components/create/create.component.js +0 -36
  102. package/esm5/projects/UILibrary/src/app/components/current-activity/current-activity.component.js +0 -174
  103. package/esm5/projects/UILibrary/src/app/components/disposition/disposition.component.js +0 -61
  104. package/esm5/projects/UILibrary/src/app/components/duration/duration.component.js +0 -60
  105. package/esm5/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.js +0 -74
  106. package/esm5/projects/UILibrary/src/app/components/interaction/interaction.component.js +0 -98
  107. package/esm5/projects/UILibrary/src/app/components/login/login.component.js +0 -66
  108. package/esm5/projects/UILibrary/src/app/components/operation/operation.component.js +0 -58
  109. package/esm5/projects/UILibrary/src/app/components/property/property.component.js +0 -101
  110. package/esm5/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.js +0 -144
  111. package/esm5/projects/UILibrary/src/app/components/scenario/scenario.component.js +0 -44
  112. package/esm5/projects/UILibrary/src/app/components/search-information/search-information.component.js +0 -156
  113. package/esm5/projects/UILibrary/src/app/models/IActivity.js +0 -1
  114. package/esm5/projects/UILibrary/src/app/models/IActivityDetails.js +0 -1
  115. package/esm5/projects/UILibrary/src/app/models/IHoldActivityDetails.js +0 -1
  116. package/esm5/projects/UILibrary/src/app/models/IInteractionActivityDetails.js +0 -1
  117. package/esm5/projects/UILibrary/src/app/models/chat.message.js +0 -7
  118. package/esm5/projects/UILibrary/src/app/models/chat.settings.js +0 -1
  119. package/esm5/projects/UILibrary/src/app/models/disposition.interface.js +0 -1
  120. package/esm5/projects/UILibrary/src/app/models/login.interface.js +0 -1
  121. package/esm5/projects/UILibrary/src/app/models/uilibrary.model.js +0 -43
  122. package/esm5/projects/UILibrary/src/app/uilibrary.module.js +0 -84
  123. package/esm5/public_api.js +0 -2
  124. package/fesm2015/amc-technology-ui-library.js +0 -1360
  125. package/fesm2015/amc-technology-ui-library.js.map +0 -1
  126. package/fesm5/amc-technology-ui-library.js +0 -1423
  127. package/fesm5/amc-technology-ui-library.js.map +0 -1
  128. package/src/typings.d.ts +0 -5
@@ -0,0 +1,170 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { debounceTime } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/forms";
7
+ export class CurrentActivityComponent {
8
+ ActivityDetails;
9
+ quickCommentList;
10
+ isAutoSave;
11
+ enableDiscard;
12
+ autoSaveTimer;
13
+ quickCommentOptionRequiredCadArray;
14
+ WhoObjectList;
15
+ WhatObjectList;
16
+ scenarioToCADMap;
17
+ EventEmitter;
18
+ eventList;
19
+ debouncer;
20
+ isActivityMaximized;
21
+ constructor() {
22
+ this.isActivityMaximized = true;
23
+ this.EventEmitter = new EventEmitter();
24
+ this.debouncer = new Subject();
25
+ this.eventList = new Set();
26
+ }
27
+ async ngOnInit() {
28
+ this.debouncer.pipe(debounceTime(500)).subscribe(() => {
29
+ const newEvent = {
30
+ eventName: Array.from(this.eventList).join('|'),
31
+ newValue: this.ActivityDetails
32
+ };
33
+ this.EventEmitter.emit(newEvent);
34
+ this.eventList.clear();
35
+ });
36
+ }
37
+ submitActivity() {
38
+ try {
39
+ this.ActivityDetails.IsProcessing = true;
40
+ this.EventEmitter.emit({
41
+ eventName: 'SubmitActivity',
42
+ newValue: this.ActivityDetails
43
+ });
44
+ }
45
+ catch (error) { }
46
+ }
47
+ triggerDiscardActivity() {
48
+ try {
49
+ this.EventEmitter.emit({
50
+ eventName: 'TriggerDiscardActivity',
51
+ newValue: this.ActivityDetails
52
+ });
53
+ }
54
+ catch (error) { }
55
+ }
56
+ onNameChange(event) {
57
+ try {
58
+ this.ActivityDetails.WhoObject = this.WhoObjectList.find((obj) => obj.objectId === event);
59
+ this.EventEmitter.emit({
60
+ eventName: 'ActivityWhoObjectChanged',
61
+ newValue: this.ActivityDetails
62
+ });
63
+ }
64
+ catch (error) { }
65
+ }
66
+ onRelatedToChange(event) {
67
+ try {
68
+ this.ActivityDetails.WhatObject = this.WhatObjectList.find((obj) => obj.objectId === event);
69
+ this.EventEmitter.emit({
70
+ eventName: 'ActivityWhatObjectChanged',
71
+ newValue: this.ActivityDetails
72
+ });
73
+ }
74
+ catch (error) { }
75
+ }
76
+ onSubjectChange() {
77
+ try {
78
+ this.eventList.add('ActivitySubjectChanged');
79
+ this.debouncer.next();
80
+ }
81
+ catch (error) { }
82
+ }
83
+ onSubjectKeyUp() {
84
+ try {
85
+ this.eventList.add('ActivitySubjectChanged');
86
+ this.debouncer.next();
87
+ }
88
+ catch (error) { }
89
+ }
90
+ onCallNotesChange() {
91
+ try {
92
+ this.eventList.add('ActivityCallNoteChanged');
93
+ this.debouncer.next();
94
+ }
95
+ catch (error) { }
96
+ }
97
+ onCallNotesKeyUp() {
98
+ try {
99
+ this.eventList.add('ActivityCallNoteChanged');
100
+ this.debouncer.next();
101
+ }
102
+ catch (error) { }
103
+ }
104
+ addQuickCommentToDescription(comment) {
105
+ try {
106
+ let descriptionToSet = comment;
107
+ if (this.quickCommentOptionRequiredCadArray[comment]) {
108
+ let cadFields = {};
109
+ if (this.ActivityDetails) {
110
+ cadFields = this.scenarioToCADMap[this.ActivityDetails.ScenarioId];
111
+ }
112
+ for (let i = 0; i < this.quickCommentOptionRequiredCadArray[comment].length; i++) {
113
+ let keyToCheckIfCADExists = this.quickCommentOptionRequiredCadArray[comment][i];
114
+ const stringToBeReplaced = this.quickCommentOptionRequiredCadArray[comment][i];
115
+ keyToCheckIfCADExists = keyToCheckIfCADExists.replace('{{', '');
116
+ keyToCheckIfCADExists = keyToCheckIfCADExists.replace('}}', '');
117
+ if (cadFields[keyToCheckIfCADExists]) {
118
+ descriptionToSet = descriptionToSet.replace(stringToBeReplaced, cadFields[keyToCheckIfCADExists].Value);
119
+ }
120
+ }
121
+ }
122
+ if (this.ActivityDetails.Description) {
123
+ this.ActivityDetails.Description += '\n';
124
+ }
125
+ this.ActivityDetails.Description += descriptionToSet;
126
+ this.eventList.add('ActivityCallNoteChanged');
127
+ this.debouncer.next();
128
+ }
129
+ catch (error) { }
130
+ }
131
+ parseWhoObject(whoObject) {
132
+ try {
133
+ return whoObject.displayName + ': ' + whoObject.objectName;
134
+ }
135
+ catch (error) { }
136
+ }
137
+ parseWhatObject(whatObject) {
138
+ try {
139
+ return whatObject.displayName + ': ' + whatObject.objectName;
140
+ }
141
+ catch (error) { }
142
+ }
143
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: CurrentActivityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
144
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: CurrentActivityComponent, selector: "amc-current-activity", inputs: { ActivityDetails: "ActivityDetails", quickCommentList: "quickCommentList", isAutoSave: "isAutoSave", enableDiscard: "enableDiscard", autoSaveTimer: "autoSaveTimer", quickCommentOptionRequiredCadArray: "quickCommentOptionRequiredCadArray", WhoObjectList: "WhoObjectList", WhatObjectList: "WhatObjectList", scenarioToCADMap: "scenarioToCADMap" }, outputs: { EventEmitter: "EventEmitter" }, ngImport: i0, template: "<div *ngIf=\"isActivityMaximized\" class=\"callDisplay\">\r\n <div class=\"editor callHeader\">\r\n <label class=\"headerLabel\">\r\n <b>Activity Information</b>\r\n </label>\r\n <img class=\"ViewResizeImage\" src=\"/assets/images/section_collapse.png\" (click)=\"isActivityMaximized = false\"\r\n title=\"Collapse\"><img *ngIf=\"enableDiscard\" class=\"DiscardImage\" src=\"assets/images/Discard.png\"\r\n (click)=\"triggerDiscardActivity()\" title=\"Discard\">\r\n </div>\r\n <div class=\"callBody\">\r\n <div class=\"activityFields\">\r\n <form>\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Name\">Name</label>\r\n <select class=\"dropDownListStyle displayData\" [ngModel]=\"ActivityDetails.WhoObject.objectId\" (ngModelChange)=\"onNameChange($event)\" name=\"whoItem\">\r\n <option *ngFor=\"let whoItem of WhoObjectList\" [ngValue]=\"whoItem.objectId\">{{ (whoItem.displayName && whoItem.objectName) ? (whoItem.displayName + ': ' +\r\n whoItem.objectName) : \"\"}}</option>\r\n <!-- <option value=\"UserSelectedForEmptyRecord\"></option> -->\r\n </select>\r\n </div>\r\n <div class=\"editor displayDiv\"\r\n *ngIf='(ActivityDetails.WhoObject && ActivityDetails.WhoObject.objectType !== \"Lead\")'>\r\n <label class=\"displayLabels\" title=\"Related To\">Related To</label>\r\n <select class=\"dropDownListStyle displayData\" (ngModelChange)=\"onRelatedToChange($event)\"\r\n [ngModel]=\"ActivityDetails.WhatObject.objectId\" name=\"whatItem\">\r\n <option *ngFor=\"let whatItem of WhatObjectList;\" [ngValue]=\"whatItem.objectId\">\r\n {{ (whatItem.displayName && whatItem.objectName) ? (whatItem.displayName + ': ' + whatItem.objectName) : \"\" }}</option>\r\n <!-- <option value=\"UserSelectedForEmptyRecord\"></option> -->\r\n </select>\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Subject\">Subject</label>\r\n <input class=\"activitySubjectTextBoxStyle displayData\" (change)=\"onSubjectChange()\" type=\"text\"\r\n name=\"subject\" (keyup)=\"onSubjectKeyUp()\" [(ngModel)]=\"ActivityDetails.Subject\">\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <div class=\"callNotesSection\">\r\n <div class=\"callNotesTextArea\">\r\n <textarea [(ngModel)]=\"ActivityDetails.Description\" placeholder=\"Click to add a comment\"\r\n class=\"activityCommentsTextBoxStyle\" (change)=\"onCallNotesChange()\" name=\"description\"\r\n (keyup)=\"onCallNotesKeyUp()\" cols=\"20\" rows=\"2\" title=\"\"></textarea>\r\n </div>\r\n <div class=\"notesBottonBorder\">\r\n <div class=\"commentsButtonDiv\">\r\n <div class=\"quickCommentsDiv\">\r\n <input *ngFor=\"let quickComment of quickCommentList; let i = index;\"\r\n class=\"quickNotesBotton\" type=\"button\" value=\"{{i+1}}\"\r\n (click)=\"addQuickCommentToDescription(quickComment)\" title=\"{{quickComment}}\">\r\n </div>\r\n <div class=\"callNotesButtonsSection\">\r\n <input class=\"submitButton\" type=\"button\" value=\"Save\"\r\n (click)=\"submitActivity()\" [disabled]=\"!ActivityDetails.IsUnSaved\" />\r\n <!-- TOsDO check this Isprocessing -->\r\n <!-- <input *ngIf=\"!storageService.getActivity().IsProcessing\" class=\"submitButton\" type=\"button\" value=\"Save\" (click)=\"submitActivity(storageService.getActivity().ScenarioId)\" [disabled]=\"!isChangesUnSaved(this.scenarioId)\" /> -->\r\n <img *ngIf=\"ActivityDetails.IsProcessing\" class=\"loadingIcon\"\r\n src=\"assets/images/loading.gif\" title=\"Updating Activity\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"!isActivityMaximized\" class=\"callDisplay\">\r\n <div class=\"editor callHeader\">\r\n <label class=\"headerLabel\">\r\n <b>Activity Information</b>\r\n </label>\r\n <img class=\"ViewResizeImage\" src=\"assets/images/section_expand.png\" (click)=\"isActivityMaximized = true\"\r\n title=\"Expand\">\r\n </div>\r\n</div>\r\n", styles: [".imageExpandCollapse{float:right;width:20px;height:20px}.miscSection{position:relative;margin-top:20px;background-color:#e5e6f2}.callHeader{background-color:#f4f5fb!important;width:100%!important;margin-top:0!important;border:1px solid #939598!important}.notesBottonBorder{background-color:#fff;border-left:1px solid #939598;border-bottom:1px solid #939598;border-right:1px solid #939598;border-bottom-left-radius:3px!important;border-bottom-right-radius:3px!important;height:auto}.quickNotesBotton{background-color:#1e72ba;border:0;color:#fff;height:70%;width:20px;margin:2px;outline:none;font-size:70%}.submitButton{border:0;float:right;margin-top:2px;outline:none;cursor:pointer;background-color:#6cb047;color:#fff;border-radius:4px;font-size:98%;margin-bottom:2px}.callBody{border:1px solid #939598;border-top-color:#939598;border-top-style:solid;border-top-width:1px;border-top:0;position:relative}.miscIcons{width:20px;height:20px;float:right;margin-top:4px;margin-right:5px;margin-left:5px}.amcIcon{width:50%;height:20px;margin-top:5px;margin-left:10px}.callDisplay{display:grid;margin-bottom:8px;background-color:#fff}.editor{font-size:.9em;width:70%;text-align:left;margin:4px 5% 0 0;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;border:0;padding-top:2px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.AnswerCallImages{width:28px;height:20px;margin:6px 0 0 5px}.dropDownListStyle{border:1px solid #939598!important;border-radius:3px!important;width:71%!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:0 5px 0 0;cursor:pointer}.activitySubjectTextBoxStyle{border:1px solid #939598!important;border-radius:3px!important;width:71%!important;height:20px!important;text-align:left!important;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;margin:0 5px 0 0;padding-left:2px}.activityCommentsTextBoxStyle{border:none;color:#333!important;text-align:left!important;margin:0 0% 0 0;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;resize:none;width:100%;height:95px}.displayDiv{width:100%;display:flex}.displayLabels{margin-left:5px;width:25%;margin-right:2px}.displayData{width:70%}.commentsButtonDiv{width:100%;display:flex;align-items:center;background-color:#f6f7fb}.quickCommentsDiv{text-align:left;flex:1 0 0;flex-wrap:wrap;display:flex;margin:2px}.callNotesButtonsSection{text-align:right;padding-right:4px}.newEntityImages{width:25px;height:25px;margin-top:2px;cursor:pointer;padding-left:5px}body{font-size:.85em;font-family:\"Segoe UI\",Verdana,Helvetica,Sans-Serif;color:#232323;background-color:#fff;font-family:Arial}.callNotesSection{float:left;height:100%;width:100%;margin-right:5px;margin-left:5px;margin-bottom:5px}.ViewResizeImage{width:20px;height:20px;float:right;cursor:pointer}.DiscardImage{padding-top:2px;width:15px;height:18px;float:right;cursor:pointer}.headerLabel{margin-left:10px}.callNotesTextArea{background-color:#fff;border-left:1px solid #939598;border-bottom:1px solid #939598;border-right:1px solid #939598;border-top:1px solid #939598;border-top-left-radius:3px!important;border-top-right-radius:3px!important}.loadingIcon{float:right;margin-right:5px;height:10px;width:30px;margin-top:8px;padding-bottom:0}input[type=button]:disabled{background-color:#d3d3d3;cursor:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.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: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
145
+ }
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: CurrentActivityComponent, decorators: [{
147
+ type: Component,
148
+ args: [{ selector: 'amc-current-activity', template: "<div *ngIf=\"isActivityMaximized\" class=\"callDisplay\">\r\n <div class=\"editor callHeader\">\r\n <label class=\"headerLabel\">\r\n <b>Activity Information</b>\r\n </label>\r\n <img class=\"ViewResizeImage\" src=\"/assets/images/section_collapse.png\" (click)=\"isActivityMaximized = false\"\r\n title=\"Collapse\"><img *ngIf=\"enableDiscard\" class=\"DiscardImage\" src=\"assets/images/Discard.png\"\r\n (click)=\"triggerDiscardActivity()\" title=\"Discard\">\r\n </div>\r\n <div class=\"callBody\">\r\n <div class=\"activityFields\">\r\n <form>\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Name\">Name</label>\r\n <select class=\"dropDownListStyle displayData\" [ngModel]=\"ActivityDetails.WhoObject.objectId\" (ngModelChange)=\"onNameChange($event)\" name=\"whoItem\">\r\n <option *ngFor=\"let whoItem of WhoObjectList\" [ngValue]=\"whoItem.objectId\">{{ (whoItem.displayName && whoItem.objectName) ? (whoItem.displayName + ': ' +\r\n whoItem.objectName) : \"\"}}</option>\r\n <!-- <option value=\"UserSelectedForEmptyRecord\"></option> -->\r\n </select>\r\n </div>\r\n <div class=\"editor displayDiv\"\r\n *ngIf='(ActivityDetails.WhoObject && ActivityDetails.WhoObject.objectType !== \"Lead\")'>\r\n <label class=\"displayLabels\" title=\"Related To\">Related To</label>\r\n <select class=\"dropDownListStyle displayData\" (ngModelChange)=\"onRelatedToChange($event)\"\r\n [ngModel]=\"ActivityDetails.WhatObject.objectId\" name=\"whatItem\">\r\n <option *ngFor=\"let whatItem of WhatObjectList;\" [ngValue]=\"whatItem.objectId\">\r\n {{ (whatItem.displayName && whatItem.objectName) ? (whatItem.displayName + ': ' + whatItem.objectName) : \"\" }}</option>\r\n <!-- <option value=\"UserSelectedForEmptyRecord\"></option> -->\r\n </select>\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Subject\">Subject</label>\r\n <input class=\"activitySubjectTextBoxStyle displayData\" (change)=\"onSubjectChange()\" type=\"text\"\r\n name=\"subject\" (keyup)=\"onSubjectKeyUp()\" [(ngModel)]=\"ActivityDetails.Subject\">\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <div class=\"callNotesSection\">\r\n <div class=\"callNotesTextArea\">\r\n <textarea [(ngModel)]=\"ActivityDetails.Description\" placeholder=\"Click to add a comment\"\r\n class=\"activityCommentsTextBoxStyle\" (change)=\"onCallNotesChange()\" name=\"description\"\r\n (keyup)=\"onCallNotesKeyUp()\" cols=\"20\" rows=\"2\" title=\"\"></textarea>\r\n </div>\r\n <div class=\"notesBottonBorder\">\r\n <div class=\"commentsButtonDiv\">\r\n <div class=\"quickCommentsDiv\">\r\n <input *ngFor=\"let quickComment of quickCommentList; let i = index;\"\r\n class=\"quickNotesBotton\" type=\"button\" value=\"{{i+1}}\"\r\n (click)=\"addQuickCommentToDescription(quickComment)\" title=\"{{quickComment}}\">\r\n </div>\r\n <div class=\"callNotesButtonsSection\">\r\n <input class=\"submitButton\" type=\"button\" value=\"Save\"\r\n (click)=\"submitActivity()\" [disabled]=\"!ActivityDetails.IsUnSaved\" />\r\n <!-- TOsDO check this Isprocessing -->\r\n <!-- <input *ngIf=\"!storageService.getActivity().IsProcessing\" class=\"submitButton\" type=\"button\" value=\"Save\" (click)=\"submitActivity(storageService.getActivity().ScenarioId)\" [disabled]=\"!isChangesUnSaved(this.scenarioId)\" /> -->\r\n <img *ngIf=\"ActivityDetails.IsProcessing\" class=\"loadingIcon\"\r\n src=\"assets/images/loading.gif\" title=\"Updating Activity\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"!isActivityMaximized\" class=\"callDisplay\">\r\n <div class=\"editor callHeader\">\r\n <label class=\"headerLabel\">\r\n <b>Activity Information</b>\r\n </label>\r\n <img class=\"ViewResizeImage\" src=\"assets/images/section_expand.png\" (click)=\"isActivityMaximized = true\"\r\n title=\"Expand\">\r\n </div>\r\n</div>\r\n", styles: [".imageExpandCollapse{float:right;width:20px;height:20px}.miscSection{position:relative;margin-top:20px;background-color:#e5e6f2}.callHeader{background-color:#f4f5fb!important;width:100%!important;margin-top:0!important;border:1px solid #939598!important}.notesBottonBorder{background-color:#fff;border-left:1px solid #939598;border-bottom:1px solid #939598;border-right:1px solid #939598;border-bottom-left-radius:3px!important;border-bottom-right-radius:3px!important;height:auto}.quickNotesBotton{background-color:#1e72ba;border:0;color:#fff;height:70%;width:20px;margin:2px;outline:none;font-size:70%}.submitButton{border:0;float:right;margin-top:2px;outline:none;cursor:pointer;background-color:#6cb047;color:#fff;border-radius:4px;font-size:98%;margin-bottom:2px}.callBody{border:1px solid #939598;border-top-color:#939598;border-top-style:solid;border-top-width:1px;border-top:0;position:relative}.miscIcons{width:20px;height:20px;float:right;margin-top:4px;margin-right:5px;margin-left:5px}.amcIcon{width:50%;height:20px;margin-top:5px;margin-left:10px}.callDisplay{display:grid;margin-bottom:8px;background-color:#fff}.editor{font-size:.9em;width:70%;text-align:left;margin:4px 5% 0 0;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;border:0;padding-top:2px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.AnswerCallImages{width:28px;height:20px;margin:6px 0 0 5px}.dropDownListStyle{border:1px solid #939598!important;border-radius:3px!important;width:71%!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:0 5px 0 0;cursor:pointer}.activitySubjectTextBoxStyle{border:1px solid #939598!important;border-radius:3px!important;width:71%!important;height:20px!important;text-align:left!important;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;margin:0 5px 0 0;padding-left:2px}.activityCommentsTextBoxStyle{border:none;color:#333!important;text-align:left!important;margin:0 0% 0 0;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;resize:none;width:100%;height:95px}.displayDiv{width:100%;display:flex}.displayLabels{margin-left:5px;width:25%;margin-right:2px}.displayData{width:70%}.commentsButtonDiv{width:100%;display:flex;align-items:center;background-color:#f6f7fb}.quickCommentsDiv{text-align:left;flex:1 0 0;flex-wrap:wrap;display:flex;margin:2px}.callNotesButtonsSection{text-align:right;padding-right:4px}.newEntityImages{width:25px;height:25px;margin-top:2px;cursor:pointer;padding-left:5px}body{font-size:.85em;font-family:\"Segoe UI\",Verdana,Helvetica,Sans-Serif;color:#232323;background-color:#fff;font-family:Arial}.callNotesSection{float:left;height:100%;width:100%;margin-right:5px;margin-left:5px;margin-bottom:5px}.ViewResizeImage{width:20px;height:20px;float:right;cursor:pointer}.DiscardImage{padding-top:2px;width:15px;height:18px;float:right;cursor:pointer}.headerLabel{margin-left:10px}.callNotesTextArea{background-color:#fff;border-left:1px solid #939598;border-bottom:1px solid #939598;border-right:1px solid #939598;border-top:1px solid #939598;border-top-left-radius:3px!important;border-top-right-radius:3px!important}.loadingIcon{float:right;margin-right:5px;height:10px;width:30px;margin-top:8px;padding-bottom:0}input[type=button]:disabled{background-color:#d3d3d3;cursor:auto}\n"] }]
149
+ }], ctorParameters: function () { return []; }, propDecorators: { ActivityDetails: [{
150
+ type: Input
151
+ }], quickCommentList: [{
152
+ type: Input
153
+ }], isAutoSave: [{
154
+ type: Input
155
+ }], enableDiscard: [{
156
+ type: Input
157
+ }], autoSaveTimer: [{
158
+ type: Input
159
+ }], quickCommentOptionRequiredCadArray: [{
160
+ type: Input
161
+ }], WhoObjectList: [{
162
+ type: Input
163
+ }], WhatObjectList: [{
164
+ type: Input
165
+ }], scenarioToCADMap: [{
166
+ type: Input
167
+ }], EventEmitter: [{
168
+ type: Output
169
+ }] } });
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVudC1hY3Rpdml0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL2N1cnJlbnQtYWN0aXZpdHkvY3VycmVudC1hY3Rpdml0eS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL2N1cnJlbnQtYWN0aXZpdHkvY3VycmVudC1hY3Rpdml0eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBTzlDLE1BQU0sT0FBTyx3QkFBd0I7SUFDMUIsZUFBZSxDQUFZO0lBQzNCLGdCQUFnQixDQUFXO0lBQzNCLFVBQVUsQ0FBVTtJQUNwQixhQUFhLENBQVU7SUFDdkIsYUFBYSxDQUFTO0lBQ3RCLGtDQUFrQyxDQUFNO0lBQ3hDLGFBQWEsQ0FBcUI7SUFDbEMsY0FBYyxDQUFxQjtJQUNuQyxnQkFBZ0IsQ0FBSztJQUNwQixZQUFZLENBR25CO0lBRUssU0FBUyxDQUFjO0lBQ3ZCLFNBQVMsQ0FBZ0I7SUFFakMsbUJBQW1CLENBQVU7SUFFN0I7UUFDRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1FBRWhDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBR2hDLENBQUM7UUFFTCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFB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QUFyQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElBY3Rpdml0eURldGFpbHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvSUFjdGl2aXR5RGV0YWlscyc7XHJcbmltcG9ydCB7IElBY3Rpdml0eSB9IGZyb20gJy4uLy4uL21vZGVscy9JQWN0aXZpdHknO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW1jLWN1cnJlbnQtYWN0aXZpdHknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXJyZW50LWFjdGl2aXR5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jdXJyZW50LWFjdGl2aXR5LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VycmVudEFjdGl2aXR5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBBY3Rpdml0eURldGFpbHM6IElBY3Rpdml0eTtcclxuICBASW5wdXQoKSBxdWlja0NvbW1lbnRMaXN0OiBzdHJpbmdbXTtcclxuICBASW5wdXQoKSBpc0F1dG9TYXZlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGVuYWJsZURpc2NhcmQ6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgYXV0b1NhdmVUaW1lcjogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHF1aWNrQ29tbWVudE9wdGlvblJlcXVpcmVkQ2FkQXJyYXk6IGFueTtcclxuICBASW5wdXQoKSBXaG9PYmplY3RMaXN0OiBJQWN0aXZpdHlEZXRhaWxzW107XHJcbiAgQElucHV0KCkgV2hhdE9iamVjdExpc3Q6IElBY3Rpdml0eURldGFpbHNbXTtcclxuICBASW5wdXQoKSBzY2VuYXJpb1RvQ0FETWFwOiB7fTtcclxuICBAT3V0cHV0KCkgRXZlbnRFbWl0dGVyOiBFdmVudEVtaXR0ZXI8e1xyXG4gICAgZXZlbnROYW1lOiBzdHJpbmc7XHJcbiAgICBuZXdWYWx1ZT86IElBY3Rpdml0eTtcclxuICB9PjtcclxuXHJcbiAgcHJpdmF0ZSBldmVudExpc3Q6IFNldDxTdHJpbmc+O1xyXG4gIHByaXZhdGUgZGVib3VuY2VyOiBTdWJqZWN0PHZvaWQ+O1xyXG5cclxuICBpc0FjdGl2aXR5TWF4aW1pemVkOiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuaXNBY3Rpdml0eU1heGltaXplZCA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5FdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgICAgZXZlbnROYW1lOiBzdHJpbmc7XHJcbiAgICAgIG5ld1ZhbHVlPzogSUFjdGl2aXR5O1xyXG4gICAgfT4oKTtcclxuXHJcbiAgICB0aGlzLmRlYm91bmNlciA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgICB0aGlzLmV2ZW50TGlzdCA9IG5ldyBTZXQoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5kZWJvdW5jZXIucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgY29uc3QgbmV3RXZlbnQgPSB7XHJcbiAgICAgICAgZXZlbnROYW1lOiBBcnJheS5mcm9tKHRoaXMuZXZlbnRMaXN0KS5qb2luKCd8JyksXHJcbiAgICAgICAgbmV3VmFsdWU6IHRoaXMuQWN0aXZpdHlEZXRhaWxzXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuRXZlbnRFbWl0dGVyLmVtaXQobmV3RXZlbnQpO1xyXG4gICAgICB0aGlzLmV2ZW50TGlzdC5jbGVhcigpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXRBY3Rpdml0eSgpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMuQWN0aXZpdHlEZXRhaWxzLklzUHJvY2Vzc2luZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuRXZlbnRFbWl0dGVyLmVtaXQoe1xyXG4gICAgICAgIGV2ZW50TmFtZTogJ1N1Ym1pdEFjdGl2aXR5JyxcclxuICAgICAgICBuZXdWYWx1ZTogdGhpcy5BY3Rpdml0eURldGFpbHNcclxuICAgICAgfSk7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge31cclxuICB9XHJcblxyXG4gIHRyaWdnZXJEaXNjYXJkQWN0aXZpdHkoKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLkV2ZW50RW1pdHRlci5lbWl0KHtcclxuICAgICAgICBldmVudE5hbWU6ICdUcmlnZ2VyRGlzY2FyZEFjdGl2aXR5JyxcclxuICAgICAgICBuZXdWYWx1ZTogdGhpcy5BY3Rpdml0eURldGFpbHNcclxuICAgICAgfSk7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge31cclxuICB9XHJcblxyXG4gIG9uTmFtZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLkFjdGl2aXR5RGV0YWlscy5XaG9PYmplY3QgPSB0aGlzLldob09iamVjdExpc3QuZmluZCgob2JqKSA9PiBvYmoub2JqZWN0SWQgPT09IGV2ZW50KTtcclxuICAgICAgdGhpcy5FdmVudEVtaXR0ZXIuZW1pdCh7XHJcbiAgICAgICAgZXZlbnROYW1lOiAnQWN0aXZpdHlXaG9PYmplY3RDaGFuZ2VkJyxcclxuICAgICAgICBuZXdWYWx1ZTogdGhpcy5BY3Rpdml0eURldGFpbHNcclxuICAgICAgfSk7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge31cclxuICB9XHJcblxyXG4gIG9uUmVsYXRlZFRvQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMuQWN0aXZpdHlEZXRhaWxzLldoYXRPYmplY3QgPSB0aGlzLldoYXRPYmplY3RMaXN0LmZpbmQoKG9iaikgPT4gb2JqLm9iamVjdElkID09PSBldmVudCk7XHJcbiAgICAgIHRoaXMuRXZlbnRFbWl0dGVyLmVtaXQoe1xyXG4gICAgICAgIGV2ZW50TmFtZTogJ0FjdGl2aXR5V2hhdE9iamVjdENoYW5nZWQnLFxyXG4gICAgICAgIG5ld1ZhbHVlOiB0aGlzLkFjdGl2aXR5RGV0YWlsc1xyXG4gICAgICB9KTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxyXG4gIH1cclxuXHJcbiAgb25TdWJqZWN0Q2hhbmdlKCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5ldmVudExpc3QuYWRkKCdBY3Rpdml0eVN1YmplY3RDaGFuZ2VkJyk7XHJcbiAgICAgIHRoaXMuZGVib3VuY2VyLm5leHQoKTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxyXG4gIH1cclxuXHJcbiAgb25TdWJqZWN0S2V5VXAoKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLmV2ZW50TGlzdC5hZGQoJ0FjdGl2aXR5U3ViamVjdENoYW5nZWQnKTtcclxuICAgICAgdGhpcy5kZWJvdW5jZXIubmV4dCgpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHt9XHJcbiAgfVxyXG5cclxuICBvbkNhbGxOb3Rlc0NoYW5nZSgpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMuZXZlbnRMaXN0LmFkZCgnQWN0aXZpdHlDYWxsTm90ZUNoYW5nZWQnKTtcclxuICAgICAgdGhpcy5kZWJvdW5jZXIubmV4dCgpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHt9XHJcbiAgfVxyXG5cclxuICBvbkNhbGxOb3Rlc0tleVVwKCkge1xyXG4gICAgdHJ5e1xyXG4gICAgICB0aGlzLmV2ZW50TGlzdC5hZGQoJ0FjdGl2aXR5Q2FsbE5vdGVDaGFuZ2VkJyk7XHJcbiAgICAgIHRoaXMuZGVib3VuY2VyLm5leHQoKTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxyXG4gIH1cclxuXHJcbiAgYWRkUXVpY2tDb21tZW50VG9EZXNjcmlwdGlvbihjb21tZW50OiBzdHJpbmcpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGxldCBkZXNjcmlwdGlvblRvU2V0ID0gY29tbWVudDtcclxuICAgICAgaWYgKHRoaXMucXVpY2tDb21tZW50T3B0aW9uUmVxdWlyZWRDYWRBcnJheVtjb21tZW50XSkge1xyXG4gICAgICAgIGxldCBjYWRGaWVsZHMgPSB7fTtcclxuICAgICAgICBpZiAodGhpcy5BY3Rpdml0eURldGFpbHMpIHtcclxuICAgICAgICAgIGNhZEZpZWxkcyA9IHRoaXMuc2NlbmFyaW9Ub0NBRE1hcFt0aGlzLkFjdGl2aXR5RGV0YWlscy5TY2VuYXJpb0lkXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChcclxuICAgICAgICAgIGxldCBpID0gMDtcclxuICAgICAgICAgIGkgPCB0aGlzLnF1aWNrQ29tbWVudE9wdGlvblJlcXVpcmVkQ2FkQXJyYXlbY29tbWVudF0ubGVuZ3RoO1xyXG4gICAgICAgICAgaSsrXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBsZXQga2V5VG9DaGVja0lmQ0FERXhpc3RzID1cclxuICAgICAgICAgICAgdGhpcy5xdWlja0NvbW1lbnRPcHRpb25SZXF1aXJlZENhZEFycmF5W2NvbW1lbnRdW2ldO1xyXG4gICAgICAgICAgY29uc3Qgc3RyaW5nVG9CZVJlcGxhY2VkID1cclxuICAgICAgICAgICAgdGhpcy5xdWlja0NvbW1lbnRPcHRpb25SZXF1aXJlZENhZEFycmF5W2NvbW1lbnRdW2ldO1xyXG4gICAgICAgICAga2V5VG9DaGVja0lmQ0FERXhpc3RzID0ga2V5VG9DaGVja0lmQ0FERXhpc3RzLnJlcGxhY2UoJ3t7JywgJycpO1xyXG4gICAgICAgICAga2V5VG9DaGVja0lmQ0FERXhpc3RzID0ga2V5VG9DaGVja0lmQ0FERXhpc3RzLnJlcGxhY2UoJ319JywgJycpO1xyXG4gICAgICAgICAgaWYgKGNhZEZpZWxkc1trZXlUb0NoZWNrSWZDQURFeGlzdHNdKSB7XHJcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uVG9TZXQgPSBkZXNjcmlwdGlvblRvU2V0LnJlcGxhY2UoXHJcbiAgICAgICAgICAgICAgc3RyaW5nVG9CZVJlcGxhY2VkLFxyXG4gICAgICAgICAgICAgIGNhZEZpZWxkc1trZXlUb0NoZWNrSWZDQURFeGlzdHNdLlZhbHVlXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLkFjdGl2aXR5RGV0YWlscy5EZXNjcmlwdGlvbikge1xyXG4gICAgICAgIHRoaXMuQWN0aXZpdHlEZXRhaWxzLkRlc2NyaXB0aW9uICs9ICdcXG4nO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuQWN0aXZpdHlEZXRhaWxzLkRlc2NyaXB0aW9uICs9IGRlc2NyaXB0aW9uVG9TZXQ7XHJcbiAgICAgIHRoaXMuZXZlbnRMaXN0LmFkZCgnQWN0aXZpdHlDYWxsTm90ZUNoYW5nZWQnKTtcclxuICAgICAgdGhpcy5kZWJvdW5jZXIubmV4dCgpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHt9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcGFyc2VXaG9PYmplY3Qod2hvT2JqZWN0OiBJQWN0aXZpdHlEZXRhaWxzKTogc3RyaW5nIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHJldHVybiB3aG9PYmplY3QuZGlzcGxheU5hbWUgKyAnOiAnICsgd2hvT2JqZWN0Lm9iamVjdE5hbWU7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge31cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBwYXJzZVdoYXRPYmplY3Qod2hhdE9iamVjdDogSUFjdGl2aXR5RGV0YWlscyk6IHN0cmluZyB7XHJcbiAgICB0cnkge1xyXG4gICAgICByZXR1cm4gd2hhdE9iamVjdC5kaXNwbGF5TmFtZSArICc6ICcgKyB3aGF0T2JqZWN0Lm9iamVjdE5hbWU7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge31cclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cImlzQWN0aXZpdHlNYXhpbWl6ZWRcIiBjbGFzcz1cImNhbGxEaXNwbGF5XCI+XHJcbiAgPGRpdiBjbGFzcz1cImVkaXRvciBjYWxsSGVhZGVyXCI+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cImhlYWRlckxhYmVsXCI+XHJcbiAgICAgICAgICA8Yj5BY3Rpdml0eSBJbmZvcm1hdGlvbjwvYj5cclxuICAgICAgPC9sYWJlbD5cclxuICAgICAgPGltZyBjbGFzcz1cIlZpZXdSZXNpemVJbWFnZVwiIHNyYz1cIi9hc3NldHMvaW1hZ2VzL3NlY3Rpb25fY29sbGFwc2UucG5nXCIgKGNsaWNrKT1cImlzQWN0aXZpdHlNYXhpbWl6ZWQgPSBmYWxzZVwiXHJcbiAgICAgICAgICB0aXRsZT1cIkNvbGxhcHNlXCI+PGltZyAqbmdJZj1cImVuYWJsZURpc2NhcmRcIiBjbGFzcz1cIkRpc2NhcmRJbWFnZVwiIHNyYz1cImFzc2V0cy9pbWFnZXMvRGlzY2FyZC5wbmdcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInRyaWdnZXJEaXNjYXJkQWN0aXZpdHkoKVwiIHRpdGxlPVwiRGlzY2FyZFwiPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjYWxsQm9keVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHlGaWVsZHNcIj5cclxuICAgICAgICAgIDxmb3JtPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlZGl0b3IgZGlzcGxheURpdlwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJkaXNwbGF5TGFiZWxzXCIgdGl0bGU9XCJOYW1lXCI+TmFtZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJkcm9wRG93bkxpc3RTdHlsZSBkaXNwbGF5RGF0YVwiIFtuZ01vZGVsXT1cIkFjdGl2aXR5RGV0YWlscy5XaG9PYmplY3Qub2JqZWN0SWRcIiAobmdNb2RlbENoYW5nZSk9XCJvbk5hbWVDaGFuZ2UoJGV2ZW50KVwiIG5hbWU9XCJ3aG9JdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCB3aG9JdGVtIG9mIFdob09iamVjdExpc3RcIiBbbmdWYWx1ZV09XCJ3aG9JdGVtLm9iamVjdElkXCI+e3sgKHdob0l0ZW0uZGlzcGxheU5hbWUgJiYgd2hvSXRlbS5vYmplY3ROYW1lKSA/ICh3aG9JdGVtLmRpc3BsYXlOYW1lICsgJzogJyArXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2hvSXRlbS5vYmplY3ROYW1lKSA6IFwiXCJ9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSA8b3B0aW9uIHZhbHVlPVwiVXNlclNlbGVjdGVkRm9yRW1wdHlSZWNvcmRcIj48L29wdGlvbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlZGl0b3IgZGlzcGxheURpdlwiXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPScoQWN0aXZpdHlEZXRhaWxzLldob09iamVjdCAmJiBBY3Rpdml0eURldGFpbHMuV2hvT2JqZWN0Lm9iamVjdFR5cGUgIT09IFwiTGVhZFwiKSc+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImRpc3BsYXlMYWJlbHNcIiB0aXRsZT1cIlJlbGF0ZWQgVG9cIj5SZWxhdGVkIFRvPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImRyb3BEb3duTGlzdFN0eWxlIGRpc3BsYXlEYXRhXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25SZWxhdGVkVG9DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJBY3Rpdml0eURldGFpbHMuV2hhdE9iamVjdC5vYmplY3RJZFwiIG5hbWU9XCJ3aGF0SXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgd2hhdEl0ZW0gb2YgV2hhdE9iamVjdExpc3Q7XCIgW25nVmFsdWVdPVwid2hhdEl0ZW0ub2JqZWN0SWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAod2hhdEl0ZW0uZGlzcGxheU5hbWUgJiYgd2hhdEl0ZW0ub2JqZWN0TmFtZSkgPyAod2hhdEl0ZW0uZGlzcGxheU5hbWUgKyAnOiAnICsgd2hhdEl0ZW0ub2JqZWN0TmFtZSkgOiBcIlwiIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxvcHRpb24gdmFsdWU9XCJVc2VyU2VsZWN0ZWRGb3JFbXB0eVJlY29yZFwiPjwvb3B0aW9uPiAtLT5cclxuICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVkaXRvciBkaXNwbGF5RGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImRpc3BsYXlMYWJlbHNcIiB0aXRsZT1cIlN1YmplY3RcIj5TdWJqZWN0PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiYWN0aXZpdHlTdWJqZWN0VGV4dEJveFN0eWxlIGRpc3BsYXlEYXRhXCIgKGNoYW5nZSk9XCJvblN1YmplY3RDaGFuZ2UoKVwiIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJzdWJqZWN0XCIgKGtleXVwKT1cIm9uU3ViamVjdEtleVVwKClcIiBbKG5nTW9kZWwpXT1cIkFjdGl2aXR5RGV0YWlscy5TdWJqZWN0XCI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVkaXRvciBkaXNwbGF5RGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxsTm90ZXNTZWN0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsbE5vdGVzVGV4dEFyZWFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgWyhuZ01vZGVsKV09XCJBY3Rpdml0eURldGFpbHMuRGVzY3JpcHRpb25cIiBwbGFjZWhvbGRlcj1cIkNsaWNrIHRvIGFkZCBhIGNvbW1lbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFjdGl2aXR5Q29tbWVudHNUZXh0Qm94U3R5bGVcIiAoY2hhbmdlKT1cIm9uQ2FsbE5vdGVzQ2hhbmdlKClcIiBuYW1lPVwiZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5dXApPVwib25DYWxsTm90ZXNLZXlVcCgpXCIgY29scz1cIjIwXCIgcm93cz1cIjJcIiB0aXRsZT1cIlwiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub3Rlc0JvdHRvbkJvcmRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50c0J1dHRvbkRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicXVpY2tDb21tZW50c0RpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ0Zvcj1cImxldCBxdWlja0NvbW1lbnQgb2YgcXVpY2tDb21tZW50TGlzdDsgbGV0IGkgPSBpbmRleDtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicXVpY2tOb3Rlc0JvdHRvblwiIHR5cGU9XCJidXR0b25cIiB2YWx1ZT1cInt7aSsxfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGRRdWlja0NvbW1lbnRUb0Rlc2NyaXB0aW9uKHF1aWNrQ29tbWVudClcIiB0aXRsZT1cInt7cXVpY2tDb21tZW50fX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxsTm90ZXNCdXR0b25zU2VjdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwic3VibWl0QnV0dG9uXCIgdHlwZT1cImJ1dHRvblwiIHZhbHVlPVwiU2F2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN1Ym1pdEFjdGl2aXR5KClcIiBbZGlzYWJsZWRdPVwiIUFjdGl2aXR5RGV0YWlscy5Jc1VuU2F2ZWRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBUT3NETyBjaGVjayB0aGlzIElzcHJvY2Vzc2luZyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGlucHV0ICpuZ0lmPVwiIXN0b3JhZ2VTZXJ2aWNlLmdldEFjdGl2aXR5KCkuSXNQcm9jZXNzaW5nXCIgY2xhc3M9XCJzdWJtaXRCdXR0b25cIiB0eXBlPVwiYnV0dG9uXCIgdmFsdWU9XCJTYXZlXCIgKGNsaWNrKT1cInN1Ym1pdEFjdGl2aXR5KHN0b3JhZ2VTZXJ2aWNlLmdldEFjdGl2aXR5KCkuU2NlbmFyaW9JZClcIiBbZGlzYWJsZWRdPVwiIWlzQ2hhbmdlc1VuU2F2ZWQodGhpcy5zY2VuYXJpb0lkKVwiIC8+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cIkFjdGl2aXR5RGV0YWlscy5Jc1Byb2Nlc3NpbmdcIiBjbGFzcz1cImxvYWRpbmdJY29uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJhc3NldHMvaW1hZ2VzL2xvYWRpbmcuZ2lmXCIgdGl0bGU9XCJVcGRhdGluZyBBY3Rpdml0eVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9mb3JtPlxyXG4gICAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCIhaXNBY3Rpdml0eU1heGltaXplZFwiIGNsYXNzPVwiY2FsbERpc3BsYXlcIj5cclxuICA8ZGl2IGNsYXNzPVwiZWRpdG9yIGNhbGxIZWFkZXJcIj5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwiaGVhZGVyTGFiZWxcIj5cclxuICAgICAgICAgIDxiPkFjdGl2aXR5IEluZm9ybWF0aW9uPC9iPlxyXG4gICAgICA8L2xhYmVsPlxyXG4gICAgICA8aW1nIGNsYXNzPVwiVmlld1Jlc2l6ZUltYWdlXCIgc3JjPVwiYXNzZXRzL2ltYWdlcy9zZWN0aW9uX2V4cGFuZC5wbmdcIiAoY2xpY2spPVwiaXNBY3Rpdml0eU1heGltaXplZCA9IHRydWVcIlxyXG4gICAgICAgICAgdGl0bGU9XCJFeHBhbmRcIj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,47 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/forms";
5
+ export class DispositionComponent {
6
+ disposition;
7
+ dispositionEmitter = new EventEmitter();
8
+ selectedDispositionValue = '';
9
+ dispositionName = '';
10
+ constructor() { }
11
+ ngOnInit() {
12
+ for (const metadata of this.disposition.dispositionMetadata) {
13
+ if (metadata.key === 'callId') {
14
+ this.dispositionName = `disposition_${metadata.value}`;
15
+ break;
16
+ }
17
+ }
18
+ if (this.disposition.checkedDisposition) {
19
+ this.selectedDispositionValue = this.disposition.checkedDisposition;
20
+ }
21
+ }
22
+ submitDisposition() {
23
+ const selectedDisposition = {
24
+ dispositionId: this.selectedDispositionValue,
25
+ dispositionName: this.disposition.disposition.get(this.selectedDispositionValue),
26
+ dispositionMetadata: this.disposition.dispositionMetadata
27
+ };
28
+ this.dispositionEmitter.emit(selectedDisposition);
29
+ }
30
+ selectAndSubmitDisposition(event, dispositionKey) {
31
+ if (event.code === 'Enter') {
32
+ this.selectedDispositionValue = dispositionKey;
33
+ this.submitDisposition();
34
+ }
35
+ }
36
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: DispositionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: DispositionComponent, selector: "amc-disposition", inputs: { disposition: "disposition" }, outputs: { dispositionEmitter: "dispositionEmitter" }, ngImport: i0, template: "<div class=\"disposition-container\">\r\n <div class=\"header-container\">\r\n <label class=\"disposition-header\" attr.aria-label=\"set disposition\">{{disposition.dispositionHeader}}</label>\r\n </div>\r\n\r\n <div class=\"dispositions-container\">\r\n <div class=\"disposition\" *ngFor=\"let disp of disposition.disposition | keyvalue; let i = index\">\r\n <label\r\n class=\"disposition-label\"\r\n tabindex=\"0\"\r\n [id]=\"disp.key\"\r\n [ngClass]=\"{'disposition-label-selected' : selectedDispositionValue === disp.key, 'first-disposition': i === 0}\"\r\n (keypress)=\"selectAndSubmitDisposition($event, disp.key)\">\r\n\r\n <input\r\n class=\"disposition-input\"\r\n type=\"radio\"\r\n value=\"{{disp.key}}\"\r\n tabindex=\"-1\"\r\n attr.aria-label=\"{{disp.value}}\"\r\n [required]=\"!selectedDispositionValue\"\r\n [name]=\"dispositionName\"\r\n (change)=\"submitDisposition()\"\r\n [(ngModel)]=\"selectedDispositionValue\">\r\n\r\n {{disp.value}}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".disposition-container{border:1px solid #939598;white-space:nowrap;font-family:Arial;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;text-overflow:ellipsis;position:relative;font-size:.9em;max-height:180px;overflow-x:hidden;overflow-y:hidden}.header-container{border-bottom:1px solid #939598;background-color:#f4f5fb;width:100%;white-space:nowrap;height:28px;position:sticky;overflow-x:hidden;overflow-y:hidden}.disposition-header{margin-top:auto;margin-left:7px;padding:5px;white-space:nowrap;text-overflow:ellipsis;font-weight:700;font-size:.9em;font-family:Arial;overflow-x:hidden}.disposition{margin-left:5px;padding-left:5px;white-space:nowrap}.disposition-label{text-overflow:ellipsis;font-weight:400;white-space:nowrap;font-size:.9em;overflow-x:hidden}.disposition-label-selected{text-overflow:ellipsis;font-weight:700;white-space:nowrap;font-size:.9em}.dispositions-container{overflow-y:scroll;max-height:150px;padding:3px}.disposition-label:focus{outline:2px solid rgb(50,150,218);outline-offset:5px}.first-disposition{margin-top:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.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: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i1.KeyValuePipe, name: "keyvalue" }] });
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: DispositionComponent, decorators: [{
40
+ type: Component,
41
+ args: [{ selector: 'amc-disposition', template: "<div class=\"disposition-container\">\r\n <div class=\"header-container\">\r\n <label class=\"disposition-header\" attr.aria-label=\"set disposition\">{{disposition.dispositionHeader}}</label>\r\n </div>\r\n\r\n <div class=\"dispositions-container\">\r\n <div class=\"disposition\" *ngFor=\"let disp of disposition.disposition | keyvalue; let i = index\">\r\n <label\r\n class=\"disposition-label\"\r\n tabindex=\"0\"\r\n [id]=\"disp.key\"\r\n [ngClass]=\"{'disposition-label-selected' : selectedDispositionValue === disp.key, 'first-disposition': i === 0}\"\r\n (keypress)=\"selectAndSubmitDisposition($event, disp.key)\">\r\n\r\n <input\r\n class=\"disposition-input\"\r\n type=\"radio\"\r\n value=\"{{disp.key}}\"\r\n tabindex=\"-1\"\r\n attr.aria-label=\"{{disp.value}}\"\r\n [required]=\"!selectedDispositionValue\"\r\n [name]=\"dispositionName\"\r\n (change)=\"submitDisposition()\"\r\n [(ngModel)]=\"selectedDispositionValue\">\r\n\r\n {{disp.value}}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".disposition-container{border:1px solid #939598;white-space:nowrap;font-family:Arial;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;text-overflow:ellipsis;position:relative;font-size:.9em;max-height:180px;overflow-x:hidden;overflow-y:hidden}.header-container{border-bottom:1px solid #939598;background-color:#f4f5fb;width:100%;white-space:nowrap;height:28px;position:sticky;overflow-x:hidden;overflow-y:hidden}.disposition-header{margin-top:auto;margin-left:7px;padding:5px;white-space:nowrap;text-overflow:ellipsis;font-weight:700;font-size:.9em;font-family:Arial;overflow-x:hidden}.disposition{margin-left:5px;padding-left:5px;white-space:nowrap}.disposition-label{text-overflow:ellipsis;font-weight:400;white-space:nowrap;font-size:.9em;overflow-x:hidden}.disposition-label-selected{text-overflow:ellipsis;font-weight:700;white-space:nowrap;font-size:.9em}.dispositions-container{overflow-y:scroll;max-height:150px;padding:3px}.disposition-label:focus{outline:2px solid rgb(50,150,218);outline-offset:5px}.first-disposition{margin-top:5px}\n"] }]
42
+ }], ctorParameters: function () { return []; }, propDecorators: { disposition: [{
43
+ type: Input
44
+ }], dispositionEmitter: [{
45
+ type: Output
46
+ }] } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcG9zaXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvVUlMaWJyYXJ5L3NyYy9hcHAvY29tcG9uZW50cy9kaXNwb3NpdGlvbi9kaXNwb3NpdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL2Rpc3Bvc2l0aW9uL2Rpc3Bvc2l0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPL0UsTUFBTSxPQUFPLG9CQUFvQjtJQUN0QixXQUFXLENBQWU7SUFFekIsa0JBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7SUFFdEUsd0JBQXdCLEdBQVcsRUFBRSxDQUFDO0lBQ3RDLGVBQWUsR0FBVyxFQUFFLENBQUM7SUFFN0IsZ0JBQWdCLENBQUM7SUFFakIsUUFBUTtRQUNOLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRTtZQUMzRCxJQUFJLFFBQVEsQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFO2dCQUM3QixJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUV2RCxNQUFNO2FBQ1A7U0FDRjtRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRTtZQUN2QyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQztTQUNyRTtJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZixNQUFNLG1CQUFtQixHQUF1QjtZQUM5QyxhQUFhLEVBQUUsSUFBSSxDQUFDLHdCQUF3QjtZQUM1QyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztZQUNoRixtQkFBbUIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQjtTQUMxRCxDQUFDO1FBRUYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxLQUFvQixFQUFFLGNBQXNCO1FBQ3JFLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDMUIsSUFBSSxDQUFDLHdCQUF3QixHQUFHLGNBQWMsQ0FBQztZQUMvQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7dUdBdkNVLG9CQUFvQjsyRkFBcEIsb0JBQW9CLHNKQ1JqQyxxcUNBOEJBOzsyRkR0QmEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQjswRUFLbEIsV0FBVztzQkFBbkIsS0FBSztnQkFFSSxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRGlzcG9zaXRpb24sIElEaXNwb3NpdGlvblJlc3VsdCB9IGZyb20gJy4vLi4vLi4vbW9kZWxzL2Rpc3Bvc2l0aW9uLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW1jLWRpc3Bvc2l0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGlzcG9zaXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Rpc3Bvc2l0aW9uLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlzcG9zaXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGRpc3Bvc2l0aW9uOiBJRGlzcG9zaXRpb247XHJcblxyXG4gIEBPdXRwdXQoKSBkaXNwb3NpdGlvbkVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPElEaXNwb3NpdGlvblJlc3VsdD4oKTtcclxuXHJcbiAgc2VsZWN0ZWREaXNwb3NpdGlvblZhbHVlOiBzdHJpbmcgPSAnJztcclxuICBkaXNwb3NpdGlvbk5hbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGZvciAoY29uc3QgbWV0YWRhdGEgb2YgdGhpcy5kaXNwb3NpdGlvbi5kaXNwb3NpdGlvbk1ldGFkYXRhKSB7XHJcbiAgICAgIGlmIChtZXRhZGF0YS5rZXkgPT09ICdjYWxsSWQnKSB7XHJcbiAgICAgICAgdGhpcy5kaXNwb3NpdGlvbk5hbWUgPSBgZGlzcG9zaXRpb25fJHttZXRhZGF0YS52YWx1ZX1gO1xyXG5cclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmRpc3Bvc2l0aW9uLmNoZWNrZWREaXNwb3NpdGlvbikge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRGlzcG9zaXRpb25WYWx1ZSA9IHRoaXMuZGlzcG9zaXRpb24uY2hlY2tlZERpc3Bvc2l0aW9uO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3VibWl0RGlzcG9zaXRpb24oKSB7XHJcbiAgICBjb25zdCBzZWxlY3RlZERpc3Bvc2l0aW9uOiBJRGlzcG9zaXRpb25SZXN1bHQgPSB7XHJcbiAgICAgIGRpc3Bvc2l0aW9uSWQ6IHRoaXMuc2VsZWN0ZWREaXNwb3NpdGlvblZhbHVlLFxyXG4gICAgICBkaXNwb3NpdGlvbk5hbWU6IHRoaXMuZGlzcG9zaXRpb24uZGlzcG9zaXRpb24uZ2V0KHRoaXMuc2VsZWN0ZWREaXNwb3NpdGlvblZhbHVlKSxcclxuICAgICAgZGlzcG9zaXRpb25NZXRhZGF0YTogdGhpcy5kaXNwb3NpdGlvbi5kaXNwb3NpdGlvbk1ldGFkYXRhXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuZGlzcG9zaXRpb25FbWl0dGVyLmVtaXQoc2VsZWN0ZWREaXNwb3NpdGlvbik7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBbmRTdWJtaXREaXNwb3NpdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCwgZGlzcG9zaXRpb25LZXk6IHN0cmluZykge1xyXG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdFbnRlcicpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZERpc3Bvc2l0aW9uVmFsdWUgPSBkaXNwb3NpdGlvbktleTtcclxuICAgICAgdGhpcy5zdWJtaXREaXNwb3NpdGlvbigpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZGlzcG9zaXRpb24tY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImhlYWRlci1jb250YWluZXJcIj5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwiZGlzcG9zaXRpb24taGVhZGVyXCIgYXR0ci5hcmlhLWxhYmVsPVwic2V0IGRpc3Bvc2l0aW9uXCI+e3tkaXNwb3NpdGlvbi5kaXNwb3NpdGlvbkhlYWRlcn19PC9sYWJlbD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImRpc3Bvc2l0aW9ucy1jb250YWluZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImRpc3Bvc2l0aW9uXCIgKm5nRm9yPVwibGV0IGRpc3Agb2YgZGlzcG9zaXRpb24uZGlzcG9zaXRpb24gfCBrZXl2YWx1ZTsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgIDxsYWJlbFxyXG4gICAgICAgICBjbGFzcz1cImRpc3Bvc2l0aW9uLWxhYmVsXCJcclxuICAgICAgICAgdGFiaW5kZXg9XCIwXCJcclxuICAgICAgICAgW2lkXT1cImRpc3Aua2V5XCJcclxuICAgICAgICAgW25nQ2xhc3NdPVwieydkaXNwb3NpdGlvbi1sYWJlbC1zZWxlY3RlZCcgOiBzZWxlY3RlZERpc3Bvc2l0aW9uVmFsdWUgPT09IGRpc3Aua2V5LCAnZmlyc3QtZGlzcG9zaXRpb24nOiBpID09PSAwfVwiXHJcbiAgICAgICAgIChrZXlwcmVzcyk9XCJzZWxlY3RBbmRTdWJtaXREaXNwb3NpdGlvbigkZXZlbnQsIGRpc3Aua2V5KVwiPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgIGNsYXNzPVwiZGlzcG9zaXRpb24taW5wdXRcIlxyXG4gICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXHJcbiAgICAgICAgICAgdmFsdWU9XCJ7e2Rpc3Aua2V5fX1cIlxyXG4gICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxyXG4gICAgICAgICAgIGF0dHIuYXJpYS1sYWJlbD1cInt7ZGlzcC52YWx1ZX19XCJcclxuICAgICAgICAgICBbcmVxdWlyZWRdPVwiIXNlbGVjdGVkRGlzcG9zaXRpb25WYWx1ZVwiXHJcbiAgICAgICAgICAgW25hbWVdPVwiZGlzcG9zaXRpb25OYW1lXCJcclxuICAgICAgICAgICAoY2hhbmdlKT1cInN1Ym1pdERpc3Bvc2l0aW9uKClcIlxyXG4gICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWREaXNwb3NpdGlvblZhbHVlXCI+XHJcblxyXG4gICAgICAgICAge3tkaXNwLnZhbHVlfX1cclxuICAgICAgICA8L2xhYmVsPlxyXG4gICAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,58 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DurationComponent {
4
+ statusText;
5
+ callId;
6
+ startTime;
7
+ displayTime;
8
+ labelledByText = '';
9
+ _timerId;
10
+ constructor() {
11
+ this.displayTime = '00:00/00:00';
12
+ }
13
+ ngOnInit() {
14
+ if (this.statusText && this.callId) {
15
+ this.labelledByText = `${this.statusText} ${this.callId}`;
16
+ }
17
+ else if (this.statusText) {
18
+ this.labelledByText = this.statusText;
19
+ }
20
+ else if (this.callId) {
21
+ this.labelledByText = this.callId;
22
+ }
23
+ this.startCallCounter();
24
+ }
25
+ /**
26
+ * @ignore
27
+ */
28
+ startCallCounter() {
29
+ if (this._timerId == null) {
30
+ this._timerId = window.setInterval(() => {
31
+ const callStartTime = this.startTime;
32
+ const currentTime = new Date().getTime() / 1000;
33
+ const secondsPassed = Math.floor((currentTime) - (callStartTime / 1000));
34
+ this.displayTime = Math.floor(secondsPassed / 60) + ':' + ('0' + (secondsPassed % 60)).slice(-2);
35
+ }, 1000);
36
+ }
37
+ }
38
+ ngOnDestroy() {
39
+ // clear the timer.
40
+ if (this._timerId != null) {
41
+ clearInterval(this._timerId);
42
+ this._timerId = null;
43
+ }
44
+ }
45
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: DurationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
46
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: DurationComponent, selector: "amc-duration", inputs: { statusText: "statusText", callId: "callId", startTime: "startTime" }, ngImport: i0, template: "<div class=\"holdCallDurationDiv\">\r\n <input\r\n readonly\r\n class=\"block durationInput\"\r\n name=\"CallDuration\"\r\n type=\"text\"\r\n tabindex=\"-1\"\r\n title=\"Call Duration\"\r\n [value]=\"displayTime\"\r\n [attr.aria-labelledby]=\"labelledByText || null\">\r\n</div>\r\n", styles: [".durationInput:focus{outline-style:none}\n"] });
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: DurationComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'amc-duration', template: "<div class=\"holdCallDurationDiv\">\r\n <input\r\n readonly\r\n class=\"block durationInput\"\r\n name=\"CallDuration\"\r\n type=\"text\"\r\n tabindex=\"-1\"\r\n title=\"Call Duration\"\r\n [value]=\"displayTime\"\r\n [attr.aria-labelledby]=\"labelledByText || null\">\r\n</div>\r\n", styles: [".durationInput:focus{outline-style:none}\n"] }]
51
+ }], ctorParameters: function () { return []; }, propDecorators: { statusText: [{
52
+ type: Input
53
+ }], callId: [{
54
+ type: Input
55
+ }], startTime: [{
56
+ type: Input
57
+ }] } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvVUlMaWJyYXJ5L3NyYy9hcHAvY29tcG9uZW50cy9kdXJhdGlvbi9kdXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL2R1cmF0aW9uL2R1cmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7QUFPcEUsTUFBTSxPQUFPLGlCQUFpQjtJQUNuQixVQUFVLENBQVM7SUFDbkIsTUFBTSxDQUFTO0lBQ2YsU0FBUyxDQUFTO0lBRTNCLFdBQVcsQ0FBUztJQUNwQixjQUFjLEdBQUcsRUFBRSxDQUFDO0lBRVosUUFBUSxDQUFVO0lBRTFCO1FBQ0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUM7SUFDbkMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDM0Q7YUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQ3ZDO2FBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQTtTQUNsQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7S0FFQztJQUNPLGdCQUFnQjtRQUN0QixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3RDLE1BQU0sYUFBYSxHQUFXLElBQUksQ0FBQyxTQUFTLENBQUM7Z0JBQzdDLE1BQU0sV0FBVyxHQUFXLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO2dCQUN4RCxNQUFNLGFBQWEsR0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDakYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDVjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsbUJBQW1CO1FBQ25CLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUU7WUFDekIsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN0QjtJQUNILENBQUM7dUdBOUNVLGlCQUFpQjsyRkFBakIsaUJBQWlCLG9JQ1A5Qiw2U0FXQTs7MkZESmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGNBQWM7MEVBS2YsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FtYy1kdXJhdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R1cmF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kdXJhdGlvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEdXJhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBzdGF0dXNUZXh0OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2FsbElkOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc3RhcnRUaW1lOiBudW1iZXI7XHJcblxyXG4gIGRpc3BsYXlUaW1lOiBzdHJpbmc7XHJcbiAgbGFiZWxsZWRCeVRleHQgPSAnJztcclxuXHJcbiAgcHJpdmF0ZSBfdGltZXJJZD86IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmRpc3BsYXlUaW1lID0gJzAwOjAwLzAwOjAwJztcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuc3RhdHVzVGV4dCAmJiB0aGlzLmNhbGxJZCkge1xyXG4gICAgICB0aGlzLmxhYmVsbGVkQnlUZXh0ID0gYCR7dGhpcy5zdGF0dXNUZXh0fSAke3RoaXMuY2FsbElkfWA7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuc3RhdHVzVGV4dCkge1xyXG4gICAgICB0aGlzLmxhYmVsbGVkQnlUZXh0ID0gdGhpcy5zdGF0dXNUZXh0O1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNhbGxJZCkge1xyXG4gICAgICB0aGlzLmxhYmVsbGVkQnlUZXh0ID0gdGhpcy5jYWxsSWRcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN0YXJ0Q2FsbENvdW50ZXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG4gIHByaXZhdGUgc3RhcnRDYWxsQ291bnRlcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl90aW1lcklkID09IG51bGwpIHtcclxuICAgICAgdGhpcy5fdGltZXJJZCA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2FsbFN0YXJ0VGltZTogbnVtYmVyID0gdGhpcy5zdGFydFRpbWU7XHJcbiAgICAgICAgY29uc3QgY3VycmVudFRpbWU6IG51bWJlciA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMDtcclxuICAgICAgICBjb25zdCBzZWNvbmRzUGFzc2VkOiBudW1iZXIgPSBNYXRoLmZsb29yKChjdXJyZW50VGltZSkgLSAoY2FsbFN0YXJ0VGltZSAvIDEwMDApKTtcclxuICAgICAgICB0aGlzLmRpc3BsYXlUaW1lID0gTWF0aC5mbG9vcihzZWNvbmRzUGFzc2VkIC8gNjApICsgJzonICsgKCcwJyArIChzZWNvbmRzUGFzc2VkICUgNjApKS5zbGljZSgtMik7XHJcbiAgICAgIH0sIDEwMDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAvLyBjbGVhciB0aGUgdGltZXIuXHJcbiAgICBpZiAodGhpcy5fdGltZXJJZCAhPSBudWxsKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5fdGltZXJJZCk7XHJcbiAgICAgIHRoaXMuX3RpbWVySWQgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImhvbGRDYWxsRHVyYXRpb25EaXZcIj5cclxuICA8aW5wdXRcclxuICAgcmVhZG9ubHlcclxuICAgY2xhc3M9XCJibG9jayBkdXJhdGlvbklucHV0XCJcclxuICAgbmFtZT1cIkNhbGxEdXJhdGlvblwiXHJcbiAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgdGFiaW5kZXg9XCItMVwiXHJcbiAgIHRpdGxlPVwiQ2FsbCBEdXJhdGlvblwiXHJcbiAgIFt2YWx1ZV09XCJkaXNwbGF5VGltZVwiXHJcbiAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJsYWJlbGxlZEJ5VGV4dCB8fCBudWxsXCI+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,72 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { secondsToHms } from '../../Helpers';
3
+ import * as i0 from "@angular/core";
4
+ export class HoldtimerComponent {
5
+ holdCounterData;
6
+ statusText;
7
+ callId;
8
+ displayTime;
9
+ labelledByText = '';
10
+ _timerId;
11
+ constructor() {
12
+ this.displayTime = '00:00/00:00';
13
+ }
14
+ ngOnInit() {
15
+ if (this.statusText && this.callId) {
16
+ this.labelledByText = `${this.statusText} ${this.callId}`;
17
+ }
18
+ else if (this.statusText) {
19
+ this.labelledByText = this.statusText;
20
+ }
21
+ else if (this.callId) {
22
+ this.labelledByText = this.callId;
23
+ }
24
+ this.startCallCounter();
25
+ }
26
+ /**
27
+ * @ignore
28
+ */
29
+ startCallCounter() {
30
+ const pastTimeInSeconds = this.CaculatePastHoldDuration();
31
+ if (this._timerId == null) {
32
+ this._timerId = window.setInterval(() => {
33
+ const currentTime = new Date().getTime() / 1000;
34
+ const secondsPassedCurrentCall = Math.floor((currentTime) - (this.holdCounterData.currentHoldStartTime / 1000));
35
+ this.displayTime = secondsToHms(secondsPassedCurrentCall) +
36
+ '/' + secondsToHms(pastTimeInSeconds + secondsPassedCurrentCall);
37
+ }, 1000);
38
+ }
39
+ }
40
+ CaculatePastHoldDuration() {
41
+ let pastTimeInSeconds = 0;
42
+ if (this.holdCounterData.pastCallDurations) {
43
+ this.holdCounterData.pastCallDurations.forEach((holdTimerIterator) => {
44
+ pastTimeInSeconds += (holdTimerIterator.endTime - holdTimerIterator.startTime) / 1000;
45
+ });
46
+ }
47
+ return pastTimeInSeconds;
48
+ }
49
+ /**
50
+ * @ignore
51
+ */
52
+ ngOnDestroy() {
53
+ // clear the timer.
54
+ if (this._timerId != null) {
55
+ clearInterval(this._timerId);
56
+ this._timerId = null;
57
+ }
58
+ }
59
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: HoldtimerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
60
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: HoldtimerComponent, selector: "amc-holdtimer", inputs: { holdCounterData: "holdCounterData", statusText: "statusText", callId: "callId" }, ngImport: i0, template: "<div class=\"holdCallDurationDiv\">\r\n <input\r\n readonly\r\n class=\"holdCallDurationTimer\"\r\n name=\"HoldCallDuration/TotalHoldCallDuration\"\r\n type=\"text\"\r\n tabindex=\"-1\"\r\n title=\"Hold Duration\"\r\n [attr.aria-labelledby]=\"labelledByText || null\"\r\n [value]=\"displayTime\">\r\n</div>\r\n", styles: [".holdCallDurationTimer:focus{outline-style:none}\n"] });
61
+ }
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: HoldtimerComponent, decorators: [{
63
+ type: Component,
64
+ args: [{ selector: 'amc-holdtimer', template: "<div class=\"holdCallDurationDiv\">\r\n <input\r\n readonly\r\n class=\"holdCallDurationTimer\"\r\n name=\"HoldCallDuration/TotalHoldCallDuration\"\r\n type=\"text\"\r\n tabindex=\"-1\"\r\n title=\"Hold Duration\"\r\n [attr.aria-labelledby]=\"labelledByText || null\"\r\n [value]=\"displayTime\">\r\n</div>\r\n", styles: [".holdCallDurationTimer:focus{outline-style:none}\n"] }]
65
+ }], ctorParameters: function () { return []; }, propDecorators: { holdCounterData: [{
66
+ type: Input
67
+ }], statusText: [{
68
+ type: Input
69
+ }], callId: [{
70
+ type: Input
71
+ }] } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZHRpbWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL1VJTGlicmFyeS9zcmMvYXBwL2NvbXBvbmVudHMvaG9sZHRpbWVyL2hvbGR0aW1lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL2hvbGR0aW1lci9ob2xkdGltZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNN0MsTUFBTSxPQUFPLGtCQUFrQjtJQUNwQixlQUFlLENBQW1CO0lBQ2xDLFVBQVUsQ0FBUztJQUNuQixNQUFNLENBQVM7SUFFeEIsV0FBVyxDQUFTO0lBQ3BCLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFFWixRQUFRLENBQVU7SUFDMUI7UUFDRSxJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQztJQUNuQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUMzRDthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDdkM7YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1NBQ2xDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNEOztPQUVHO0lBQ0ssZ0JBQWdCO1FBQ3RCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDMUQsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRTtZQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFO2dCQUN0QyxNQUFNLFdBQVcsR0FBVyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztnQkFDeEQsTUFBTSx3QkFBd0IsR0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ3hILElBQUksQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDLHdCQUF3QixDQUFDO29CQUN2RCxHQUFHLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixHQUFHLHdCQUF3QixDQUFDLENBQUM7WUFDckUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ1Y7SUFDSCxDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLElBQUksaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQyxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLGlCQUFnQyxFQUFFLEVBQUU7Z0JBQ2xGLGlCQUFpQixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxHQUFHLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUN4RixDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxpQkFBaUIsQ0FBQztJQUUzQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXO1FBQ1QsbUJBQW1CO1FBQ25CLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUU7WUFDekIsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN0QjtJQUNILENBQUM7dUdBM0RVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLGlKQ1IvQix5VUFXQTs7MkZESGEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGVBQWU7MEVBS2hCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJSG9sZENvdW50ZXJEYXRhLCBJQ2FsbER1cmF0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VpbGlicmFyeS5tb2RlbCc7XHJcbmltcG9ydCB7IHNlY29uZHNUb0htcyB9IGZyb20gJy4uLy4uL0hlbHBlcnMnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FtYy1ob2xkdGltZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ob2xkdGltZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hvbGR0aW1lci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIb2xkdGltZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgaG9sZENvdW50ZXJEYXRhOiBJSG9sZENvdW50ZXJEYXRhO1xyXG4gIEBJbnB1dCgpIHN0YXR1c1RleHQ6IHN0cmluZztcclxuICBASW5wdXQoKSBjYWxsSWQ6IHN0cmluZztcclxuXHJcbiAgZGlzcGxheVRpbWU6IHN0cmluZztcclxuICBsYWJlbGxlZEJ5VGV4dCA9ICcnO1xyXG5cclxuICBwcml2YXRlIF90aW1lcklkPzogbnVtYmVyO1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5kaXNwbGF5VGltZSA9ICcwMDowMC8wMDowMCc7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnN0YXR1c1RleHQgJiYgdGhpcy5jYWxsSWQpIHtcclxuICAgICAgdGhpcy5sYWJlbGxlZEJ5VGV4dCA9IGAke3RoaXMuc3RhdHVzVGV4dH0gJHt0aGlzLmNhbGxJZH1gO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnN0YXR1c1RleHQpIHtcclxuICAgICAgdGhpcy5sYWJlbGxlZEJ5VGV4dCA9IHRoaXMuc3RhdHVzVGV4dDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jYWxsSWQpIHtcclxuICAgICAgdGhpcy5sYWJlbGxlZEJ5VGV4dCA9IHRoaXMuY2FsbElkXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdGFydENhbGxDb3VudGVyKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBwcml2YXRlIHN0YXJ0Q2FsbENvdW50ZXIoKTogdm9pZCB7XHJcbiAgICBjb25zdCBwYXN0VGltZUluU2Vjb25kcyA9IHRoaXMuQ2FjdWxhdGVQYXN0SG9sZER1cmF0aW9uKCk7XHJcbiAgICBpZiAodGhpcy5fdGltZXJJZCA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuX3RpbWVySWQgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRUaW1lOiBudW1iZXIgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7XHJcbiAgICAgICAgY29uc3Qgc2Vjb25kc1Bhc3NlZEN1cnJlbnRDYWxsOiBudW1iZXIgPSBNYXRoLmZsb29yKChjdXJyZW50VGltZSkgLSAodGhpcy5ob2xkQ291bnRlckRhdGEuY3VycmVudEhvbGRTdGFydFRpbWUgLyAxMDAwKSk7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5VGltZSA9IHNlY29uZHNUb0htcyhzZWNvbmRzUGFzc2VkQ3VycmVudENhbGwpICtcclxuICAgICAgICAgICcvJyArIHNlY29uZHNUb0htcyhwYXN0VGltZUluU2Vjb25kcyArIHNlY29uZHNQYXNzZWRDdXJyZW50Q2FsbCk7XHJcbiAgICAgIH0sIDEwMDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBDYWN1bGF0ZVBhc3RIb2xkRHVyYXRpb24oKTogbnVtYmVyIHtcclxuICAgIGxldCBwYXN0VGltZUluU2Vjb25kcyA9IDA7XHJcbiAgICBpZiAodGhpcy5ob2xkQ291bnRlckRhdGEucGFzdENhbGxEdXJhdGlvbnMpIHtcclxuICAgICAgdGhpcy5ob2xkQ291bnRlckRhdGEucGFzdENhbGxEdXJhdGlvbnMuZm9yRWFjaCgoaG9sZFRpbWVySXRlcmF0b3I6IElDYWxsRHVyYXRpb24pID0+IHtcclxuICAgICAgICBwYXN0VGltZUluU2Vjb25kcyArPSAoaG9sZFRpbWVySXRlcmF0b3IuZW5kVGltZSAtIGhvbGRUaW1lckl0ZXJhdG9yLnN0YXJ0VGltZSkgLyAxMDAwO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBwYXN0VGltZUluU2Vjb25kcztcclxuXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAvLyBjbGVhciB0aGUgdGltZXIuXHJcbiAgICBpZiAodGhpcy5fdGltZXJJZCAhPSBudWxsKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5fdGltZXJJZCk7XHJcbiAgICAgIHRoaXMuX3RpbWVySWQgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImhvbGRDYWxsRHVyYXRpb25EaXZcIj5cclxuICA8aW5wdXRcclxuICAgcmVhZG9ubHlcclxuICAgY2xhc3M9XCJob2xkQ2FsbER1cmF0aW9uVGltZXJcIlxyXG4gICBuYW1lPVwiSG9sZENhbGxEdXJhdGlvbi9Ub3RhbEhvbGRDYWxsRHVyYXRpb25cIlxyXG4gICB0eXBlPVwidGV4dFwiXHJcbiAgIHRhYmluZGV4PVwiLTFcIlxyXG4gICB0aXRsZT1cIkhvbGQgRHVyYXRpb25cIlxyXG4gICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwibGFiZWxsZWRCeVRleHQgfHwgbnVsbFwiXHJcbiAgIFt2YWx1ZV09XCJkaXNwbGF5VGltZVwiPlxyXG48L2Rpdj5cclxuIl19