@amc-technology/ui-library 1.0.29 → 1.0.34

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 (66) hide show
  1. package/amc-technology-ui-library.d.ts +1 -0
  2. package/amc-technology-ui-library.metadata.json +1 -1
  3. package/bundles/amc-technology-ui-library.umd.js +1087 -541
  4. package/bundles/amc-technology-ui-library.umd.js.map +1 -51
  5. package/bundles/amc-technology-ui-library.umd.min.js +16 -2
  6. package/bundles/amc-technology-ui-library.umd.min.js.map +1 -227
  7. package/esm2015/amc-technology-ui-library.js +16 -1141
  8. package/esm2015/projects/UILibrary/src/app/Helpers.js +11 -0
  9. package/esm2015/projects/UILibrary/src/app/components/activity/activity.component.js +83 -0
  10. package/esm2015/projects/UILibrary/src/app/components/chat-box/chat-box.component.js +104 -0
  11. package/esm2015/projects/UILibrary/src/app/components/chat-message/chat-message.component.js +39 -0
  12. package/esm2015/projects/UILibrary/src/app/components/disposition/disposition.component.js +49 -0
  13. package/esm2015/projects/UILibrary/src/app/components/duration/duration.component.js +58 -0
  14. package/esm2015/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.js +72 -0
  15. package/esm2015/projects/UILibrary/src/app/components/interaction/interaction.component.js +80 -0
  16. package/esm2015/projects/UILibrary/src/app/components/login/login.component.js +45 -0
  17. package/esm2015/projects/UILibrary/src/app/components/operation/operation.component.js +57 -0
  18. package/esm2015/projects/UILibrary/src/app/components/property/property.component.js +99 -0
  19. package/esm2015/projects/UILibrary/src/app/components/scenario/scenario.component.js +40 -0
  20. package/esm2015/projects/UILibrary/src/app/models/chat.message.js +7 -0
  21. package/esm2015/projects/UILibrary/src/app/models/chat.settings.js +1 -0
  22. package/esm2015/projects/UILibrary/src/app/models/disposition.interface.js +1 -0
  23. package/esm2015/projects/UILibrary/src/app/models/login.interface.js +1 -0
  24. package/esm2015/projects/UILibrary/src/app/models/uilibrary.model.js +40 -0
  25. package/esm2015/projects/UILibrary/src/app/uilibrary.module.js +73 -0
  26. package/esm2015/public_api.js +2 -0
  27. package/esm5/amc-technology-ui-library.js +16 -534
  28. package/esm5/projects/UILibrary/src/app/Helpers.js +11 -0
  29. package/esm5/projects/UILibrary/src/app/components/activity/activity.component.js +84 -0
  30. package/esm5/projects/UILibrary/src/app/components/chat-box/chat-box.component.js +105 -0
  31. package/esm5/projects/UILibrary/src/app/components/chat-message/chat-message.component.js +40 -0
  32. package/esm5/projects/UILibrary/src/app/components/disposition/disposition.component.js +61 -0
  33. package/esm5/projects/UILibrary/src/app/components/duration/duration.component.js +60 -0
  34. package/esm5/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.js +74 -0
  35. package/esm5/projects/UILibrary/src/app/components/interaction/interaction.component.js +85 -0
  36. package/esm5/projects/UILibrary/src/app/components/login/login.component.js +68 -0
  37. package/esm5/projects/UILibrary/src/app/components/operation/operation.component.js +58 -0
  38. package/esm5/projects/UILibrary/src/app/components/property/property.component.js +101 -0
  39. package/esm5/projects/UILibrary/src/app/components/scenario/scenario.component.js +41 -0
  40. package/esm5/projects/UILibrary/src/app/models/chat.message.js +7 -0
  41. package/esm5/projects/UILibrary/src/app/models/chat.settings.js +1 -0
  42. package/esm5/projects/UILibrary/src/app/models/disposition.interface.js +1 -0
  43. package/esm5/projects/UILibrary/src/app/models/login.interface.js +1 -0
  44. package/esm5/projects/UILibrary/src/app/models/uilibrary.model.js +43 -0
  45. package/esm5/projects/UILibrary/src/app/uilibrary.module.js +74 -0
  46. package/esm5/public_api.js +2 -0
  47. package/fesm2015/amc-technology-ui-library.js +813 -0
  48. package/fesm2015/amc-technology-ui-library.js.map +1 -0
  49. package/fesm5/amc-technology-ui-library.js +867 -0
  50. package/fesm5/amc-technology-ui-library.js.map +1 -0
  51. package/package.json +14 -66
  52. package/projects/UILibrary/src/app/components/activity/activity.component.d.ts +10 -10
  53. package/projects/UILibrary/src/app/components/disposition/disposition.component.d.ts +5 -3
  54. package/projects/UILibrary/src/app/components/duration/duration.component.d.ts +4 -1
  55. package/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.d.ts +4 -1
  56. package/projects/UILibrary/src/app/components/interaction/interaction.component.d.ts +4 -1
  57. package/projects/UILibrary/src/app/components/login/login.component.d.ts +11 -0
  58. package/projects/UILibrary/src/app/components/operation/operation.component.d.ts +6 -0
  59. package/projects/UILibrary/src/app/components/property/property.component.d.ts +5 -0
  60. package/projects/UILibrary/src/app/components/scenario/scenario.component.d.ts +2 -2
  61. package/projects/UILibrary/src/app/models/disposition.interface.d.ts +12 -0
  62. package/projects/UILibrary/src/app/models/login.interface.d.ts +13 -0
  63. package/projects/UILibrary/src/app/models/uilibrary.model.d.ts +4 -0
  64. package/webcomponents/webcomponents.js +3 -3
  65. package/esm2015/amc-technology-ui-library.js.map +0 -38
  66. package/esm5/amc-technology-ui-library.js.map +0 -38
