@amc-technology/ui-library 1.0.99 → 1.0.101

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 (127) hide show
  1. package/esm2022/amc-technology-ui-library.mjs +5 -0
  2. package/esm2022/projects/UILibrary/src/app/Helpers.mjs +11 -0
  3. package/esm2022/projects/UILibrary/src/app/components/activity/activity.component.mjs +79 -0
  4. package/esm2022/projects/UILibrary/src/app/components/chat-box/chat-box.component.mjs +137 -0
  5. package/esm2022/projects/UILibrary/src/app/components/chat-message/chat-message.component.mjs +40 -0
  6. package/esm2022/projects/UILibrary/src/app/components/create/create.component.mjs +34 -0
  7. package/esm2022/projects/UILibrary/src/app/components/current-activity/current-activity.component.mjs +170 -0
  8. package/esm2022/projects/UILibrary/src/app/components/disposition/disposition.component.mjs +47 -0
  9. package/esm2022/projects/UILibrary/src/app/components/duration/duration.component.mjs +58 -0
  10. package/esm2022/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.mjs +72 -0
  11. package/esm2022/projects/UILibrary/src/app/components/interaction/interaction.component.mjs +98 -0
  12. package/esm2022/projects/UILibrary/src/app/components/login/login.component.mjs +41 -0
  13. package/esm2022/projects/UILibrary/src/app/components/operation/operation.component.mjs +56 -0
  14. package/esm2022/projects/UILibrary/src/app/components/property/property.component.mjs +106 -0
  15. package/esm2022/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.mjs +144 -0
  16. package/esm2022/projects/UILibrary/src/app/components/scenario/scenario.component.mjs +38 -0
  17. package/esm2022/projects/UILibrary/src/app/components/search-information/search-information.component.mjs +160 -0
  18. package/esm2022/projects/UILibrary/src/app/models/IActivity.mjs +2 -0
  19. package/esm2022/projects/UILibrary/src/app/models/IActivityDetails.mjs +2 -0
  20. package/esm2022/projects/UILibrary/src/app/models/IHoldActivityDetails.mjs +2 -0
  21. package/esm2022/projects/UILibrary/src/app/models/IInteractionActivityDetails.mjs +2 -0
  22. package/esm2022/projects/UILibrary/src/app/models/chat.message.mjs +7 -0
  23. package/esm2022/projects/UILibrary/src/app/models/chat.settings.mjs +2 -0
  24. package/esm2022/projects/UILibrary/src/app/models/disposition.interface.mjs +2 -0
  25. package/esm2022/projects/UILibrary/src/app/models/login.interface.mjs +2 -0
  26. package/esm2022/projects/UILibrary/src/app/models/uilibrary.model.mjs +61 -0
  27. package/esm2022/projects/UILibrary/src/app/uilibrary.module.mjs +106 -0
  28. package/esm2022/public_api.mjs +10 -0
  29. package/fesm2022/amc-technology-ui-library.mjs +1393 -0
  30. package/fesm2022/amc-technology-ui-library.mjs.map +1 -0
  31. package/index.d.ts +5 -0
  32. package/package.json +26 -21
  33. package/projects/UILibrary/src/app/Helpers.d.ts +1 -1
  34. package/projects/UILibrary/src/app/components/activity/activity.component.d.ts +26 -23
  35. package/projects/UILibrary/src/app/components/chat-box/chat-box.component.d.ts +38 -35
  36. package/projects/UILibrary/src/app/components/chat-message/chat-message.component.d.ts +16 -13
  37. package/projects/UILibrary/src/app/components/create/create.component.d.ts +14 -11
  38. package/projects/UILibrary/src/app/components/current-activity/current-activity.component.d.ts +37 -34
  39. package/projects/UILibrary/src/app/components/disposition/disposition.component.d.ts +15 -12
  40. package/projects/UILibrary/src/app/components/duration/duration.component.d.ts +19 -16
  41. package/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.d.ts +24 -21
  42. package/projects/UILibrary/src/app/components/interaction/interaction.component.d.ts +44 -41
  43. package/projects/UILibrary/src/app/components/login/login.component.d.ts +14 -11
  44. package/projects/UILibrary/src/app/components/operation/operation.component.d.ts +25 -22
  45. package/projects/UILibrary/src/app/components/property/property.component.d.ts +44 -41
  46. package/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.d.ts +38 -35
  47. package/projects/UILibrary/src/app/components/scenario/scenario.component.d.ts +16 -13
  48. package/projects/UILibrary/src/app/components/search-information/search-information.component.d.ts +29 -26
  49. package/projects/UILibrary/src/app/models/IActivity.d.ts +36 -36
  50. package/projects/UILibrary/src/app/models/IActivityDetails.d.ts +7 -7
  51. package/projects/UILibrary/src/app/models/IHoldActivityDetails.d.ts +10 -10
  52. package/projects/UILibrary/src/app/models/IInteractionActivityDetails.d.ts +9 -9
  53. package/projects/UILibrary/src/app/models/chat.message.d.ts +15 -15
  54. package/projects/UILibrary/src/app/models/chat.settings.d.ts +6 -6
  55. package/projects/UILibrary/src/app/models/disposition.interface.d.ts +12 -12
  56. package/projects/UILibrary/src/app/models/login.interface.d.ts +13 -13
  57. package/projects/UILibrary/src/app/models/uilibrary.model.d.ts +281 -281
  58. package/projects/UILibrary/src/app/uilibrary.module.d.ts +30 -7
  59. package/public_api.d.ts +9 -1
  60. package/webcomponents/webcomponents.js +3 -3
  61. package/amc-technology-ui-library.d.ts +0 -19
  62. package/amc-technology-ui-library.metadata.json +0 -1
  63. package/bundles/amc-technology-ui-library.umd.js +0 -1653
  64. package/bundles/amc-technology-ui-library.umd.js.map +0 -1
  65. package/bundles/amc-technology-ui-library.umd.min.js +0 -16
  66. package/bundles/amc-technology-ui-library.umd.min.js.map +0 -1
  67. package/esm2015/amc-technology-ui-library.js +0 -20
  68. package/esm2015/projects/UILibrary/src/app/Helpers.js +0 -11
  69. package/esm2015/projects/UILibrary/src/app/components/activity/activity.component.js +0 -83
  70. package/esm2015/projects/UILibrary/src/app/components/chat-box/chat-box.component.js +0 -139
  71. package/esm2015/projects/UILibrary/src/app/components/chat-message/chat-message.component.js +0 -44
  72. package/esm2015/projects/UILibrary/src/app/components/create/create.component.js +0 -35
  73. package/esm2015/projects/UILibrary/src/app/components/current-activity/current-activity.component.js +0 -169
  74. package/esm2015/projects/UILibrary/src/app/components/disposition/disposition.component.js +0 -49
  75. package/esm2015/projects/UILibrary/src/app/components/duration/duration.component.js +0 -58
  76. package/esm2015/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.js +0 -72
  77. package/esm2015/projects/UILibrary/src/app/components/interaction/interaction.component.js +0 -93
  78. package/esm2015/projects/UILibrary/src/app/components/login/login.component.js +0 -43
  79. package/esm2015/projects/UILibrary/src/app/components/operation/operation.component.js +0 -57
  80. package/esm2015/projects/UILibrary/src/app/components/property/property.component.js +0 -99
  81. package/esm2015/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.js +0 -142
  82. package/esm2015/projects/UILibrary/src/app/components/scenario/scenario.component.js +0 -43
  83. package/esm2015/projects/UILibrary/src/app/components/search-information/search-information.component.js +0 -155
  84. package/esm2015/projects/UILibrary/src/app/models/IActivity.js +0 -1
  85. package/esm2015/projects/UILibrary/src/app/models/IActivityDetails.js +0 -1
  86. package/esm2015/projects/UILibrary/src/app/models/IHoldActivityDetails.js +0 -1
  87. package/esm2015/projects/UILibrary/src/app/models/IInteractionActivityDetails.js +0 -1
  88. package/esm2015/projects/UILibrary/src/app/models/chat.message.js +0 -7
  89. package/esm2015/projects/UILibrary/src/app/models/chat.settings.js +0 -1
  90. package/esm2015/projects/UILibrary/src/app/models/disposition.interface.js +0 -1
  91. package/esm2015/projects/UILibrary/src/app/models/login.interface.js +0 -1
  92. package/esm2015/projects/UILibrary/src/app/models/uilibrary.model.js +0 -40
  93. package/esm2015/projects/UILibrary/src/app/uilibrary.module.js +0 -83
  94. package/esm2015/public_api.js +0 -2
  95. package/esm5/amc-technology-ui-library.js +0 -20
  96. package/esm5/projects/UILibrary/src/app/Helpers.js +0 -11
  97. package/esm5/projects/UILibrary/src/app/components/activity/activity.component.js +0 -84
  98. package/esm5/projects/UILibrary/src/app/components/chat-box/chat-box.component.js +0 -140
  99. package/esm5/projects/UILibrary/src/app/components/chat-message/chat-message.component.js +0 -45
  100. package/esm5/projects/UILibrary/src/app/components/create/create.component.js +0 -36
  101. package/esm5/projects/UILibrary/src/app/components/current-activity/current-activity.component.js +0 -174
  102. package/esm5/projects/UILibrary/src/app/components/disposition/disposition.component.js +0 -61
  103. package/esm5/projects/UILibrary/src/app/components/duration/duration.component.js +0 -60
  104. package/esm5/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.js +0 -74
  105. package/esm5/projects/UILibrary/src/app/components/interaction/interaction.component.js +0 -98
  106. package/esm5/projects/UILibrary/src/app/components/login/login.component.js +0 -66
  107. package/esm5/projects/UILibrary/src/app/components/operation/operation.component.js +0 -58
  108. package/esm5/projects/UILibrary/src/app/components/property/property.component.js +0 -101
  109. package/esm5/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.js +0 -144
  110. package/esm5/projects/UILibrary/src/app/components/scenario/scenario.component.js +0 -44
  111. package/esm5/projects/UILibrary/src/app/components/search-information/search-information.component.js +0 -156
  112. package/esm5/projects/UILibrary/src/app/models/IActivity.js +0 -1
  113. package/esm5/projects/UILibrary/src/app/models/IActivityDetails.js +0 -1
  114. package/esm5/projects/UILibrary/src/app/models/IHoldActivityDetails.js +0 -1
  115. package/esm5/projects/UILibrary/src/app/models/IInteractionActivityDetails.js +0 -1
  116. package/esm5/projects/UILibrary/src/app/models/chat.message.js +0 -7
  117. package/esm5/projects/UILibrary/src/app/models/chat.settings.js +0 -1
  118. package/esm5/projects/UILibrary/src/app/models/disposition.interface.js +0 -1
  119. package/esm5/projects/UILibrary/src/app/models/login.interface.js +0 -1
  120. package/esm5/projects/UILibrary/src/app/models/uilibrary.model.js +0 -43
  121. package/esm5/projects/UILibrary/src/app/uilibrary.module.js +0 -84
  122. package/esm5/public_api.js +0 -2
  123. package/fesm2015/amc-technology-ui-library.js +0 -1360
  124. package/fesm2015/amc-technology-ui-library.js.map +0 -1
  125. package/fesm5/amc-technology-ui-library.js +0 -1423
  126. package/fesm5/amc-technology-ui-library.js.map +0 -1
  127. package/src/typings.d.ts +0 -5
