@amc-technology/ui-library 1.0.97 → 1.0.99

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 (50) hide show
  1. package/amc-technology-ui-library.d.ts +4 -0
  2. package/amc-technology-ui-library.metadata.json +1 -1
  3. package/bundles/amc-technology-ui-library.umd.js +529 -20
  4. package/bundles/amc-technology-ui-library.umd.js.map +1 -1
  5. package/bundles/amc-technology-ui-library.umd.min.js +2 -2
  6. package/bundles/amc-technology-ui-library.umd.min.js.map +1 -1
  7. package/esm2015/amc-technology-ui-library.js +5 -1
  8. package/esm2015/projects/UILibrary/src/app/components/chat-box/chat-box.component.js +5 -7
  9. package/esm2015/projects/UILibrary/src/app/components/create/create.component.js +35 -0
  10. package/esm2015/projects/UILibrary/src/app/components/current-activity/current-activity.component.js +169 -0
  11. package/esm2015/projects/UILibrary/src/app/components/disposition/disposition.component.js +1 -1
  12. package/esm2015/projects/UILibrary/src/app/components/interaction/interaction.component.js +13 -3
  13. package/esm2015/projects/UILibrary/src/app/components/login/login.component.js +2 -4
  14. package/esm2015/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.js +142 -0
  15. package/esm2015/projects/UILibrary/src/app/components/search-information/search-information.component.js +155 -0
  16. package/esm2015/projects/UILibrary/src/app/models/IActivity.js +1 -0
  17. package/esm2015/projects/UILibrary/src/app/models/IActivityDetails.js +1 -0
  18. package/esm2015/projects/UILibrary/src/app/models/IHoldActivityDetails.js +1 -0
  19. package/esm2015/projects/UILibrary/src/app/models/IInteractionActivityDetails.js +1 -0
  20. package/esm2015/projects/UILibrary/src/app/uilibrary.module.js +15 -5
  21. package/esm5/amc-technology-ui-library.js +5 -1
  22. package/esm5/projects/UILibrary/src/app/components/chat-box/chat-box.component.js +5 -7
  23. package/esm5/projects/UILibrary/src/app/components/create/create.component.js +36 -0
  24. package/esm5/projects/UILibrary/src/app/components/current-activity/current-activity.component.js +174 -0
  25. package/esm5/projects/UILibrary/src/app/components/disposition/disposition.component.js +1 -1
  26. package/esm5/projects/UILibrary/src/app/components/interaction/interaction.component.js +13 -3
  27. package/esm5/projects/UILibrary/src/app/components/login/login.component.js +2 -4
  28. package/esm5/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.js +144 -0
  29. package/esm5/projects/UILibrary/src/app/components/search-information/search-information.component.js +156 -0
  30. package/esm5/projects/UILibrary/src/app/models/IActivity.js +1 -0
  31. package/esm5/projects/UILibrary/src/app/models/IActivityDetails.js +1 -0
  32. package/esm5/projects/UILibrary/src/app/models/IHoldActivityDetails.js +1 -0
  33. package/esm5/projects/UILibrary/src/app/models/IInteractionActivityDetails.js +1 -0
  34. package/esm5/projects/UILibrary/src/app/uilibrary.module.js +15 -5
  35. package/fesm2015/amc-technology-ui-library.js +517 -18
  36. package/fesm2015/amc-technology-ui-library.js.map +1 -1
  37. package/fesm5/amc-technology-ui-library.js +526 -18
  38. package/fesm5/amc-technology-ui-library.js.map +1 -1
  39. package/package.json +6 -1
  40. package/projects/UILibrary/src/app/components/chat-box/chat-box.component.d.ts +0 -2
  41. package/projects/UILibrary/src/app/components/create/create.component.d.ts +11 -0
  42. package/projects/UILibrary/src/app/components/current-activity/current-activity.component.d.ts +34 -0
  43. package/projects/UILibrary/src/app/components/interaction/interaction.component.d.ts +1 -0
  44. package/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.d.ts +35 -0
  45. package/projects/UILibrary/src/app/components/search-information/search-information.component.d.ts +26 -0
  46. package/projects/UILibrary/src/app/models/IActivity.d.ts +36 -0
  47. package/projects/UILibrary/src/app/models/IActivityDetails.d.ts +7 -0
  48. package/projects/UILibrary/src/app/models/IHoldActivityDetails.d.ts +10 -0
  49. package/projects/UILibrary/src/app/models/IInteractionActivityDetails.d.ts +9 -0
  50. package/webcomponents/webcomponents.js +2 -2