@@ -0,0 +1,84 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
3
+ var ActivityComponent = /** @class */ (function () {
4
+ function ActivityComponent() {
5
+ this.ActivitySave = new EventEmitter();
6
+ this.OnNameSelectChange = new EventEmitter();
7
+ this.OnRelatedToChange = new EventEmitter();
8
+ this.OnSubjectChange = new EventEmitter();
9
+ this.OnCallNotesChange = new EventEmitter();
10
+ this.isActivityMaximized = true;
11
+ }
12
+ ActivityComponent.prototype.ngOnInit = function () {
13
+ };
14
+ ActivityComponent.prototype.onNameSelectChange = function (event) {
15
+ this.activity.WhoObject = this.getWho(event.currentTarget.value);
16
+ this.OnNameSelectChange.emit(this.activity);
17
+ };
18
+ ActivityComponent.prototype.parseWhoObject = function (whoObject) {
19
+ return whoObject.objectType + ': ' + whoObject.objectName;
20
+ };
21
+ ActivityComponent.prototype.parseWhatObject = function (whatObject) {
22
+ return whatObject.objectType + ': ' + whatObject.objectName;
23
+ };
24
+ ActivityComponent.prototype.onRelatedToChange = function (event) {
25
+ this.activity.WhatObject = this.getWhat(event.currentTarget.value);
26
+ this.OnRelatedToChange.emit(this.activity);
27
+ };
28
+ ActivityComponent.prototype.onSubjectChange = function (event) {
29
+ this.activity.Subject = event.srcElement.value;
30
+ this.OnSubjectChange.emit(this.activity);
31
+ };
32
+ ActivityComponent.prototype.onCallNotesChange = function (event) {
33
+ this.activity.Subject = event.srcElement.value.trim();
34
+ this.OnCallNotesChange.emit(this.activity);
35
+ };
36
+ ActivityComponent.prototype.getWho = function (id) {
37
+ for (var i = 0; i < this.activity.whoList.length; i++) {
38
+ if (this.activity.whoList[i].objectId === id) {
39
+ return this.activity.whoList[i];
40
+ }
41
+ }
42
+ };
43
+ ActivityComponent.prototype.getWhat = function (id) {
44
+ for (var i = 0; i < this.activity.whatList.length; i++) {
45
+ if (this.activity.whatList[i].objectId === id) {
46
+ return this.activity.whatList[i];
47
+ }
48
+ }
49
+ };
50
+ ActivityComponent.prototype.loadQuickComment = function (value) {
51
+ this.activity.Description = this.activity.Description + this.activity.quickCommentList[value];
52
+ };
53
+ ActivityComponent.prototype.activitySave = function (clearActivityFields) {
54
+ this.ActivitySave.emit(this.activity);
55
+ };
56
+ __decorate([
57
+ Input()
58
+ ], ActivityComponent.prototype, "activity", void 0);
59
+ __decorate([
60
+ Output()
61
+ ], ActivityComponent.prototype, "ActivitySave", void 0);
62
+ __decorate([
63
+ Output()
64
+ ], ActivityComponent.prototype, "OnNameSelectChange", void 0);
65
+ __decorate([
66
+ Output()
67
+ ], ActivityComponent.prototype, "OnRelatedToChange", void 0);
68
+ __decorate([
69
+ Output()
70
+ ], ActivityComponent.prototype, "OnSubjectChange", void 0);
71
+ __decorate([
72
+ Output()
73
+ ], ActivityComponent.prototype, "OnCallNotesChange", void 0);
74
+ ActivityComponent = __decorate([
75
+ Component({
76
+ selector: 'app-activity',
77
+ 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",
78
+ 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}"]
79
+ })
80
+ ], ActivityComponent);
81
+ return ActivityComponent;
82
+ }());
83
+ export { ActivityComponent };
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtYy10ZWNobm9sb2d5L3VpLWxpYnJhcnkvIiwic291cmNlcyI6WyJwcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL2FjdGl2aXR5L2FjdGl2aXR5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVEvRTtJQVVFO1FBTlEsaUJBQVksR0FBNEIsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUN0RSx1QkFBa0IsR0FBNEIsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUM1RSxzQkFBaUIsR0FBNEIsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUMzRSxvQkFBZSxHQUE0QixJQUFJLFlBQVksRUFBYSxDQUFDO1FBQ3pFLHNCQUFpQixHQUE0QixJQUFJLFlBQVksRUFBYSxDQUFDO1FBR2pGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVELG9DQUFRLEdBQVI7SUFDQSxDQUFDO0lBRU0sOENBQWtCLEdBQXpCLFVBQTBCLEtBQUs7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSwwQ0FBYyxHQUFyQixVQUFzQixTQUEyQjtRQUMvQyxPQUFPLFNBQVMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7SUFDNUQsQ0FBQztJQUVNLDJDQUFlLEdBQXRCLFVBQXVCLFVBQTRCO1FBQ2pELE9BQU8sVUFBVSxDQUFDLFVBQVUsR0FBRyxJQUFJLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztJQUM5RCxDQUFDO0lBRU0sNkNBQWlCLEdBQXhCLFVBQXlCLEtBQUs7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSwyQ0FBZSxHQUF0QixVQUF1QixLQUFLO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQy9DLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ00sNkNBQWlCLEdBQXhCLFVBQXlCLEtBQUs7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLGtDQUFNLEdBQWIsVUFBYyxFQUFFO1FBQ2QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNyRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxFQUFFLEVBQUU7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDakM7U0FDRjtJQUNILENBQUM7SUFDTSxtQ0FBTyxHQUFkLFVBQWUsRUFBRTtRQUNmLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDdEQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssRUFBRSxFQUFFO2dCQUM3QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2xDO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sNENBQWdCLEdBQXZCLFVBQXdCLEtBQUs7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRU0sd0NBQVksR0FBbkIsVUFBb0IsbUJBQW1CO1FBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBOURNO1FBQVIsS0FBSyxFQUFFO3VEQUFxQjtJQUNuQjtRQUFULE1BQU0sRUFBRTsyREFBdUU7SUFDdEU7UUFBVCxNQUFNLEVBQUU7aUVBQTZFO0lBQzVFO1FBQVQsTUFBTSxFQUFFO2dFQUE0RTtJQUMzRTtRQUFULE1BQU0sRUFBRTs4REFBMEU7SUFDekU7UUFBVCxNQUFNLEVBQUU7Z0VBQTRFO0lBUnhFLGlCQUFpQjtRQUw3QixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsY0FBYztZQUN4QixnbkdBQXdDOztTQUV6QyxDQUFDO09BQ1csaUJBQWlCLENBa0U3QjtJQUFELHdCQUFDO0NBQUEsQUFsRUQsSUFrRUM7U0FsRVksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJQWN0aXZpdHksIElBY3Rpdml0eURldGFpbHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvdWlsaWJyYXJ5Lm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWFjdGl2aXR5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aXZpdHkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FjdGl2aXR5LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuaXNBY3Rpdml0eU1heGltaXplZDogYm9vbGVhbjtcclxuQElucHV0KCkgYWN0aXZpdHk6IElBY3Rpdml0eTtcclxuQE91dHB1dCgpIEFjdGl2aXR5U2F2ZTogRXZlbnRFbWl0dGVyPElBY3Rpdml0eT4gPSBuZXcgRXZlbnRFbWl0dGVyPElBY3Rpdml0eT4oKTtcclxuQE91dHB1dCgpIE9uTmFtZVNlbGVjdENoYW5nZTogRXZlbnRFbWl0dGVyPElBY3Rpdml0eT4gPSBuZXcgRXZlbnRFbWl0dGVyPElBY3Rpdml0eT4oKTtcclxuQE91dHB1dCgpIE9uUmVsYXRlZFRvQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SUFjdGl2aXR5PiA9IG5ldyBFdmVudEVtaXR0ZXI8SUFjdGl2aXR5PigpO1xyXG5AT3V0cHV0KCkgT25TdWJqZWN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8SUFjdGl2aXR5PiA9IG5ldyBFdmVudEVtaXR0ZXI8SUFjdGl2aXR5PigpO1xyXG5AT3V0cHV0KCkgT25DYWxsTm90ZXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJQWN0aXZpdHk+ID0gbmV3IEV2ZW50RW1pdHRlcjxJQWN0aXZpdHk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5pc0FjdGl2aXR5TWF4aW1pemVkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTmFtZVNlbGVjdENoYW5nZShldmVudCkge1xyXG4gICAgdGhpcy5hY3Rpdml0eS5XaG9PYmplY3QgPSB0aGlzLmdldFdobyhldmVudC5jdXJyZW50VGFyZ2V0LnZhbHVlKTtcclxuICAgIHRoaXMuT25OYW1lU2VsZWN0Q2hhbmdlLmVtaXQodGhpcy5hY3Rpdml0eSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGFyc2VXaG9PYmplY3Qod2hvT2JqZWN0OiBJQWN0aXZpdHlEZXRhaWxzKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB3aG9PYmplY3Qub2JqZWN0VHlwZSArICc6ICcgKyB3aG9PYmplY3Qub2JqZWN0TmFtZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYXJzZVdoYXRPYmplY3Qod2hhdE9iamVjdDogSUFjdGl2aXR5RGV0YWlscyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gd2hhdE9iamVjdC5vYmplY3RUeXBlICsgJzogJyArIHdoYXRPYmplY3Qub2JqZWN0TmFtZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblJlbGF0ZWRUb0NoYW5nZShldmVudCkge1xyXG4gICAgdGhpcy5hY3Rpdml0eS5XaGF0T2JqZWN0ID0gdGhpcy5nZXRXaGF0KGV2ZW50LmN1cnJlbnRUYXJnZXQudmFsdWUpO1xyXG4gICAgdGhpcy5PblJlbGF0ZWRUb0NoYW5nZS5lbWl0KHRoaXMuYWN0aXZpdHkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU3ViamVjdENoYW5nZShldmVudCkge1xyXG4gICAgdGhpcy5hY3Rpdml0eS5TdWJqZWN0ID0gZXZlbnQuc3JjRWxlbWVudC52YWx1ZTtcclxuICAgIHRoaXMuT25TdWJqZWN0Q2hhbmdlLmVtaXQodGhpcy5hY3Rpdml0eSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBvbkNhbGxOb3Rlc0NoYW5nZShldmVudCkge1xyXG4gICAgdGhpcy5hY3Rpdml0eS5TdWJqZWN0ID0gZXZlbnQuc3JjRWxlbWVudC52YWx1ZS50cmltKCk7XHJcbiAgICB0aGlzLk9uQ2FsbE5vdGVzQ2hhbmdlLmVtaXQodGhpcy5hY3Rpdml0eSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0V2hvKGlkKTogSUFjdGl2aXR5RGV0YWlscyB7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuYWN0aXZpdHkud2hvTGlzdC5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAodGhpcy5hY3Rpdml0eS53aG9MaXN0W2ldLm9iamVjdElkID09PSBpZCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2aXR5Lndob0xpc3RbaV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcHVibGljIGdldFdoYXQoaWQpOiBJQWN0aXZpdHlEZXRhaWxzIHtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5hY3Rpdml0eS53aGF0TGlzdC5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAodGhpcy5hY3Rpdml0eS53aGF0TGlzdFtpXS5vYmplY3RJZCA9PT0gaWQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY3Rpdml0eS53aGF0TGlzdFtpXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvYWRRdWlja0NvbW1lbnQodmFsdWUpIHtcclxuICAgIHRoaXMuYWN0aXZpdHkuRGVzY3JpcHRpb24gPSB0aGlzLmFjdGl2aXR5LkRlc2NyaXB0aW9uICsgdGhpcy5hY3Rpdml0eS5xdWlja0NvbW1lbnRMaXN0W3ZhbHVlXTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhY3Rpdml0eVNhdmUoY2xlYXJBY3Rpdml0eUZpZWxkcykge1xyXG4gICAgdGhpcy5BY3Rpdml0eVNhdmUuZW1pdCh0aGlzLmFjdGl2aXR5KTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,105 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core';
3
+ import { IChatMessageType } from '../../models/chat.message';
4
+ var ChatBoxComponent = /** @class */ (function () {
5
+ function ChatBoxComponent() {
6
+ this.isTyping = false;
7
+ this.lastCount = -1;
8
+ this._isAgentTyping = false;
9
+ this.isAgentTyping = new EventEmitter();
10
+ this.newMessage = new EventEmitter();
11
+ this.newMessageText = '';
12
+ this.usernameToColor = {};
13
+ this.colors = [
14
+ '#81c784',
15
+ '#ffab91',
16
+ '#f48fb1',
17
+ '#29b6f6',
18
+ '#e1bee7',
19
+ '#9ccc65',
20
+ '#ffc107',
21
+ '#26c6da',
22
+ '#cddc39',
23
+ ];
24
+ this.colorsIndex = 0;
25
+ this.agentColor = '#29b6f6';
26
+ }
27
+ ChatBoxComponent.prototype.ngAfterViewChecked = function () {
28
+ if (this.lastCount !== this.messages.length) {
29
+ this.lastCount = this.messages.length;
30
+ this.scrollToBottom();
31
+ }
32
+ };
33
+ ChatBoxComponent.prototype.getColor = function (message) {
34
+ if (message.type && message.type === IChatMessageType.AGENT) {
35
+ return this.agentColor;
36
+ }
37
+ else if (message.username) {
38
+ if (!this.usernameToColor[message.username]) {
39
+ this.usernameToColor[message.username] = this.colors[this.colorsIndex];
40
+ this.colorsIndex = (this.colorsIndex + 1) % this.colors.length;
41
+ }
42
+ return this.usernameToColor[message.username];
43
+ }
44
+ else {
45
+ return this.colors[0];
46
+ }
47
+ };
48
+ ChatBoxComponent.prototype.shouldAlignRight = function (message) {
49
+ return message.type && message.type === IChatMessageType.AGENT;
50
+ };
51
+ ChatBoxComponent.prototype.sendNewMessage = function () {
52
+ if (this.newMessageText) {
53
+ this.newMessage.emit(this.newMessageText);
54
+ this.newMessageText = '';
55
+ }
56
+ };
57
+ ChatBoxComponent.prototype.onNewMessageFocus = function (event) {
58
+ var isTyping = event && this.newMessageText.length > 0;
59
+ if (isTyping !== this._isAgentTyping) {
60
+ this._isAgentTyping = isTyping;
61
+ this.isAgentTyping.emit(isTyping);
62
+ }
63
+ };
64
+ ChatBoxComponent.prototype.onKeyup = function () {
65
+ var isTyping = this.newMessageText.length > 0;
66
+ if (isTyping !== this._isAgentTyping) {
67
+ this._isAgentTyping = isTyping;
68
+ this.isAgentTyping.emit(isTyping);
69
+ }
70
+ };
71
+ ChatBoxComponent.prototype.scrollToBottom = function () {
72
+ try {
73
+ this.messagesContainer.nativeElement.scrollTop = this.messagesContainer.nativeElement.scrollHeight;
74
+ }
75
+ catch (e) { }
76
+ };
77
+ __decorate([
78
+ Input()
79
+ ], ChatBoxComponent.prototype, "settings", void 0);
80
+ __decorate([
81
+ Input()
82
+ ], ChatBoxComponent.prototype, "isTyping", void 0);
83
+ __decorate([
84
+ Input()
85
+ ], ChatBoxComponent.prototype, "messages", void 0);
86
+ __decorate([
87
+ Output()
88
+ ], ChatBoxComponent.prototype, "isAgentTyping", void 0);
89
+ __decorate([
90
+ Output()
91
+ ], ChatBoxComponent.prototype, "newMessage", void 0);
92
+ __decorate([
93
+ ViewChild('MessagesContainer', { static: true })
94
+ ], ChatBoxComponent.prototype, "messagesContainer", void 0);
95
+ ChatBoxComponent = __decorate([
96
+ Component({
97
+ selector: 'app-chat-box',
98
+ template: "<div class=\"chat-box\">\r\n <div #MessagesContainer class=\"messages\" [style.max-height]='settings.maxHeight'>\r\n <ng-container *ngFor=\"let message of messages\">\r\n <app-chat-message [alignRight]=\"shouldAlignRight(message)\" [message]=\"message.text\" [username]=\"message.username\"\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 <div class=\"new-message\">\r\n <input #NewMessageText [(ngModel)]=\"newMessageText\" type=\"text\" placeholder=\"Type a message\" (focus)=\"onNewMessageFocus(true)\"\r\n (blur)=\"onNewMessageFocus(false)\" (keydown.enter)=\"sendNewMessage()\" (keyup)='onKeyup()' [disabled]=\"settings.disableSendMessage\">\r\n <input type=\"image\" [src]=\"settings.sendImage\" (click)=\"sendNewMessage()\" [disabled]=\"settings.disableSendMessage\">\r\n </div>\r\n</div>\r\n",
99
+ styles: [".chat-box{background-color:#eceff1}.messages{padding:5px;overflow:auto;min-height:50px}.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:#eceff1;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:1em;font-style:italic}.typing-indicator span{display:inline-block;height:10px;width:10px;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}}"]
100
+ })
101
+ ], ChatBoxComponent);
102
+ return ChatBoxComponent;
103
+ }());
104
+ export { ChatBoxComponent };
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtYy10ZWNobm9sb2d5L3VpLWxpYnJhcnkvIiwic291cmNlcyI6WyJwcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL2NoYXQtYm94L2NoYXQtYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQWdDLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBZ0IsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVEzRTtJQThCRTtRQTVCUyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2xCLGNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUV2QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUNiLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUU1QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNsRCxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUlwQixvQkFBZSxHQUFtQyxFQUFFLENBQUM7UUFDckQsV0FBTSxHQUFHO1lBQ1AsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1NBQ1YsQ0FBQztRQUNGLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLGVBQVUsR0FBRyxTQUFTLENBQUM7SUFFUCxDQUFDO0lBRWpCLDZDQUFrQixHQUFsQjtRQUNFLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUMzQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRCxtQ0FBUSxHQUFSLFVBQVMsT0FBcUI7UUFDNUIsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1lBQzNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUN4QjthQUFNLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN2RSxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQzthQUNoRTtZQUNELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDL0M7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRCwyQ0FBZ0IsR0FBaEIsVUFBaUIsT0FBcUI7UUFDcEMsT0FBTyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0lBQ2pFLENBQUM7SUFFRCx5Q0FBYyxHQUFkO1FBQ0UsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCw0Q0FBaUIsR0FBakIsVUFBa0IsS0FBYztRQUM5QixJQUFNLFFBQVEsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3pELElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDcEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7WUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRUQsa0NBQU8sR0FBUDtRQUNFLElBQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoRCxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDO1lBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELHlDQUFjLEdBQWQ7UUFDRSxJQUFJO1lBQ0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7U0FDcEc7UUFDRCxPQUFPLENBQUMsRUFBRSxHQUFHO0lBQ2YsQ0FBQztJQXBGUTtRQUFSLEtBQUssRUFBRTtzREFBeUI7SUFDeEI7UUFBUixLQUFLLEVBQUU7c0RBQWtCO0lBRWpCO1FBQVIsS0FBSyxFQUFFO3NEQUEwQjtJQUl4QjtRQUFULE1BQU0sRUFBRTsyREFBNkM7SUFFNUM7UUFBVCxNQUFNLEVBQUU7d0RBQXlDO0lBR0E7UUFBakQsU0FBUyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDOytEQUErQjtJQWJyRSxnQkFBZ0I7UUFMNUIsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLGNBQWM7WUFDeEIsNnBDQUF3Qzs7U0FFekMsQ0FBQztPQUNXLGdCQUFnQixDQXNGNUI7SUFBRCx1QkFBQztDQUFBLEFBdEZELElBc0ZDO1NBdEZZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0NoZWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUNoYXRNZXNzYWdlLCBJQ2hhdE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NoYXQubWVzc2FnZSc7XHJcbmltcG9ydCB7IElDaGF0U2V0dGluZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hhdC5zZXR0aW5ncyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jaGF0LWJveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXQtYm94LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jaGF0LWJveC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hhdEJveENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQge1xyXG4gIEBJbnB1dCgpIHNldHRpbmdzOiBJQ2hhdFNldHRpbmdzO1xyXG4gIEBJbnB1dCgpIGlzVHlwaW5nID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIG1lc3NhZ2VzOiBJQ2hhdE1lc3NhZ2VbXTtcclxuICBwcml2YXRlIGxhc3RDb3VudCA9IC0xO1xyXG5cclxuICBfaXNBZ2VudFR5cGluZyA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBpc0FnZW50VHlwaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBAT3V0cHV0KCkgbmV3TWVzc2FnZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIG5ld01lc3NhZ2VUZXh0ID0gJyc7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ01lc3NhZ2VzQ29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSkgbWVzc2FnZXNDb250YWluZXI6IEVsZW1lbnRSZWY7XHJcblxyXG4gIHVzZXJuYW1lVG9Db2xvcjogeyBbdXNlcm5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgY29sb3JzID0gW1xyXG4gICAgJyM4MWM3ODQnLFxyXG4gICAgJyNmZmFiOTEnLFxyXG4gICAgJyNmNDhmYjEnLFxyXG4gICAgJyMyOWI2ZjYnLFxyXG4gICAgJyNlMWJlZTcnLFxyXG4gICAgJyM5Y2NjNjUnLFxyXG4gICAgJyNmZmMxMDcnLFxyXG4gICAgJyMyNmM2ZGEnLFxyXG4gICAgJyNjZGRjMzknLFxyXG4gIF07XHJcbiAgY29sb3JzSW5kZXggPSAwO1xyXG4gIGFnZW50Q29sb3IgPSAnIzI5YjZmNic7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcclxuICAgIGlmICh0aGlzLmxhc3RDb3VudCAhPT0gdGhpcy5tZXNzYWdlcy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5sYXN0Q291bnQgPSB0aGlzLm1lc3NhZ2VzLmxlbmd0aDtcclxuICAgICAgdGhpcy5zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Q29sb3IobWVzc2FnZTogSUNoYXRNZXNzYWdlKSB7XHJcbiAgICBpZiAobWVzc2FnZS50eXBlICYmIG1lc3NhZ2UudHlwZSA9PT0gSUNoYXRNZXNzYWdlVHlwZS5BR0VOVCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5hZ2VudENvbG9yO1xyXG4gICAgfSBlbHNlIGlmIChtZXNzYWdlLnVzZXJuYW1lKSB7XHJcbiAgICAgIGlmICghdGhpcy51c2VybmFtZVRvQ29sb3JbbWVzc2FnZS51c2VybmFtZV0pIHtcclxuICAgICAgICB0aGlzLnVzZXJuYW1lVG9Db2xvclttZXNzYWdlLnVzZXJuYW1lXSA9IHRoaXMuY29sb3JzW3RoaXMuY29sb3JzSW5kZXhdO1xyXG4gICAgICAgIHRoaXMuY29sb3JzSW5kZXggPSAodGhpcy5jb2xvcnNJbmRleCArIDEpICUgdGhpcy5jb2xvcnMubGVuZ3RoO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLnVzZXJuYW1lVG9Db2xvclttZXNzYWdlLnVzZXJuYW1lXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbG9yc1swXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3VsZEFsaWduUmlnaHQobWVzc2FnZTogSUNoYXRNZXNzYWdlKSB7XHJcbiAgICByZXR1cm4gbWVzc2FnZS50eXBlICYmIG1lc3NhZ2UudHlwZSA9PT0gSUNoYXRNZXNzYWdlVHlwZS5BR0VOVDtcclxuICB9XHJcblxyXG4gIHNlbmROZXdNZXNzYWdlKCkge1xyXG4gICAgaWYgKHRoaXMubmV3TWVzc2FnZVRleHQpIHtcclxuICAgICAgdGhpcy5uZXdNZXNzYWdlLmVtaXQodGhpcy5uZXdNZXNzYWdlVGV4dCk7XHJcbiAgICAgIHRoaXMubmV3TWVzc2FnZVRleHQgPSAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTmV3TWVzc2FnZUZvY3VzKGV2ZW50OiBib29sZWFuKSB7XHJcbiAgICBjb25zdCBpc1R5cGluZyA9IGV2ZW50ICYmIHRoaXMubmV3TWVzc2FnZVRleHQubGVuZ3RoID4gMDtcclxuICAgIGlmIChpc1R5cGluZyAhPT0gdGhpcy5faXNBZ2VudFR5cGluZykge1xyXG4gICAgICB0aGlzLl9pc0FnZW50VHlwaW5nID0gaXNUeXBpbmc7XHJcbiAgICAgIHRoaXMuaXNBZ2VudFR5cGluZy5lbWl0KGlzVHlwaW5nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uS2V5dXAoKSB7XHJcbiAgICBjb25zdCBpc1R5cGluZyA9IHRoaXMubmV3TWVzc2FnZVRleHQubGVuZ3RoID4gMDtcclxuICAgIGlmIChpc1R5cGluZyAhPT0gdGhpcy5faXNBZ2VudFR5cGluZykge1xyXG4gICAgICB0aGlzLl9pc0FnZW50VHlwaW5nID0gaXNUeXBpbmc7XHJcbiAgICAgIHRoaXMuaXNBZ2VudFR5cGluZy5lbWl0KGlzVHlwaW5nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNjcm9sbFRvQm90dG9tKCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5tZXNzYWdlc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IHRoaXMubWVzc2FnZXNDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZSkgeyB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,40 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, Input } from '@angular/core';
3
+ var ChatMessageComponent = /** @class */ (function () {
4
+ function ChatMessageComponent() {
5
+ this.alignRight = false;
6
+ }
7
+ ChatMessageComponent.prototype.ngOnInit = function () {
8
+ };
9
+ __decorate([
10
+ Input()
11
+ ], ChatMessageComponent.prototype, "message", void 0);
12
+ __decorate([
13
+ Input()
14
+ ], ChatMessageComponent.prototype, "alignRight", void 0);
15
+ __decorate([
16
+ Input()
17
+ ], ChatMessageComponent.prototype, "username", void 0);
18
+ __decorate([
19
+ Input()
20
+ ], ChatMessageComponent.prototype, "color", void 0);
21
+ __decorate([
22
+ Input()
23
+ ], ChatMessageComponent.prototype, "timestamp", void 0);
24
+ __decorate([
25
+ Input()
26
+ ], ChatMessageComponent.prototype, "image", void 0);
27
+ __decorate([
28
+ Input()
29
+ ], ChatMessageComponent.prototype, "fallbackImage", void 0);
30
+ ChatMessageComponent = __decorate([
31
+ Component({
32
+ selector: 'app-chat-message',
33
+ 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 <span *ngIf=\"timestamp\" class=\"timestamp\">{{timestamp}}</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</div>\r\n",
34
+ styles: [":host{display:block;margin-top:2px;margin-bottom:2px}.right-message{text-align:end}.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:.4em;padding:3px;font-style:normal;font-size:1em;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;left:.8em;top:-.4em;border-bottom:.4em solid #000;border-bottom-color:inherit;border-left:.4em solid transparent;border-right:.4em solid transparent}.right-message .message-body:after{content:\"\";position:absolute;right:.8em;top:-.4em;border-bottom:.4em solid #000;border-bottom-color:inherit;border-left:.4em solid transparent;border-right:.4em solid transparent}"]
35
+ })
36
+ ], ChatMessageComponent);
37
+ return ChatMessageComponent;
38
+ }());
39
+ export { ChatMessageComponent };
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbWMtdGVjaG5vbG9neS91aS1saWJyYXJ5LyIsInNvdXJjZXMiOlsicHJvamVjdHMvVUlMaWJyYXJ5L3NyYy9hcHAvY29tcG9uZW50cy9jaGF0LW1lc3NhZ2UvY2hhdC1tZXNzYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPekQ7SUFTRTtRQVBTLGVBQVUsR0FBRyxLQUFLLENBQUM7SUFPWixDQUFDO0lBRWpCLHVDQUFRLEdBQVI7SUFDQSxDQUFDO0lBWFE7UUFBUixLQUFLLEVBQUU7eURBQWlCO0lBQ2hCO1FBQVIsS0FBSyxFQUFFOzREQUFvQjtJQUNuQjtRQUFSLEtBQUssRUFBRTswREFBa0I7SUFDakI7UUFBUixLQUFLLEVBQUU7dURBQWU7SUFDZDtRQUFSLEtBQUssRUFBRTsyREFBbUI7SUFDbEI7UUFBUixLQUFLLEVBQUU7dURBQWU7SUFDZDtRQUFSLEtBQUssRUFBRTsrREFBdUI7SUFQcEIsb0JBQW9CO1FBTGhDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIseXFCQUE0Qzs7U0FFN0MsQ0FBQztPQUNXLG9CQUFvQixDQWNoQztJQUFELDJCQUFDO0NBQUEsQUFkRCxJQWNDO1NBZFksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jaGF0LW1lc3NhZ2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGF0LW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoYXQtbWVzc2FnZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGF0TWVzc2FnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFsaWduUmlnaHQgPSBmYWxzZTtcclxuICBASW5wdXQoKSB1c2VybmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNvbG9yOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGltZXN0YW1wOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaW1hZ2U6IHN0cmluZztcclxuICBASW5wdXQoKSBmYWxsYmFja0ltYWdlOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,61 @@
1
+ import { __decorate, __values } from "tslib";
2
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
3
+ var DispositionComponent = /** @class */ (function () {
4
+ function DispositionComponent() {
5
+ this.dispositionEmitter = new EventEmitter();
6
+ this.selectedDispositionValue = '';
7
+ this.dispositionName = '';
8
+ }
9
+ DispositionComponent.prototype.ngOnInit = function () {
10
+ var e_1, _a;
11
+ try {
12
+ for (var _b = __values(this.disposition.dispositionMetadata), _c = _b.next(); !_c.done; _c = _b.next()) {
13
+ var metadata = _c.value;
14
+ if (metadata.key === 'callId') {
15
+ this.dispositionName = "disposition_" + metadata.value;
16
+ break;
17
+ }
18
+ }
19
+ }
20
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
21
+ finally {
22
+ try {
23
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
24
+ }
25
+ finally { if (e_1) throw e_1.error; }
26
+ }
27
+ if (this.disposition.checkedDisposition) {
28
+ this.selectedDispositionValue = this.disposition.checkedDisposition;
29
+ }
30
+ };
31
+ DispositionComponent.prototype.submitDisposition = function () {
32
+ var selectedDisposition = {
33
+ dispositionId: this.selectedDispositionValue,
34
+ dispositionName: this.disposition.disposition.get(this.selectedDispositionValue),
35
+ dispositionMetadata: this.disposition.dispositionMetadata
36
+ };
37
+ this.dispositionEmitter.emit(selectedDisposition);
38
+ };
39
+ DispositionComponent.prototype.selectAndSubmitDisposition = function (event, dispositionKey) {
40
+ if (event.code === 'Enter') {
41
+ this.selectedDispositionValue = dispositionKey;
42
+ this.submitDisposition();
43
+ }
44
+ };
45
+ __decorate([
46
+ Input()
47
+ ], DispositionComponent.prototype, "disposition", void 0);
48
+ __decorate([
49
+ Output()
50
+ ], DispositionComponent.prototype, "dispositionEmitter", void 0);
51
+ DispositionComponent = __decorate([
52
+ Component({
53
+ selector: 'amc-disposition',
54
+ 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",
55
+ 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}"]
56
+ })
57
+ ], DispositionComponent);
58
+ return DispositionComponent;
59
+ }());
60
+ export { DispositionComponent };
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcG9zaXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtYy10ZWNobm9sb2d5L3VpLWxpYnJhcnkvIiwic291cmNlcyI6WyJwcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL2Rpc3Bvc2l0aW9uL2Rpc3Bvc2l0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8vRTtJQVFFO1FBTFUsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFFdEUsNkJBQXdCLEdBQVcsRUFBRSxDQUFDO1FBQ3RDLG9CQUFlLEdBQVcsRUFBRSxDQUFDO0lBRWIsQ0FBQztJQUVqQix1Q0FBUSxHQUFSOzs7WUFDRSxLQUF1QixJQUFBLEtBQUEsU0FBQSxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFBLGdCQUFBLDRCQUFFO2dCQUF4RCxJQUFNLFFBQVEsV0FBQTtnQkFDakIsSUFBSSxRQUFRLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRTtvQkFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxpQkFBZSxRQUFRLENBQUMsS0FBTyxDQUFDO29CQUV2RCxNQUFNO2lCQUNQO2FBQ0Y7Ozs7Ozs7OztRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRTtZQUN2QyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQztTQUNyRTtJQUNILENBQUM7SUFFRCxnREFBaUIsR0FBakI7UUFDRSxJQUFNLG1CQUFtQixHQUF1QjtZQUM5QyxhQUFhLEVBQUUsSUFBSSxDQUFDLHdCQUF3QjtZQUM1QyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztZQUNoRixtQkFBbUIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQjtTQUMxRCxDQUFDO1FBRUYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCx5REFBMEIsR0FBMUIsVUFBMkIsS0FBb0IsRUFBRSxjQUFzQjtRQUNyRSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQzFCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxjQUFjLENBQUM7WUFDL0MsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBdENRO1FBQVIsS0FBSyxFQUFFOzZEQUEyQjtJQUV6QjtRQUFULE1BQU0sRUFBRTtvRUFBNkQ7SUFIM0Qsb0JBQW9CO1FBTGhDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsK3FDQUEyQzs7U0FFNUMsQ0FBQztPQUNXLG9CQUFvQixDQXdDaEM7SUFBRCwyQkFBQztDQUFBLEFBeENELElBd0NDO1NBeENZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElEaXNwb3NpdGlvbiwgSURpc3Bvc2l0aW9uUmVzdWx0IH0gZnJvbSAnLi8uLi8uLi9tb2RlbHMvZGlzcG9zaXRpb24uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbWMtZGlzcG9zaXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kaXNwb3NpdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGlzcG9zaXRpb24uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaXNwb3NpdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZGlzcG9zaXRpb246IElEaXNwb3NpdGlvbjtcclxuXHJcbiAgQE91dHB1dCgpIGRpc3Bvc2l0aW9uRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8SURpc3Bvc2l0aW9uUmVzdWx0PigpO1xyXG5cclxuICBzZWxlY3RlZERpc3Bvc2l0aW9uVmFsdWU6IHN0cmluZyA9ICcnO1xyXG4gIGRpc3Bvc2l0aW9uTmFtZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgZm9yIChjb25zdCBtZXRhZGF0YSBvZiB0aGlzLmRpc3Bvc2l0aW9uLmRpc3Bvc2l0aW9uTWV0YWRhdGEpIHtcclxuICAgICAgaWYgKG1ldGFkYXRhLmtleSA9PT0gJ2NhbGxJZCcpIHtcclxuICAgICAgICB0aGlzLmRpc3Bvc2l0aW9uTmFtZSA9IGBkaXNwb3NpdGlvbl8ke21ldGFkYXRhLnZhbHVlfWA7XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZGlzcG9zaXRpb24uY2hlY2tlZERpc3Bvc2l0aW9uKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREaXNwb3NpdGlvblZhbHVlID0gdGhpcy5kaXNwb3NpdGlvbi5jaGVja2VkRGlzcG9zaXRpb247XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdWJtaXREaXNwb3NpdGlvbigpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkRGlzcG9zaXRpb246IElEaXNwb3NpdGlvblJlc3VsdCA9IHtcclxuICAgICAgZGlzcG9zaXRpb25JZDogdGhpcy5zZWxlY3RlZERpc3Bvc2l0aW9uVmFsdWUsXHJcbiAgICAgIGRpc3Bvc2l0aW9uTmFtZTogdGhpcy5kaXNwb3NpdGlvbi5kaXNwb3NpdGlvbi5nZXQodGhpcy5zZWxlY3RlZERpc3Bvc2l0aW9uVmFsdWUpLFxyXG4gICAgICBkaXNwb3NpdGlvbk1ldGFkYXRhOiB0aGlzLmRpc3Bvc2l0aW9uLmRpc3Bvc2l0aW9uTWV0YWRhdGFcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5kaXNwb3NpdGlvbkVtaXR0ZXIuZW1pdChzZWxlY3RlZERpc3Bvc2l0aW9uKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdEFuZFN1Ym1pdERpc3Bvc2l0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBkaXNwb3NpdGlvbktleTogc3RyaW5nKSB7XHJcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VudGVyJykge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRGlzcG9zaXRpb25WYWx1ZSA9IGRpc3Bvc2l0aW9uS2V5O1xyXG4gICAgICB0aGlzLnN1Ym1pdERpc3Bvc2l0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,60 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, Input } from '@angular/core';
3
+ var DurationComponent = /** @class */ (function () {
4
+ function DurationComponent() {
5
+ this.labelledByText = '';
6
+ this.displayTime = '00:00/00:00';
7
+ }
8
+ DurationComponent.prototype.ngOnInit = function () {
9
+ if (this.statusText && this.callId) {
10
+ this.labelledByText = this.statusText + " " + this.callId;
11
+ }
12
+ else if (this.statusText) {
13
+ this.labelledByText = this.statusText;
14
+ }
15
+ else if (this.callId) {
16
+ this.labelledByText = this.callId;
17
+ }
18
+ this.startCallCounter();
19
+ };
20
+ /**
21
+ * @ignore
22
+ */
23
+ DurationComponent.prototype.startCallCounter = function () {
24
+ var _this = this;
25
+ if (this._timerId == null) {
26
+ this._timerId = window.setInterval(function () {
27
+ var callStartTime = _this.startTime;
28
+ var currentTime = new Date().getTime() / 1000;
29
+ var secondsPassed = Math.floor((currentTime) - (callStartTime / 1000));
30
+ _this.displayTime = Math.floor(secondsPassed / 60) + ':' + ('0' + (secondsPassed % 60)).slice(-2);
31
+ }, 1000);
32
+ }
33
+ };
34
+ DurationComponent.prototype.ngOnDestroy = function () {
35
+ // clear the timer.
36
+ if (this._timerId != null) {
37
+ clearInterval(this._timerId);
38
+ this._timerId = null;
39
+ }
40
+ };
41
+ __decorate([
42
+ Input()
43
+ ], DurationComponent.prototype, "statusText", void 0);
44
+ __decorate([
45
+ Input()
46
+ ], DurationComponent.prototype, "callId", void 0);
47
+ __decorate([
48
+ Input()
49
+ ], DurationComponent.prototype, "startTime", void 0);
50
+ DurationComponent = __decorate([
51
+ Component({
52
+ selector: 'amc-duration',
53
+ 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",
54
+ 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:5px}.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}"]
55
+ })
56
+ ], DurationComponent);
57
+ return DurationComponent;
58
+ }());
59
+ export { DurationComponent };
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtYy10ZWNobm9sb2d5L3VpLWxpYnJhcnkvIiwic291cmNlcyI6WyJwcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL2R1cmF0aW9uL2R1cmF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBT3BFO0lBVUU7UUFKQSxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUtsQixJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQztJQUNuQyxDQUFDO0lBRUQsb0NBQVEsR0FBUjtRQUNFLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQU0sSUFBSSxDQUFDLFVBQVUsU0FBSSxJQUFJLENBQUMsTUFBUSxDQUFDO1NBQzNEO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzFCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUN2QzthQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7U0FDbEM7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O0tBRUM7SUFDTyw0Q0FBZ0IsR0FBeEI7UUFBQSxpQkFTQztRQVJDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUU7WUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO2dCQUNqQyxJQUFNLGFBQWEsR0FBVyxLQUFJLENBQUMsU0FBUyxDQUFDO2dCQUM3QyxJQUFNLFdBQVcsR0FBVyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztnQkFDeEQsSUFBTSxhQUFhLEdBQVcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ2pGLEtBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ1Y7SUFDSCxDQUFDO0lBRUQsdUNBQVcsR0FBWDtRQUNFLG1CQUFtQjtRQUNuQixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFO1lBQ3pCLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBN0NRO1FBQVIsS0FBSyxFQUFFO3lEQUFvQjtJQUNuQjtRQUFSLEtBQUssRUFBRTtxREFBZ0I7SUFDZjtRQUFSLEtBQUssRUFBRTt3REFBbUI7SUFIaEIsaUJBQWlCO1FBTDdCLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxjQUFjO1lBQ3hCLHVUQUF3Qzs7U0FFekMsQ0FBQztPQUNXLGlCQUFpQixDQWdEN0I7SUFBRCx3QkFBQztDQUFBLEFBaERELElBZ0RDO1NBaERZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FtYy1kdXJhdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R1cmF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kdXJhdGlvbi5jb21wb25lbnQuc2NzcycsICcuLy4uL3VpbGlicmFyeS5tb2R1bGUuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEdXJhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBzdGF0dXNUZXh0OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2FsbElkOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc3RhcnRUaW1lOiBudW1iZXI7XHJcblxyXG4gIGRpc3BsYXlUaW1lOiBzdHJpbmc7XHJcbiAgbGFiZWxsZWRCeVRleHQgPSAnJztcclxuXHJcbiAgcHJpdmF0ZSBfdGltZXJJZD86IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmRpc3BsYXlUaW1lID0gJzAwOjAwLzAwOjAwJztcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuc3RhdHVzVGV4dCAmJiB0aGlzLmNhbGxJZCkge1xyXG4gICAgICB0aGlzLmxhYmVsbGVkQnlUZXh0ID0gYCR7dGhpcy5zdGF0dXNUZXh0fSAke3RoaXMuY2FsbElkfWA7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuc3RhdHVzVGV4dCkge1xyXG4gICAgICB0aGlzLmxhYmVsbGVkQnlUZXh0ID0gdGhpcy5zdGF0dXNUZXh0O1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNhbGxJZCkge1xyXG4gICAgICB0aGlzLmxhYmVsbGVkQnlUZXh0ID0gdGhpcy5jYWxsSWRcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN0YXJ0Q2FsbENvdW50ZXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG4gIHByaXZhdGUgc3RhcnRDYWxsQ291bnRlcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl90aW1lcklkID09IG51bGwpIHtcclxuICAgICAgdGhpcy5fdGltZXJJZCA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2FsbFN0YXJ0VGltZTogbnVtYmVyID0gdGhpcy5zdGFydFRpbWU7XHJcbiAgICAgICAgY29uc3QgY3VycmVudFRpbWU6IG51bWJlciA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMDtcclxuICAgICAgICBjb25zdCBzZWNvbmRzUGFzc2VkOiBudW1iZXIgPSBNYXRoLmZsb29yKChjdXJyZW50VGltZSkgLSAoY2FsbFN0YXJ0VGltZSAvIDEwMDApKTtcclxuICAgICAgICB0aGlzLmRpc3BsYXlUaW1lID0gTWF0aC5mbG9vcihzZWNvbmRzUGFzc2VkIC8gNjApICsgJzonICsgKCcwJyArIChzZWNvbmRzUGFzc2VkICUgNjApKS5zbGljZSgtMik7XHJcbiAgICAgIH0sIDEwMDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAvLyBjbGVhciB0aGUgdGltZXIuXHJcbiAgICBpZiAodGhpcy5fdGltZXJJZCAhPSBudWxsKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5fdGltZXJJZCk7XHJcbiAgICAgIHRoaXMuX3RpbWVySWQgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,74 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, Input } from '@angular/core';
3
+ import { secondsToHms } from '../../Helpers';
4
+ var HoldtimerComponent = /** @class */ (function () {
5
+ function HoldtimerComponent() {
6
+ this.labelledByText = '';
7
+ this.displayTime = '00:00/00:00';
8
+ }
9
+ HoldtimerComponent.prototype.ngOnInit = function () {
10
+ if (this.statusText && this.callId) {
11
+ this.labelledByText = this.statusText + " " + this.callId;
12
+ }
13
+ else if (this.statusText) {
14
+ this.labelledByText = this.statusText;
15
+ }
16
+ else if (this.callId) {
17
+ this.labelledByText = this.callId;
18
+ }
19
+ this.startCallCounter();
20
+ };
21
+ /**
22
+ * @ignore
23
+ */
24
+ HoldtimerComponent.prototype.startCallCounter = function () {
25
+ var _this = this;
26
+ var pastTimeInSeconds = this.CaculatePastHoldDuration();
27
+ if (this._timerId == null) {
28
+ this._timerId = window.setInterval(function () {
29
+ var currentTime = new Date().getTime() / 1000;
30
+ var secondsPassedCurrentCall = Math.floor((currentTime) - (_this.holdCounterData.currentHoldStartTime / 1000));
31
+ _this.displayTime = secondsToHms(secondsPassedCurrentCall) +
32
+ '/' + secondsToHms(pastTimeInSeconds + secondsPassedCurrentCall);
33
+ }, 1000);
34
+ }
35
+ };
36
+ HoldtimerComponent.prototype.CaculatePastHoldDuration = function () {
37
+ var pastTimeInSeconds = 0;
38
+ if (this.holdCounterData.pastCallDurations) {
39
+ this.holdCounterData.pastCallDurations.forEach(function (holdTimerIterator) {
40
+ pastTimeInSeconds += (holdTimerIterator.endTime - holdTimerIterator.startTime) / 1000;
41
+ });
42
+ }
43
+ return pastTimeInSeconds;
44
+ };
45
+ /**
46
+ * @ignore
47
+ */
48
+ HoldtimerComponent.prototype.ngOnDestroy = function () {
49
+ // clear the timer.
50
+ if (this._timerId != null) {
51
+ clearInterval(this._timerId);
52
+ this._timerId = null;
53
+ }
54
+ };
55
+ __decorate([
56
+ Input()
57
+ ], HoldtimerComponent.prototype, "holdCounterData", void 0);
58
+ __decorate([
59
+ Input()
60
+ ], HoldtimerComponent.prototype, "statusText", void 0);
61
+ __decorate([
62
+ Input()
63
+ ], HoldtimerComponent.prototype, "callId", void 0);
64
+ HoldtimerComponent = __decorate([
65
+ Component({
66
+ selector: 'amc-holdtimer',
67
+ 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",
68
+ 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:5px}.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}"]
69
+ })
70
+ ], HoldtimerComponent);
71
+ return HoldtimerComponent;
72
+ }());
73
+ export { HoldtimerComponent };
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZHRpbWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbWMtdGVjaG5vbG9neS91aS1saWJyYXJ5LyIsInNvdXJjZXMiOlsicHJvamVjdHMvVUlMaWJyYXJ5L3NyYy9hcHAvY29tcG9uZW50cy9ob2xkdGltZXIvaG9sZHRpbWVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU83QztJQVNFO1FBSEEsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFJbEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUM7SUFDbkMsQ0FBQztJQUVELHFDQUFRLEdBQVI7UUFDRSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFNLElBQUksQ0FBQyxVQUFVLFNBQUksSUFBSSxDQUFDLE1BQVEsQ0FBQztTQUMzRDthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDdkM7YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1NBQ2xDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNEOztPQUVHO0lBQ0ssNkNBQWdCLEdBQXhCO1FBQUEsaUJBVUM7UUFUQyxJQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQzFELElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUU7WUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO2dCQUNqQyxJQUFNLFdBQVcsR0FBVyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztnQkFDeEQsSUFBTSx3QkFBd0IsR0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFJLENBQUMsZUFBZSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ3hILEtBQUksQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDLHdCQUF3QixDQUFDO29CQUN2RCxHQUFHLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixHQUFHLHdCQUF3QixDQUFDLENBQUM7WUFDckUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ1Y7SUFDSCxDQUFDO0lBRU8scURBQXdCLEdBQWhDO1FBQ0UsSUFBSSxpQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixFQUFFO1lBQzFDLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFVBQUMsaUJBQWdDO2dCQUM5RSxpQkFBaUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDeEYsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8saUJBQWlCLENBQUM7SUFFM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsd0NBQVcsR0FBWDtRQUNFLG1CQUFtQjtRQUNuQixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFO1lBQ3pCLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBMURRO1FBQVIsS0FBSyxFQUFFOytEQUFtQztJQUNsQztRQUFSLEtBQUssRUFBRTswREFBb0I7SUFDbkI7UUFBUixLQUFLLEVBQUU7c0RBQWdCO0lBSGIsa0JBQWtCO1FBTDlCLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxlQUFlO1lBQ3pCLG1WQUF5Qzs7U0FFMUMsQ0FBQztPQUNXLGtCQUFrQixDQTZEOUI7SUFBRCx5QkFBQztDQUFBLEFBN0RELElBNkRDO1NBN0RZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElIb2xkQ291bnRlckRhdGEsIElDYWxsRHVyYXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvdWlsaWJyYXJ5Lm1vZGVsJztcclxuaW1wb3J0IHsgc2Vjb25kc1RvSG1zIH0gZnJvbSAnLi4vLi4vSGVscGVycyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FtYy1ob2xkdGltZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ob2xkdGltZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hvbGR0aW1lci5jb21wb25lbnQuc2NzcycsICcuLy4uL3VpbGlicmFyeS5tb2R1bGUuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIb2xkdGltZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgaG9sZENvdW50ZXJEYXRhOiBJSG9sZENvdW50ZXJEYXRhO1xyXG4gIEBJbnB1dCgpIHN0YXR1c1RleHQ6IHN0cmluZztcclxuICBASW5wdXQoKSBjYWxsSWQ6IHN0cmluZztcclxuXHJcbiAgZGlzcGxheVRpbWU6IHN0cmluZztcclxuICBsYWJlbGxlZEJ5VGV4dCA9ICcnO1xyXG5cclxuICBwcml2YXRlIF90aW1lcklkPzogbnVtYmVyO1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5kaXNwbGF5VGltZSA9ICcwMDowMC8wMDowMCc7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnN0YXR1c1RleHQgJiYgdGhpcy5jYWxsSWQpIHtcclxuICAgICAgdGhpcy5sYWJlbGxlZEJ5VGV4dCA9IGAke3RoaXMuc3RhdHVzVGV4dH0gJHt0aGlzLmNhbGxJZH1gO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnN0YXR1c1RleHQpIHtcclxuICAgICAgdGhpcy5sYWJlbGxlZEJ5VGV4dCA9IHRoaXMuc3RhdHVzVGV4dDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jYWxsSWQpIHtcclxuICAgICAgdGhpcy5sYWJlbGxlZEJ5VGV4dCA9IHRoaXMuY2FsbElkXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdGFydENhbGxDb3VudGVyKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBwcml2YXRlIHN0YXJ0Q2FsbENvdW50ZXIoKTogdm9pZCB7XHJcbiAgICBjb25zdCBwYXN0VGltZUluU2Vjb25kcyA9IHRoaXMuQ2FjdWxhdGVQYXN0SG9sZER1cmF0aW9uKCk7XHJcbiAgICBpZiAodGhpcy5fdGltZXJJZCA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuX3RpbWVySWQgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRUaW1lOiBudW1iZXIgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7XHJcbiAgICAgICAgY29uc3Qgc2Vjb25kc1Bhc3NlZEN1cnJlbnRDYWxsOiBudW1iZXIgPSBNYXRoLmZsb29yKChjdXJyZW50VGltZSkgLSAodGhpcy5ob2xkQ291bnRlckRhdGEuY3VycmVudEhvbGRTdGFydFRpbWUgLyAxMDAwKSk7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5VGltZSA9IHNlY29uZHNUb0htcyhzZWNvbmRzUGFzc2VkQ3VycmVudENhbGwpICtcclxuICAgICAgICAgICcvJyArIHNlY29uZHNUb0htcyhwYXN0VGltZUluU2Vjb25kcyArIHNlY29uZHNQYXNzZWRDdXJyZW50Q2FsbCk7XHJcbiAgICAgIH0sIDEwMDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBDYWN1bGF0ZVBhc3RIb2xkRHVyYXRpb24oKTogbnVtYmVyIHtcclxuICAgIGxldCBwYXN0VGltZUluU2Vjb25kcyA9IDA7XHJcbiAgICBpZiAodGhpcy5ob2xkQ291bnRlckRhdGEucGFzdENhbGxEdXJhdGlvbnMpIHtcclxuICAgICAgdGhpcy5ob2xkQ291bnRlckRhdGEucGFzdENhbGxEdXJhdGlvbnMuZm9yRWFjaCgoaG9sZFRpbWVySXRlcmF0b3I6IElDYWxsRHVyYXRpb24pID0+IHtcclxuICAgICAgICBwYXN0VGltZUluU2Vjb25kcyArPSAoaG9sZFRpbWVySXRlcmF0b3IuZW5kVGltZSAtIGhvbGRUaW1lckl0ZXJhdG9yLnN0YXJ0VGltZSkgLyAxMDAwO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBwYXN0VGltZUluU2Vjb25kcztcclxuXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAvLyBjbGVhciB0aGUgdGltZXIuXHJcbiAgICBpZiAodGhpcy5fdGltZXJJZCAhPSBudWxsKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5fdGltZXJJZCk7XHJcbiAgICAgIHRoaXMuX3RpbWVySWQgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,85 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
3
+ /**
4
+ * @ignore
5
+ */
6
+ var InteractionComponent = /** @class */ (function () {
7
+ /**
8
+ * @ignore
9
+ */
10
+ function InteractionComponent() {
11
+ this.minimizedChanged = new EventEmitter();
12
+ this.isAgentTyping = new EventEmitter();
13
+ this.newMessage = new EventEmitter();
14
+ this._minimized = false;
15
+ }
16
+ Object.defineProperty(InteractionComponent.prototype, "_minimized", {
17
+ get: function () {
18
+ return this.minimized;
19
+ },
20
+ set: function (value) {
21
+ this.minimized = value;
22
+ this.minimizedChanged.emit(value);
23
+ },
24
+ enumerable: true,
25
+ configurable: true
26
+ });
27
+ /**
28
+ * @ignore
29
+ */
30
+ InteractionComponent.prototype.ngOnInit = function () {
31
+ };
32
+ /**
33
+ * @ignore
34
+ */
35
+ InteractionComponent.prototype.minimize = function () {
36
+ this._minimized = true;
37
+ };
38
+ /**
39
+ * @ignore
40
+ */
41
+ InteractionComponent.prototype.maximize = function () {
42
+ this._minimized = false;
43
+ };
44
+ /**
45
+ * @ignore
46
+ */
47
+ InteractionComponent.prototype.isConferenceCall = function () {
48
+ if (this.interaction.parties && this.interaction.parties.length > 1) {
49
+ return true;
50
+ }
51
+ return false;
52
+ };
53
+ InteractionComponent.prototype.collapseKeypress = function (event) {
54
+ if (event.code === 'Enter') {
55
+ this.minimize();
56
+ }
57
+ };
58
+ InteractionComponent.prototype.expandKeypress = function (event) {
59
+ if (event.code === 'Enter') {
60
+ this.maximize();
61
+ }
62
+ };
63
+ __decorate([
64
+ Input()
65
+ ], InteractionComponent.prototype, "interaction", void 0);
66
+ __decorate([
67
+ Output()
68
+ ], InteractionComponent.prototype, "minimizedChanged", void 0);
69
+ __decorate([
70
+ Output()
71
+ ], InteractionComponent.prototype, "isAgentTyping", void 0);
72
+ __decorate([
73
+ Output()
74
+ ], InteractionComponent.prototype, "newMessage", void 0);
75
+ InteractionComponent = __decorate([
76
+ Component({
77
+ selector: 'amc-interaction',
78
+ 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\r\n <app-chat-box *ngIf=\"interaction.chat\" [isTyping]=\"interaction.chat.isCustomerTyping\" [settings]=\"interaction.chat.settings\"\r\n [messages]=\"interaction.chat.messages\" (isAgentTyping)=\"isAgentTyping.emit($event)\" (newMessage)=\"newMessage.emit($event)\"></app-chat-box>\r\n\r\n <div [id]='interaction.interactionId'> </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 *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",
79
+ styles: [":host{display:block}.phoneNumberContainer{margin-left:5px!important;padding-left:0;display:flex;align-items:center}.cadSection{margin-bottom:5px}.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:5px}.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}"]
80
+ })
81
+ ], InteractionComponent);
82
+ return InteractionComponent;
83
+ }());
84
+ export { InteractionComponent };
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtYy10ZWNobm9sb2d5L3VpLWxpYnJhcnkvIiwic291cmNlcyI6WyJwcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL2ludGVyYWN0aW9uL2ludGVyYWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvRTs7R0FFRztBQU1IO0lBa0JFOztPQUVHO0lBQ0g7UUFsQlUscUJBQWdCLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDN0Qsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzVDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBaUJoRCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBYkQsc0JBQUksNENBQVU7YUFJZDtZQUNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN4QixDQUFDO2FBTkQsVUFBZSxLQUFLO1lBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQzs7O09BQUE7SUFZRDs7T0FFRztJQUNILHVDQUFRLEdBQVI7SUFDQSxDQUFDO0lBRUQ7O09BRUc7SUFDSCx1Q0FBUSxHQUFSO1FBQ0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsdUNBQVEsR0FBUjtRQUNFLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILCtDQUFnQixHQUFoQjtRQUNFLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNuRSxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsK0NBQWdCLEdBQWhCLFVBQWlCLEtBQW9CO1FBQ25DLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVELDZDQUFjLEdBQWQsVUFBZSxLQUFvQjtRQUNqQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQzFCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUEvRFE7UUFBUixLQUFLLEVBQUU7NkRBQTJCO0lBQ3pCO1FBQVQsTUFBTSxFQUFFO2tFQUE4RDtJQUM3RDtRQUFULE1BQU0sRUFBRTsrREFBNkM7SUFDNUM7UUFBVCxNQUFNLEVBQUU7NERBQXlDO0lBTHZDLG9CQUFvQjtRQUxoQyxTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLHVzTEFBMkM7O1NBRTVDLENBQUM7T0FDVyxvQkFBb0IsQ0FtRWhDO0lBQUQsMkJBQUM7Q0FBQSxBQW5FRCxJQW1FQztTQW5FWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElJbnRlcmFjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy91aWxpYnJhcnkubW9kZWwnO1xyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW1jLWludGVyYWN0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW50ZXJhY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ludGVyYWN0aW9uLmNvbXBvbmVudC5zY3NzJywgJy4vLi4vdWlsaWJyYXJ5Lm1vZHVsZS5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEludGVyYWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgaW50ZXJhY3Rpb246IElJbnRlcmFjdGlvbjtcclxuICBAT3V0cHV0KCkgbWluaW1pemVkQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBpc0FnZW50VHlwaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSBuZXdNZXNzYWdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIG1pbmltaXplZDogYm9vbGVhbjtcclxuICBzZXQgX21pbmltaXplZCh2YWx1ZSkge1xyXG4gICAgdGhpcy5taW5pbWl6ZWQgPSB2YWx1ZTtcclxuICAgIHRoaXMubWluaW1pemVkQ2hhbmdlZC5lbWl0KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IF9taW5pbWl6ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5taW5pbWl6ZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLl9taW5pbWl6ZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBtaW5pbWl6ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX21pbmltaXplZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgbWF4aW1pemUoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9taW5pbWl6ZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBpc0NvbmZlcmVuY2VDYWxsKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuaW50ZXJhY3Rpb24ucGFydGllcyAmJiB0aGlzLmludGVyYWN0aW9uLnBhcnRpZXMubGVuZ3RoID4gMSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGNvbGxhcHNlS2V5cHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldmVudC5jb2RlID09PSAnRW50ZXInKSB7XHJcbiAgICAgIHRoaXMubWluaW1pemUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGV4cGFuZEtleXByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VudGVyJykge1xyXG4gICAgICB0aGlzLm1heGltaXplKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=