@@ -1,1360 +0,0 @@
1
- import { __decorate, __awaiter } from 'tslib';
2
- import { EventEmitter, Input, Output, Component, Renderer2, ViewChild, Injector, NgModule } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
4
- import { FormsModule } from '@angular/forms';
5
- import { createCustomElement } from '@angular/elements';
6
- import { BrowserModule } from '@angular/platform-browser';
7
- import { ElementZoneStrategyFactory } from 'elements-zone-strategy';
8
- import { debounceTime } from 'rxjs/operators';
9
- import { Subject } from 'rxjs';
10
- import { MatTabsModule } from '@angular/material/tabs';
11
-
12
- /**
13
- * @ignore
14
- */
15
- let InteractionComponent = class InteractionComponent {
16
- /**
17
- * @ignore
18
- */
19
- constructor() {
20
- this.minimizedChanged = new EventEmitter();
21
- this.isAgentTyping = new EventEmitter();
22
- this.newMessage = new EventEmitter();
23
- this._minimized = false;
24
- }
25
- set _minimized(value) {
26
- this.minimized = value;
27
- this.minimizedChanged.emit(value);
28
- }
29
- get _minimized() {
30
- return this.minimized;
31
- }
32
- /**
33
- * @ignore
34
- */
35
- ngOnInit() {
36
- }
37
- /**
38
- * @ignore
39
- */
40
- minimize() {
41
- this._minimized = true;
42
- }
43
- /**
44
- * @ignore
45
- */
46
- maximize() {
47
- this._minimized = false;
48
- }
49
- /**
50
- * @ignore
51
- */
52
- isConferenceCall() {
53
- if (this.interaction.parties && this.interaction.parties.length > 1) {
54
- return true;
55
- }
56
- return false;
57
- }
58
- collapseKeypress(event) {
59
- if (event.code === 'Enter') {
60
- this.minimize();
61
- }
62
- }
63
- expandKeypress(event) {
64
- if (event.code === 'Enter') {
65
- this.maximize();
66
- }
67
- }
68
- clickEvent(id) {
69
- document.getElementById(id).className = 'success';
70
- if (localStorage.getItem('focusedPanel') === null) {
71
- localStorage.setItem('focusedPanel', id);
72
- }
73
- else if (localStorage.getItem('focusedPanel') != id) {
74
- document.getElementById(localStorage.getItem('focusedPanel')).className = 'AnswerCallFocused';
75
- localStorage.setItem('focusedPanel', id);
76
- }
77
- }
78
- };
79
- __decorate([
80
- Input()
81
- ], InteractionComponent.prototype, "interaction", void 0);
82
- __decorate([
83
- Input()
84
- ], InteractionComponent.prototype, "newMsgs", void 0);
85
- __decorate([
86
- Output()
87
- ], InteractionComponent.prototype, "minimizedChanged", void 0);
88
- __decorate([
89
- Output()
90
- ], InteractionComponent.prototype, "isAgentTyping", void 0);
91
- __decorate([
92
- Output()
93
- ], InteractionComponent.prototype, "newMessage", void 0);
94
- InteractionComponent = __decorate([
95
- Component({
96
- selector: 'amc-interaction',
97
- template: "<div class=\"AnswerCallFocused\" [id]=\"interaction.interactionId\">\r\n <div class=\"editor callHeaderTop\" (click)=\"clickEvent(interaction.interactionId)\">\r\n <img class=\"statusImage\" aria-hidden=\"true\" [src]=\"interaction.UIHeadersData.statusUrl\" (click)=\"interaction.UIHeadersData.focusHandler.handler(interaction.UIHeadersData.focusHandler.operationName, interaction.UIHeadersData.focusHandler.operationMetadata)\" />\r\n <label class=\"statusText\">\r\n <b [id]=\"interaction.UIHeadersData.statusText\">{{ interaction.UIHeadersData.statusText }}</b>\r\n </label>\r\n <label class=\"verticalDivider\">|</label>\r\n <label class=\"directionText\" *ngIf=\"!interaction.UIHeadersData.displayHoldCounter\">{{ interaction.UIHeadersData.directionText }}</label>\r\n <div class=\"holdCallDurationDiv\" *ngIf=\"interaction.UIHeadersData.displayHoldCounter\">\r\n <amc-holdtimer [holdCounterData]=\"interaction.UIHeadersData.holdCounterData\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\"></amc-holdtimer>\r\n </div>\r\n <img class=\"ViewExpandImage\" [src]=\"interaction.UIHeadersData.minimizeUrl\" alt=\"Minimize\" (click)=\"minimize()\" (keypress)=\"collapseKeypress($event)\" *ngIf=\"!_minimized\" tabindex=\"0\" role=\"button\" aria-label=\"collapse Call Section\">\r\n <img class=\"ViewCollapseImage\" [src]=\"interaction.UIHeadersData.maximizeUrl\" alt=\"Maximize\" (click)=\"maximize()\" (keypress)=\"expandKeypress($event)\" *ngIf=\"_minimized\" tabindex=\"0\" role=\"button\" aria-label=\"expand Call Section\">\r\n <div class=\"DurationDiv\" *ngIf=\"interaction.displayCallTimer\">\r\n <amc-duration [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\" [startTime]=\"interaction.startTime\"></amc-duration>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"!_minimized\">\r\n\r\n <div *ngIf=\"!isConferenceCall()\">\r\n <div class=\"editor phoneNumberContainer\">\r\n <input class=\"callImage\" type=\"image\" [src]=\"interaction.subheaderData.image.href\" [title]=\"interaction.subheaderData.tooltip || ''\" tabindex=\"-1\">\r\n <input class=\"editor phoneNumberValue\" [attr.aria-labelledby]=\"interaction.UIHeadersData.statusText + ' ' + interaction.subheaderData.value\" readonly type=\"text\" [value]=\"interaction.subheaderData.value\" [id]=\"interaction.subheaderData.value\" tabindex=\"-1\">\r\n </div>\r\n\r\n <div class=\"cadSection\">\r\n <ng-container *ngFor=\"let property of interaction.properties\">\r\n <ng-container *ngIf=\"property.visible\">\r\n <label class=\"col1\" [title]=\"property.displayKey\">{{property.displayKey}}</label>\r\n <amc-property [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\" class=\"col2\" [property]=\"property\"> </amc-property>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let property of interaction.associatedData\">\r\n <ng-container *ngIf=\"property.visible\">\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" [title]=\"property.displayKey\">{{property.displayKey}}</label>\r\n <amc-property [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\" class=\"col2\" [property]=\"property\"> </amc-property>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <amc-operation *ngIf=\"interaction.chat\" id=\"close-chat\" [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\" [operations]=\"interaction.operations\"></amc-operation>\r\n <app-chat-box *ngIf=\"interaction.chat\" [isTyping]=\"interaction.chat.isCustomerTyping\" [settings]=\"interaction.chat.settings\"\r\n [messages]=\"interaction.chat.messages\" [newMsgs]=\"newMsgs\" (isAgentTyping)=\"isAgentTyping.emit($event)\" (newMessage)=\"newMessage.emit($event)\"></app-chat-box>\r\n\r\n <div [id]='interaction.interactionId'> </div>\r\n <amc-operation *ngIf=\"!interaction.chat\" [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\" [operations]=\"interaction.operations\"></amc-operation>\r\n </div>\r\n\r\n <div *ngIf=\"isConferenceCall()\">\r\n <div *ngFor=\"let party of interaction.parties\">\r\n <div class=\"editor phoneNumberContainer\">\r\n <input class=\"callImage\" type=\"image\" [src]=\"party.header.image.href\" [title]=\"party.header.tooltip || ''\" tabindex=\"-1\">\r\n <input class=\"editor phoneNumberValue\" readonly type=\"text\" [value]=\"party.header.value\" tabindex=\"-1\">\r\n </div>\r\n\r\n <div class=\"grid-container\">\r\n <ng-container *ngFor=\"let property of party.properties\">\r\n <ng-container *ngIf=\"property.visible\">\r\n <label class=\"col1\" [title]=\"property.displayKey\">{{ property.displayKey }}</label>\r\n <amc-property [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"party.header.value\" class=\"col2\" [property]=\"property\"> </amc-property>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <amc-operation [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"party.header.value\" [operations]=\"party.operations\"></amc-operation>\r\n <div class=\"AnswerCallFocused\"></div>\r\n </div>\r\n <amc-operation [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\" [operations]=\"interaction.operations\"></amc-operation>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n",
98
- styles: [":host{display:block}.phoneNumberContainer{margin-left:5px!important;padding-left:0;display:flex;align-items:center}.cadSection{margin-bottom:5px}#close-chat{-moz-text-align-last:end;text-align-last:end}.grid-container{margin-left:5px;display:grid;grid-template-columns:auto 1fr;grid-column-gap:10px;max-width:calc(100% - 5px);overflow:hidden}.col1{grid-column:1/2}.col2{grid-column:2/3}.ViewExpandImage{margin:3px}.ViewExpandImage:focus{outline:#3296da solid 2px;outline-offset:0}.ViewCollapseImage{margin:3px}.ViewCollapseImage:focus{outline:#3296da solid 2px;outline-offset:0}.callImage{cursor:default}.phoneNumberValue:focus{outline-style:none}#call123{border:4px!important}.success{border:2px solid #00adbb!important}", "body{padding-top:5px;padding-bottom:5px;margin:0}.login{width:20px;height:20px;display:block;margin-top:2px;margin-left:auto;margin-right:auto}.editor{font-size:.9em;text-align:left;margin:4px 5% 0 0;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border:0;padding-top:2px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.editor .standalone-line{width:90%!important;text-align:center!important}.editorHyperLink label{font-size:.95em;float:left;width:30%;margin-left:2%;text-align:left;color:#000;font-family:Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:0;padding-top:0}.editorHyperLink input[type=text]{font-size:.95em;width:60%;text-align:left;margin:0 5% 0 0;color:#318fc5;cursor:pointer;font-family:Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;padding-top:0;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.AnswerCallImages{height:20px;margin:0 5px 2px}.AnswerCallFocused{border:1px solid #939598;margin-left:0;font-family:Arial;position:relative;background-color:#fff;width:100%;box-sizing:border-box}.ViewCollapseImage,.ViewExpandImage{width:20px;height:20px;float:right;cursor:pointer}.answerPhoneNumberStyle{border:0;position:relative;top:-12px;left:-38px;max-width:80px;height:15px;text-overflow:ellipsis;font-size:.85em}.callHeaderTop{border-bottom:1px solid;background-color:#f4f5fb;width:100%;margin-top:0}.statusImage{width:15px;height:15px;margin-left:10px;float:left;margin-right:5px}.statusText{float:left;margin-top:1px}.displayDiv{width:100%;display:flex}.DurationDiv{float:right;width:17%;text-align:right;margin-right:5px}.displayLabels{margin-left:5px;width:25%;overflow:hidden;text-overflow:ellipsis}.displayData{border:0;outline:0}.callOptions{background-color:#f6f7fb;bottom:0;width:100%;text-align:center}.directionText{font-size:.8em;margin-left:2px}.phoneNumberValue{font-weight:700;font-size:1em;margin-left:5px}.durationInput{background-color:transparent;border:0;width:100%;text-align:right}.topBorder{border-top:1px solid #939598}.holdCallDurationDiv{float:left;margin-top:1px;margin-left:2px}.holdCallDurationTimer{background-color:transparent;border:0;width:100%}.verticalDivider{margin-left:2px;float:left}.callImage{height:20px}"]
99
- })
100
- ], InteractionComponent);
101
-
102
- let ScenarioComponent = class ScenarioComponent {
103
- constructor() {
104
- this.minimizedChanged = new EventEmitter();
105
- this.isAgentTyping = new EventEmitter();
106
- this.newMessage = new EventEmitter();
107
- this.afterViewChecked = new EventEmitter();
108
- }
109
- ngAfterViewChecked() {
110
- this.afterViewChecked.emit();
111
- }
112
- onMinimizedChanged() {
113
- this.minimizedChanged.emit();
114
- }
115
- };
116
- __decorate([
117
- Input()
118
- ], ScenarioComponent.prototype, "scenario", void 0);
119
- __decorate([
120
- Input()
121
- ], ScenarioComponent.prototype, "newMsgs", void 0);
122
- __decorate([
123
- Output()
124
- ], ScenarioComponent.prototype, "minimizedChanged", void 0);
125
- __decorate([
126
- Output()
127
- ], ScenarioComponent.prototype, "isAgentTyping", void 0);
128
- __decorate([
129
- Output()
130
- ], ScenarioComponent.prototype, "newMessage", void 0);
131
- __decorate([
132
- Output()
133
- ], ScenarioComponent.prototype, "afterViewChecked", void 0);
134
- ScenarioComponent = __decorate([
135
- Component({
136
- selector: 'amc-scenario',
137
- template: "<ng-container *ngIf=\"scenario && scenario.interactions\">\r\n <amc-interaction *ngFor=\"let interaction of scenario.interactions\" [interaction]=\"interaction\" [newMsgs]=\"newMsgs\"\r\n (minimizedChanged)=\"onMinimizedChanged()\" (isAgentTyping)=\"isAgentTyping.emit($event)\"\r\n (newMessage)=\"newMessage.emit($event)\">\r\n </amc-interaction>\r\n</ng-container>\r\n",
138
- styles: ["", "body{padding-top:5px;padding-bottom:5px;margin:0}.login{width:20px;height:20px;display:block;margin-top:2px;margin-left:auto;margin-right:auto}.editor{font-size:.9em;text-align:left;margin:4px 5% 0 0;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border:0;padding-top:2px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.editor .standalone-line{width:90%!important;text-align:center!important}.editorHyperLink label{font-size:.95em;float:left;width:30%;margin-left:2%;text-align:left;color:#000;font-family:Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:0;padding-top:0}.editorHyperLink input[type=text]{font-size:.95em;width:60%;text-align:left;margin:0 5% 0 0;color:#318fc5;cursor:pointer;font-family:Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;padding-top:0;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.AnswerCallImages{height:20px;margin:0 5px 2px}.AnswerCallFocused{border:1px solid #939598;margin-left:0;font-family:Arial;position:relative;background-color:#fff;width:100%;box-sizing:border-box}.ViewCollapseImage,.ViewExpandImage{width:20px;height:20px;float:right;cursor:pointer}.answerPhoneNumberStyle{border:0;position:relative;top:-12px;left:-38px;max-width:80px;height:15px;text-overflow:ellipsis;font-size:.85em}.callHeaderTop{border-bottom:1px solid;background-color:#f4f5fb;width:100%;margin-top:0}.statusImage{width:15px;height:15px;margin-left:10px;float:left;margin-right:5px}.statusText{float:left;margin-top:1px}.displayDiv{width:100%;display:flex}.DurationDiv{float:right;width:17%;text-align:right;margin-right:5px}.displayLabels{margin-left:5px;width:25%;overflow:hidden;text-overflow:ellipsis}.displayData{border:0;outline:0}.callOptions{background-color:#f6f7fb;bottom:0;width:100%;text-align:center}.directionText{font-size:.8em;margin-left:2px}.phoneNumberValue{font-weight:700;font-size:1em;margin-left:5px}.durationInput{background-color:transparent;border:0;width:100%;text-align:right}.topBorder{border-top:1px solid #939598}.holdCallDurationDiv{float:left;margin-top:1px;margin-left:2px}.holdCallDurationTimer{background-color:transparent;border:0;width:100%}.verticalDivider{margin-left:2px;float:left}.callImage{height:20px}"]
139
- })
140
- ], ScenarioComponent);
141
-
142
- /**
143
- * @ignore
144
- */
145
- let OperationComponent = class OperationComponent {
146
- /**
147
- * @ignore
148
- */
149
- constructor() {
150
- this.labelledByText = '';
151
- this.describedByText = '';
152
- }
153
- /**
154
- * @ignore
155
- */
156
- ngOnInit() {
157
- if (this.statusText && this.callType) {
158
- this.describedByText = `${this.statusText} ${this.callType}`;
159
- }
160
- else if (this.statusText) {
161
- this.describedByText = this.statusText;
162
- }
163
- else if (this.callType) {
164
- this.describedByText = this.callType;
165
- }
166
- if (this.callId) {
167
- this.labelledByText = this.callId;
168
- }
169
- }
170
- operationKeypress(event, operation) {
171
- if (event.code === 'Enter') {
172
- operation.handler(operation.operationName, operation.operationMetadata);
173
- }
174
- }
175
- };
176
- __decorate([
177
- Input()
178
- ], OperationComponent.prototype, "statusText", void 0);
179
- __decorate([
180
- Input()
181
- ], OperationComponent.prototype, "callId", void 0);
182
- __decorate([
183
- Input()
184
- ], OperationComponent.prototype, "callType", void 0);
185
- __decorate([
186
- Input()
187
- ], OperationComponent.prototype, "operations", void 0);
188
- OperationComponent = __decorate([
189
- Component({
190
- selector: 'amc-operation',
191
- template: "<div class=\"callOptions\">\r\n <img\r\n class=\"AnswerCallImages\"\r\n tabindex=\"0\"\r\n role=\"button\"\r\n attr.aria-label=\"{{ operation.title }}\"\r\n *ngFor=\"let operation of operations\"\r\n [title]=\"operation.title\"\r\n [src]=\"operation.icon\"\r\n [attr.accesskey]=\"operation.accesskey || null\"\r\n [attr.aria-labelledby]=\"labelledByText || null\"\r\n [attr.aria-describedby]=\"describedByText || null\"\r\n (click)=\"operation.handler(operation.operationName, operation.operationMetadata)\"\r\n (keypress)=\"operationKeypress($event, operation)\"/>\r\n</div>\r\n",
192
- styles: [".AnswerCallImages:focus{outline:#3296da solid 2px;outline-offset:1px}", "body{padding-top:5px;padding-bottom:5px;margin:0}.login{width:20px;height:20px;display:block;margin-top:2px;margin-left:auto;margin-right:auto}.editor{font-size:.9em;text-align:left;margin:4px 5% 0 0;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border:0;padding-top:2px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.editor .standalone-line{width:90%!important;text-align:center!important}.editorHyperLink label{font-size:.95em;float:left;width:30%;margin-left:2%;text-align:left;color:#000;font-family:Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:0;padding-top:0}.editorHyperLink input[type=text]{font-size:.95em;width:60%;text-align:left;margin:0 5% 0 0;color:#318fc5;cursor:pointer;font-family:Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;padding-top:0;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.AnswerCallImages{height:20px;margin:0 5px 2px}.AnswerCallFocused{border:1px solid #939598;margin-left:0;font-family:Arial;position:relative;background-color:#fff;width:100%;box-sizing:border-box}.ViewCollapseImage,.ViewExpandImage{width:20px;height:20px;float:right;cursor:pointer}.answerPhoneNumberStyle{border:0;position:relative;top:-12px;left:-38px;max-width:80px;height:15px;text-overflow:ellipsis;font-size:.85em}.callHeaderTop{border-bottom:1px solid;background-color:#f4f5fb;width:100%;margin-top:0}.statusImage{width:15px;height:15px;margin-left:10px;float:left;margin-right:5px}.statusText{float:left;margin-top:1px}.displayDiv{width:100%;display:flex}.DurationDiv{float:right;width:17%;text-align:right;margin-right:5px}.displayLabels{margin-left:5px;width:25%;overflow:hidden;text-overflow:ellipsis}.displayData{border:0;outline:0}.callOptions{background-color:#f6f7fb;bottom:0;width:100%;text-align:center}.directionText{font-size:.8em;margin-left:2px}.phoneNumberValue{font-weight:700;font-size:1em;margin-left:5px}.durationInput{background-color:transparent;border:0;width:100%;text-align:right}.topBorder{border-top:1px solid #939598}.holdCallDurationDiv{float:left;margin-top:1px;margin-left:2px}.holdCallDurationTimer{background-color:transparent;border:0;width:100%}.verticalDivider{margin-left:2px;float:left}.callImage{height:20px}"]
193
- })
194
- ], OperationComponent);
195
-
196
- var IChatMessageType;
197
- (function (IChatMessageType) {
198
- IChatMessageType["AGENT"] = "AGENT";
199
- IChatMessageType["OTHER_PERSON"] = "OTHER_PERSON";
200
- IChatMessageType["INFORMATION"] = "INFORMATION";
201
- })(IChatMessageType || (IChatMessageType = {}));
202
-
203
- /**
204
- * A helper method to make instances of [IProperty]
205
- */
206
- class Property {
207
- /**
208
- *
209
- * @param key
210
- * @param value : if value type is COUNTER then value should be start time in MilliSeconds.
211
- * @param visible
212
- * @param valueType
213
- * @param customOperation
214
- */
215
- constructor(key, value, visible, valueType, customOperation) {
216
- /**
217
- * Operation responsible for generating displayKey and dispkayValur from key and value.
218
- */
219
- this.displayOperation = () => {
220
- this.displayKey = this.key;
221
- this.displayValue = this.value;
222
- };
223
- this.key = key;
224
- this.value = value;
225
- visible != null ? (this.visible = visible) : (this.visible = true);
226
- valueType != null
227
- ? (this.displayValueType = valueType)
228
- : (this.displayValueType = ValueType.STRING);
229
- this.customOperations = customOperation;
230
- this.displayOperation();
231
- }
232
- }
233
- /**
234
- * enum for Value types of PROPERTY.
235
- */
236
- var ValueType;
237
- (function (ValueType) {
238
- ValueType[ValueType["STRING"] = 0] = "STRING";
239
- ValueType[ValueType["COUNTER"] = 1] = "COUNTER";
240
- })(ValueType || (ValueType = {}));
241
-
242
- function secondsToHms(seconds_in) {
243
- seconds_in = Number(seconds_in);
244
- const h = Math.floor(seconds_in / 3600);
245
- const m = Math.floor(seconds_in % 3600 / 60);
246
- const s = Math.floor(seconds_in % 3600 % 60);
247
- const hDisplay = h > 0 ? h.toString() + ':' : '';
248
- const mDisplay = m > 0 ? ('0' + m.toString()).slice(-2) + ':' : '00:';
249
- const sDisplay = s > 0 ? ('0' + s.toString()).slice(-2) : '00';
250
- return hDisplay + mDisplay + sDisplay;
251
- }
252
-
253
- /**
254
- * @ignore
255
- */
256
- let PropertyComponent = class PropertyComponent {
257
- /**
258
- * @ignore
259
- */
260
- constructor() {
261
- this.labelledByText = '';
262
- this.title = '';
263
- this._timerId = null;
264
- this.processedDisplayValue = '';
265
- }
266
- /**
267
- * @ignore
268
- */
269
- ngOnInit() {
270
- if (this.statusText && this.callType) {
271
- this.labelledByText = `${this.statusText} ${this.callType}`;
272
- }
273
- else if (this.statusText) {
274
- this.labelledByText = this.statusText;
275
- }
276
- else if (this.callType) {
277
- this.labelledByText = this.callType;
278
- }
279
- if (this.callType && this.callId) {
280
- this.title = `${this.callType} ${this.callId}`;
281
- }
282
- else if (this.callType) {
283
- this.title = this.callType;
284
- }
285
- else if (this.callId) {
286
- this.title = this.callId;
287
- }
288
- this.initValues();
289
- }
290
- /**
291
- * @ignore
292
- */
293
- initValues() {
294
- if (this.property.displayValueType === ValueType.COUNTER) {
295
- this.startCallCounter();
296
- }
297
- else {
298
- this.processedDisplayValue = this.property.displayValue;
299
- }
300
- }
301
- /**
302
- * @ignore
303
- */
304
- startCallCounter() {
305
- if (this._timerId == null) {
306
- this._timerId = window.setInterval(() => {
307
- const callStartTime = this.property.displayValue;
308
- const currentTime = new Date().getTime() / 1000;
309
- const secondsPassed = Math.floor((currentTime) - (callStartTime / 1000));
310
- this.processedDisplayValue = secondsToHms(secondsPassed);
311
- }, 1000);
312
- }
313
- }
314
- /**
315
- * @ignore
316
- */
317
- ngOnDestroy() {
318
- if (this.property.displayValueType === ValueType.COUNTER) {
319
- // clear the timer.
320
- if (this._timerId != null) {
321
- clearInterval(this._timerId);
322
- this._timerId = null;
323
- }
324
- }
325
- }
326
- };
327
- __decorate([
328
- Input()
329
- ], PropertyComponent.prototype, "statusText", void 0);
330
- __decorate([
331
- Input()
332
- ], PropertyComponent.prototype, "callId", void 0);
333
- __decorate([
334
- Input()
335
- ], PropertyComponent.prototype, "callType", void 0);
336
- __decorate([
337
- Input()
338
- ], PropertyComponent.prototype, "property", void 0);
339
- PropertyComponent = __decorate([
340
- Component({
341
- selector: 'amc-property',
342
- template: "<input\r\n readonly\r\n *ngIf=\"!property.customOperations\"\r\n class=\"displayData\"\r\n tabindex=\"0\"\r\n type=\"text\"\r\n [name]=\"processedDisplayValue\"\r\n [title]=\"title || null\"\r\n [attr.aria-labelledby]=\"labelledByText || null\"\r\n [value]=\"processedDisplayValue\"/>\r\n\r\n <input\r\n readonly\r\n *ngIf=\"property.customOperations\"\r\n class=\"cursor displayData\"\r\n type=\"text\"\r\n tabindex=\"0\"\r\n [name]=\"processedDisplayValue\"\r\n [title]=\"title || null\"\r\n [value]=\"processedDisplayValue\"\r\n [attr.aria-labelledby]=\"labelledByText || null\"\r\n (click)=\"property.customOperations.handler(property.customOperations.eventName, property.customOperations.eventMetadata)\" />\r\n",
343
- styles: ["input{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border:0}", "body{padding-top:5px;padding-bottom:5px;margin:0}.login{width:20px;height:20px;display:block;margin-top:2px;margin-left:auto;margin-right:auto}.editor{font-size:.9em;text-align:left;margin:4px 5% 0 0;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border:0;padding-top:2px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.editor .standalone-line{width:90%!important;text-align:center!important}.editorHyperLink label{font-size:.95em;float:left;width:30%;margin-left:2%;text-align:left;color:#000;font-family:Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:0;padding-top:0}.editorHyperLink input[type=text]{font-size:.95em;width:60%;text-align:left;margin:0 5% 0 0;color:#318fc5;cursor:pointer;font-family:Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;padding-top:0;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.AnswerCallImages{height:20px;margin:0 5px 2px}.AnswerCallFocused{border:1px solid #939598;margin-left:0;font-family:Arial;position:relative;background-color:#fff;width:100%;box-sizing:border-box}.ViewCollapseImage,.ViewExpandImage{width:20px;height:20px;float:right;cursor:pointer}.answerPhoneNumberStyle{border:0;position:relative;top:-12px;left:-38px;max-width:80px;height:15px;text-overflow:ellipsis;font-size:.85em}.callHeaderTop{border-bottom:1px solid;background-color:#f4f5fb;width:100%;margin-top:0}.statusImage{width:15px;height:15px;margin-left:10px;float:left;margin-right:5px}.statusText{float:left;margin-top:1px}.displayDiv{width:100%;display:flex}.DurationDiv{float:right;width:17%;text-align:right;margin-right:5px}.displayLabels{margin-left:5px;width:25%;overflow:hidden;text-overflow:ellipsis}.displayData{border:0;outline:0}.callOptions{background-color:#f6f7fb;bottom:0;width:100%;text-align:center}.directionText{font-size:.8em;margin-left:2px}.phoneNumberValue{font-weight:700;font-size:1em;margin-left:5px}.durationInput{background-color:transparent;border:0;width:100%;text-align:right}.topBorder{border-top:1px solid #939598}.holdCallDurationDiv{float:left;margin-top:1px;margin-left:2px}.holdCallDurationTimer{background-color:transparent;border:0;width:100%}.verticalDivider{margin-left:2px;float:left}.callImage{height:20px}"]
344
- })
345
- ], PropertyComponent);
346
-
347
- let HoldtimerComponent = class HoldtimerComponent {
348
- constructor() {
349
- this.labelledByText = '';
350
- this.displayTime = '00:00/00:00';
351
- }
352
- ngOnInit() {
353
- if (this.statusText && this.callId) {
354
- this.labelledByText = `${this.statusText} ${this.callId}`;
355
- }
356
- else if (this.statusText) {
357
- this.labelledByText = this.statusText;
358
- }
359
- else if (this.callId) {
360
- this.labelledByText = this.callId;
361
- }
362
- this.startCallCounter();
363
- }
364
- /**
365
- * @ignore
366
- */
367
- startCallCounter() {
368
- const pastTimeInSeconds = this.CaculatePastHoldDuration();
369
- if (this._timerId == null) {
370
- this._timerId = window.setInterval(() => {
371
- const currentTime = new Date().getTime() / 1000;
372
- const secondsPassedCurrentCall = Math.floor((currentTime) - (this.holdCounterData.currentHoldStartTime / 1000));
373
- this.displayTime = secondsToHms(secondsPassedCurrentCall) +
374
- '/' + secondsToHms(pastTimeInSeconds + secondsPassedCurrentCall);
375
- }, 1000);
376
- }
377
- }
378
- CaculatePastHoldDuration() {
379
- let pastTimeInSeconds = 0;
380
- if (this.holdCounterData.pastCallDurations) {
381
- this.holdCounterData.pastCallDurations.forEach((holdTimerIterator) => {
382
- pastTimeInSeconds += (holdTimerIterator.endTime - holdTimerIterator.startTime) / 1000;
383
- });
384
- }
385
- return pastTimeInSeconds;
386
- }
387
- /**
388
- * @ignore
389
- */
390
- ngOnDestroy() {
391
- // clear the timer.
392
- if (this._timerId != null) {
393
- clearInterval(this._timerId);
394
- this._timerId = null;
395
- }
396
- }
397
- };
398
- __decorate([
399
- Input()
400
- ], HoldtimerComponent.prototype, "holdCounterData", void 0);
401
- __decorate([
402
- Input()
403
- ], HoldtimerComponent.prototype, "statusText", void 0);
404
- __decorate([
405
- Input()
406
- ], HoldtimerComponent.prototype, "callId", void 0);
407
- HoldtimerComponent = __decorate([
408
- Component({
409
- selector: 'amc-holdtimer',
410
- 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",
411
- styles: [".holdCallDurationTimer:focus{outline-style:none}", "body{padding-top:5px;padding-bottom:5px;margin:0}.login{width:20px;height:20px;display:block;margin-top:2px;margin-left:auto;margin-right:auto}.editor{font-size:.9em;text-align:left;margin:4px 5% 0 0;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border:0;padding-top:2px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.editor .standalone-line{width:90%!important;text-align:center!important}.editorHyperLink label{font-size:.95em;float:left;width:30%;margin-left:2%;text-align:left;color:#000;font-family:Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:0;padding-top:0}.editorHyperLink input[type=text]{font-size:.95em;width:60%;text-align:left;margin:0 5% 0 0;color:#318fc5;cursor:pointer;font-family:Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;padding-top:0;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.AnswerCallImages{height:20px;margin:0 5px 2px}.AnswerCallFocused{border:1px solid #939598;margin-left:0;font-family:Arial;position:relative;background-color:#fff;width:100%;box-sizing:border-box}.ViewCollapseImage,.ViewExpandImage{width:20px;height:20px;float:right;cursor:pointer}.answerPhoneNumberStyle{border:0;position:relative;top:-12px;left:-38px;max-width:80px;height:15px;text-overflow:ellipsis;font-size:.85em}.callHeaderTop{border-bottom:1px solid;background-color:#f4f5fb;width:100%;margin-top:0}.statusImage{width:15px;height:15px;margin-left:10px;float:left;margin-right:5px}.statusText{float:left;margin-top:1px}.displayDiv{width:100%;display:flex}.DurationDiv{float:right;width:17%;text-align:right;margin-right:5px}.displayLabels{margin-left:5px;width:25%;overflow:hidden;text-overflow:ellipsis}.displayData{border:0;outline:0}.callOptions{background-color:#f6f7fb;bottom:0;width:100%;text-align:center}.directionText{font-size:.8em;margin-left:2px}.phoneNumberValue{font-weight:700;font-size:1em;margin-left:5px}.durationInput{background-color:transparent;border:0;width:100%;text-align:right}.topBorder{border-top:1px solid #939598}.holdCallDurationDiv{float:left;margin-top:1px;margin-left:2px}.holdCallDurationTimer{background-color:transparent;border:0;width:100%}.verticalDivider{margin-left:2px;float:left}.callImage{height:20px}"]
412
- })
413
- ], HoldtimerComponent);
414
-
415
- let DurationComponent = class DurationComponent {
416
- constructor() {
417
- this.labelledByText = '';
418
- this.displayTime = '00:00/00:00';
419
- }
420
- ngOnInit() {
421
- if (this.statusText && this.callId) {
422
- this.labelledByText = `${this.statusText} ${this.callId}`;
423
- }
424
- else if (this.statusText) {
425
- this.labelledByText = this.statusText;
426
- }
427
- else if (this.callId) {
428
- this.labelledByText = this.callId;
429
- }
430
- this.startCallCounter();
431
- }
432
- /**
433
- * @ignore
434
- */
435
- startCallCounter() {
436
- if (this._timerId == null) {
437
- this._timerId = window.setInterval(() => {
438
- const callStartTime = this.startTime;
439
- const currentTime = new Date().getTime() / 1000;
440
- const secondsPassed = Math.floor((currentTime) - (callStartTime / 1000));
441
- this.displayTime = Math.floor(secondsPassed / 60) + ':' + ('0' + (secondsPassed % 60)).slice(-2);
442
- }, 1000);
443
- }
444
- }
445
- ngOnDestroy() {
446
- // clear the timer.
447
- if (this._timerId != null) {
448
- clearInterval(this._timerId);
449
- this._timerId = null;
450
- }
451
- }
452
- };
453
- __decorate([
454
- Input()
455
- ], DurationComponent.prototype, "statusText", void 0);
456
- __decorate([
457
- Input()
458
- ], DurationComponent.prototype, "callId", void 0);
459
- __decorate([
460
- Input()
461
- ], DurationComponent.prototype, "startTime", void 0);
462
- DurationComponent = __decorate([
463
- Component({
464
- selector: 'amc-duration',
465
- 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",
466
- styles: [".durationInput:focus{outline-style:none}", "body{padding-top:5px;padding-bottom:5px;margin:0}.login{width:20px;height:20px;display:block;margin-top:2px;margin-left:auto;margin-right:auto}.editor{font-size:.9em;text-align:left;margin:4px 5% 0 0;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border:0;padding-top:2px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.editor .standalone-line{width:90%!important;text-align:center!important}.editorHyperLink label{font-size:.95em;float:left;width:30%;margin-left:2%;text-align:left;color:#000;font-family:Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:0;padding-top:0}.editorHyperLink input[type=text]{font-size:.95em;width:60%;text-align:left;margin:0 5% 0 0;color:#318fc5;cursor:pointer;font-family:Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;padding-top:0;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.AnswerCallImages{height:20px;margin:0 5px 2px}.AnswerCallFocused{border:1px solid #939598;margin-left:0;font-family:Arial;position:relative;background-color:#fff;width:100%;box-sizing:border-box}.ViewCollapseImage,.ViewExpandImage{width:20px;height:20px;float:right;cursor:pointer}.answerPhoneNumberStyle{border:0;position:relative;top:-12px;left:-38px;max-width:80px;height:15px;text-overflow:ellipsis;font-size:.85em}.callHeaderTop{border-bottom:1px solid;background-color:#f4f5fb;width:100%;margin-top:0}.statusImage{width:15px;height:15px;margin-left:10px;float:left;margin-right:5px}.statusText{float:left;margin-top:1px}.displayDiv{width:100%;display:flex}.DurationDiv{float:right;width:17%;text-align:right;margin-right:5px}.displayLabels{margin-left:5px;width:25%;overflow:hidden;text-overflow:ellipsis}.displayData{border:0;outline:0}.callOptions{background-color:#f6f7fb;bottom:0;width:100%;text-align:center}.directionText{font-size:.8em;margin-left:2px}.phoneNumberValue{font-weight:700;font-size:1em;margin-left:5px}.durationInput{background-color:transparent;border:0;width:100%;text-align:right}.topBorder{border-top:1px solid #939598}.holdCallDurationDiv{float:left;margin-top:1px;margin-left:2px}.holdCallDurationTimer{background-color:transparent;border:0;width:100%}.verticalDivider{margin-left:2px;float:left}.callImage{height:20px}"]
467
- })
468
- ], DurationComponent);
469
-
470
- let ChatBoxComponent = class ChatBoxComponent {
471
- constructor(renderer) {
472
- this.renderer = renderer;
473
- this.isTyping = false;
474
- this.lastCount = -1;
475
- this._isAgentTyping = false;
476
- this.isAgentTyping = new EventEmitter();
477
- this.newMessage = new EventEmitter();
478
- this.newMessageText = '';
479
- this.usernameToColor = {};
480
- this.colors = [
481
- '#c2c4c4',
482
- '#ffab91',
483
- '#f48fb1',
484
- '#29b6f6',
485
- '#e1bee7',
486
- '#9ccc65',
487
- '#ffc107',
488
- '#26c6da',
489
- '#cddc39',
490
- ];
491
- this.colorsIndex = 0;
492
- this.agentColor = '#2db0e0';
493
- }
494
- ngOnInit() {
495
- this.renderer.selectRootElement('#autofocus').focus();
496
- }
497
- ngAfterViewInit() {
498
- this.renderer.selectRootElement('#autofocus').focus();
499
- }
500
- updatedMessage() {
501
- try {
502
- if (typeof this.newMsgs !== 'undefined' && this.newMsgs.length > 0) {
503
- return this.newMsgs;
504
- }
505
- else {
506
- return this.messages;
507
- }
508
- }
509
- catch (e) { }
510
- finally {
511
- this.scrollToBottom();
512
- }
513
- }
514
- ngAfterViewChecked() {
515
- if (this.lastCount !== this.messages.length) {
516
- this.lastCount = this.messages.length;
517
- this.scrollToBottom();
518
- }
519
- }
520
- getColor(message) {
521
- if (message.type && message.type === IChatMessageType.AGENT) {
522
- return this.agentColor;
523
- }
524
- else if (message.username) {
525
- if (!this.usernameToColor[message.username]) {
526
- this.usernameToColor[message.username] = this.colors[this.colorsIndex];
527
- this.colorsIndex = (this.colorsIndex + 1) % this.colors.length;
528
- }
529
- return this.usernameToColor[message.username];
530
- }
531
- else {
532
- return this.colors[0];
533
- }
534
- }
535
- shouldAlignRight(message) {
536
- return message.type && message.type === IChatMessageType.AGENT;
537
- }
538
- sendNewMessage(event) {
539
- event.preventDefault();
540
- if (this.newMessageText) {
541
- this.newMessage.emit(this.newMessageText);
542
- this.newMessageText = '';
543
- }
544
- this.renderer.selectRootElement('#autofocus').focus();
545
- }
546
- setOnFocus(event) {
547
- this.renderer.selectRootElement('#autofocus').focus();
548
- }
549
- onNewMessageFocus(event) {
550
- const isTyping = event && this.newMessageText.length > 0;
551
- if (isTyping !== this._isAgentTyping) {
552
- this._isAgentTyping = isTyping;
553
- this.isAgentTyping.emit(isTyping);
554
- }
555
- }
556
- onKeyup() {
557
- const isTyping = this.newMessageText.length > 0;
558
- if (isTyping !== this._isAgentTyping) {
559
- this._isAgentTyping = isTyping;
560
- this.isAgentTyping.emit(isTyping);
561
- }
562
- }
563
- scrollToBottom() {
564
- try {
565
- this.messagesContainer.nativeElement.scrollTop = this.messagesContainer.nativeElement.scrollHeight;
566
- }
567
- catch (e) { }
568
- }
569
- };
570
- ChatBoxComponent.ctorParameters = () => [
571
- { type: Renderer2 }
572
- ];
573
- __decorate([
574
- Input()
575
- ], ChatBoxComponent.prototype, "settings", void 0);
576
- __decorate([
577
- Input()
578
- ], ChatBoxComponent.prototype, "isTyping", void 0);
579
- __decorate([
580
- Input()
581
- ], ChatBoxComponent.prototype, "messages", void 0);
582
- __decorate([
583
- Input()
584
- ], ChatBoxComponent.prototype, "newMsgs", void 0);
585
- __decorate([
586
- Output()
587
- ], ChatBoxComponent.prototype, "isAgentTyping", void 0);
588
- __decorate([
589
- Output()
590
- ], ChatBoxComponent.prototype, "newMessage", void 0);
591
- __decorate([
592
- ViewChild('MessagesContainer', { static: true })
593
- ], ChatBoxComponent.prototype, "messagesContainer", void 0);
594
- __decorate([
595
- ViewChild('autofocus', { static: false })
596
- ], ChatBoxComponent.prototype, "autofocus", void 0);
597
- ChatBoxComponent = __decorate([
598
- Component({
599
- selector: 'app-chat-box',
600
- template: "<div class=\"chat-box\">\r\n <div #MessagesContainer id=\"msgScroll\" class=\"messages\" [style.max-height]='settings.maxHeight'>\r\n <ng-container *ngFor=\"let message of updatedMessage()\">\r\n <app-chat-message class=\"chat-line\" [alignRight]=\"shouldAlignRight(message)\" [message]=\"message.text\" [username]=\"message.username\" (focusOn)=\"setOnFocus($event)\"\r\n [timestamp]=\"message.timestamp\" [image]=\"message.userIcon\" [fallbackImage]=\"settings.fallbackUserIcon\" [color]=\"getColor(message)\">\r\n </app-chat-message>\r\n </ng-container>\r\n\r\n <div *ngIf=\"isTyping\" class=\"typing-indicator\">\r\n Someone is typing\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n<div class=\"message-box\">\r\n <textarea id=\"autofocus\" tabindex=\"1\" #NewMessageText [(ngModel)]=\"newMessageText\" type=\"text\" class=\"message-input scroll\" placeholder=\"Type a message...\"\r\n (focus)=\"onNewMessageFocus(true)\" (keydown.enter)=\"sendNewMessage($event)\" (keyup)='onKeyup()' [disabled]=\"settings.disableSendMessage\" ></textarea>\r\n <button type=\"submit\" class=\"message-submit\" (click)=\"sendNewMessage($event)\" [disabled]=\"settings.disableSendMessage\">Send</button>\r\n</div>\r\n</div>\r\n",
601
- styles: [".message-box{flex:1 1 0;width:99%;background:#fff;margin:auto;position:relative;border-radius:5px;height:100%;border:1px solid #ccc}.message-box .message-input{background:0 0;border:none;outline:0!important;resize:none;font-family:inherit;font-size:.8rem;height:100%;margin:0;padding:10px 7px;width:89%;color:#444}.message-box textarea:focus:-webkit-placeholder{color:transparent}.message-box .message-submit{position:absolute;z-index:1;top:26px;right:5px;background:#1e72ba;border:none;color:#fff;font-size:10px;line-height:1;padding:6px 10px;border-radius:5px;outline:0!important;transition:background .2s;cursor:pointer}.scroll::-webkit-scrollbar{display:none}.chat-box{background-color:#f4f5fb;padding:5px}.messages{padding:5px;overflow:auto;min-height:50px}.chat-line{margin-bottom:15px}.new-message{border-top:1px solid #000;display:flex;align-content:center;height:25px}.new-message input[type=text]{flex:1 1 0;background-color:#f4f5fb;border:none;min-width:0}.new-message input[type=image]{position:relative;top:50%;transform:translateY(-50%);height:20px;cursor:pointer}.new-message input[type=image]:disabled{opacity:.5;cursor:auto}.new-message input:focus{outline:0}.typing-indicator{font-size:.8em;font-style:italic}.typing-indicator span{display:inline-block;height:4px;width:4px;border-radius:50%;background-color:#9e9e9e;margin:0 1px;opacity:.2}.typing-indicator span:nth-of-type(1){animation:1.5s .33333s infinite blink}.typing-indicator span:nth-of-type(2){animation:1.5s .66666s infinite blink}.typing-indicator span:nth-of-type(3){animation:1.5s .99999s infinite blink}@keyframes blink{50%{opacity:1}}"]
602
- })
603
- ], ChatBoxComponent);
604
-
605
- let ChatMessageComponent = class ChatMessageComponent {
606
- constructor() {
607
- this.alignRight = false;
608
- this.focusOn = new EventEmitter();
609
- }
610
- ngOnInit() {
611
- this.focusOn.emit(true);
612
- }
613
- };
614
- __decorate([
615
- Input()
616
- ], ChatMessageComponent.prototype, "message", void 0);
617
- __decorate([
618
- Input()
619
- ], ChatMessageComponent.prototype, "alignRight", void 0);
620
- __decorate([
621
- Input()
622
- ], ChatMessageComponent.prototype, "username", void 0);
623
- __decorate([
624
- Input()
625
- ], ChatMessageComponent.prototype, "color", void 0);
626
- __decorate([
627
- Input()
628
- ], ChatMessageComponent.prototype, "timestamp", void 0);
629
- __decorate([
630
- Input()
631
- ], ChatMessageComponent.prototype, "image", void 0);
632
- __decorate([
633
- Input()
634
- ], ChatMessageComponent.prototype, "fallbackImage", void 0);
635
- __decorate([
636
- Output()
637
- ], ChatMessageComponent.prototype, "focusOn", void 0);
638
- ChatMessageComponent = __decorate([
639
- Component({
640
- selector: 'app-chat-message',
641
- template: "<div [class]=\"alignRight? 'message right-message' : 'message left-message'\">\r\n <div class=\"message-header\">\r\n <img *ngIf=\"image\" class=\"image\" [src]=\"image\" (error)=\"image = fallbackImage\" [style.border-color]=\"color\" />\r\n <span *ngIf=\"username\" class=\"username\">{{username}}</span>\r\n </div>\r\n\r\n <div class=\"message-body-container\">\r\n <div>\r\n <div class=\"message-body\" [style.background-color]=\"color\" [style.border-color]=\"color\">\r\n <span [innerHTML]=\"message\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"timestamp\" class=\"timestamp\">{{timestamp}}</span>\r\n</div>\r\n",
642
- styles: [":host{display:block;margin-top:2px;margin-bottom:2px}.right-message{text-align:end}.timestamp{font-size:10px;margin-right:30px;margin-left:30px}.message-header{display:flex;-webkit-text-emphasis:none;text-emphasis:none;font-style:italic;font-size:.7em;align-items:center;margin-bottom:.5em}.message-header .image{height:30px;border-radius:50%;border:2px solid red}.message-header .username{font-weight:700}.right-message>.message-header{flex-direction:row-reverse;margin-right:1px}.right-message>.message-header .image,.right-message>.message-header .username{margin-left:5px}.left-message>.message-header{margin-left:1px}.left-message>.message-header .image,.left-message>.message-header .username{margin-right:5px}.message-body-container{display:flex}.right-message>.message-body-container{flex-direction:row-reverse}.message-body{display:inline-block;position:relative;border-radius:1em;padding:6px;font-style:normal;font-size:.8em;text-align:start;min-width:2em;overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.left-message .message-body:after{content:\"\";position:absolute;border-left:10px solid #000;border-color:inherit;border-right:10px solid transparent;border-bottom:10px solid transparent;left:1px;bottom:-2px}.right-message .message-body:after{content:\"\";position:absolute;border-left:10px solid transparent;border-top:10px solid #000;border-top-color:inherit;border-bottom:0 solid transparent;right:1px;bottom:-2px}"]
643
- })
644
- ], ChatMessageComponent);
645
-
646
- let DispositionComponent = class DispositionComponent {
647
- constructor() {
648
- this.dispositionEmitter = new EventEmitter();
649
- this.selectedDispositionValue = '';
650
- this.dispositionName = '';
651
- }
652
- ngOnInit() {
653
- for (const metadata of this.disposition.dispositionMetadata) {
654
- if (metadata.key === 'callId') {
655
- this.dispositionName = `disposition_${metadata.value}`;
656
- break;
657
- }
658
- }
659
- if (this.disposition.checkedDisposition) {
660
- this.selectedDispositionValue = this.disposition.checkedDisposition;
661
- }
662
- }
663
- submitDisposition() {
664
- const selectedDisposition = {
665
- dispositionId: this.selectedDispositionValue,
666
- dispositionName: this.disposition.disposition.get(this.selectedDispositionValue),
667
- dispositionMetadata: this.disposition.dispositionMetadata
668
- };
669
- this.dispositionEmitter.emit(selectedDisposition);
670
- }
671
- selectAndSubmitDisposition(event, dispositionKey) {
672
- if (event.code === 'Enter') {
673
- this.selectedDispositionValue = dispositionKey;
674
- this.submitDisposition();
675
- }
676
- }
677
- };
678
- __decorate([
679
- Input()
680
- ], DispositionComponent.prototype, "disposition", void 0);
681
- __decorate([
682
- Output()
683
- ], DispositionComponent.prototype, "dispositionEmitter", void 0);
684
- DispositionComponent = __decorate([
685
- Component({
686
- selector: 'amc-disposition',
687
- 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",
688
- 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{padding:3px;overflow-y:scroll;max-height:150px}.disposition-label:focus{outline:#3296da solid 2px;outline-offset:5px}.first-disposition{margin-top:5px}"]
689
- })
690
- ], DispositionComponent);
691
-
692
- let ActivityComponent = class ActivityComponent {
693
- constructor() {
694
- this.ActivitySave = new EventEmitter();
695
- this.OnNameSelectChange = new EventEmitter();
696
- this.OnRelatedToChange = new EventEmitter();
697
- this.OnSubjectChange = new EventEmitter();
698
- this.OnCallNotesChange = new EventEmitter();
699
- this.isActivityMaximized = true;
700
- }
701
- ngOnInit() {
702
- }
703
- onNameSelectChange(event) {
704
- this.activity.WhoObject = this.getWho(event.currentTarget.value);
705
- this.OnNameSelectChange.emit(this.activity);
706
- }
707
- parseWhoObject(whoObject) {
708
- return whoObject.objectType + ': ' + whoObject.objectName;
709
- }
710
- parseWhatObject(whatObject) {
711
- return whatObject.objectType + ': ' + whatObject.objectName;
712
- }
713
- onRelatedToChange(event) {
714
- this.activity.WhatObject = this.getWhat(event.currentTarget.value);
715
- this.OnRelatedToChange.emit(this.activity);
716
- }
717
- onSubjectChange(event) {
718
- this.activity.Subject = event.srcElement.value;
719
- this.OnSubjectChange.emit(this.activity);
720
- }
721
- onCallNotesChange(event) {
722
- this.activity.Subject = event.srcElement.value.trim();
723
- this.OnCallNotesChange.emit(this.activity);
724
- }
725
- getWho(id) {
726
- for (let i = 0; i < this.activity.whoList.length; i++) {
727
- if (this.activity.whoList[i].objectId === id) {
728
- return this.activity.whoList[i];
729
- }
730
- }
731
- }
732
- getWhat(id) {
733
- for (let i = 0; i < this.activity.whatList.length; i++) {
734
- if (this.activity.whatList[i].objectId === id) {
735
- return this.activity.whatList[i];
736
- }
737
- }
738
- }
739
- loadQuickComment(value) {
740
- this.activity.Description = this.activity.Description + this.activity.quickCommentList[value];
741
- }
742
- activitySave(clearActivityFields) {
743
- this.ActivitySave.emit(this.activity);
744
- }
745
- };
746
- __decorate([
747
- Input()
748
- ], ActivityComponent.prototype, "activity", void 0);
749
- __decorate([
750
- Output()
751
- ], ActivityComponent.prototype, "ActivitySave", void 0);
752
- __decorate([
753
- Output()
754
- ], ActivityComponent.prototype, "OnNameSelectChange", void 0);
755
- __decorate([
756
- Output()
757
- ], ActivityComponent.prototype, "OnRelatedToChange", void 0);
758
- __decorate([
759
- Output()
760
- ], ActivityComponent.prototype, "OnSubjectChange", void 0);
761
- __decorate([
762
- Output()
763
- ], ActivityComponent.prototype, "OnCallNotesChange", void 0);
764
- ActivityComponent = __decorate([
765
- Component({
766
- selector: 'app-activity',
767
- 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\" title=\"Collapse\">\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=\"Call From\">{{activity.NameFieldName}}</label>\r\n <select class=\"dropDownListStyle displayData\" data-resetperactivity=\"false\" (change)=\"onNameSelectChange($event)\">\r\n <option *ngFor=\"let who of activity.whoList\" value=\"{{who.objectId}}\">{{parseWhoObject(who)}}</option>\r\n </select>\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Related To\">{{activity.RelatedToFieldName}}</label>\r\n <select class=\"dropDownListStyle displayData\" (change)=\"onRelatedToChange($event)\" data-resetperactivity=\"false\">\r\n <option *ngFor=\"let what of activity.whatList\" value=\"{{what.objectId}}\">{{parseWhatObject(what)}}</option>\r\n </select>\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Subject\">{{activity.SubjectFieldName}}</label>\r\n <input class=\"activitySubjectTextBoxStyle displayData\" (change)=\"onSubjectChange($event)\" title=\"{{activity.Subject}}\"\r\n type=\"text\" value=\"{{activity.Subject}}\">\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <div class=\"callNotesContainer\">\r\n <div class=\"textAreaDiv\">\r\n <textarea value=\"{{activity.Description}}\" placeholder=\"Click to add a comment\" class=\"activityCommentsTextBoxStyle\"\r\n (change)=\"onCallNotesChange($event)\" cols=\"20\" rows=\"2\" title=\"\"></textarea>\r\n </div>\r\n <div class=\"notesButtonBorder\">\r\n <div class=\"commentsButtonDiv\">\r\n <div class=\"quickCommentsDiv\">\r\n <input *ngFor=\"let quickComment of activity.quickCommentList ; let i = index;\" class=\"quickNotesBotton\" type=\"button\"\r\n value=\"{{i+1}}\" (click)=\"loadQuickComment(i)\" title=\"{{quickComment}}\">\r\n </div>\r\n <div class=\"submitDiv\">\r\n <input class=\"submitButton\" type=\"button\" value=\"Submit\" (click)=\"activitySave(false)\">\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\" title=\"Expand\">\r\n </div>\r\n",
768
- styles: [".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}.callHeader{background-color:#f4f5fb!important;width:100%!important;margin-top:0!important}.headerLabel{margin-left:10px}.ViewResizeImage{width:20px;height:20px;float:right;cursor:pointer}.callBody{border-top:0;position:relative}.displayDiv{width:100%;display:flex}.displayLabels{margin-left:5px;width:25%;margin-right:2px}.displayData{width:70%}.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;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;resize:none;width:100%;height:95px}.notesButtonBorder{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}.commentsButtonDiv{width:100%;display:flex;align-items:center}.quickNotesBotton{background-color:#1e72ba;border:0;color:#fff;height:70%;width:20px;margin:2px;outline:0;font-size:70%}.quickCommentsDiv{text-align:left;flex:1 0 0;flex-wrap:wrap;display:flex;margin:2px}.submitDiv{text-align:right;padding-right:4px}.submitButton{border:0;float:right;margin-top:2px;outline:0;cursor:pointer;background-color:#6cb047;color:#fff;border-radius:4px;font-size:98%;margin-bottom:2px}"]
769
- })
770
- ], ActivityComponent);
771
-
772
- let LoginComponent = class LoginComponent {
773
- constructor() {
774
- this.loginDetailsProvided = new EventEmitter();
775
- }
776
- ngOnInit() {
777
- if (!this.loginData.header) {
778
- this.loginData.header = 'Login';
779
- }
780
- for (let field of this.loginData.fields) {
781
- if (!field.isInvalid) {
782
- field.isInvalid = false;
783
- }
784
- }
785
- }
786
- onLogin(loginForm) {
787
- for (const field of this.loginData.fields) {
788
- field.value = loginForm.value[field.name];
789
- }
790
- this.loginDetailsProvided.emit(this.loginData);
791
- }
792
- focusOutOfInput(loginForm, field) {
793
- if (!loginForm.controls[field.name].valid) {
794
- field.isInvalid = true;
795
- }
796
- }
797
- };
798
- __decorate([
799
- Input()
800
- ], LoginComponent.prototype, "loginData", void 0);
801
- __decorate([
802
- Output()
803
- ], LoginComponent.prototype, "loginDetailsProvided", void 0);
804
- LoginComponent = __decorate([
805
- Component({
806
- selector: 'amc-login',
807
- template: "<div class=\"login-container\">\r\n <form (ngSubmit)=\"onLogin(loginForm)\"class=\"login-form\" id=\"login-form\" #loginForm=\"ngForm\">\r\n <div class=\"header-container\">\r\n <label class=\"login-header\" attr.aria-label=\"login\">{{ loginData.header }}</label>\r\n </div>\r\n <div class=\"fields-container\">\r\n <div *ngFor=\"let field of loginData.fields\" class=\"field\">\r\n <label class=\"field-label\">\r\n {{ field.name }}:\r\n </label>\r\n\r\n <input\r\n ngModel\r\n class=\"field-input\"\r\n attr.aria-label=\"{{ field.name }}\"\r\n [name]=\"field.name\"\r\n [type]=\"field.type\"\r\n [value]=\"field.value\"\r\n [placeholder]=\"field.placeholder || ''\"\r\n [required]=\"field.isRequired || false\"\r\n (focusout)=\"focusOutOfInput(loginForm, field)\"/>\r\n\r\n <p class=\"invalid-input\" *ngIf=\"field.isInvalid\">{{ field.invalidMessage }}</p>\r\n </div>\r\n\r\n <button\r\n type=\"submit\"\r\n class=\"form-submit\"\r\n form=\"login-form\"\r\n tabindex=\"0\"\r\n attr.aria-label=\"send\"\r\n [disabled]=\"!loginForm.valid\">Login</button>\r\n </div>\r\n\r\n </form>\r\n</div>\r\n",
808
- styles: [".login-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;overflow-x:hidden;overflow-y:hidden}.header-container{border-bottom:1px solid #939598;background-color:#f4f5fb;width:100%;height:28px;position:sticky}.login-header{margin-top:auto;margin-left:7px;padding:5px;font-weight:700;font-size:.9em}.fields-container{overflow-y:auto;font-size:.9em;padding:5px}.field{display:table-row;margin:5px}.field-label{padding:10px;display:table-cell}.field-input{display:table-cell;border:1px solid #939598;border-radius:5px}.field-input:focus{box-shadow:0 0 5px #38badf}.form-submit{margin:15px 10px 10px;display:table-row;border:1px solid #00a4b0;border-radius:5px;background-color:#00a4b0;color:#f7f7f7;width:10em;height:2em;transition:.2s;font-size:1.1em;position:relative;top:50%;left:50%;transform:translate(-50%,-50%)}.form-submit:hover{background-color:#01858f}.form-submit:disabled{background-color:silver;border-color:silver;color:#fff}input.ng-invalid.ng-touched[required]{border-color:#a94442}.form-submit:focus{outline:#3296da solid 2px;outline-offset:5px}.invalid-input{margin:0;padding:0;color:#a94442;font-size:x-small}"]
809
- })
810
- ], LoginComponent);
811
-
812
- let CreateComponent = class CreateComponent {
813
- constructor() {
814
- this.CreateNewEntity = new EventEmitter();
815
- this.isCreateMaximized = true;
816
- }
817
- createNewEntity(type) {
818
- this.CreateNewEntity.emit(type);
819
- }
820
- getEntities() {
821
- return Object.keys(this.Entities);
822
- }
823
- getDisplay(entity) {
824
- return entity.substring(0, entity.indexOf('|'));
825
- }
826
- getImage(entity) {
827
- return entity.substring(entity.indexOf('|') + 1);
828
- }
829
- };
830
- __decorate([
831
- Output()
832
- ], CreateComponent.prototype, "CreateNewEntity", void 0);
833
- __decorate([
834
- Input()
835
- ], CreateComponent.prototype, "Entities", void 0);
836
- CreateComponent = __decorate([
837
- Component({
838
- selector: 'amc-create',
839
- template: "<div *ngIf=\"isCreateMaximized\" class=\"callDisplay\">\r\n <div class=\"editor callHeader\">\r\n <label class=\"headerLabel\">\r\n <b>Create New</b>\r\n </label>\r\n <img class=\"ViewResizeImage\" src=\"/assets/images/section_collapse.png\" (click)=\"isCreateMaximized = false\"\r\n title=\"Collapse\" />\r\n </div>\r\n <div class=\"callBody\">\r\n <div *ngIf=\"Entities\" class=\"container\">\r\n <div *ngFor=\"let entity of getEntities()\" class=\"createNewLabel\" (click)=\"createNewEntity(entity)\"\r\n title=\"{{ getDisplay(Entities[entity]) }}\">\r\n <img class=\"createEntityImages\" src=\"{{ getImage(Entities[entity]) }}\" />\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"!isCreateMaximized\" class=\"callDisplay\">\r\n <div class=\"editor callHeader\">\r\n <label class=\"headerLabel\">\r\n <b>Create New</b>\r\n </label>\r\n <img class=\"ViewResizeImage\" src=\"/assets/images/section_expand.png\" (click)=\"isCreateMaximized = true\"\r\n title=\"Expand\" />\r\n </div>\r\n</div>\r\n",
840
- styles: [".callHeader{background-color:#f4f5fb!important;width:100%!important;margin-top:0!important;border:1px solid #939598!important}.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}.createEntityImages{width:30px;height:25px;margin-bottom:5px;margin-top:5px;cursor:pointer;padding-left:5px}.createNewLabel{display:inline-block;margin-left:5%;margin-right:5%}.container{padding-right:0;padding-left:0;font-size:10px;text-align:center}.callBody{border:1px solid #939598;border-top:1px solid #939598;position:relative}.callDisplay{display:grid;background-color:#fff;display:grid}.ViewResizeImage{width:20px;height:20px;float:right;cursor:pointer}.headerLabel{margin-left:10px}"]
841
- })
842
- ], CreateComponent);
843
-
844
- let RecentActivityComponent = class RecentActivityComponent {
845
- constructor() {
846
- this.EventEmitter = new EventEmitter();
847
- this.debouncer = new Subject();
848
- this.eventList = new Set();
849
- }
850
- ngOnChanges() {
851
- }
852
- getIcon(scenario) {
853
- switch (scenario) {
854
- case 'Telephony':
855
- return '../../assets/images/Phone_Number_Icon.png';
856
- case 'Email':
857
- return '../../assets/images/emailTab.png';
858
- default:
859
- return '../../assets/images/chat.png';
860
- }
861
- }
862
- ngOnInit() {
863
- this.debouncer.pipe(debounceTime(500)).subscribe(() => {
864
- const newEvent = {
865
- eventName: Array.from(this.eventList).join('|'),
866
- idx: this.idx,
867
- newValue: this.ActivityDetails
868
- };
869
- this.EventEmitter.emit(newEvent);
870
- this.eventList.clear();
871
- });
872
- }
873
- ngOnDestroy() { }
874
- expandAndCollapseRecentActivity(isExpand) {
875
- if (isExpand) {
876
- this.EventEmitter.emit({
877
- eventName: 'WorkingEvtivityChanged',
878
- idx: this.idx,
879
- newValue: this.ActivityDetails
880
- });
881
- }
882
- else {
883
- this.EventEmitter.emit({
884
- eventName: 'WorkingEvtivityChanged',
885
- idx: -1,
886
- newValue: this.ActivityDetails
887
- });
888
- }
889
- }
890
- openActivity() {
891
- this.EventEmitter.emit({
892
- eventName: 'OpenCallActivity',
893
- idx: this.idx,
894
- newValue: this.ActivityDetails
895
- });
896
- }
897
- onSubjectChange() {
898
- this.eventList.add('ActivitySubjectChanged');
899
- this.debouncer.next();
900
- }
901
- onSubjectKeyUp() {
902
- this.eventList.add('ActivitySubjectChanged');
903
- this.debouncer.next();
904
- }
905
- onWhoObjectChange(event) {
906
- this.ActivityDetails.WhoObject = this.WhoObjectList.find((obj) => obj.objectId === event);
907
- this.EventEmitter.emit({
908
- eventName: 'ActivityWhoObjectChanged',
909
- idx: this.idx,
910
- newValue: this.ActivityDetails
911
- });
912
- }
913
- onRelatedToChange(event) {
914
- this.ActivityDetails.WhatObject = this.WhatObjectList.find((obj) => obj.objectId === event);
915
- this.EventEmitter.emit({
916
- eventName: 'ActivityWhatObjectChanged',
917
- idx: this.idx,
918
- newValue: this.ActivityDetails
919
- });
920
- }
921
- onCallNotesChange() {
922
- this.eventList.add('ActivityCallNoteChanged');
923
- this.debouncer.next();
924
- }
925
- onCallNotesKeyUp() {
926
- this.eventList.add('ActivityCallNoteChanged');
927
- this.debouncer.next();
928
- }
929
- addQuickCommentToDescription(comment) {
930
- if (this.ActivityDetails.Description) {
931
- this.ActivityDetails.Description += '\n';
932
- }
933
- this.ActivityDetails.Description += comment;
934
- this.eventList.add('ActivityCallNoteChanged');
935
- this.debouncer.next();
936
- }
937
- submitActivity() {
938
- this.ActivityDetails.IsProcessing = true;
939
- this.EventEmitter.emit({
940
- eventName: 'SubmitActivity',
941
- idx: this.idx,
942
- newValue: this.ActivityDetails
943
- });
944
- }
945
- };
946
- __decorate([
947
- Input()
948
- ], RecentActivityComponent.prototype, "ActivityDetails", void 0);
949
- __decorate([
950
- Input()
951
- ], RecentActivityComponent.prototype, "isInConsoleView", void 0);
952
- __decorate([
953
- Input()
954
- ], RecentActivityComponent.prototype, "quickCommentList", void 0);
955
- __decorate([
956
- Input()
957
- ], RecentActivityComponent.prototype, "workingScenarioID", void 0);
958
- __decorate([
959
- Input()
960
- ], RecentActivityComponent.prototype, "idx", void 0);
961
- __decorate([
962
- Input()
963
- ], RecentActivityComponent.prototype, "last", void 0);
964
- __decorate([
965
- Input()
966
- ], RecentActivityComponent.prototype, "WhoObjectList", void 0);
967
- __decorate([
968
- Input()
969
- ], RecentActivityComponent.prototype, "WhatObjectList", void 0);
970
- __decorate([
971
- Output()
972
- ], RecentActivityComponent.prototype, "EventEmitter", void 0);
973
- RecentActivityComponent = __decorate([
974
- Component({
975
- selector: 'amc-recent-activity',
976
- template: "<div *ngIf=\"ActivityDetails.ScenarioId === workingScenarioID\">\r\n <div (click)=\"expandAndCollapseRecentActivity(false);\" class=\"editor callHeaderRecentActivitySelected\">\r\n <label class=\"headerLabelClickableLook\">\r\n <img src=\"../../assets/images/Phone_Number_Icon.png\" class=\"RecentCallsImg\" />\r\n <b>{{ ActivityDetails.Subject }}</b>\r\n </label>\r\n <img *ngIf=\"ActivityDetails.ActivityId\" class=\"RecentCallsImgForActivity\" src=\"../../assets/images/open_activity.png\"\r\n title=\"Open Activity\" (click)=\"openActivity();$event.stopPropagation();\" />\r\n <label *ngIf=\"ActivityDetails.IsUnSaved && isInConsoleView\" class=\"unsavedText\">unsaved</label>\r\n </div>\r\n <div class=\"callBody\">\r\n <div class=\"gray-out\" *ngIf=\"ActivityDetails.IsRecentWorkItemLoading\">\r\n <div class=\"spinner-container\">\r\n <img class=\"spinner\" src=\"../../assets/images/view_progress.gif\" />\r\n </div>\r\n </div>\r\n <div class=\"activityFields\">\r\n <!-- <form> -->\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Subject\">Subject</label>\r\n <input class=\"activitySubjectTextBoxStyle displayData\" type=\"text\" (change)=\"onSubjectChange();\"\r\n (keyup)=\"onSubjectKeyUp()\" name=\"subject\" [(ngModel)]=\"ActivityDetails.Subject\" />\r\n </div>\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\"\r\n (ngModelChange)=\"onWhoObjectChange($event)\" name=\"whoItem\">\r\n <option *ngFor=\"let whoItem of WhoObjectList\" [ngValue]=\"whoItem.objectId\">\r\n {{(whoItem.displayName && whoItem.objectName) ? (whoItem.displayName + ': ' + whoItem.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=\"Regarding\">Related To</label>\r\n <select class=\"dropDownListStyle displayData\" [ngModel]=\"ActivityDetails.WhatObject.objectId\"\r\n (ngModelChange)=\"onRelatedToChange($event)\" 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 <div class=\"callNotesSection\">\r\n <div class=\"callNotesTextArea\">\r\n <textarea placeholder=\"Click to add a comment\" class=\"activityCommentsTextBoxStyle\"\r\n (change)=\"onCallNotesChange();\" (keyup)=\"onCallNotesKeyUp()\" name=\"description\" rows=\"5\" title=\"\"\r\n [(ngModel)]=\"ActivityDetails.Description\">\r\n </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;\" class=\"quickNotesBotton\"\r\n type=\"button\" value=\"{{i+1}}\" (click)=\"addQuickCommentToDescription(quickComment)\"\r\n title=\"{{quickComment}}\">\r\n </div>\r\n <div class=\"callNotesButtonsSection\">\r\n <input class=\"submitButton\" type=\"button\" value=\"Save\" (click)=\"submitActivity()\"\r\n [disabled]=\"!ActivityDetails.IsUnSaved\" />\r\n <!-- <input *ngIf=\"recentScenario.IsProcessing\" class=\"submitButton\" type=\"button\" value=\"Save\" (click)=\"submitActivity(idx)\" [disabled]=\"!recentScenario.IsUnSaved\"/> -->\r\n <img *ngIf=\"ActivityDetails.IsProcessing\" class=\"loadingIcon\" src=\"../../assets/images/loading.gif\"\r\n 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=\"ActivityDetails.ScenarioId !== workingScenarioID \">\r\n <div [class.callHeaderBottomBorder]='last' (click)=\"expandAndCollapseRecentActivity(true)\"\r\n class=\"editor callHeaderRecentActivityUnselected\">\r\n <label class=\"headerLabelClickableLook\">\r\n <img [src]=\"getIcon(ActivityDetails.ChannelType)\" class=\"RecentCallsImg\" />\r\n <b>{{ ActivityDetails.Subject }}</b>\r\n </label>\r\n <img *ngIf=\"ActivityDetails.ActivityId\" class=\"RecentCallsImgForActivity\" src=\"../../assets/images/open_activity.png\"\r\n title=\"Open Activity\" (click)=\"openActivity();$event.stopPropagation();\" />\r\n <label *ngIf=\"ActivityDetails.IsUnSaved && isInConsoleView\" class=\"unsavedText\">unsaved</label>\r\n </div>\r\n</div>\r\n\r\n",
977
- styles: [".callSection{margin-left:0;font-family:Arial;position:relative;margin-top:5px;background-color:#fff}.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}.quickCommentsDiv{text-align:left;flex:1 0 0;flex-wrap:wrap;display:flex;margin:2px}.unsavedText{float:right;margin-right:5px;color:gray;font-style:italic}.quickNotesBotton{background-color:#1e72ba;border:0;color:#fff;height:70%;width:20px;margin:2px;outline:0;font-size:70%}.submitButton{border:0;float:right;margin-top:2px;outline:0;cursor:pointer;background-color:#6cb047;color:#fff;border-radius:4px;font-size:98%;margin-bottom:2px}.commentsButtonDiv{width:100%;display:flex;align-items:center;background-color:#f6f7fb}.gray-out{top:0;left:0;position:absolute;z-index:2000;background:#fff;opacity:.7;width:100%;height:100%}.spinner-container{position:relative;width:-moz-fit-content;width:fit-content;top:50%;left:50%;transform:translate(-50%,-50%)}.spinner{height:80px;width:80px;border:0;position:relative;left:50%;transform:translate(-50%,0)}.callNotesButtonsSection{text-align:right;padding-right:4px}.ViewResizeImage{width:20px;height:20px;float:right;cursor:pointer}.callBody{border:1px solid #939598;border-top:1px solid #fff;position:relative}.callBodyBorderless{position:relative}.callDisplay{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:5px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.dropDownListStyle{border:1px solid #939598!important;border-radius:3px!important;width:70%!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:70%!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{color:#333!important;text-align:left!important;margin:0;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;resize:none;width:100%;height:100%;border:none}.displayDiv{width:100%;display:flex}.displayLabels{margin-left:5px;width:25%;overflow:hidden;text-overflow:ellipsis}.displayData{width:70%}.headerLabel{margin-left:10px}.activityFields{position:relative;z-index:0}.callNotesTextArea{background-color:#fff;border-bottom:1px solid #939598;border-top:1px solid #939598;border-top-left-radius:3px!important;border-top-right-radius:3px!important}.callNotesSection{float:left;height:100%;width:100%;background-color:#f6f7fb}.callHeaderRecentActivitySelected{cursor:pointer;border-left:1px solid #939598!important;border-right:1px solid #939598!important;background-color:#cfecf2!important;width:100%!important;margin-top:0!important}.callHeaderRecentActivityUnselected{cursor:pointer;border-left:1px solid #939598!important;border-right:1px solid #939598!important;background-color:#e6f4f7!important;width:100%!important;margin-top:0!important}.callHeader{border:1px solid #939598!important;background-color:#f4f5fb!important;width:100%!important;margin-top:0!important}.callHeaderBottomBorder{cursor:pointer;border-bottom:1px solid #939598!important;border-left:1px solid #939598!important;border-right:1px solid #939598!important;background-color:#e6f4f7!important;width:100%!important;margin-top:0!important}.RecentCallsImg{height:15px;vertical-align:text-bottom}.RecentCallsImgForActivity{height:15px;vertical-align:super;margin-right:5px}.headerLabelClickableLook{cursor:pointer;display:inline-block;margin-left:10px;max-width:80%;overflow:hidden;text-overflow:ellipsis}.loadingIcon{margin-left:auto;margin-right:5px;height:10px;width:30px;margin-top:5px;padding-bottom:0}input[type=button]:disabled{background-color:#d3d3d3;cursor:auto}"]
978
- })
979
- ], RecentActivityComponent);
980
-
981
- let CurrentActivityComponent = class CurrentActivityComponent {
982
- constructor() {
983
- this.isActivityMaximized = true;
984
- this.EventEmitter = new EventEmitter();
985
- this.debouncer = new Subject();
986
- this.eventList = new Set();
987
- }
988
- ngOnInit() {
989
- return __awaiter(this, void 0, void 0, function* () {
990
- this.debouncer.pipe(debounceTime(500)).subscribe(() => {
991
- const newEvent = {
992
- eventName: Array.from(this.eventList).join('|'),
993
- newValue: this.ActivityDetails
994
- };
995
- this.EventEmitter.emit(newEvent);
996
- this.eventList.clear();
997
- });
998
- });
999
- }
1000
- submitActivity() {
1001
- try {
1002
- this.ActivityDetails.IsProcessing = true;
1003
- this.EventEmitter.emit({
1004
- eventName: 'SubmitActivity',
1005
- newValue: this.ActivityDetails
1006
- });
1007
- }
1008
- catch (error) { }
1009
- }
1010
- triggerDiscardActivity() {
1011
- try {
1012
- this.EventEmitter.emit({
1013
- eventName: 'TriggerDiscardActivity',
1014
- newValue: this.ActivityDetails
1015
- });
1016
- }
1017
- catch (error) { }
1018
- }
1019
- onNameChange(event) {
1020
- try {
1021
- this.ActivityDetails.WhoObject = this.WhoObjectList.find((obj) => obj.objectId === event);
1022
- this.EventEmitter.emit({
1023
- eventName: 'ActivityWhoObjectChanged',
1024
- newValue: this.ActivityDetails
1025
- });
1026
- }
1027
- catch (error) { }
1028
- }
1029
- onRelatedToChange(event) {
1030
- try {
1031
- this.ActivityDetails.WhatObject = this.WhatObjectList.find((obj) => obj.objectId === event);
1032
- this.EventEmitter.emit({
1033
- eventName: 'ActivityWhatObjectChanged',
1034
- newValue: this.ActivityDetails
1035
- });
1036
- }
1037
- catch (error) { }
1038
- }
1039
- onSubjectChange() {
1040
- try {
1041
- this.eventList.add('ActivitySubjectChanged');
1042
- this.debouncer.next();
1043
- }
1044
- catch (error) { }
1045
- }
1046
- onSubjectKeyUp() {
1047
- try {
1048
- this.eventList.add('ActivitySubjectChanged');
1049
- this.debouncer.next();
1050
- }
1051
- catch (error) { }
1052
- }
1053
- onCallNotesChange() {
1054
- try {
1055
- this.eventList.add('ActivityCallNoteChanged');
1056
- this.debouncer.next();
1057
- }
1058
- catch (error) { }
1059
- }
1060
- onCallNotesKeyUp() {
1061
- try {
1062
- this.eventList.add('ActivityCallNoteChanged');
1063
- this.debouncer.next();
1064
- }
1065
- catch (error) { }
1066
- }
1067
- addQuickCommentToDescription(comment) {
1068
- try {
1069
- let descriptionToSet = comment;
1070
- if (this.quickCommentOptionRequiredCadArray[comment]) {
1071
- let cadFields = {};
1072
- if (this.ActivityDetails) {
1073
- cadFields = this.scenarioToCADMap[this.ActivityDetails.ScenarioId];
1074
- }
1075
- for (let i = 0; i < this.quickCommentOptionRequiredCadArray[comment].length; i++) {
1076
- let keyToCheckIfCADExists = this.quickCommentOptionRequiredCadArray[comment][i];
1077
- const stringToBeReplaced = this.quickCommentOptionRequiredCadArray[comment][i];
1078
- keyToCheckIfCADExists = keyToCheckIfCADExists.replace('{{', '');
1079
- keyToCheckIfCADExists = keyToCheckIfCADExists.replace('}}', '');
1080
- if (cadFields[keyToCheckIfCADExists]) {
1081
- descriptionToSet = descriptionToSet.replace(stringToBeReplaced, cadFields[keyToCheckIfCADExists].Value);
1082
- }
1083
- }
1084
- }
1085
- if (this.ActivityDetails.Description) {
1086
- this.ActivityDetails.Description += '\n';
1087
- }
1088
- this.ActivityDetails.Description += descriptionToSet;
1089
- this.eventList.add('ActivityCallNoteChanged');
1090
- this.debouncer.next();
1091
- }
1092
- catch (error) { }
1093
- }
1094
- parseWhoObject(whoObject) {
1095
- try {
1096
- return whoObject.displayName + ': ' + whoObject.objectName;
1097
- }
1098
- catch (error) { }
1099
- }
1100
- parseWhatObject(whatObject) {
1101
- try {
1102
- return whatObject.displayName + ': ' + whatObject.objectName;
1103
- }
1104
- catch (error) { }
1105
- }
1106
- };
1107
- __decorate([
1108
- Input()
1109
- ], CurrentActivityComponent.prototype, "ActivityDetails", void 0);
1110
- __decorate([
1111
- Input()
1112
- ], CurrentActivityComponent.prototype, "quickCommentList", void 0);
1113
- __decorate([
1114
- Input()
1115
- ], CurrentActivityComponent.prototype, "isAutoSave", void 0);
1116
- __decorate([
1117
- Input()
1118
- ], CurrentActivityComponent.prototype, "enableDiscard", void 0);
1119
- __decorate([
1120
- Input()
1121
- ], CurrentActivityComponent.prototype, "autoSaveTimer", void 0);
1122
- __decorate([
1123
- Input()
1124
- ], CurrentActivityComponent.prototype, "quickCommentOptionRequiredCadArray", void 0);
1125
- __decorate([
1126
- Input()
1127
- ], CurrentActivityComponent.prototype, "WhoObjectList", void 0);
1128
- __decorate([
1129
- Input()
1130
- ], CurrentActivityComponent.prototype, "WhatObjectList", void 0);
1131
- __decorate([
1132
- Input()
1133
- ], CurrentActivityComponent.prototype, "scenarioToCADMap", void 0);
1134
- __decorate([
1135
- Output()
1136
- ], CurrentActivityComponent.prototype, "EventEmitter", void 0);
1137
- CurrentActivityComponent = __decorate([
1138
- Component({
1139
- selector: 'amc-current-activity',
1140
- 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",
1141
- 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:0;font-size:70%}.submitButton{border:0;float:right;margin-top:2px;outline:0;cursor:pointer;background-color:#6cb047;color:#fff;border-radius:4px;font-size:98%;margin-bottom:2px}.callBody{border:1px solid #939598;border-top:1px solid #939598;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;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;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}"]
1142
- })
1143
- ], CurrentActivityComponent);
1144
-
1145
- let SearchInformationComponent = class SearchInformationComponent {
1146
- constructor() {
1147
- this.isSearchInformationMaximized = true;
1148
- this.singleMatchData = null;
1149
- this.multiMatchData = [];
1150
- this.agentSelectedCallerInformation = new EventEmitter();
1151
- }
1152
- ngOnChanges() {
1153
- this.renderData();
1154
- }
1155
- renderData() {
1156
- try {
1157
- this.singleMatchData = null;
1158
- this.multiMatchData = [];
1159
- this.shouldShowAllMultiMatchOptions = false;
1160
- if (this.searchRecordList.length === 1) {
1161
- this.singleMatchData = this.parseSearchRecordForNameSingleMatch(this.searchRecordList[0]);
1162
- }
1163
- else if (this.searchRecordList.length > 1) {
1164
- for (let i = 0; i < this.searchRecordList.length; i++) {
1165
- this.multiMatchData.push(this.parseSearchRecordForNameMultiMatch(this.searchRecordList[i]));
1166
- }
1167
- }
1168
- }
1169
- catch (error) { }
1170
- }
1171
- onAgentSelectedCallerInformation(event) {
1172
- try {
1173
- this.agentSelectedCallerInformation.emit({
1174
- id: event.target.id,
1175
- value: event.target.value
1176
- });
1177
- }
1178
- catch (error) { }
1179
- }
1180
- parseSearchRecordForNameSingleMatch(searchRecord) {
1181
- const results = [];
1182
- try {
1183
- const src = this.getEntityImgToDisplay(searchRecord);
1184
- this.singleMatchIconSrc = src;
1185
- const sLayoutInfo = this.getSearchLayoutInfoForDisplay(searchRecord);
1186
- for (let j = 0; j < sLayoutInfo.DisplayFields.length; j++) {
1187
- if (sLayoutInfo.DisplayFields && sLayoutInfo.DisplayFields[j].DevName) {
1188
- const nameKey = sLayoutInfo.DisplayFields[j].DevName;
1189
- const keys = Object.keys(searchRecord.fields);
1190
- for (let i = 0; i < keys.length; i++) {
1191
- if (searchRecord.fields[keys[i]] &&
1192
- searchRecord.fields[keys[i]].DevName === nameKey) {
1193
- let displayRecord = searchRecord.fields[keys[i]].Value;
1194
- if (j === 0) {
1195
- displayRecord = searchRecord.displayName
1196
- ? [searchRecord.displayName, displayRecord]
1197
- : [searchRecord.type, displayRecord];
1198
- }
1199
- else {
1200
- displayRecord = sLayoutInfo.DisplayFields[j].DisplayName
1201
- ? [sLayoutInfo.DisplayFields[j].DisplayName, displayRecord]
1202
- : [sLayoutInfo.DisplayFields[j].DevName, displayRecord];
1203
- }
1204
- results.push(displayRecord);
1205
- }
1206
- }
1207
- }
1208
- }
1209
- }
1210
- catch (error) { }
1211
- return results;
1212
- }
1213
- parseSearchRecordForNameMultiMatch(searchRecord) {
1214
- const results = [];
1215
- try {
1216
- const src = this.getEntityImgToDisplay(searchRecord);
1217
- const sLayoutInfo = this.getSearchLayoutInfoForDisplay(searchRecord);
1218
- for (let j = 0; j < sLayoutInfo.DisplayFields.length; j++) {
1219
- if (sLayoutInfo.DisplayFields && sLayoutInfo.DisplayFields[j].DevName) {
1220
- const nameKey = sLayoutInfo.DisplayFields[j].DevName;
1221
- const keys = Object.keys(searchRecord.fields);
1222
- for (let i = 0; i < keys.length; i++) {
1223
- if (searchRecord.fields[keys[i]] &&
1224
- searchRecord.fields[keys[i]].DevName === nameKey) {
1225
- let displayRecord = searchRecord.fields[keys[i]].Value;
1226
- if (j === 0) {
1227
- displayRecord = searchRecord.displayName
1228
- ? [searchRecord.displayName, displayRecord]
1229
- : [searchRecord.type, displayRecord];
1230
- }
1231
- else {
1232
- displayRecord = sLayoutInfo.DisplayFields[j].DisplayName
1233
- ? [sLayoutInfo.DisplayFields[j].DisplayName, displayRecord]
1234
- : [sLayoutInfo.DisplayFields[j].DevName, displayRecord];
1235
- }
1236
- displayRecord.push(src);
1237
- results.push(displayRecord);
1238
- return results;
1239
- }
1240
- }
1241
- }
1242
- }
1243
- }
1244
- catch (error) { }
1245
- return results;
1246
- }
1247
- getEntityImgToDisplay(searchRecord) {
1248
- let src = '';
1249
- try {
1250
- if (searchRecord.type) {
1251
- if (searchRecord.type.toUpperCase() === 'CONTACT') {
1252
- src = '../../assets/images/Icon_Contact.png';
1253
- }
1254
- else if (searchRecord.type.toUpperCase() === 'ACCOUNT') {
1255
- src = '../../assets/images/Icon_Account.png';
1256
- }
1257
- else if (searchRecord.type.toUpperCase() === 'LEAD') {
1258
- src = '../../assets/images/Icon_Lead.png';
1259
- }
1260
- else {
1261
- src = '../../assets/images/Miscellaneous_Icon.png';
1262
- }
1263
- }
1264
- }
1265
- catch (error) { }
1266
- return src;
1267
- }
1268
- getSearchLayoutInfoForDisplay(searchRecord) {
1269
- let layoutInfo;
1270
- try {
1271
- layoutInfo = this.searchLayout.layouts[0][this.ActivityDetails.CallType].find((i) => i.DevName === searchRecord.type);
1272
- }
1273
- catch (error) { }
1274
- return layoutInfo;
1275
- }
1276
- };
1277
- __decorate([
1278
- Input()
1279
- ], SearchInformationComponent.prototype, "ActivityDetails", void 0);
1280
- __decorate([
1281
- Input()
1282
- ], SearchInformationComponent.prototype, "searchLayout", void 0);
1283
- __decorate([
1284
- Input()
1285
- ], SearchInformationComponent.prototype, "searchRecordList", void 0);
1286
- __decorate([
1287
- Output()
1288
- ], SearchInformationComponent.prototype, "agentSelectedCallerInformation", void 0);
1289
- SearchInformationComponent = __decorate([
1290
- Component({
1291
- selector: 'amc-search-information',
1292
- template: "<div class=\"callDisplay\">\r\n <div class=\"editor callHeader\">\r\n <label class=\"headerLabel\">\r\n <b>Caller Information</b>\r\n </label>\r\n <img\r\n title=\"Multiple Matches Available\"\r\n *ngIf=\"this.searchRecordList.length > 1\"\r\n src=\"../../assets/images/MultiMatchAlert.png\"\r\n class=\"multiMatchImg\"\r\n />\r\n <img\r\n *ngIf=\"isSearchInformationMaximized\"\r\n class=\"ViewResizeImage\"\r\n src=\"assets/images/section_collapse.png\"\r\n (click)=\"isSearchInformationMaximized = false\"\r\n title=\"Collapse\"\r\n />\r\n <img\r\n *ngIf=\"!isSearchInformationMaximized\"\r\n class=\"ViewResizeImage\"\r\n src=\"assets/images/section_expand.png\"\r\n (click)=\"isSearchInformationMaximized = true\"\r\n title=\"Expand\"\r\n />\r\n </div>\r\n <div class=\"callBody\" *ngIf=\"isSearchInformationMaximized\">\r\n <div *ngIf=\"this.searchRecordList.length > 1\">\r\n <span class=\"overflowWrapper\">\r\n <img\r\n class=\"CRMResultImageMultiMatch\"\r\n src=\"{{ this.multiMatchData[0][0][2] }}\"\r\n />\r\n <input\r\n id=\"{{ this.searchRecordList[0].id }}\"\r\n name=\"{{ this.multiMatchData[0][0][1] }}\"\r\n (click)=\"onAgentSelectedCallerInformation($event)\"\r\n readonly\r\n class=\"multiMatchLabel\"\r\n title=\"{{ this.multiMatchData[0][0][1] }}\"\r\n type=\"text\"\r\n value=\"{{ this.multiMatchData[0][0][1] }}\"\r\n />\r\n <span style=\"float: right; margin-right: 4%;\">\r\n <img\r\n *ngIf=\"!this.shouldShowAllMultiMatchOptions\"\r\n class=\"CRMExpandImage\"\r\n src=\"../../assets/images/down-arrow.png\"\r\n (click)=\"shouldShowAllMultiMatchOptions = true\"\r\n />\r\n <img\r\n *ngIf=\"this.shouldShowAllMultiMatchOptions\"\r\n class=\"CRMExpandImage\"\r\n src=\"../../assets/images/up-arrow.png\"\r\n (click)=\"shouldShowAllMultiMatchOptions = false\"\r\n />\r\n </span>\r\n </span>\r\n <div *ngIf=\"this.shouldShowAllMultiMatchOptions\">\r\n <div *ngFor=\"let i of this.multiMatchData | slice: 1; let index = index\">\r\n <span\r\n class=\"overflowWrapper\"\r\n >\r\n <img class=\"CRMResultImageMultiMatch\" src=\"{{ i[0][2] }}\" />\r\n <input\r\n id=\"{{ this.searchRecordList[index + 1].id }}\"\r\n name=\"{{ i[0][1] }}\"\r\n readonly\r\n class=\"multiMatchLabel\"\r\n (click)=\"onAgentSelectedCallerInformation($event)\"\r\n title=\"{{ i[0][1] }}\"\r\n type=\"text\"\r\n value=\"{{ i[0][1] }}\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Below is the HTML loaded on Single Match -->\r\n <div *ngIf=\"this.searchRecordList.length === 1\">\r\n <div\r\n class=\"editorFull displayDiv\"\r\n *ngFor=\"\r\n let i of this.singleMatchData | slice: 0:1;\r\n let index = index;\r\n let first = first\r\n \"\r\n >\r\n <span class=\"overflowWrapper\">\r\n <img\r\n id=\"EntityIcon\"\r\n src=\"{{ this.singleMatchIconSrc }}\"\r\n class=\"CRMResultImage\"\r\n />\r\n <input\r\n class=\"singleSearchResultSelect singleMatchFirstWrapper \"\r\n id=\"{{ this.searchRecordList[0].id }}\"\r\n [class.firstSingleMatchResult]=\"first\"\r\n value=\"{{ i[1] }}\"\r\n title=\"{{ i[1] }}\"\r\n (click)=\"onAgentSelectedCallerInformation($event)\"\r\n readonly\r\n />\r\n </span>\r\n </div>\r\n <div\r\n class=\"editorFull displayDiv\"\r\n *ngFor=\"\r\n let i of this.singleMatchData | slice: 1;\r\n let index = index;\r\n let first = first\r\n \"\r\n >\r\n <span class=\"overflowWrapper\">\r\n <label title=\"{{ i[0] }}\" class=\"displayLabelsTabbed\">{{\r\n i[0]\r\n }}</label>\r\n <input\r\n class=\"singleSearchResultSelect singleMatchTabbedItemsWrapper singleMatchLabel\"\r\n id=\"{{ this.searchRecordList[0].id }}\"\r\n value=\"{{ i[1] }}\"\r\n title=\"{{ i[1] }}\"\r\n readonly\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
1293
- styles: [".callHeader{background-color:#f4f5fb!important;width:100%!important;margin-top:0!important;border:1px solid #939598!important}.displayDiv{width:100%;display:flex}.multiMatchImg{height:18px;margin-left:5px}.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}.editorFull{font-size:.9em;width:100%;text-align:left;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}.CRMResultImage{width:18px;height:18px;margin-right:-5px;margin-top:-5px;margin-left:5px}.CRMResultImageMultiMatch{width:18px;height:18px;margin-right:2px;margin-left:5px;margin-top:-5px}.CRMExpandImage{width:6px;height:6px;cursor:pointer;margin-bottom:2px}.callBody{border:1px solid #939598;border-top:1px solid #939598;position:relative}.callDisplay{margin-bottom:8px;display:grid;background-color:#fff;display:grid}.multipleSearchResultSelect{border:1px solid #939598!important;border-radius:3px!important;width:96%!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:5px 0 5px 6px;cursor:pointer}.overflowWrapper{width:100%;overflow-x:hidden;overflow-y:hidden}.singleSearchResultSelect{border:0 solid #939598!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:0;outline:0}.wrapper{width:79%!important}.singleMatchFirstWrapper{cursor:pointer;border:0;outline:0;overflow:hidden;text-overflow:ellipsis;display:inline-block;width:calc(100% - 30px)}.singleMatchTabbedItemsWrapper{width:70%}.displayLabels{margin-left:5px;width:calc(20% + 5px);font-weight:400;margin-bottom:0;margin-top:0;outline:0;overflow:hidden;max-width:100px;vertical-align:middle}.displayLabelsMultiMatch{margin-left:5px;width:calc(20% + 5px);font-weight:400;margin-bottom:0;margin-top:0;outline:0}.displayLabelsTabbed{margin-left:5px;width:35%;font-weight:400;margin-bottom:0;margin-top:0;outline:0;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.matchedRecordsMargin{margin-top:1%}.ViewResizeImage{width:20px;height:20px;float:right;cursor:pointer}.headerLabel{margin-left:10px}.firstSingleMatchResult{font-weight:700;border:0 solid #939598!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:0 0 0 5px;outline:0}.multiMatchLabel{border:0;cursor:pointer;outline:0;overflow:hidden;text-overflow:ellipsis;display:inline-block;width:calc(95% - 45px)}.singleMatchLabel{border:0;outline:0;overflow:hidden;text-overflow:ellipsis;display:inline-block;width:calc(65% - 13px)}"]
1294
- })
1295
- ], SearchInformationComponent);
1296
-
1297
- let UILibraryModule = class UILibraryModule {
1298
- constructor(injector) {
1299
- this.injector = injector;
1300
- }
1301
- ngDoBootstrap(app) {
1302
- if (!customElements.get('amc-webcomponents-scenario')) {
1303
- const strategyFactory = new ElementZoneStrategyFactory(ScenarioComponent, this.injector);
1304
- customElements.define('amc-webcomponents-scenario', createCustomElement(ScenarioComponent, {
1305
- injector: this.injector,
1306
- strategyFactory: strategyFactory
1307
- }));
1308
- }
1309
- if (!customElements.get('amc-webcomponents-disposition')) {
1310
- const strategyFactory = new ElementZoneStrategyFactory(DispositionComponent, this.injector);
1311
- customElements.define('amc-webcomponents-disposition', createCustomElement(DispositionComponent, {
1312
- injector: this.injector,
1313
- strategyFactory: strategyFactory
1314
- }));
1315
- }
1316
- if (!customElements.get('amc-webcomponents-login')) {
1317
- const strategyFactory = new ElementZoneStrategyFactory(LoginComponent, this.injector);
1318
- customElements.define('amc-webcomponents-login', createCustomElement(LoginComponent, {
1319
- injector: this.injector,
1320
- strategyFactory: strategyFactory
1321
- }));
1322
- }
1323
- }
1324
- };
1325
- UILibraryModule.ctorParameters = () => [
1326
- { type: Injector }
1327
- ];
1328
- UILibraryModule = __decorate([
1329
- NgModule({
1330
- imports: [BrowserModule, CommonModule, FormsModule, MatTabsModule],
1331
- declarations: [
1332
- InteractionComponent,
1333
- ScenarioComponent,
1334
- OperationComponent,
1335
- PropertyComponent,
1336
- HoldtimerComponent,
1337
- DurationComponent,
1338
- ChatBoxComponent,
1339
- ChatMessageComponent,
1340
- DispositionComponent,
1341
- ActivityComponent,
1342
- LoginComponent,
1343
- CreateComponent,
1344
- RecentActivityComponent,
1345
- CurrentActivityComponent,
1346
- SearchInformationComponent
1347
- ],
1348
- providers: [],
1349
- entryComponents: [ScenarioComponent, DispositionComponent, LoginComponent, CreateComponent, RecentActivityComponent, CurrentActivityComponent, SearchInformationComponent],
1350
- bootstrap: [],
1351
- exports: [ScenarioComponent, DispositionComponent, LoginComponent, CreateComponent, RecentActivityComponent, CurrentActivityComponent, SearchInformationComponent]
1352
- })
1353
- ], UILibraryModule);
1354
-
1355
- /**
1356
- * Generated bundle index. Do not edit.
1357
- */
1358
-
1359
- export { IChatMessageType, Property, UILibraryModule, ValueType, InteractionComponent as ɵa, ScenarioComponent as ɵb, OperationComponent as ɵc, PropertyComponent as ɵd, HoldtimerComponent as ɵe, DurationComponent as ɵf, ChatBoxComponent as ɵg, ChatMessageComponent as ɵh, DispositionComponent as ɵi, ActivityComponent as ɵj, LoginComponent as ɵk, CreateComponent as ɵl, RecentActivityComponent as ɵm, CurrentActivityComponent as ɵn, SearchInformationComponent as ɵo };
1360
- //# sourceMappingURL=amc-technology-ui-library.js.map