@@ -1,10 +1,13 @@
1
- import { __decorate, __values } from 'tslib';
1
+ import { __decorate, __values, __awaiter, __generator } from 'tslib';
2
2
  import { EventEmitter, Input, Output, Component, Renderer2, ViewChild, Injector, NgModule } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import { FormsModule } from '@angular/forms';
5
5
  import { createCustomElement } from '@angular/elements';
6
6
  import { BrowserModule } from '@angular/platform-browser';
7
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';
8
11
 
9
12
  /**
10
13
  * @ignore
@@ -66,6 +69,16 @@ var InteractionComponent = /** @class */ (function () {
66
69
  this.maximize();
67
70
  }
68
71
  };
72
+ InteractionComponent.prototype.clickEvent = function (id) {
73
+ document.getElementById(id).className = 'success';
74
+ if (localStorage.getItem('focusedPanel') === null) {
75
+ localStorage.setItem('focusedPanel', id);
76
+ }
77
+ else if (localStorage.getItem('focusedPanel') != id) {
78
+ document.getElementById(localStorage.getItem('focusedPanel')).className = 'AnswerCallFocused';
79
+ localStorage.setItem('focusedPanel', id);
80
+ }
81
+ };
69
82
  __decorate([
70
83
  Input()
71
84
  ], InteractionComponent.prototype, "interaction", void 0);
@@ -84,8 +97,8 @@ var InteractionComponent = /** @class */ (function () {
84
97
  InteractionComponent = __decorate([
85
98
  Component({
86
99
  selector: 'amc-interaction',
87
- template: "<div class=\"AnswerCallFocused\">\r\n <div class=\"editor callHeaderTop\">\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",
88
- 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}", "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}"]
100
+ 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",
101
+ 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}"]
89
102
  })
90
103
  ], InteractionComponent);
91
104
  return InteractionComponent;
@@ -474,8 +487,6 @@ var ChatBoxComponent = /** @class */ (function () {
474
487
  this.renderer = renderer;
475
488
  this.isTyping = false;
476
489
  this.lastCount = -1;
477
- this.lastScrollTop = 0;
478
- this.newMessageSent = false;
479
490
  this._isAgentTyping = false;
480
491
  this.isAgentTyping = new EventEmitter();
481
492
  this.newMessage = new EventEmitter();
@@ -512,11 +523,13 @@ var ChatBoxComponent = /** @class */ (function () {
512
523
  }
513
524
  catch (e) { }
514
525
  finally {
526
+ this.scrollToBottom();
515
527
  }
516
528
  };
517
529
  ChatBoxComponent.prototype.ngAfterViewChecked = function () {
518
530
  if (this.lastCount !== this.messages.length) {
519
531
  this.lastCount = this.messages.length;
532
+ this.scrollToBottom();
520
533
  }
521
534
  };
522
535
  ChatBoxComponent.prototype.getColor = function (message) {
@@ -538,8 +551,6 @@ var ChatBoxComponent = /** @class */ (function () {
538
551
  return message.type && message.type === IChatMessageType.AGENT;
539
552
  };
540
553
  ChatBoxComponent.prototype.sendNewMessage = function (event) {
541
- this.scrollToBottom();
542
- this.newMessageSent = true;
543
554
  event.preventDefault();
544
555
  if (this.newMessageText) {
545
556
  this.newMessage.emit(this.newMessageText);
@@ -600,8 +611,8 @@ var ChatBoxComponent = /** @class */ (function () {
600
611
  ChatBoxComponent = __decorate([
601
612
  Component({
602
613
  selector: 'app-chat-box',
603
- template: "<div class=\"chat-box\">\r\n <div #MessagesContainer id=\"msgScroll\" class=\"messages\" [style.max-height]='settings.maxHeight'>\r\n <div>\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 </div>\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",
604
- 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;display:flex;flex-direction:column-reverse;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){-webkit-animation:1.5s .33333s infinite blink;animation:1.5s .33333s infinite blink}.typing-indicator span:nth-of-type(2){-webkit-animation:1.5s .66666s infinite blink;animation:1.5s .66666s infinite blink}.typing-indicator span:nth-of-type(3){-webkit-animation:1.5s .99999s infinite blink;animation:1.5s .99999s infinite blink}@-webkit-keyframes blink{50%{opacity:1}}@keyframes blink{50%{opacity:1}}"]
614
+ 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",
615
+ 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}}"]
605
616
  })
606
617
  ], ChatBoxComponent);
607
618
  return ChatBoxComponent;
@@ -701,7 +712,7 @@ var DispositionComponent = /** @class */ (function () {
701
712
  Component({
702
713
  selector: 'amc-disposition',
703
714
  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",
704
- 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:-webkit-sticky;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}"]
715
+ 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}"]
705
716
  })
706
717
  ], DispositionComponent);
707
718
  return DispositionComponent;
@@ -834,8 +845,6 @@ var LoginComponent = /** @class */ (function () {
834
845
  if (!loginForm.controls[field.name].valid) {
835
846
  field.isInvalid = true;
836
847
  }
837
- // console.log(loginForm);
838
- // console.log(field);
839
848
  };
840
849
  __decorate([
841
850
  Input()
@@ -847,12 +856,506 @@ var LoginComponent = /** @class */ (function () {
847
856
  Component({
848
857
  selector: 'amc-login',
849
858
  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",
850
- 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:-webkit-sticky;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}"]
859
+ 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}"]
851
860
  })
852
861
  ], LoginComponent);
853
862
  return LoginComponent;
854
863
  }());
855
864
 
865
+ var CreateComponent = /** @class */ (function () {
866
+ function CreateComponent() {
867
+ this.CreateNewEntity = new EventEmitter();
868
+ this.isCreateMaximized = true;
869
+ }
870
+ CreateComponent.prototype.createNewEntity = function (type) {
871
+ this.CreateNewEntity.emit(type);
872
+ };
873
+ CreateComponent.prototype.getEntities = function () {
874
+ return Object.keys(this.Entities);
875
+ };
876
+ CreateComponent.prototype.getDisplay = function (entity) {
877
+ return entity.substring(0, entity.indexOf('|'));
878
+ };
879
+ CreateComponent.prototype.getImage = function (entity) {
880
+ return entity.substring(entity.indexOf('|') + 1);
881
+ };
882
+ __decorate([
883
+ Output()
884
+ ], CreateComponent.prototype, "CreateNewEntity", void 0);
885
+ __decorate([
886
+ Input()
887
+ ], CreateComponent.prototype, "Entities", void 0);
888
+ CreateComponent = __decorate([
889
+ Component({
890
+ selector: 'amc-create',
891
+ 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",
892
+ 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}"]
893
+ })
894
+ ], CreateComponent);
895
+ return CreateComponent;
896
+ }());
897
+
898
+ var RecentActivityComponent = /** @class */ (function () {
899
+ function RecentActivityComponent() {
900
+ this.EventEmitter = new EventEmitter();
901
+ this.debouncer = new Subject();
902
+ this.eventList = new Set();
903
+ }
904
+ RecentActivityComponent.prototype.ngOnChanges = function () {
905
+ };
906
+ RecentActivityComponent.prototype.getIcon = function (scenario) {
907
+ switch (scenario) {
908
+ case 'Telephony':
909
+ return '../../assets/images/Phone_Number_Icon.png';
910
+ case 'Email':
911
+ return '../../assets/images/emailTab.png';
912
+ default:
913
+ return '../../assets/images/chat.png';
914
+ }
915
+ };
916
+ RecentActivityComponent.prototype.ngOnInit = function () {
917
+ var _this = this;
918
+ this.debouncer.pipe(debounceTime(500)).subscribe(function () {
919
+ var newEvent = {
920
+ eventName: Array.from(_this.eventList).join('|'),
921
+ idx: _this.idx,
922
+ newValue: _this.ActivityDetails
923
+ };
924
+ _this.EventEmitter.emit(newEvent);
925
+ _this.eventList.clear();
926
+ });
927
+ };
928
+ RecentActivityComponent.prototype.ngOnDestroy = function () { };
929
+ RecentActivityComponent.prototype.expandAndCollapseRecentActivity = function (isExpand) {
930
+ if (isExpand) {
931
+ this.EventEmitter.emit({
932
+ eventName: 'WorkingEvtivityChanged',
933
+ idx: this.idx,
934
+ newValue: this.ActivityDetails
935
+ });
936
+ }
937
+ else {
938
+ this.EventEmitter.emit({
939
+ eventName: 'WorkingEvtivityChanged',
940
+ idx: -1,
941
+ newValue: this.ActivityDetails
942
+ });
943
+ }
944
+ };
945
+ RecentActivityComponent.prototype.openActivity = function () {
946
+ this.EventEmitter.emit({
947
+ eventName: 'OpenCallActivity',
948
+ idx: this.idx,
949
+ newValue: this.ActivityDetails
950
+ });
951
+ };
952
+ RecentActivityComponent.prototype.onSubjectChange = function () {
953
+ this.eventList.add('ActivitySubjectChanged');
954
+ this.debouncer.next();
955
+ };
956
+ RecentActivityComponent.prototype.onSubjectKeyUp = function () {
957
+ this.eventList.add('ActivitySubjectChanged');
958
+ this.debouncer.next();
959
+ };
960
+ RecentActivityComponent.prototype.onWhoObjectChange = function (event) {
961
+ this.ActivityDetails.WhoObject = this.WhoObjectList.find(function (obj) { return obj.objectId === event; });
962
+ this.EventEmitter.emit({
963
+ eventName: 'ActivityWhoObjectChanged',
964
+ idx: this.idx,
965
+ newValue: this.ActivityDetails
966
+ });
967
+ };
968
+ RecentActivityComponent.prototype.onRelatedToChange = function (event) {
969
+ this.ActivityDetails.WhatObject = this.WhatObjectList.find(function (obj) { return obj.objectId === event; });
970
+ this.EventEmitter.emit({
971
+ eventName: 'ActivityWhatObjectChanged',
972
+ idx: this.idx,
973
+ newValue: this.ActivityDetails
974
+ });
975
+ };
976
+ RecentActivityComponent.prototype.onCallNotesChange = function () {
977
+ this.eventList.add('ActivityCallNoteChanged');
978
+ this.debouncer.next();
979
+ };
980
+ RecentActivityComponent.prototype.onCallNotesKeyUp = function () {
981
+ this.eventList.add('ActivityCallNoteChanged');
982
+ this.debouncer.next();
983
+ };
984
+ RecentActivityComponent.prototype.addQuickCommentToDescription = function (comment) {
985
+ if (this.ActivityDetails.Description) {
986
+ this.ActivityDetails.Description += '\n';
987
+ }
988
+ this.ActivityDetails.Description += comment;
989
+ this.eventList.add('ActivityCallNoteChanged');
990
+ this.debouncer.next();
991
+ };
992
+ RecentActivityComponent.prototype.submitActivity = function () {
993
+ this.ActivityDetails.IsProcessing = true;
994
+ this.EventEmitter.emit({
995
+ eventName: 'SubmitActivity',
996
+ idx: this.idx,
997
+ newValue: this.ActivityDetails
998
+ });
999
+ };
1000
+ __decorate([
1001
+ Input()
1002
+ ], RecentActivityComponent.prototype, "ActivityDetails", void 0);
1003
+ __decorate([
1004
+ Input()
1005
+ ], RecentActivityComponent.prototype, "isInConsoleView", void 0);
1006
+ __decorate([
1007
+ Input()
1008
+ ], RecentActivityComponent.prototype, "quickCommentList", void 0);
1009
+ __decorate([
1010
+ Input()
1011
+ ], RecentActivityComponent.prototype, "workingScenarioID", void 0);
1012
+ __decorate([
1013
+ Input()
1014
+ ], RecentActivityComponent.prototype, "idx", void 0);
1015
+ __decorate([
1016
+ Input()
1017
+ ], RecentActivityComponent.prototype, "last", void 0);
1018
+ __decorate([
1019
+ Input()
1020
+ ], RecentActivityComponent.prototype, "WhoObjectList", void 0);
1021
+ __decorate([
1022
+ Input()
1023
+ ], RecentActivityComponent.prototype, "WhatObjectList", void 0);
1024
+ __decorate([
1025
+ Output()
1026
+ ], RecentActivityComponent.prototype, "EventEmitter", void 0);
1027
+ RecentActivityComponent = __decorate([
1028
+ Component({
1029
+ selector: 'amc-recent-activity',
1030
+ 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",
1031
+ 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}"]
1032
+ })
1033
+ ], RecentActivityComponent);
1034
+ return RecentActivityComponent;
1035
+ }());
1036
+
1037
+ var CurrentActivityComponent = /** @class */ (function () {
1038
+ function CurrentActivityComponent() {
1039
+ this.isActivityMaximized = true;
1040
+ this.EventEmitter = new EventEmitter();
1041
+ this.debouncer = new Subject();
1042
+ this.eventList = new Set();
1043
+ }
1044
+ CurrentActivityComponent.prototype.ngOnInit = function () {
1045
+ return __awaiter(this, void 0, void 0, function () {
1046
+ var _this = this;
1047
+ return __generator(this, function (_a) {
1048
+ this.debouncer.pipe(debounceTime(500)).subscribe(function () {
1049
+ var newEvent = {
1050
+ eventName: Array.from(_this.eventList).join('|'),
1051
+ newValue: _this.ActivityDetails
1052
+ };
1053
+ _this.EventEmitter.emit(newEvent);
1054
+ _this.eventList.clear();
1055
+ });
1056
+ return [2 /*return*/];
1057
+ });
1058
+ });
1059
+ };
1060
+ CurrentActivityComponent.prototype.submitActivity = function () {
1061
+ try {
1062
+ this.ActivityDetails.IsProcessing = true;
1063
+ this.EventEmitter.emit({
1064
+ eventName: 'SubmitActivity',
1065
+ newValue: this.ActivityDetails
1066
+ });
1067
+ }
1068
+ catch (error) { }
1069
+ };
1070
+ CurrentActivityComponent.prototype.triggerDiscardActivity = function () {
1071
+ try {
1072
+ this.EventEmitter.emit({
1073
+ eventName: 'TriggerDiscardActivity',
1074
+ newValue: this.ActivityDetails
1075
+ });
1076
+ }
1077
+ catch (error) { }
1078
+ };
1079
+ CurrentActivityComponent.prototype.onNameChange = function (event) {
1080
+ try {
1081
+ this.ActivityDetails.WhoObject = this.WhoObjectList.find(function (obj) { return obj.objectId === event; });
1082
+ this.EventEmitter.emit({
1083
+ eventName: 'ActivityWhoObjectChanged',
1084
+ newValue: this.ActivityDetails
1085
+ });
1086
+ }
1087
+ catch (error) { }
1088
+ };
1089
+ CurrentActivityComponent.prototype.onRelatedToChange = function (event) {
1090
+ try {
1091
+ this.ActivityDetails.WhatObject = this.WhatObjectList.find(function (obj) { return obj.objectId === event; });
1092
+ this.EventEmitter.emit({
1093
+ eventName: 'ActivityWhatObjectChanged',
1094
+ newValue: this.ActivityDetails
1095
+ });
1096
+ }
1097
+ catch (error) { }
1098
+ };
1099
+ CurrentActivityComponent.prototype.onSubjectChange = function () {
1100
+ try {
1101
+ this.eventList.add('ActivitySubjectChanged');
1102
+ this.debouncer.next();
1103
+ }
1104
+ catch (error) { }
1105
+ };
1106
+ CurrentActivityComponent.prototype.onSubjectKeyUp = function () {
1107
+ try {
1108
+ this.eventList.add('ActivitySubjectChanged');
1109
+ this.debouncer.next();
1110
+ }
1111
+ catch (error) { }
1112
+ };
1113
+ CurrentActivityComponent.prototype.onCallNotesChange = function () {
1114
+ try {
1115
+ this.eventList.add('ActivityCallNoteChanged');
1116
+ this.debouncer.next();
1117
+ }
1118
+ catch (error) { }
1119
+ };
1120
+ CurrentActivityComponent.prototype.onCallNotesKeyUp = function () {
1121
+ try {
1122
+ this.eventList.add('ActivityCallNoteChanged');
1123
+ this.debouncer.next();
1124
+ }
1125
+ catch (error) { }
1126
+ };
1127
+ CurrentActivityComponent.prototype.addQuickCommentToDescription = function (comment) {
1128
+ try {
1129
+ var descriptionToSet = comment;
1130
+ if (this.quickCommentOptionRequiredCadArray[comment]) {
1131
+ var cadFields = {};
1132
+ if (this.ActivityDetails) {
1133
+ cadFields = this.scenarioToCADMap[this.ActivityDetails.ScenarioId];
1134
+ }
1135
+ for (var i = 0; i < this.quickCommentOptionRequiredCadArray[comment].length; i++) {
1136
+ var keyToCheckIfCADExists = this.quickCommentOptionRequiredCadArray[comment][i];
1137
+ var stringToBeReplaced = this.quickCommentOptionRequiredCadArray[comment][i];
1138
+ keyToCheckIfCADExists = keyToCheckIfCADExists.replace('{{', '');
1139
+ keyToCheckIfCADExists = keyToCheckIfCADExists.replace('}}', '');
1140
+ if (cadFields[keyToCheckIfCADExists]) {
1141
+ descriptionToSet = descriptionToSet.replace(stringToBeReplaced, cadFields[keyToCheckIfCADExists].Value);
1142
+ }
1143
+ }
1144
+ }
1145
+ if (this.ActivityDetails.Description) {
1146
+ this.ActivityDetails.Description += '\n';
1147
+ }
1148
+ this.ActivityDetails.Description += descriptionToSet;
1149
+ this.eventList.add('ActivityCallNoteChanged');
1150
+ this.debouncer.next();
1151
+ }
1152
+ catch (error) { }
1153
+ };
1154
+ CurrentActivityComponent.prototype.parseWhoObject = function (whoObject) {
1155
+ try {
1156
+ return whoObject.displayName + ': ' + whoObject.objectName;
1157
+ }
1158
+ catch (error) { }
1159
+ };
1160
+ CurrentActivityComponent.prototype.parseWhatObject = function (whatObject) {
1161
+ try {
1162
+ return whatObject.displayName + ': ' + whatObject.objectName;
1163
+ }
1164
+ catch (error) { }
1165
+ };
1166
+ __decorate([
1167
+ Input()
1168
+ ], CurrentActivityComponent.prototype, "ActivityDetails", void 0);
1169
+ __decorate([
1170
+ Input()
1171
+ ], CurrentActivityComponent.prototype, "quickCommentList", void 0);
1172
+ __decorate([
1173
+ Input()
1174
+ ], CurrentActivityComponent.prototype, "isAutoSave", void 0);
1175
+ __decorate([
1176
+ Input()
1177
+ ], CurrentActivityComponent.prototype, "enableDiscard", void 0);
1178
+ __decorate([
1179
+ Input()
1180
+ ], CurrentActivityComponent.prototype, "autoSaveTimer", void 0);
1181
+ __decorate([
1182
+ Input()
1183
+ ], CurrentActivityComponent.prototype, "quickCommentOptionRequiredCadArray", void 0);
1184
+ __decorate([
1185
+ Input()
1186
+ ], CurrentActivityComponent.prototype, "WhoObjectList", void 0);
1187
+ __decorate([
1188
+ Input()
1189
+ ], CurrentActivityComponent.prototype, "WhatObjectList", void 0);
1190
+ __decorate([
1191
+ Input()
1192
+ ], CurrentActivityComponent.prototype, "scenarioToCADMap", void 0);
1193
+ __decorate([
1194
+ Output()
1195
+ ], CurrentActivityComponent.prototype, "EventEmitter", void 0);
1196
+ CurrentActivityComponent = __decorate([
1197
+ Component({
1198
+ selector: 'amc-current-activity',
1199
+ 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",
1200
+ 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}"]
1201
+ })
1202
+ ], CurrentActivityComponent);
1203
+ return CurrentActivityComponent;
1204
+ }());
1205
+
1206
+ var SearchInformationComponent = /** @class */ (function () {
1207
+ function SearchInformationComponent() {
1208
+ this.isSearchInformationMaximized = true;
1209
+ this.singleMatchData = null;
1210
+ this.multiMatchData = [];
1211
+ this.agentSelectedCallerInformation = new EventEmitter();
1212
+ }
1213
+ SearchInformationComponent.prototype.ngOnChanges = function () {
1214
+ this.renderData();
1215
+ };
1216
+ SearchInformationComponent.prototype.renderData = function () {
1217
+ try {
1218
+ this.singleMatchData = null;
1219
+ this.multiMatchData = [];
1220
+ this.shouldShowAllMultiMatchOptions = false;
1221
+ if (this.searchRecordList.length === 1) {
1222
+ this.singleMatchData = this.parseSearchRecordForNameSingleMatch(this.searchRecordList[0]);
1223
+ }
1224
+ else if (this.searchRecordList.length > 1) {
1225
+ for (var i = 0; i < this.searchRecordList.length; i++) {
1226
+ this.multiMatchData.push(this.parseSearchRecordForNameMultiMatch(this.searchRecordList[i]));
1227
+ }
1228
+ }
1229
+ }
1230
+ catch (error) { }
1231
+ };
1232
+ SearchInformationComponent.prototype.onAgentSelectedCallerInformation = function (event) {
1233
+ try {
1234
+ this.agentSelectedCallerInformation.emit({
1235
+ id: event.target.id,
1236
+ value: event.target.value
1237
+ });
1238
+ }
1239
+ catch (error) { }
1240
+ };
1241
+ SearchInformationComponent.prototype.parseSearchRecordForNameSingleMatch = function (searchRecord) {
1242
+ var results = [];
1243
+ try {
1244
+ var src = this.getEntityImgToDisplay(searchRecord);
1245
+ this.singleMatchIconSrc = src;
1246
+ var sLayoutInfo = this.getSearchLayoutInfoForDisplay(searchRecord);
1247
+ for (var j = 0; j < sLayoutInfo.DisplayFields.length; j++) {
1248
+ if (sLayoutInfo.DisplayFields && sLayoutInfo.DisplayFields[j].DevName) {
1249
+ var nameKey = sLayoutInfo.DisplayFields[j].DevName;
1250
+ var keys = Object.keys(searchRecord.fields);
1251
+ for (var i = 0; i < keys.length; i++) {
1252
+ if (searchRecord.fields[keys[i]] &&
1253
+ searchRecord.fields[keys[i]].DevName === nameKey) {
1254
+ var displayRecord = searchRecord.fields[keys[i]].Value;
1255
+ if (j === 0) {
1256
+ displayRecord = searchRecord.displayName
1257
+ ? [searchRecord.displayName, displayRecord]
1258
+ : [searchRecord.type, displayRecord];
1259
+ }
1260
+ else {
1261
+ displayRecord = sLayoutInfo.DisplayFields[j].DisplayName
1262
+ ? [sLayoutInfo.DisplayFields[j].DisplayName, displayRecord]
1263
+ : [sLayoutInfo.DisplayFields[j].DevName, displayRecord];
1264
+ }
1265
+ results.push(displayRecord);
1266
+ }
1267
+ }
1268
+ }
1269
+ }
1270
+ }
1271
+ catch (error) { }
1272
+ return results;
1273
+ };
1274
+ SearchInformationComponent.prototype.parseSearchRecordForNameMultiMatch = function (searchRecord) {
1275
+ var results = [];
1276
+ try {
1277
+ var src = this.getEntityImgToDisplay(searchRecord);
1278
+ var sLayoutInfo = this.getSearchLayoutInfoForDisplay(searchRecord);
1279
+ for (var j = 0; j < sLayoutInfo.DisplayFields.length; j++) {
1280
+ if (sLayoutInfo.DisplayFields && sLayoutInfo.DisplayFields[j].DevName) {
1281
+ var nameKey = sLayoutInfo.DisplayFields[j].DevName;
1282
+ var keys = Object.keys(searchRecord.fields);
1283
+ for (var i = 0; i < keys.length; i++) {
1284
+ if (searchRecord.fields[keys[i]] &&
1285
+ searchRecord.fields[keys[i]].DevName === nameKey) {
1286
+ var displayRecord = searchRecord.fields[keys[i]].Value;
1287
+ if (j === 0) {
1288
+ displayRecord = searchRecord.displayName
1289
+ ? [searchRecord.displayName, displayRecord]
1290
+ : [searchRecord.type, displayRecord];
1291
+ }
1292
+ else {
1293
+ displayRecord = sLayoutInfo.DisplayFields[j].DisplayName
1294
+ ? [sLayoutInfo.DisplayFields[j].DisplayName, displayRecord]
1295
+ : [sLayoutInfo.DisplayFields[j].DevName, displayRecord];
1296
+ }
1297
+ displayRecord.push(src);
1298
+ results.push(displayRecord);
1299
+ return results;
1300
+ }
1301
+ }
1302
+ }
1303
+ }
1304
+ }
1305
+ catch (error) { }
1306
+ return results;
1307
+ };
1308
+ SearchInformationComponent.prototype.getEntityImgToDisplay = function (searchRecord) {
1309
+ var src = '';
1310
+ try {
1311
+ if (searchRecord.type) {
1312
+ if (searchRecord.type.toUpperCase() === 'CONTACT') {
1313
+ src = '../../assets/images/Icon_Contact.png';
1314
+ }
1315
+ else if (searchRecord.type.toUpperCase() === 'ACCOUNT') {
1316
+ src = '../../assets/images/Icon_Account.png';
1317
+ }
1318
+ else if (searchRecord.type.toUpperCase() === 'LEAD') {
1319
+ src = '../../assets/images/Icon_Lead.png';
1320
+ }
1321
+ else {
1322
+ src = '../../assets/images/Miscellaneous_Icon.png';
1323
+ }
1324
+ }
1325
+ }
1326
+ catch (error) { }
1327
+ return src;
1328
+ };
1329
+ SearchInformationComponent.prototype.getSearchLayoutInfoForDisplay = function (searchRecord) {
1330
+ var layoutInfo;
1331
+ try {
1332
+ layoutInfo = this.searchLayout.layouts[0][this.ActivityDetails.CallType].find(function (i) { return i.DevName === searchRecord.type; });
1333
+ }
1334
+ catch (error) { }
1335
+ return layoutInfo;
1336
+ };
1337
+ __decorate([
1338
+ Input()
1339
+ ], SearchInformationComponent.prototype, "ActivityDetails", void 0);
1340
+ __decorate([
1341
+ Input()
1342
+ ], SearchInformationComponent.prototype, "searchLayout", void 0);
1343
+ __decorate([
1344
+ Input()
1345
+ ], SearchInformationComponent.prototype, "searchRecordList", void 0);
1346
+ __decorate([
1347
+ Output()
1348
+ ], SearchInformationComponent.prototype, "agentSelectedCallerInformation", void 0);
1349
+ SearchInformationComponent = __decorate([
1350
+ Component({
1351
+ selector: 'amc-search-information',
1352
+ 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",
1353
+ 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)}"]
1354
+ })
1355
+ ], SearchInformationComponent);
1356
+ return SearchInformationComponent;
1357
+ }());
1358
+
856
1359
  var UILibraryModule = /** @class */ (function () {
857
1360
  function UILibraryModule(injector) {
858
1361
  this.injector = injector;
@@ -885,7 +1388,7 @@ var UILibraryModule = /** @class */ (function () {
885
1388
  ]; };
886
1389
  UILibraryModule = __decorate([
887
1390
  NgModule({
888
- imports: [BrowserModule, CommonModule, FormsModule],
1391
+ imports: [BrowserModule, CommonModule, FormsModule, MatTabsModule],
889
1392
  declarations: [
890
1393
  InteractionComponent,
891
1394
  ScenarioComponent,
@@ -897,11 +1400,16 @@ var UILibraryModule = /** @class */ (function () {
897
1400
  ChatMessageComponent,
898
1401
  DispositionComponent,
899
1402
  ActivityComponent,
900
- LoginComponent
1403
+ LoginComponent,
1404
+ CreateComponent,
1405
+ RecentActivityComponent,
1406
+ CurrentActivityComponent,
1407
+ SearchInformationComponent
901
1408
  ],
902
- entryComponents: [ScenarioComponent, DispositionComponent, LoginComponent],
1409
+ providers: [],
1410
+ entryComponents: [ScenarioComponent, DispositionComponent, LoginComponent, CreateComponent, RecentActivityComponent, CurrentActivityComponent, SearchInformationComponent],
903
1411
  bootstrap: [],
904
- exports: [ScenarioComponent, DispositionComponent, LoginComponent]
1412
+ exports: [ScenarioComponent, DispositionComponent, LoginComponent, CreateComponent, RecentActivityComponent, CurrentActivityComponent, SearchInformationComponent]
905
1413
  })
906
1414
  ], UILibraryModule);
907
1415
  return UILibraryModule;
@@ -911,5 +1419,5 @@ var UILibraryModule = /** @class */ (function () {
911
1419
  * Generated bundle index. Do not edit.
912
1420
  */
913
1421
 
914
- 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 };
1422
+ 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 };
915
1423
  //# sourceMappingURL=amc-technology-ui-library.js.map