@amc-technology/ui-library 1.0.99 → 1.0.100

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.
@@ -134,11 +134,11 @@ var RecentActivityComponent = /** @class */ (function () {
134
134
  RecentActivityComponent = __decorate([
135
135
  Component({
136
136
  selector: 'amc-recent-activity',
137
- 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",
137
+ template: "<div *ngIf=\"ActivityDetails.ScenarioId === workingScenarioID\">\r\n <div (click)=\"expandAndCollapseRecentActivity(false);\" class=\"editor callHeaderRecentActivitySelected\">\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 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",
138
138
  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}"]
139
139
  })
140
140
  ], RecentActivityComponent);
141
141
  return RecentActivityComponent;
142
142
  }());
143
143
  export { RecentActivityComponent };
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZW50LWFjdGl2aXR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbWMtdGVjaG5vbG9neS91aS1saWJyYXJ5LyIsInNvdXJjZXMiOlsicHJvamVjdHMvVUlMaWJyYXJ5L3NyYy9hcHAvY29tcG9uZW50cy9yZWNlbnQtYWN0aXZpdHkvcmVjZW50LWFjdGl2aXR5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFJUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVMvQjtJQW1CRTtRQUNFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBSWhDLENBQUM7UUFFTCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCw2Q0FBVyxHQUFYO0lBQ0EsQ0FBQztJQUVELHlDQUFPLEdBQVAsVUFBUSxRQUFRO1FBQ2QsUUFBUSxRQUFRLEVBQUU7WUFDaEIsS0FBSyxXQUFXO2dCQUNkLE9BQU8sMkNBQTJDLENBQUM7WUFDckQsS0FBSyxPQUFPO2dCQUNWLE9BQU8sa0NBQWtDLENBQUM7WUFDNUM7Z0JBQ0UsT0FBTyw4QkFBOEIsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRCwwQ0FBUSxHQUFSO1FBQUEsaUJBVUM7UUFUQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDL0MsSUFBTSxRQUFRLEdBQUc7Z0JBQ2YsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLFNB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QSxBQXpJRCxJQXlJQztTQXpJWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIE9uSW5pdCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJQWN0aXZpdHkgfSBmcm9tICcuLi8uLi9tb2RlbHMvSUFjdGl2aXR5JztcclxuaW1wb3J0IHsgSUFjdGl2aXR5RGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVscy9JQWN0aXZpdHlEZXRhaWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW1jLXJlY2VudC1hY3Rpdml0eScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY2VudC1hY3Rpdml0eS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmVjZW50LWFjdGl2aXR5LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVjZW50QWN0aXZpdHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBBY3Rpdml0eURldGFpbHM6IElBY3Rpdml0eTtcclxuICBASW5wdXQoKSBpc0luQ29uc29sZVZpZXc6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgcXVpY2tDb21tZW50TGlzdDogc3RyaW5nW107XHJcbiAgQElucHV0KCkgd29ya2luZ1NjZW5hcmlvSUQ6IHN0cmluZztcclxuICBASW5wdXQoKSBpZHg6IG51bWJlcjtcclxuICBASW5wdXQoKSBsYXN0OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIFdob09iamVjdExpc3Q6IElBY3Rpdml0eURldGFpbHNbXTtcclxuICBASW5wdXQoKSBXaGF0T2JqZWN0TGlzdDogSUFjdGl2aXR5RGV0YWlsc1tdO1xyXG5cclxuICBAT3V0cHV0KCkgRXZlbnRFbWl0dGVyOiBFdmVudEVtaXR0ZXI8e1xyXG4gICAgZXZlbnROYW1lOiBzdHJpbmc7XHJcbiAgICBpZHg6IG51bWJlcjtcclxuICAgIG5ld1ZhbHVlPzogSUFjdGl2aXR5O1xyXG4gIH0+O1xyXG5cclxuICBwcml2YXRlIGRlYm91bmNlcjogU3ViamVjdDx2b2lkPjtcclxuICBwcml2YXRlIGV2ZW50TGlzdDogU2V0PFN0cmluZz47XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5FdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgICAgZXZlbnROYW1lOiBzdHJpbmc7XHJcbiAgICAgIGlkeDogbnVtYmVyO1xyXG4gICAgICBuZXdWYWx1ZT86IElBY3Rpdml0eTtcclxuICAgIH0+KCk7XHJcblxyXG4gICAgdGhpcy5kZWJvdW5jZXIgPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgdGhpcy5ldmVudExpc3QgPSBuZXcgU2V0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIGdldEljb24oc2NlbmFyaW8pOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChzY2VuYXJpbykge1xyXG4gICAgICBjYXNlICdUZWxlcGhvbnknOlxyXG4gICAgICAgIHJldHVybiAnLi4vLi4vYXNzZXRzL2ltYWdlcy9QaG9uZV9OdW1iZXJfSWNvbi5wbmcnO1xyXG4gICAgICBjYXNlICdFbWFpbCc6XHJcbiAgICAgICAgcmV0dXJuICcuLi8uLi9hc3NldHMvaW1hZ2VzL2VtYWlsVGFiLnBuZyc7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuICcuLi8uLi9hc3NldHMvaW1hZ2VzL2NoYXQucG5nJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZWJvdW5jZXIucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgY29uc3QgbmV3RXZlbnQgPSB7XHJcbiAgICAgICAgZXZlbnROYW1lOiBBcnJheS5mcm9tKHRoaXMuZXZlbnRMaXN0KS5qb2luKCd8JyksXHJcbiAgICAgICAgaWR4OiB0aGlzLmlkeCxcclxuICAgICAgICBuZXdWYWx1ZTogdGhpcy5BY3Rpdml0eURldGFpbHNcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5FdmVudEVtaXR0ZXIuZW1pdChuZXdFdmVudCk7XHJcbiAgICAgIHRoaXMuZXZlbnRMaXN0LmNsZWFyKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge31cclxuXHJcbiAgZXhwYW5kQW5kQ29sbGFwc2VSZWNlbnRBY3Rpdml0eShpc0V4cGFuZDogYm9vbGVhbikge1xyXG4gICAgaWYgKGlzRXhwYW5kKSB7XHJcbiAgICAgIHRoaXMuRXZlbnRFbWl0dGVyLmVtaXQoe1xyXG4gICAgICAgIGV2ZW50TmFtZTogJ1dvcmtpbmdFdnRpdml0eUNoYW5nZWQnLFxyXG4gICAgICAgIGlkeDogdGhpcy5pZHgsXHJcbiAgICAgICAgbmV3VmFsdWU6IHRoaXMuQWN0aXZpdHlEZXRhaWxzXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5FdmVudEVtaXR0ZXIuZW1pdCh7XHJcbiAgICAgICAgZXZlbnROYW1lOiAnV29ya2luZ0V2dGl2aXR5Q2hhbmdlZCcsXHJcbiAgICAgICAgaWR4OiAtMSxcclxuICAgICAgICBuZXdWYWx1ZTogdGhpcy5BY3Rpdml0eURldGFpbHNcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuQWN0aXZpdHkoKSB7XHJcbiAgICB0aGlzLkV2ZW50RW1pdHRlci5lbWl0KHtcclxuICAgICAgZXZlbnROYW1lOiAnT3BlbkNhbGxBY3Rpdml0eScsXHJcbiAgICAgIGlkeDogdGhpcy5pZHgsXHJcbiAgICAgIG5ld1ZhbHVlOiB0aGlzLkFjdGl2aXR5RGV0YWlsc1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblN1YmplY3RDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmV2ZW50TGlzdC5hZGQoJ0FjdGl2aXR5U3ViamVjdENoYW5nZWQnKTtcclxuICAgIHRoaXMuZGVib3VuY2VyLm5leHQoKTtcclxuICB9XHJcblxyXG4gIG9uU3ViamVjdEtleVVwKCkge1xyXG4gICAgdGhpcy5ldmVudExpc3QuYWRkKCdBY3Rpdml0eVN1YmplY3RDaGFuZ2VkJyk7XHJcbiAgICB0aGlzLmRlYm91bmNlci5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBvbldob09iamVjdENoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLkFjdGl2aXR5RGV0YWlscy5XaG9PYmplY3QgPSB0aGlzLldob09iamVjdExpc3QuZmluZCgob2JqKSA9PiBvYmoub2JqZWN0SWQgPT09IGV2ZW50KTtcclxuICAgIHRoaXMuRXZlbnRFbWl0dGVyLmVtaXQoe1xyXG4gICAgICBldmVudE5hbWU6ICdBY3Rpdml0eVdob09iamVjdENoYW5nZWQnLFxyXG4gICAgICBpZHg6IHRoaXMuaWR4LFxyXG4gICAgICBuZXdWYWx1ZTogdGhpcy5BY3Rpdml0eURldGFpbHNcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25SZWxhdGVkVG9DaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5BY3Rpdml0eURldGFpbHMuV2hhdE9iamVjdCA9IHRoaXMuV2hhdE9iamVjdExpc3QuZmluZCgob2JqKSA9PiBvYmoub2JqZWN0SWQgPT09IGV2ZW50KTtcclxuICAgIHRoaXMuRXZlbnRFbWl0dGVyLmVtaXQoe1xyXG4gICAgICBldmVudE5hbWU6ICdBY3Rpdml0eVdoYXRPYmplY3RDaGFuZ2VkJyxcclxuICAgICAgaWR4OiB0aGlzLmlkeCxcclxuICAgICAgbmV3VmFsdWU6IHRoaXMuQWN0aXZpdHlEZXRhaWxzXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uQ2FsbE5vdGVzQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5ldmVudExpc3QuYWRkKCdBY3Rpdml0eUNhbGxOb3RlQ2hhbmdlZCcpO1xyXG4gICAgdGhpcy5kZWJvdW5jZXIubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgb25DYWxsTm90ZXNLZXlVcCgpIHtcclxuICAgIHRoaXMuZXZlbnRMaXN0LmFkZCgnQWN0aXZpdHlDYWxsTm90ZUNoYW5nZWQnKTtcclxuICAgIHRoaXMuZGVib3VuY2VyLm5leHQoKTtcclxuICB9XHJcblxyXG4gIGFkZFF1aWNrQ29tbWVudFRvRGVzY3JpcHRpb24oY29tbWVudDogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5BY3Rpdml0eURldGFpbHMuRGVzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5BY3Rpdml0eURldGFpbHMuRGVzY3JpcHRpb24gKz0gJ1xcbic7XHJcbiAgICB9XHJcbiAgICB0aGlzLkFjdGl2aXR5RGV0YWlscy5EZXNjcmlwdGlvbiArPSBjb21tZW50O1xyXG4gICAgdGhpcy5ldmVudExpc3QuYWRkKCdBY3Rpdml0eUNhbGxOb3RlQ2hhbmdlZCcpO1xyXG4gICAgdGhpcy5kZWJvdW5jZXIubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0QWN0aXZpdHkoKSB7XHJcbiAgICB0aGlzLkFjdGl2aXR5RGV0YWlscy5Jc1Byb2Nlc3NpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5FdmVudEVtaXR0ZXIuZW1pdCh7XHJcbiAgICAgIGV2ZW50TmFtZTogJ1N1Ym1pdEFjdGl2aXR5JyxcclxuICAgICAgaWR4OiB0aGlzLmlkeCxcclxuICAgICAgbmV3VmFsdWU6IHRoaXMuQWN0aXZpdHlEZXRhaWxzXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZW50LWFjdGl2aXR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbWMtdGVjaG5vbG9neS91aS1saWJyYXJ5LyIsInNvdXJjZXMiOlsicHJvamVjdHMvVUlMaWJyYXJ5L3NyYy9hcHAvY29tcG9uZW50cy9yZWNlbnQtYWN0aXZpdHkvcmVjZW50LWFjdGl2aXR5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFJUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVMvQjtJQW1CRTtRQUNFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBSWhDLENBQUM7UUFFTCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCw2Q0FBVyxHQUFYO0lBQ0EsQ0FBQztJQUVELHlDQUFPLEdBQVAsVUFBUSxRQUFRO1FBQ2QsUUFBUSxRQUFRLEVBQUU7WUFDaEIsS0FBSyxXQUFXO2dCQUNkLE9BQU8sMkNBQTJDLENBQUM7WUFDckQsS0FBSyxPQUFPO2dCQUNWLE9BQU8sa0NBQWtDLENBQUM7WUFDNUM7Z0JBQ0UsT0FBTyw4QkFBOEIsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRCwwQ0FBUSxHQUFSO1FBQUEsaUJBVUM7UUFUQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDL0MsSUFBTSxRQUFRLEdBQUc7Z0JBQ2YsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLFNB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QSxBQXpJRCxJQXlJQztTQXpJWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIE9uSW5pdCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJQWN0aXZpdHkgfSBmcm9tICcuLi8uLi9tb2RlbHMvSUFjdGl2aXR5JztcclxuaW1wb3J0IHsgSUFjdGl2aXR5RGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVscy9JQWN0aXZpdHlEZXRhaWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW1jLXJlY2VudC1hY3Rpdml0eScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY2VudC1hY3Rpdml0eS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmVjZW50LWFjdGl2aXR5LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVjZW50QWN0aXZpdHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBBY3Rpdml0eURldGFpbHM6IElBY3Rpdml0eTtcclxuICBASW5wdXQoKSBpc0luQ29uc29sZVZpZXc6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgcXVpY2tDb21tZW50TGlzdDogc3RyaW5nW107XHJcbiAgQElucHV0KCkgd29ya2luZ1NjZW5hcmlvSUQ6IHN0cmluZztcclxuICBASW5wdXQoKSBpZHg6IG51bWJlcjtcclxuICBASW5wdXQoKSBsYXN0OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIFdob09iamVjdExpc3Q6IElBY3Rpdml0eURldGFpbHNbXTtcclxuICBASW5wdXQoKSBXaGF0T2JqZWN0TGlzdDogSUFjdGl2aXR5RGV0YWlsc1tdO1xyXG5cclxuICBAT3V0cHV0KCkgRXZlbnRFbWl0dGVyOiBFdmVudEVtaXR0ZXI8e1xyXG4gICAgZXZlbnROYW1lOiBzdHJpbmc7XHJcbiAgICBpZHg6IG51bWJlcjtcclxuICAgIG5ld1ZhbHVlPzogSUFjdGl2aXR5O1xyXG4gIH0+O1xyXG5cclxuICBwcml2YXRlIGRlYm91bmNlcjogU3ViamVjdDx2b2lkPjtcclxuICBwcml2YXRlIGV2ZW50TGlzdDogU2V0PFN0cmluZz47XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5FdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgICAgZXZlbnROYW1lOiBzdHJpbmc7XHJcbiAgICAgIGlkeDogbnVtYmVyO1xyXG4gICAgICBuZXdWYWx1ZT86IElBY3Rpdml0eTtcclxuICAgIH0+KCk7XHJcblxyXG4gICAgdGhpcy5kZWJvdW5jZXIgPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgdGhpcy5ldmVudExpc3QgPSBuZXcgU2V0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIGdldEljb24oc2NlbmFyaW8pOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChzY2VuYXJpbykge1xyXG4gICAgICBjYXNlICdUZWxlcGhvbnknOlxyXG4gICAgICAgIHJldHVybiAnLi4vLi4vYXNzZXRzL2ltYWdlcy9QaG9uZV9OdW1iZXJfSWNvbi5wbmcnO1xyXG4gICAgICBjYXNlICdFbWFpbCc6XHJcbiAgICAgICAgcmV0dXJuICcuLi8uLi9hc3NldHMvaW1hZ2VzL2VtYWlsVGFiLnBuZyc7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuICcuLi8uLi9hc3NldHMvaW1hZ2VzL2NoYXQucG5nJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZWJvdW5jZXIucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgY29uc3QgbmV3RXZlbnQgPSB7XHJcbiAgICAgICAgZXZlbnROYW1lOiBBcnJheS5mcm9tKHRoaXMuZXZlbnRMaXN0KS5qb2luKCd8JyksXHJcbiAgICAgICAgaWR4OiB0aGlzLmlkeCxcclxuICAgICAgICBuZXdWYWx1ZTogdGhpcy5BY3Rpdml0eURldGFpbHNcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5FdmVudEVtaXR0ZXIuZW1pdChuZXdFdmVudCk7XHJcbiAgICAgIHRoaXMuZXZlbnRMaXN0LmNsZWFyKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge31cclxuXHJcbiAgZXhwYW5kQW5kQ29sbGFwc2VSZWNlbnRBY3Rpdml0eShpc0V4cGFuZDogYm9vbGVhbikge1xyXG4gICAgaWYgKGlzRXhwYW5kKSB7XHJcbiAgICAgIHRoaXMuRXZlbnRFbWl0dGVyLmVtaXQoe1xyXG4gICAgICAgIGV2ZW50TmFtZTogJ1dvcmtpbmdFdnRpdml0eUNoYW5nZWQnLFxyXG4gICAgICAgIGlkeDogdGhpcy5pZHgsXHJcbiAgICAgICAgbmV3VmFsdWU6IHRoaXMuQWN0aXZpdHlEZXRhaWxzXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5FdmVudEVtaXR0ZXIuZW1pdCh7XHJcbiAgICAgICAgZXZlbnROYW1lOiAnV29ya2luZ0V2dGl2aXR5Q2hhbmdlZCcsXHJcbiAgICAgICAgaWR4OiAtMSxcclxuICAgICAgICBuZXdWYWx1ZTogdGhpcy5BY3Rpdml0eURldGFpbHNcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuQWN0aXZpdHkoKSB7XHJcbiAgICB0aGlzLkV2ZW50RW1pdHRlci5lbWl0KHtcclxuICAgICAgZXZlbnROYW1lOiAnT3BlbkNhbGxBY3Rpdml0eScsXHJcbiAgICAgIGlkeDogdGhpcy5pZHgsXHJcbiAgICAgIG5ld1ZhbHVlOiB0aGlzLkFjdGl2aXR5RGV0YWlsc1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblN1YmplY3RDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmV2ZW50TGlzdC5hZGQoJ0FjdGl2aXR5U3ViamVjdENoYW5nZWQnKTtcclxuICAgIHRoaXMuZGVib3VuY2VyLm5leHQoKTtcclxuICB9XHJcblxyXG4gIG9uU3ViamVjdEtleVVwKCkge1xyXG4gICAgdGhpcy5ldmVudExpc3QuYWRkKCdBY3Rpdml0eVN1YmplY3RDaGFuZ2VkJyk7XHJcbiAgICB0aGlzLmRlYm91bmNlci5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBvbldob09iamVjdENoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLkFjdGl2aXR5RGV0YWlscy5XaG9PYmplY3QgPSB0aGlzLldob09iamVjdExpc3QuZmluZCgob2JqKSA9PiBvYmoub2JqZWN0SWQgPT09IGV2ZW50KTtcclxuICAgIHRoaXMuRXZlbnRFbWl0dGVyLmVtaXQoe1xyXG4gICAgICBldmVudE5hbWU6ICdBY3Rpdml0eVdob09iamVjdENoYW5nZWQnLFxyXG4gICAgICBpZHg6IHRoaXMuaWR4LFxyXG4gICAgICBuZXdWYWx1ZTogdGhpcy5BY3Rpdml0eURldGFpbHNcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25SZWxhdGVkVG9DaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5BY3Rpdml0eURldGFpbHMuV2hhdE9iamVjdCA9IHRoaXMuV2hhdE9iamVjdExpc3QuZmluZCgob2JqKSA9PiBvYmoub2JqZWN0SWQgPT09IGV2ZW50KTtcclxuICAgIHRoaXMuRXZlbnRFbWl0dGVyLmVtaXQoe1xyXG4gICAgICBldmVudE5hbWU6ICdBY3Rpdml0eVdoYXRPYmplY3RDaGFuZ2VkJyxcclxuICAgICAgaWR4OiB0aGlzLmlkeCxcclxuICAgICAgbmV3VmFsdWU6IHRoaXMuQWN0aXZpdHlEZXRhaWxzXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uQ2FsbE5vdGVzQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5ldmVudExpc3QuYWRkKCdBY3Rpdml0eUNhbGxOb3RlQ2hhbmdlZCcpO1xyXG4gICAgdGhpcy5kZWJvdW5jZXIubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgb25DYWxsTm90ZXNLZXlVcCgpIHtcclxuICAgIHRoaXMuZXZlbnRMaXN0LmFkZCgnQWN0aXZpdHlDYWxsTm90ZUNoYW5nZWQnKTtcclxuICAgIHRoaXMuZGVib3VuY2VyLm5leHQoKTtcclxuICB9XHJcblxyXG4gIGFkZFF1aWNrQ29tbWVudFRvRGVzY3JpcHRpb24oY29tbWVudDogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5BY3Rpdml0eURldGFpbHMuRGVzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5BY3Rpdml0eURldGFpbHMuRGVzY3JpcHRpb24gKz0gJ1xcbic7XHJcbiAgICB9XHJcbiAgICB0aGlzLkFjdGl2aXR5RGV0YWlscy5EZXNjcmlwdGlvbiArPSBjb21tZW50O1xyXG4gICAgdGhpcy5ldmVudExpc3QuYWRkKCdBY3Rpdml0eUNhbGxOb3RlQ2hhbmdlZCcpO1xyXG4gICAgdGhpcy5kZWJvdW5jZXIubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0QWN0aXZpdHkoKSB7XHJcbiAgICB0aGlzLkFjdGl2aXR5RGV0YWlscy5Jc1Byb2Nlc3NpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5FdmVudEVtaXR0ZXIuZW1pdCh7XHJcbiAgICAgIGV2ZW50TmFtZTogJ1N1Ym1pdEFjdGl2aXR5JyxcclxuICAgICAgaWR4OiB0aGlzLmlkeCxcclxuICAgICAgbmV3VmFsdWU6IHRoaXMuQWN0aXZpdHlEZXRhaWxzXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -973,7 +973,7 @@ __decorate([
973
973
  RecentActivityComponent = __decorate([
974
974
  Component({
975
975
  selector: 'amc-recent-activity',
976
- template: "<div *ngIf=\"ActivityDetails.ScenarioId === workingScenarioID\">\r\n <div (click)=\"expandAndCollapseRecentActivity(false);\" class=\"editor callHeaderRecentActivitySelected\">\r\n <label class=\"headerLabelClickableLook\">\r\n <img src=\"../../assets/images/Phone_Number_Icon.png\" class=\"RecentCallsImg\" />\r\n <b>{{ ActivityDetails.Subject }}</b>\r\n </label>\r\n <img *ngIf=\"ActivityDetails.ActivityId\" class=\"RecentCallsImgForActivity\" src=\"../../assets/images/open_activity.png\"\r\n title=\"Open Activity\" (click)=\"openActivity();$event.stopPropagation();\" />\r\n <label *ngIf=\"ActivityDetails.IsUnSaved && isInConsoleView\" class=\"unsavedText\">unsaved</label>\r\n </div>\r\n <div class=\"callBody\">\r\n <div class=\"gray-out\" *ngIf=\"ActivityDetails.IsRecentWorkItemLoading\">\r\n <div class=\"spinner-container\">\r\n <img class=\"spinner\" src=\"../../assets/images/view_progress.gif\" />\r\n </div>\r\n </div>\r\n <div class=\"activityFields\">\r\n <!-- <form> -->\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Subject\">Subject</label>\r\n <input class=\"activitySubjectTextBoxStyle displayData\" type=\"text\" (change)=\"onSubjectChange();\"\r\n (keyup)=\"onSubjectKeyUp()\" name=\"subject\" [(ngModel)]=\"ActivityDetails.Subject\" />\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Name\">Name</label>\r\n <select class=\"dropDownListStyle displayData\" [ngModel]=\"ActivityDetails.WhoObject.objectId\"\r\n (ngModelChange)=\"onWhoObjectChange($event)\" name=\"whoItem\">\r\n <option *ngFor=\"let whoItem of WhoObjectList\" [ngValue]=\"whoItem.objectId\">\r\n {{(whoItem.displayName && whoItem.objectName) ? (whoItem.displayName + ': ' + whoItem.objectName) : \"\" }}</option>\r\n <!-- <option value=\"UserSelectedForEmptyRecord\"></option> -->\r\n </select>\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Regarding\">Related To</label>\r\n <select class=\"dropDownListStyle displayData\" [ngModel]=\"ActivityDetails.WhatObject.objectId\"\r\n (ngModelChange)=\"onRelatedToChange($event)\" name=\"whatItem\">\r\n <option *ngFor=\"let whatItem of WhatObjectList;\" [ngValue]=\"whatItem.objectId\">\r\n {{ (whatItem.displayName && whatItem.objectName) ? (whatItem.displayName + ': ' + whatItem.objectName) : \"\" }}</option>\r\n <!-- <option value=\"UserSelectedForEmptyRecord\"></option> -->\r\n </select>\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <div class=\"callNotesSection\">\r\n <div class=\"callNotesTextArea\">\r\n <textarea placeholder=\"Click to add a comment\" class=\"activityCommentsTextBoxStyle\"\r\n (change)=\"onCallNotesChange();\" (keyup)=\"onCallNotesKeyUp()\" name=\"description\" rows=\"5\" title=\"\"\r\n [(ngModel)]=\"ActivityDetails.Description\">\r\n </textarea>\r\n </div>\r\n <div class=\"notesBottonBorder\">\r\n <div class=\"commentsButtonDiv\">\r\n <div class=\"quickCommentsDiv\">\r\n <input *ngFor=\"let quickComment of quickCommentList; let i = index;\" class=\"quickNotesBotton\"\r\n type=\"button\" value=\"{{i+1}}\" (click)=\"addQuickCommentToDescription(quickComment)\"\r\n title=\"{{quickComment}}\">\r\n </div>\r\n <div class=\"callNotesButtonsSection\">\r\n <input class=\"submitButton\" type=\"button\" value=\"Save\" (click)=\"submitActivity()\"\r\n [disabled]=\"!ActivityDetails.IsUnSaved\" />\r\n <!-- <input *ngIf=\"recentScenario.IsProcessing\" class=\"submitButton\" type=\"button\" value=\"Save\" (click)=\"submitActivity(idx)\" [disabled]=\"!recentScenario.IsUnSaved\"/> -->\r\n <img *ngIf=\"ActivityDetails.IsProcessing\" class=\"loadingIcon\" src=\"../../assets/images/loading.gif\"\r\n title=\"Updating Activity\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- </form> -->\r\n </div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"ActivityDetails.ScenarioId !== workingScenarioID \">\r\n <div [class.callHeaderBottomBorder]='last' (click)=\"expandAndCollapseRecentActivity(true)\"\r\n class=\"editor callHeaderRecentActivityUnselected\">\r\n <label class=\"headerLabelClickableLook\">\r\n <img [src]=\"getIcon(ActivityDetails.ChannelType)\" class=\"RecentCallsImg\" />\r\n <b>{{ ActivityDetails.Subject }}</b>\r\n </label>\r\n <img *ngIf=\"ActivityDetails.ActivityId\" class=\"RecentCallsImgForActivity\" src=\"../../assets/images/open_activity.png\"\r\n title=\"Open Activity\" (click)=\"openActivity();$event.stopPropagation();\" />\r\n <label *ngIf=\"ActivityDetails.IsUnSaved && isInConsoleView\" class=\"unsavedText\">unsaved</label>\r\n </div>\r\n</div>\r\n\r\n",
976
+ template: "<div *ngIf=\"ActivityDetails.ScenarioId === workingScenarioID\">\r\n <div (click)=\"expandAndCollapseRecentActivity(false);\" class=\"editor callHeaderRecentActivitySelected\">\r\n <label class=\"headerLabelClickableLook\">\r\n <img [src]=\"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 class=\"callBody\">\r\n <div class=\"gray-out\" *ngIf=\"ActivityDetails.IsRecentWorkItemLoading\">\r\n <div class=\"spinner-container\">\r\n <img class=\"spinner\" src=\"../../assets/images/view_progress.gif\" />\r\n </div>\r\n </div>\r\n <div class=\"activityFields\">\r\n <!-- <form> -->\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Subject\">Subject</label>\r\n <input class=\"activitySubjectTextBoxStyle displayData\" type=\"text\" (change)=\"onSubjectChange();\"\r\n (keyup)=\"onSubjectKeyUp()\" name=\"subject\" [(ngModel)]=\"ActivityDetails.Subject\" />\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Name\">Name</label>\r\n <select class=\"dropDownListStyle displayData\" [ngModel]=\"ActivityDetails.WhoObject.objectId\"\r\n (ngModelChange)=\"onWhoObjectChange($event)\" name=\"whoItem\">\r\n <option *ngFor=\"let whoItem of WhoObjectList\" [ngValue]=\"whoItem.objectId\">\r\n {{(whoItem.displayName && whoItem.objectName) ? (whoItem.displayName + ': ' + whoItem.objectName) : \"\" }}</option>\r\n <!-- <option value=\"UserSelectedForEmptyRecord\"></option> -->\r\n </select>\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Regarding\">Related To</label>\r\n <select class=\"dropDownListStyle displayData\" [ngModel]=\"ActivityDetails.WhatObject.objectId\"\r\n (ngModelChange)=\"onRelatedToChange($event)\" name=\"whatItem\">\r\n <option *ngFor=\"let whatItem of WhatObjectList;\" [ngValue]=\"whatItem.objectId\">\r\n {{ (whatItem.displayName && whatItem.objectName) ? (whatItem.displayName + ': ' + whatItem.objectName) : \"\" }}</option>\r\n <!-- <option value=\"UserSelectedForEmptyRecord\"></option> -->\r\n </select>\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <div class=\"callNotesSection\">\r\n <div class=\"callNotesTextArea\">\r\n <textarea placeholder=\"Click to add a comment\" class=\"activityCommentsTextBoxStyle\"\r\n (change)=\"onCallNotesChange();\" (keyup)=\"onCallNotesKeyUp()\" name=\"description\" rows=\"5\" title=\"\"\r\n [(ngModel)]=\"ActivityDetails.Description\">\r\n </textarea>\r\n </div>\r\n <div class=\"notesBottonBorder\">\r\n <div class=\"commentsButtonDiv\">\r\n <div class=\"quickCommentsDiv\">\r\n <input *ngFor=\"let quickComment of quickCommentList; let i = index;\" class=\"quickNotesBotton\"\r\n type=\"button\" value=\"{{i+1}}\" (click)=\"addQuickCommentToDescription(quickComment)\"\r\n title=\"{{quickComment}}\">\r\n </div>\r\n <div class=\"callNotesButtonsSection\">\r\n <input class=\"submitButton\" type=\"button\" value=\"Save\" (click)=\"submitActivity()\"\r\n [disabled]=\"!ActivityDetails.IsUnSaved\" />\r\n <!-- <input *ngIf=\"recentScenario.IsProcessing\" class=\"submitButton\" type=\"button\" value=\"Save\" (click)=\"submitActivity(idx)\" [disabled]=\"!recentScenario.IsUnSaved\"/> -->\r\n <img *ngIf=\"ActivityDetails.IsProcessing\" class=\"loadingIcon\" src=\"../../assets/images/loading.gif\"\r\n title=\"Updating Activity\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- </form> -->\r\n </div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"ActivityDetails.ScenarioId !== workingScenarioID \">\r\n <div [class.callHeaderBottomBorder]='last' (click)=\"expandAndCollapseRecentActivity(true)\"\r\n class=\"editor callHeaderRecentActivityUnselected\">\r\n <label class=\"headerLabelClickableLook\">\r\n <img [src]=\"getIcon(ActivityDetails.ChannelType)\" class=\"RecentCallsImg\" />\r\n <b>{{ ActivityDetails.Subject }}</b>\r\n </label>\r\n <img *ngIf=\"ActivityDetails.ActivityId\" class=\"RecentCallsImgForActivity\" src=\"../../assets/images/open_activity.png\"\r\n title=\"Open Activity\" (click)=\"openActivity();$event.stopPropagation();\" />\r\n <label *ngIf=\"ActivityDetails.IsUnSaved && isInConsoleView\" class=\"unsavedText\">unsaved</label>\r\n </div>\r\n</div>\r\n\r\n",
977
977
  styles: [".callSection{margin-left:0;font-family:Arial;position:relative;margin-top:5px;background-color:#fff}.notesBottonBorder{background-color:#fff;border-left:1px solid #939598;border-bottom:1px solid #939598;border-right:1px solid #939598;border-bottom-left-radius:3px!important;border-bottom-right-radius:3px!important;height:auto}.quickCommentsDiv{text-align:left;flex:1 0 0;flex-wrap:wrap;display:flex;margin:2px}.unsavedText{float:right;margin-right:5px;color:gray;font-style:italic}.quickNotesBotton{background-color:#1e72ba;border:0;color:#fff;height:70%;width:20px;margin:2px;outline:0;font-size:70%}.submitButton{border:0;float:right;margin-top:2px;outline:0;cursor:pointer;background-color:#6cb047;color:#fff;border-radius:4px;font-size:98%;margin-bottom:2px}.commentsButtonDiv{width:100%;display:flex;align-items:center;background-color:#f6f7fb}.gray-out{top:0;left:0;position:absolute;z-index:2000;background:#fff;opacity:.7;width:100%;height:100%}.spinner-container{position:relative;width:-moz-fit-content;width:fit-content;top:50%;left:50%;transform:translate(-50%,-50%)}.spinner{height:80px;width:80px;border:0;position:relative;left:50%;transform:translate(-50%,0)}.callNotesButtonsSection{text-align:right;padding-right:4px}.ViewResizeImage{width:20px;height:20px;float:right;cursor:pointer}.callBody{border:1px solid #939598;border-top:1px solid #fff;position:relative}.callBodyBorderless{position:relative}.callDisplay{margin-bottom:8px;background-color:#fff}.editor{font-size:.9em;width:70%;text-align:left;margin:4px 5% 0 0;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;border:0;padding-top:5px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.dropDownListStyle{border:1px solid #939598!important;border-radius:3px!important;width:70%!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:0 5px 0 0;cursor:pointer}.activitySubjectTextBoxStyle{border:1px solid #939598!important;border-radius:3px!important;width:70%!important;height:20px!important;text-align:left!important;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;margin:0 5px 0 0;padding-left:2px}.activityCommentsTextBoxStyle{color:#333!important;text-align:left!important;margin:0;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;resize:none;width:100%;height:100%;border:none}.displayDiv{width:100%;display:flex}.displayLabels{margin-left:5px;width:25%;overflow:hidden;text-overflow:ellipsis}.displayData{width:70%}.headerLabel{margin-left:10px}.activityFields{position:relative;z-index:0}.callNotesTextArea{background-color:#fff;border-bottom:1px solid #939598;border-top:1px solid #939598;border-top-left-radius:3px!important;border-top-right-radius:3px!important}.callNotesSection{float:left;height:100%;width:100%;background-color:#f6f7fb}.callHeaderRecentActivitySelected{cursor:pointer;border-left:1px solid #939598!important;border-right:1px solid #939598!important;background-color:#cfecf2!important;width:100%!important;margin-top:0!important}.callHeaderRecentActivityUnselected{cursor:pointer;border-left:1px solid #939598!important;border-right:1px solid #939598!important;background-color:#e6f4f7!important;width:100%!important;margin-top:0!important}.callHeader{border:1px solid #939598!important;background-color:#f4f5fb!important;width:100%!important;margin-top:0!important}.callHeaderBottomBorder{cursor:pointer;border-bottom:1px solid #939598!important;border-left:1px solid #939598!important;border-right:1px solid #939598!important;background-color:#e6f4f7!important;width:100%!important;margin-top:0!important}.RecentCallsImg{height:15px;vertical-align:text-bottom}.RecentCallsImgForActivity{height:15px;vertical-align:super;margin-right:5px}.headerLabelClickableLook{cursor:pointer;display:inline-block;margin-left:10px;max-width:80%;overflow:hidden;text-overflow:ellipsis}.loadingIcon{margin-left:auto;margin-right:5px;height:10px;width:30px;margin-top:5px;padding-bottom:0}input[type=button]:disabled{background-color:#d3d3d3;cursor:auto}"]
978
978
  })
979
979
  ], RecentActivityComponent);
@@ -1 +1 @@
1
- {"version":3,"file":"amc-technology-ui-library.js","sources":["ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/interaction/interaction.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/scenario/scenario.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/operation/operation.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/models/chat.message.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/models/uilibrary.model.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/Helpers.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/property/property.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/duration/duration.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/chat-box/chat-box.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/chat-message/chat-message.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/disposition/disposition.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/activity/activity.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/login/login.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/create/create.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/current-activity/current-activity.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/search-information/search-information.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/uilibrary.module.ts","ng://@amc-technology/ui-library/amc-technology-ui-library.ts"],"sourcesContent":["import { Component, OnInit, Input, Output, EventEmitter, ViewChildren, QueryList } from '@angular/core';\r\nimport { IChatMessage, IInteraction } from '../../models/uilibrary.model';\r\n\r\n/**\r\n * @ignore\r\n */\r\n@Component({\r\n selector: 'amc-interaction',\r\n templateUrl: './interaction.component.html',\r\n styleUrls: ['./interaction.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class InteractionComponent implements OnInit {\r\n\r\n @Input() interaction: IInteraction;\r\n @Input() newMsgs: IChatMessage[];\r\n @Output() minimizedChanged: EventEmitter<boolean> = new EventEmitter();\r\n @Output() isAgentTyping = new EventEmitter<boolean>();\r\n @Output() newMessage = new EventEmitter<string>();\r\n /**\r\n * @ignore\r\n */\r\n minimized: boolean;\r\n set _minimized(value) {\r\n this.minimized = value;\r\n this.minimizedChanged.emit(value);\r\n }\r\n get _minimized() {\r\n return this.minimized;\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor() {\r\n this._minimized = false;\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnInit() {\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n minimize(): void {\r\n this._minimized = true;\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n maximize(): void {\r\n this._minimized = false;\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n isConferenceCall(): boolean {\r\n if (this.interaction.parties && this.interaction.parties.length > 1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n collapseKeypress(event: KeyboardEvent) {\r\n if (event.code === 'Enter') {\r\n this.minimize();\r\n }\r\n }\r\n\r\n expandKeypress(event: KeyboardEvent) {\r\n if (event.code === 'Enter') {\r\n this.maximize();\r\n }\r\n }\r\n\r\n clickEvent(id){\r\n document.getElementById(id).className = 'success';\r\n if(localStorage.getItem('focusedPanel') === null) {\r\n localStorage.setItem('focusedPanel', id);\r\n } else if (localStorage.getItem('focusedPanel') != id){\r\n document.getElementById(localStorage.getItem('focusedPanel')).className = 'AnswerCallFocused';\r\n localStorage.setItem('focusedPanel', id);\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n AfterViewChecked\r\n} from '@angular/core';\r\nimport { IChatMessage, IScenario } from '../../models/uilibrary.model';\r\n\r\n@Component({\r\n selector: 'amc-scenario',\r\n templateUrl: './scenario.component.html',\r\n styleUrls: ['./scenario.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class ScenarioComponent implements AfterViewChecked {\r\n @Input() scenario: IScenario;\r\n @Input() newMsgs: IChatMessage[];\r\n @Output() minimizedChanged = new EventEmitter();\r\n @Output() isAgentTyping = new EventEmitter<boolean>();\r\n @Output() newMessage = new EventEmitter<string>();\r\n @Output() afterViewChecked = new EventEmitter();\r\n\r\n constructor() {}\r\n\r\n ngAfterViewChecked() {\r\n this.afterViewChecked.emit();\r\n }\r\n\r\n onMinimizedChanged() {\r\n this.minimizedChanged.emit();\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { IOperation } from '../../models/uilibrary.model';\r\n\r\n/**\r\n * @ignore\r\n */\r\n@Component({\r\n selector: 'amc-operation',\r\n templateUrl: './operation.component.html',\r\n styleUrls: ['./operation.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class OperationComponent implements OnInit {\r\n @Input() statusText: string;\r\n @Input() callId: string;\r\n @Input() callType: string;\r\n @Input() operations: IOperation[];\r\n\r\n labelledByText = '';\r\n describedByText = '';\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor() {\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnInit() {\r\n if (this.statusText && this.callType) {\r\n this.describedByText = `${this.statusText} ${this.callType}`;\r\n } else if (this.statusText) {\r\n this.describedByText = this.statusText;\r\n } else if (this.callType) {\r\n this.describedByText = this.callType\r\n }\r\n\r\n if (this.callId) {\r\n this.labelledByText = this.callId;\r\n }\r\n }\r\n\r\n operationKeypress(event: KeyboardEvent, operation: IOperation) {\r\n if (event.code === 'Enter') {\r\n operation.handler(operation.operationName, operation.operationMetadata);\r\n }\r\n }\r\n}\r\n","export interface IChatMessage {\r\n username?: string;\r\n text: string;\r\n /**\r\n * What type of chat message. Defaults to OTHER_PERSON\r\n */\r\n type?: IChatMessageType;\r\n timestamp?: string;\r\n userIcon?: URL;\r\n}\r\n\r\nexport enum IChatMessageType {\r\n AGENT = 'AGENT',\r\n OTHER_PERSON = 'OTHER_PERSON',\r\n INFORMATION = 'INFORMATION'\r\n}\r\n","import { IChatSettings } from './chat.settings';\r\nimport { IChatMessage } from './chat.message';\r\n\r\nexport * from './chat.message';\r\nexport * from './chat.settings';\r\n\r\n/**\r\n * It is collection of Interaction which need to be displayed on scenario component.\r\n */\r\nexport interface IScenario {\r\n interactions: IInteraction[];\r\n}\r\n\r\nexport interface IInteraction {\r\n /**\r\n * Unique id for the interaction.\r\n * Note: this interactionId is also used to provide id for the div element.\r\n */\r\n interactionId: string;\r\n properties?: Property[];\r\n associatedData?: Property[];\r\n startTime: number;\r\n displayCallTimer: boolean;\r\n /**\r\n * parties is supposed to contain data about all the participants in call except agent himself.\r\n */\r\n parties?: IParty[];\r\n /**\r\n * Operations/buttons which needs to be displayed in interaction and its handlers.\r\n */\r\n operations?: IOperation[];\r\n\r\n /**\r\n * It contains URLs for minimize, maximize, interaction specific icon urls for interaction.\r\n * And header number which needs to be displayed at top.\r\n */\r\n UIHeadersData: IInteractionUIHeaders;\r\n\r\n /**\r\n * Should contain identifying information about the main party in the interaction.\r\n */\r\n subheaderData: IPartyHeader;\r\n\r\n /**\r\n * This enables and configures the chat UI\r\n */\r\n chat?: {\r\n settings: IChatSettings;\r\n messages: IChatMessage[];\r\n isCustomerTyping?: boolean;\r\n };\r\n}\r\n\r\nexport interface IActivity {\r\n interactionId: string;\r\n WhoObject: IActivityDetails;\r\n WhatObject: IActivityDetails;\r\n whoList: IActivityDetails[];\r\n whatList: IActivityDetails[];\r\n CallType: string;\r\n CallDurationInSeconds: string;\r\n Subject: string;\r\n SubjectFieldName: string;\r\n NameFieldName: string;\r\n RelatedToFieldName: string;\r\n Description: string;\r\n Status: string;\r\n ActivityDate: string;\r\n TimeStamp: Date;\r\n ActivityId: string;\r\n quickCommentList: string[];\r\n}\r\n\r\nexport interface IActivityDetails {\r\n objectType: string;\r\n displayName: string;\r\n objectName: string;\r\n objectId: string;\r\n url: string;\r\n}\r\n\r\n/**\r\n * This contains the main identifying information about the interaction.\r\n */\r\nexport interface IPartyHeader {\r\n /**\r\n * Image that identifies the type of interaction\r\n * or the type of the identifying information(ex: phone icon for phone number)\r\n */\r\n image?: URL;\r\n /**\r\n * The tooltip to be displayed when the image is hovered over\r\n */\r\n tooltip?: string;\r\n /**\r\n * The value to be displayed\r\n */\r\n value: string;\r\n}\r\n\r\n/**\r\n * It contains URLs for minimize, maximize, interaction specific icon urls for interaction.\r\n * And header number which needs to be displayed at top.\r\n */\r\nexport interface IInteractionUIHeaders {\r\n /**\r\n * Minimize icon url.\r\n */\r\n minimizeUrl: URL;\r\n\r\n /**\r\n * Maximize Icon url.\r\n */\r\n maximizeUrl: URL;\r\n\r\n /**\r\n * This is the URL for the status image.\r\n * @memberof IInteractionUIHeaders\r\n */\r\n statusUrl: URL;\r\n\r\n /**\r\n * This is the handler for focus(Triggered on click of status).\r\n * @memberof IInteractionUIHeaders\r\n */\r\n focusHandler?: IFocus;\r\n\r\n /**\r\n * This is the text which is going to be displayed for status of the call.\r\n *\r\n * @memberof IInteractionUIHeaders\r\n */\r\n statusText: string;\r\n\r\n /**\r\n *This member will contain the text related to the direction of the call. E.g Inbound, Outbound etc.\r\n * @memberof IInteractionUIHeaders\r\n */\r\n directionText: string;\r\n\r\n /**\r\n *This data will be used to display hold counter whihc will be the combination of the current hold time and complete hold time.\r\n * @memberof IInteractionUIHeaders\r\n */\r\n holdCounterData?: IHoldCounterData;\r\n\r\n /**\r\n *If this value is set to true then hold counter is displayed based on the holdCounterData.\r\n * @memberof IInteractionUIHeaders\r\n */\r\n displayHoldCounter: boolean;\r\n}\r\nexport interface ICallDuration {\r\n startTime: number;\r\n endTime: number;\r\n}\r\nexport interface IHoldCounterData {\r\n pastCallDurations?: ICallDuration[];\r\n currentHoldStartTime: number;\r\n}\r\n\r\n/**\r\n * It contains Operation Icon URL and its hadlers which need to be displayed in Interaction.\r\n */\r\nexport interface IFocus {\r\n /**\r\n * metadata related to operation.\r\n */\r\n operationMetadata?: IMetadata[];\r\n /**\r\n * name of the operation.\r\n */\r\n operationName: string;\r\n /**\r\n * Handler which needs to be invoked when someone clicks on the operation icon.\r\n */\r\n handler: (operationName: string, operationMetadata?: IMetadata[]) => void;\r\n}\r\n\r\n/**\r\n * It contains Operation Icon URL and its hadlers which need to be displayed in Interaction.\r\n */\r\nexport interface IOperation {\r\n /**\r\n * metadata related to operation.\r\n */\r\n operationMetadata?: IMetadata[];\r\n /**\r\n * name of the operation.\r\n */\r\n operationName: string;\r\n /**\r\n * URL for the icon of operations.\r\n */\r\n icon: URL;\r\n /**\r\n * Title which needs to be doisplayed when someone hovers over the icon.\r\n */\r\n title: string;\r\n /**\r\n * Handler which needs to be invoked when someone clicks on the operation icon.\r\n */\r\n handler: (operationName: string, operationMetadata?: IMetadata[]) => void;\r\n /**\r\n * Browser accesskey to jump instantly to this operation Should conform to AMC norms and consist of a single printable character.\r\n */\r\n accesskey?: string\r\n}\r\n\r\n/**\r\n * This contains properties and operations to be displayed for conference member.\r\n */\r\nexport interface IParty {\r\n header: IPartyHeader;\r\n properties: Property[];\r\n operations: IOperation[];\r\n}\r\n\r\n/**\r\n * key value pairs which can be used amongst other interfaces/classes to store metadata of those entities.\r\n */\r\n\r\nexport interface IMetadata {\r\n key: string;\r\n value: string;\r\n}\r\n\r\n/**\r\n * This interface contains key value pairs, some custom operation which generates display key and display value.\r\n * Also it includes custom operation handler for click event on properties.\r\n */\r\nexport interface IProperty {\r\n /**\r\n * KEY value to be displayed on component.\r\n */\r\n displayKey?: string;\r\n\r\n /**\r\n * VALUE to be displayed on component.\r\n */\r\n displayValue?: any;\r\n displayValueType: ValueType;\r\n propertyMetadata?: IMetadata[];\r\n\r\n /**\r\n * Click event handler for property.\r\n */\r\n customOperations?: IEventHandler;\r\n /**\r\n * This flag decides if PROPERTY will be displayed on component or not.\r\n */\r\n visible: boolean;\r\n}\r\n\r\n/**\r\n * A helper method to make instances of [IProperty]\r\n */\r\nexport class Property implements IProperty {\r\n private key: string;\r\n private value: any;\r\n /**\r\n * KEY value to be displayed on component.\r\n */\r\n displayKey?: string;\r\n\r\n /**\r\n * VALUE to be displayed on component.\r\n */\r\n displayValue?: any;\r\n displayValueType: ValueType;\r\n propertyMetadata?: IMetadata[];\r\n\r\n /**\r\n * Click event handler for property.\r\n */\r\n customOperations?: IEventHandler;\r\n /**\r\n * This flag decides if PROPERTY will be displayed on component or not.\r\n */\r\n visible: boolean;\r\n\r\n /**\r\n * Operation responsible for generating displayKey and dispkayValur from key and value.\r\n */\r\n displayOperation: () => void = () => {\r\n this.displayKey = this.key;\r\n this.displayValue = this.value;\r\n }\r\n\r\n /**\r\n *\r\n * @param key\r\n * @param value : if value type is COUNTER then value should be start time in MilliSeconds.\r\n * @param visible\r\n * @param valueType\r\n * @param customOperation\r\n */\r\n constructor(\r\n key: string,\r\n value: any,\r\n visible?: boolean,\r\n valueType?: ValueType,\r\n customOperation?: IEventHandler\r\n ) {\r\n this.key = key;\r\n this.value = value;\r\n visible != null ? (this.visible = visible) : (this.visible = true);\r\n valueType != null\r\n ? (this.displayValueType = valueType)\r\n : (this.displayValueType = ValueType.STRING);\r\n this.customOperations = customOperation;\r\n this.displayOperation();\r\n }\r\n}\r\n\r\n/**\r\n * Interface which contains eventName and handler associated with it.\r\n */\r\nexport interface IEventHandler {\r\n eventName: string;\r\n handler: (eventName: string, eventMetadata?: IMetadata[]) => void;\r\n eventMetadata?: IMetadata[];\r\n}\r\n\r\n/**\r\n * enum for Value types of PROPERTY.\r\n */\r\nexport enum ValueType {\r\n STRING,\r\n COUNTER\r\n}\r\n","export function secondsToHms(seconds_in: number): string {\r\n seconds_in = Number(seconds_in);\r\n const h = Math.floor(seconds_in / 3600);\r\n const m = Math.floor(seconds_in % 3600 / 60);\r\n const s = Math.floor(seconds_in % 3600 % 60);\r\n\r\n const hDisplay = h > 0 ? h.toString() + ':' : '';\r\n const mDisplay = m > 0 ? ('0' + m.toString()).slice(-2) + ':' : '00:';\r\n const sDisplay = s > 0 ? ('0' + s.toString()).slice(-2) : '00';\r\n return hDisplay + mDisplay + sDisplay;\r\n}\r\n","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { ValueType, IProperty } from '../../models/uilibrary.model';\r\nimport { secondsToHms } from '../../Helpers';\r\n\r\n/**\r\n * @ignore\r\n */\r\n@Component({\r\n selector: 'amc-property',\r\n templateUrl: './property.component.html',\r\n styleUrls: ['./property.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class PropertyComponent implements OnInit, OnDestroy {\r\n\r\n @Input() statusText: string;\r\n @Input() callId: string;\r\n @Input() callType: string;\r\n @Input() property: IProperty;\r\n\r\n labelledByText = '';\r\n title = '';\r\n\r\n /**\r\n * @ignore\r\n */\r\n processedDisplayValue: string;\r\n\r\n /**\r\n * @ignore\r\n */\r\n private _timerId?: number;\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor() {\r\n\r\n this._timerId = null;\r\n this.processedDisplayValue = '';\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnInit() {\r\n if (this.statusText && this.callType) {\r\n this.labelledByText = `${this.statusText} ${this.callType}`;\r\n } else if (this.statusText) {\r\n this.labelledByText = this.statusText;\r\n } else if (this.callType) {\r\n this.labelledByText = this.callType\r\n }\r\n\r\n if (this.callType && this.callId) {\r\n this.title = `${this.callType} ${this.callId}`\r\n } else if (this.callType) {\r\n this.title = this.callType;\r\n } else if (this.callId) {\r\n this.title = this.callId;\r\n }\r\n\r\n this.initValues();\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n initValues(): void {\r\n if (this.property.displayValueType === ValueType.COUNTER) {\r\n this.startCallCounter();\r\n } else {\r\n this.processedDisplayValue = this.property.displayValue;\r\n }\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n private startCallCounter(): void {\r\n if (this._timerId == null) {\r\n this._timerId = window.setInterval(() => {\r\n const callStartTime: number = this.property.displayValue;\r\n const currentTime: number = new Date().getTime() / 1000;\r\n const secondsPassed: number = Math.floor((currentTime) - (callStartTime / 1000));\r\n this.processedDisplayValue = secondsToHms(secondsPassed);\r\n }, 1000);\r\n }\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnDestroy(): void {\r\n if (this.property.displayValueType === ValueType.COUNTER) {\r\n // clear the timer.\r\n if (this._timerId != null) {\r\n clearInterval(this._timerId);\r\n this._timerId = null;\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { IHoldCounterData, ICallDuration } from '../../models/uilibrary.model';\r\nimport { secondsToHms } from '../../Helpers';\r\n\r\n@Component({\r\n selector: 'amc-holdtimer',\r\n templateUrl: './holdtimer.component.html',\r\n styleUrls: ['./holdtimer.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class HoldtimerComponent implements OnInit, OnDestroy {\r\n @Input() holdCounterData: IHoldCounterData;\r\n @Input() statusText: string;\r\n @Input() callId: string;\r\n\r\n displayTime: string;\r\n labelledByText = '';\r\n\r\n private _timerId?: number;\r\n constructor() {\r\n this.displayTime = '00:00/00:00';\r\n }\r\n\r\n ngOnInit() {\r\n if (this.statusText && this.callId) {\r\n this.labelledByText = `${this.statusText} ${this.callId}`;\r\n } else if (this.statusText) {\r\n this.labelledByText = this.statusText;\r\n } else if (this.callId) {\r\n this.labelledByText = this.callId\r\n }\r\n\r\n this.startCallCounter();\r\n }\r\n /**\r\n * @ignore\r\n */\r\n private startCallCounter(): void {\r\n const pastTimeInSeconds = this.CaculatePastHoldDuration();\r\n if (this._timerId == null) {\r\n this._timerId = window.setInterval(() => {\r\n const currentTime: number = new Date().getTime() / 1000;\r\n const secondsPassedCurrentCall: number = Math.floor((currentTime) - (this.holdCounterData.currentHoldStartTime / 1000));\r\n this.displayTime = secondsToHms(secondsPassedCurrentCall) +\r\n '/' + secondsToHms(pastTimeInSeconds + secondsPassedCurrentCall);\r\n }, 1000);\r\n }\r\n }\r\n\r\n private CaculatePastHoldDuration(): number {\r\n let pastTimeInSeconds = 0;\r\n if (this.holdCounterData.pastCallDurations) {\r\n this.holdCounterData.pastCallDurations.forEach((holdTimerIterator: ICallDuration) => {\r\n pastTimeInSeconds += (holdTimerIterator.endTime - holdTimerIterator.startTime) / 1000;\r\n });\r\n }\r\n return pastTimeInSeconds;\r\n\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnDestroy(): void {\r\n // clear the timer.\r\n if (this._timerId != null) {\r\n clearInterval(this._timerId);\r\n this._timerId = null;\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, OnDestroy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'amc-duration',\r\n templateUrl: './duration.component.html',\r\n styleUrls: ['./duration.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class DurationComponent implements OnInit, OnDestroy {\r\n @Input() statusText: string;\r\n @Input() callId: string;\r\n @Input() startTime: number;\r\n\r\n displayTime: string;\r\n labelledByText = '';\r\n\r\n private _timerId?: number;\r\n\r\n constructor() {\r\n this.displayTime = '00:00/00:00';\r\n }\r\n\r\n ngOnInit() {\r\n if (this.statusText && this.callId) {\r\n this.labelledByText = `${this.statusText} ${this.callId}`;\r\n } else if (this.statusText) {\r\n this.labelledByText = this.statusText;\r\n } else if (this.callId) {\r\n this.labelledByText = this.callId\r\n }\r\n\r\n this.startCallCounter();\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n private startCallCounter(): void {\r\n if (this._timerId == null) {\r\n this._timerId = window.setInterval(() => {\r\n const callStartTime: number = this.startTime;\r\n const currentTime: number = new Date().getTime() / 1000;\r\n const secondsPassed: number = Math.floor((currentTime) - (callStartTime / 1000));\r\n this.displayTime = Math.floor(secondsPassed / 60) + ':' + ('0' + (secondsPassed % 60)).slice(-2);\r\n }, 1000);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // clear the timer.\r\n if (this._timerId != null) {\r\n clearInterval(this._timerId);\r\n this._timerId = null;\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, AfterViewChecked, AfterViewInit, OnInit, Renderer2 } from '@angular/core';\r\nimport { IChatMessage, IChatMessageType } from '../../models/chat.message';\r\nimport { IChatSettings } from '../../models/chat.settings';\r\n\r\n@Component({\r\n selector: 'app-chat-box',\r\n templateUrl: './chat-box.component.html',\r\n styleUrls: ['./chat-box.component.scss'],\r\n})\r\nexport class ChatBoxComponent implements AfterViewChecked, AfterViewInit, OnInit {\r\n @Input() settings: IChatSettings;\r\n @Input() isTyping = false;\r\n\r\n @Input() messages: IChatMessage[];\r\n @Input() newMsgs: IChatMessage[];\r\n private lastCount = -1;\r\n\r\n _isAgentTyping = false;\r\n @Output() isAgentTyping = new EventEmitter<boolean>();\r\n\r\n @Output() newMessage = new EventEmitter<string>();\r\n newMessageText = '';\r\n\r\n @ViewChild('MessagesContainer', { static: true }) messagesContainer: ElementRef;\r\n @ViewChild('autofocus', { static: false }) autofocus: ElementRef;\r\n\r\n usernameToColor: { [username: string]: string } = {};\r\n colors = [\r\n '#c2c4c4',\r\n '#ffab91',\r\n '#f48fb1',\r\n '#29b6f6',\r\n '#e1bee7',\r\n '#9ccc65',\r\n '#ffc107',\r\n '#26c6da',\r\n '#cddc39',\r\n ];\r\n colorsIndex = 0;\r\n agentColor = '#2db0e0';\r\n\r\n constructor(private renderer:Renderer2) {\r\n }\r\n ngOnInit(): void {\r\n this.renderer.selectRootElement('#autofocus').focus();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.renderer.selectRootElement('#autofocus').focus();\r\n }\r\n\r\n updatedMessage(): IChatMessage[] {\r\n try {\r\n if (typeof this.newMsgs !== 'undefined' && this.newMsgs.length > 0) {\r\n return this.newMsgs;\r\n } else {\r\n return this.messages;\r\n }\r\n }catch (e) { }\r\n finally {\r\n this.scrollToBottom();\r\n }\r\n\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (this.lastCount !== this.messages.length) {\r\n this.lastCount = this.messages.length;\r\n this.scrollToBottom();\r\n\r\n }\r\n }\r\n\r\n getColor(message: IChatMessage) {\r\n if (message.type && message.type === IChatMessageType.AGENT) {\r\n return this.agentColor;\r\n } else if (message.username) {\r\n if (!this.usernameToColor[message.username]) {\r\n this.usernameToColor[message.username] = this.colors[this.colorsIndex];\r\n this.colorsIndex = (this.colorsIndex + 1) % this.colors.length;\r\n }\r\n return this.usernameToColor[message.username];\r\n } else {\r\n return this.colors[0];\r\n }\r\n }\r\n\r\n shouldAlignRight(message: IChatMessage) {\r\n return message.type && message.type === IChatMessageType.AGENT;\r\n }\r\n\r\n sendNewMessage(event) {\r\n event.preventDefault();\r\n if (this.newMessageText) {\r\n this.newMessage.emit(this.newMessageText);\r\n this.newMessageText = '';\r\n }\r\n this.renderer.selectRootElement('#autofocus').focus();\r\n }\r\n\r\n setOnFocus(event) {\r\n this.renderer.selectRootElement('#autofocus').focus();\r\n }\r\n\r\n onNewMessageFocus(event: boolean) {\r\n const isTyping = event && this.newMessageText.length > 0;\r\n if (isTyping !== this._isAgentTyping) {\r\n this._isAgentTyping = isTyping;\r\n this.isAgentTyping.emit(isTyping);\r\n }\r\n }\r\n\r\n onKeyup() {\r\n const isTyping = this.newMessageText.length > 0;\r\n if (isTyping !== this._isAgentTyping) {\r\n this._isAgentTyping = isTyping;\r\n this.isAgentTyping.emit(isTyping);\r\n }\r\n }\r\n\r\n scrollToBottom() {\r\n try {\r\n this.messagesContainer.nativeElement.scrollTop = this.messagesContainer.nativeElement.scrollHeight;\r\n }\r\n catch (e) { }\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-chat-message',\r\n templateUrl: './chat-message.component.html',\r\n styleUrls: ['./chat-message.component.scss']\r\n})\r\nexport class ChatMessageComponent implements OnInit {\r\n @Input() message: string;\r\n @Input() alignRight = false;\r\n @Input() username: string;\r\n @Input() color: string;\r\n @Input() timestamp: string;\r\n @Input() image: string;\r\n @Input() fallbackImage: string;\r\n @Output() focusOn = new EventEmitter<any>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.focusOn.emit(true);\r\n }\r\n\r\n\r\n}\r\n","import { IDisposition, IDispositionResult } from './../../models/disposition.interface';\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'amc-disposition',\r\n templateUrl: './disposition.component.html',\r\n styleUrls: ['./disposition.component.css']\r\n})\r\nexport class DispositionComponent implements OnInit {\r\n @Input() disposition: IDisposition;\r\n\r\n @Output() dispositionEmitter = new EventEmitter<IDispositionResult>();\r\n\r\n selectedDispositionValue: string = '';\r\n dispositionName: string = '';\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n for (const metadata of this.disposition.dispositionMetadata) {\r\n if (metadata.key === 'callId') {\r\n this.dispositionName = `disposition_${metadata.value}`;\r\n\r\n break;\r\n }\r\n }\r\n\r\n if (this.disposition.checkedDisposition) {\r\n this.selectedDispositionValue = this.disposition.checkedDisposition;\r\n }\r\n }\r\n\r\n submitDisposition() {\r\n const selectedDisposition: IDispositionResult = {\r\n dispositionId: this.selectedDispositionValue,\r\n dispositionName: this.disposition.disposition.get(this.selectedDispositionValue),\r\n dispositionMetadata: this.disposition.dispositionMetadata\r\n };\r\n\r\n this.dispositionEmitter.emit(selectedDisposition);\r\n }\r\n\r\n selectAndSubmitDisposition(event: KeyboardEvent, dispositionKey: string) {\r\n if (event.code === 'Enter') {\r\n this.selectedDispositionValue = dispositionKey;\r\n this.submitDisposition();\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { IActivity, IActivityDetails } from '../../models/uilibrary.model';\r\n\r\n@Component({\r\n selector: 'app-activity',\r\n templateUrl: './activity.component.html',\r\n styleUrls: ['./activity.component.css']\r\n})\r\nexport class ActivityComponent implements OnInit {\r\n\r\nisActivityMaximized: boolean;\r\n@Input() activity: IActivity;\r\n@Output() ActivitySave: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n@Output() OnNameSelectChange: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n@Output() OnRelatedToChange: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n@Output() OnSubjectChange: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n@Output() OnCallNotesChange: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n\r\n constructor() {\r\n this.isActivityMaximized = true;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public onNameSelectChange(event) {\r\n this.activity.WhoObject = this.getWho(event.currentTarget.value);\r\n this.OnNameSelectChange.emit(this.activity);\r\n }\r\n\r\n public parseWhoObject(whoObject: IActivityDetails): string {\r\n return whoObject.objectType + ': ' + whoObject.objectName;\r\n }\r\n\r\n public parseWhatObject(whatObject: IActivityDetails): string {\r\n return whatObject.objectType + ': ' + whatObject.objectName;\r\n }\r\n\r\n public onRelatedToChange(event) {\r\n this.activity.WhatObject = this.getWhat(event.currentTarget.value);\r\n this.OnRelatedToChange.emit(this.activity);\r\n }\r\n\r\n public onSubjectChange(event) {\r\n this.activity.Subject = event.srcElement.value;\r\n this.OnSubjectChange.emit(this.activity);\r\n }\r\n public onCallNotesChange(event) {\r\n this.activity.Subject = event.srcElement.value.trim();\r\n this.OnCallNotesChange.emit(this.activity);\r\n }\r\n\r\n public getWho(id): IActivityDetails {\r\n for (let i = 0; i < this.activity.whoList.length; i++) {\r\n if (this.activity.whoList[i].objectId === id) {\r\n return this.activity.whoList[i];\r\n }\r\n }\r\n }\r\n public getWhat(id): IActivityDetails {\r\n for (let i = 0; i < this.activity.whatList.length; i++) {\r\n if (this.activity.whatList[i].objectId === id) {\r\n return this.activity.whatList[i];\r\n }\r\n }\r\n }\r\n\r\n public loadQuickComment(value) {\r\n this.activity.Description = this.activity.Description + this.activity.quickCommentList[value];\r\n }\r\n\r\n public activitySave(clearActivityFields) {\r\n this.ActivitySave.emit(this.activity);\r\n }\r\n}\r\n","import { ILoginData } from './../../models/login.interface';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'amc-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n @Input() loginData: ILoginData;\r\n @Output() loginDetailsProvided = new EventEmitter<ILoginData>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n if (!this.loginData.header) {\r\n this.loginData.header = 'Login';\r\n }\r\n\r\n for (let field of this.loginData.fields) {\r\n if (!field.isInvalid) {\r\n field.isInvalid = false;\r\n }\r\n }\r\n }\r\n\r\n onLogin(loginForm: NgForm) {\r\n for (const field of this.loginData.fields) {\r\n field.value = loginForm.value[field.name];\r\n }\r\n\r\n this.loginDetailsProvided.emit(this.loginData);\r\n }\r\n\r\n focusOutOfInput(loginForm: NgForm, field) {\r\n if (!loginForm.controls[field.name].valid) {\r\n field.isInvalid = true;\r\n }\r\n }\r\n}\r\n","import { Component, Input, EventEmitter, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'amc-create',\r\n templateUrl: './create.component.html',\r\n styleUrls: ['./create.component.css']\r\n})\r\nexport class CreateComponent {\r\n @Output() CreateNewEntity: EventEmitter<string> = new EventEmitter<string>();\r\n isCreateMaximized: boolean;\r\n @Input() Entities: any;\r\n\r\n constructor() {\r\n this.isCreateMaximized = true;\r\n }\r\n createNewEntity(type: string) {\r\n this.CreateNewEntity.emit(type);\r\n }\r\n\r\n getEntities() {\r\n return Object.keys(this.Entities);\r\n }\r\n\r\n getDisplay(entity) {\r\n return entity.substring(0, entity.indexOf('|'));\r\n }\r\n\r\n getImage(entity) {\r\n return entity.substring(entity.indexOf('|') + 1);\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n OnInit,\r\n OnChanges,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport { IActivity } from '../../models/IActivity';\r\nimport { IActivityDetails } from '../../models/IActivityDetails';\r\n\r\n@Component({\r\n selector: 'amc-recent-activity',\r\n templateUrl: './recent-activity.component.html',\r\n styleUrls: ['./recent-activity.component.css']\r\n})\r\nexport class RecentActivityComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input() ActivityDetails: IActivity;\r\n @Input() isInConsoleView: boolean;\r\n @Input() quickCommentList: string[];\r\n @Input() workingScenarioID: string;\r\n @Input() idx: number;\r\n @Input() last: boolean;\r\n @Input() WhoObjectList: IActivityDetails[];\r\n @Input() WhatObjectList: IActivityDetails[];\r\n\r\n @Output() EventEmitter: EventEmitter<{\r\n eventName: string;\r\n idx: number;\r\n newValue?: IActivity;\r\n }>;\r\n\r\n private debouncer: Subject<void>;\r\n private eventList: Set<String>;\r\n\r\n constructor() {\r\n this.EventEmitter = new EventEmitter<{\r\n eventName: string;\r\n idx: number;\r\n newValue?: IActivity;\r\n }>();\r\n\r\n this.debouncer = new Subject();\r\n this.eventList = new Set();\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n getIcon(scenario): string {\r\n switch (scenario) {\r\n case 'Telephony':\r\n return '../../assets/images/Phone_Number_Icon.png';\r\n case 'Email':\r\n return '../../assets/images/emailTab.png';\r\n default:\r\n return '../../assets/images/chat.png';\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.debouncer.pipe(debounceTime(500)).subscribe(() => {\r\n const newEvent = {\r\n eventName: Array.from(this.eventList).join('|'),\r\n idx: this.idx,\r\n newValue: this.ActivityDetails\r\n };\r\n this.EventEmitter.emit(newEvent);\r\n this.eventList.clear();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n\r\n expandAndCollapseRecentActivity(isExpand: boolean) {\r\n if (isExpand) {\r\n this.EventEmitter.emit({\r\n eventName: 'WorkingEvtivityChanged',\r\n idx: this.idx,\r\n newValue: this.ActivityDetails\r\n });\r\n } else {\r\n this.EventEmitter.emit({\r\n eventName: 'WorkingEvtivityChanged',\r\n idx: -1,\r\n newValue: this.ActivityDetails\r\n });\r\n }\r\n }\r\n\r\n openActivity() {\r\n this.EventEmitter.emit({\r\n eventName: 'OpenCallActivity',\r\n idx: this.idx,\r\n newValue: this.ActivityDetails\r\n });\r\n }\r\n\r\n onSubjectChange() {\r\n this.eventList.add('ActivitySubjectChanged');\r\n this.debouncer.next();\r\n }\r\n\r\n onSubjectKeyUp() {\r\n this.eventList.add('ActivitySubjectChanged');\r\n this.debouncer.next();\r\n }\r\n\r\n onWhoObjectChange(event: any) {\r\n this.ActivityDetails.WhoObject = this.WhoObjectList.find((obj) => obj.objectId === event);\r\n this.EventEmitter.emit({\r\n eventName: 'ActivityWhoObjectChanged',\r\n idx: this.idx,\r\n newValue: this.ActivityDetails\r\n });\r\n }\r\n\r\n onRelatedToChange(event: any) {\r\n this.ActivityDetails.WhatObject = this.WhatObjectList.find((obj) => obj.objectId === event);\r\n this.EventEmitter.emit({\r\n eventName: 'ActivityWhatObjectChanged',\r\n idx: this.idx,\r\n newValue: this.ActivityDetails\r\n });\r\n }\r\n\r\n onCallNotesChange() {\r\n this.eventList.add('ActivityCallNoteChanged');\r\n this.debouncer.next();\r\n }\r\n\r\n onCallNotesKeyUp() {\r\n this.eventList.add('ActivityCallNoteChanged');\r\n this.debouncer.next();\r\n }\r\n\r\n addQuickCommentToDescription(comment: string) {\r\n if (this.ActivityDetails.Description) {\r\n this.ActivityDetails.Description += '\\n';\r\n }\r\n this.ActivityDetails.Description += comment;\r\n this.eventList.add('ActivityCallNoteChanged');\r\n this.debouncer.next();\r\n }\r\n\r\n submitActivity() {\r\n this.ActivityDetails.IsProcessing = true;\r\n this.EventEmitter.emit({\r\n eventName: 'SubmitActivity',\r\n idx: this.idx,\r\n newValue: this.ActivityDetails\r\n });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { IActivityDetails } from '../../models/IActivityDetails';\r\nimport { IActivity } from '../../models/IActivity';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'amc-current-activity',\r\n templateUrl: './current-activity.component.html',\r\n styleUrls: ['./current-activity.component.css']\r\n})\r\nexport class CurrentActivityComponent implements OnInit {\r\n @Input() ActivityDetails: IActivity;\r\n @Input() quickCommentList: string[];\r\n @Input() isAutoSave: boolean;\r\n @Input() enableDiscard: boolean;\r\n @Input() autoSaveTimer: number;\r\n @Input() quickCommentOptionRequiredCadArray: any;\r\n @Input() WhoObjectList: IActivityDetails[];\r\n @Input() WhatObjectList: IActivityDetails[];\r\n @Input() scenarioToCADMap: {};\r\n @Output() EventEmitter: EventEmitter<{\r\n eventName: string;\r\n newValue?: IActivity;\r\n }>;\r\n\r\n private eventList: Set<String>;\r\n private debouncer: Subject<void>;\r\n\r\n isActivityMaximized: boolean;\r\n\r\n constructor() {\r\n this.isActivityMaximized = true;\r\n\r\n this.EventEmitter = new EventEmitter<{\r\n eventName: string;\r\n newValue?: IActivity;\r\n }>();\r\n\r\n this.debouncer = new Subject();\r\n this.eventList = new Set();\r\n }\r\n\r\n async ngOnInit() {\r\n this.debouncer.pipe(debounceTime(500)).subscribe(() => {\r\n const newEvent = {\r\n eventName: Array.from(this.eventList).join('|'),\r\n newValue: this.ActivityDetails\r\n };\r\n this.EventEmitter.emit(newEvent);\r\n this.eventList.clear();\r\n });\r\n }\r\n\r\n submitActivity() {\r\n try {\r\n this.ActivityDetails.IsProcessing = true;\r\n this.EventEmitter.emit({\r\n eventName: 'SubmitActivity',\r\n newValue: this.ActivityDetails\r\n });\r\n } catch (error) {}\r\n }\r\n\r\n triggerDiscardActivity() {\r\n try {\r\n this.EventEmitter.emit({\r\n eventName: 'TriggerDiscardActivity',\r\n newValue: this.ActivityDetails\r\n });\r\n } catch (error) {}\r\n }\r\n\r\n onNameChange(event: any) {\r\n try {\r\n this.ActivityDetails.WhoObject = this.WhoObjectList.find((obj) => obj.objectId === event);\r\n this.EventEmitter.emit({\r\n eventName: 'ActivityWhoObjectChanged',\r\n newValue: this.ActivityDetails\r\n });\r\n } catch (error) {}\r\n }\r\n\r\n onRelatedToChange(event: any) {\r\n try {\r\n this.ActivityDetails.WhatObject = this.WhatObjectList.find((obj) => obj.objectId === event);\r\n this.EventEmitter.emit({\r\n eventName: 'ActivityWhatObjectChanged',\r\n newValue: this.ActivityDetails\r\n });\r\n } catch (error) {}\r\n }\r\n\r\n onSubjectChange() {\r\n try {\r\n this.eventList.add('ActivitySubjectChanged');\r\n this.debouncer.next();\r\n } catch (error) {}\r\n }\r\n\r\n onSubjectKeyUp() {\r\n try {\r\n this.eventList.add('ActivitySubjectChanged');\r\n this.debouncer.next();\r\n } catch (error) {}\r\n }\r\n\r\n onCallNotesChange() {\r\n try {\r\n this.eventList.add('ActivityCallNoteChanged');\r\n this.debouncer.next();\r\n } catch (error) {}\r\n }\r\n\r\n onCallNotesKeyUp() {\r\n try{\r\n this.eventList.add('ActivityCallNoteChanged');\r\n this.debouncer.next();\r\n } catch (error) {}\r\n }\r\n\r\n addQuickCommentToDescription(comment: string) {\r\n try {\r\n let descriptionToSet = comment;\r\n if (this.quickCommentOptionRequiredCadArray[comment]) {\r\n let cadFields = {};\r\n if (this.ActivityDetails) {\r\n cadFields = this.scenarioToCADMap[this.ActivityDetails.ScenarioId];\r\n }\r\n for (\r\n let i = 0;\r\n i < this.quickCommentOptionRequiredCadArray[comment].length;\r\n i++\r\n ) {\r\n let keyToCheckIfCADExists =\r\n this.quickCommentOptionRequiredCadArray[comment][i];\r\n const stringToBeReplaced =\r\n this.quickCommentOptionRequiredCadArray[comment][i];\r\n keyToCheckIfCADExists = keyToCheckIfCADExists.replace('{{', '');\r\n keyToCheckIfCADExists = keyToCheckIfCADExists.replace('}}', '');\r\n if (cadFields[keyToCheckIfCADExists]) {\r\n descriptionToSet = descriptionToSet.replace(\r\n stringToBeReplaced,\r\n cadFields[keyToCheckIfCADExists].Value\r\n );\r\n }\r\n }\r\n }\r\n if (this.ActivityDetails.Description) {\r\n this.ActivityDetails.Description += '\\n';\r\n }\r\n this.ActivityDetails.Description += descriptionToSet;\r\n this.eventList.add('ActivityCallNoteChanged');\r\n this.debouncer.next();\r\n } catch (error) {}\r\n }\r\n\r\n protected parseWhoObject(whoObject: IActivityDetails): string {\r\n try {\r\n return whoObject.displayName + ': ' + whoObject.objectName;\r\n } catch (error) {}\r\n }\r\n\r\n protected parseWhatObject(whatObject: IActivityDetails): string {\r\n try {\r\n return whatObject.displayName + ': ' + whatObject.objectName;\r\n } catch (error) {}\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n OnChanges\r\n} from '@angular/core';\r\nimport * as api from '@amc-technology/davinci-api';\r\nimport { IActivity } from '../../models/IActivity';\r\n\r\n@Component({\r\n selector: 'amc-search-information',\r\n templateUrl: './search-information.component.html',\r\n styleUrls: ['./search-information.component.css']\r\n})\r\nexport class SearchInformationComponent implements OnChanges {\r\n @Input() ActivityDetails: IActivity;\r\n @Input() searchLayout: api.SearchLayouts;\r\n @Input() searchRecordList: Array<api.IRecordItem>;\r\n @Output() agentSelectedCallerInformation: EventEmitter<{\r\n id: string;\r\n value: string;\r\n }>;\r\n\r\n isSearchInformationMaximized: boolean;\r\n imageLocation: string;\r\n singleMatchIconSrc: string;\r\n singleMatchData: any;\r\n multiMatchData: any[];\r\n shouldShowAllMultiMatchOptions: boolean;\r\n\r\n constructor() {\r\n this.isSearchInformationMaximized = true;\r\n this.singleMatchData = null;\r\n this.multiMatchData = [];\r\n this.agentSelectedCallerInformation = new EventEmitter();\r\n }\r\n\r\n ngOnChanges() {\r\n this.renderData();\r\n }\r\n\r\n protected renderData() {\r\n try {\r\n this.singleMatchData = null;\r\n this.multiMatchData = [];\r\n this.shouldShowAllMultiMatchOptions = false;\r\n if (this.searchRecordList.length === 1) {\r\n this.singleMatchData = this.parseSearchRecordForNameSingleMatch(\r\n this.searchRecordList[0]\r\n );\r\n } else if (this.searchRecordList.length > 1) {\r\n for (let i = 0; i < this.searchRecordList.length; i++) {\r\n this.multiMatchData.push(\r\n this.parseSearchRecordForNameMultiMatch(this.searchRecordList[i])\r\n );\r\n }\r\n }\r\n } catch (error) {}\r\n }\r\n\r\n onAgentSelectedCallerInformation(event: any) {\r\n try {\r\n this.agentSelectedCallerInformation.emit({\r\n id: event.target.id,\r\n value: event.target.value\r\n });\r\n } catch (error) {}\r\n }\r\n\r\n protected parseSearchRecordForNameSingleMatch(searchRecord: api.IRecordItem) {\r\n const results = [];\r\n try {\r\n const src = this.getEntityImgToDisplay(searchRecord);\r\n this.singleMatchIconSrc = src;\r\n const sLayoutInfo = this.getSearchLayoutInfoForDisplay(searchRecord);\r\n for (let j = 0; j < sLayoutInfo.DisplayFields.length; j++) {\r\n if (sLayoutInfo.DisplayFields && sLayoutInfo.DisplayFields[j].DevName) {\r\n const nameKey = sLayoutInfo.DisplayFields[j].DevName;\r\n const keys = Object.keys(searchRecord.fields);\r\n for (let i = 0; i < keys.length; i++) {\r\n if (\r\n searchRecord.fields[keys[i]] &&\r\n searchRecord.fields[keys[i]].DevName === nameKey\r\n ) {\r\n let displayRecord = searchRecord.fields[keys[i]].Value;\r\n if (j === 0) {\r\n displayRecord = searchRecord.displayName\r\n ? [searchRecord.displayName, displayRecord]\r\n : [searchRecord.type, displayRecord];\r\n } else {\r\n displayRecord = sLayoutInfo.DisplayFields[j].DisplayName\r\n ? [sLayoutInfo.DisplayFields[j].DisplayName, displayRecord]\r\n : [sLayoutInfo.DisplayFields[j].DevName, displayRecord];\r\n }\r\n results.push(displayRecord);\r\n }\r\n }\r\n }\r\n }\r\n } catch (error) {}\r\n return results;\r\n }\r\n\r\n protected parseSearchRecordForNameMultiMatch(searchRecord: api.IRecordItem) {\r\n const results = [];\r\n try {\r\n const src = this.getEntityImgToDisplay(searchRecord);\r\n const sLayoutInfo = this.getSearchLayoutInfoForDisplay(searchRecord);\r\n for (let j = 0; j < sLayoutInfo.DisplayFields.length; j++) {\r\n if (sLayoutInfo.DisplayFields && sLayoutInfo.DisplayFields[j].DevName) {\r\n const nameKey = sLayoutInfo.DisplayFields[j].DevName;\r\n const keys = Object.keys(searchRecord.fields);\r\n for (let i = 0; i < keys.length; i++) {\r\n if (\r\n searchRecord.fields[keys[i]] &&\r\n searchRecord.fields[keys[i]].DevName === nameKey\r\n ) {\r\n let displayRecord = searchRecord.fields[keys[i]].Value;\r\n if (j === 0) {\r\n displayRecord = searchRecord.displayName\r\n ? [searchRecord.displayName, displayRecord]\r\n : [searchRecord.type, displayRecord];\r\n } else {\r\n displayRecord = sLayoutInfo.DisplayFields[j].DisplayName\r\n ? [sLayoutInfo.DisplayFields[j].DisplayName, displayRecord]\r\n : [sLayoutInfo.DisplayFields[j].DevName, displayRecord];\r\n }\r\n displayRecord.push(src);\r\n results.push(displayRecord);\r\n return results;\r\n }\r\n }\r\n }\r\n }\r\n } catch (error) {}\r\n return results;\r\n }\r\n\r\n protected getEntityImgToDisplay(searchRecord: api.IRecordItem) {\r\n let src = '';\r\n try {\r\n if (searchRecord.type) {\r\n if (searchRecord.type.toUpperCase() === 'CONTACT') {\r\n src = '../../assets/images/Icon_Contact.png';\r\n } else if (searchRecord.type.toUpperCase() === 'ACCOUNT') {\r\n src = '../../assets/images/Icon_Account.png';\r\n } else if (searchRecord.type.toUpperCase() === 'LEAD') {\r\n src = '../../assets/images/Icon_Lead.png';\r\n } else {\r\n src = '../../assets/images/Miscellaneous_Icon.png';\r\n }\r\n }\r\n } catch (error) {}\r\n return src;\r\n }\r\n\r\n protected getSearchLayoutInfoForDisplay(searchRecord: api.IRecordItem) {\r\n let layoutInfo: any;\r\n try {\r\n layoutInfo = this.searchLayout.layouts[0][\r\n this.ActivityDetails.CallType\r\n ].find((i) => i.DevName === searchRecord.type);\r\n } catch (error) {}\r\n return layoutInfo;\r\n }\r\n}\r\n","import { NgModule, Injector } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InteractionComponent } from './components/interaction/interaction.component';\r\nimport { ScenarioComponent } from './components/scenario/scenario.component';\r\nimport { OperationComponent } from './components/operation/operation.component';\r\nimport { PropertyComponent } from './components/property/property.component';\r\nimport { HoldtimerComponent } from './components/holdtimer/holdtimer.component';\r\nimport { DurationComponent } from './components/duration/duration.component';\r\nimport { ChatBoxComponent } from './components/chat-box/chat-box.component';\r\nimport { ChatMessageComponent } from './components/chat-message/chat-message.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { createCustomElement } from '@angular/elements';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { ElementZoneStrategyFactory } from 'elements-zone-strategy';\r\nimport { DispositionComponent } from './components/disposition/disposition.component';\r\nimport { ActivityComponent } from './components/activity/activity.component';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { CreateComponent } from './components/create/create.component';\r\nimport { RecentActivityComponent } from './components/recent-activity/recent-activity.component';\r\nimport { CurrentActivityComponent } from './components/current-activity/current-activity.component';\r\nimport { SearchInformationComponent } from './components/search-information/search-information.component';\r\nimport { MatTabsModule } from \"@angular/material/tabs\";\r\n\r\n@NgModule({\r\n imports: [BrowserModule, CommonModule, FormsModule,MatTabsModule],\r\n declarations: [\r\n InteractionComponent,\r\n ScenarioComponent,\r\n OperationComponent,\r\n PropertyComponent,\r\n HoldtimerComponent,\r\n DurationComponent,\r\n ChatBoxComponent,\r\n ChatMessageComponent,\r\n DispositionComponent,\r\n ActivityComponent,\r\n LoginComponent,\r\n CreateComponent,\r\n RecentActivityComponent,\r\n CurrentActivityComponent,\r\n SearchInformationComponent\r\n ],\r\n providers:[],\r\n entryComponents: [ScenarioComponent, DispositionComponent, LoginComponent, CreateComponent, RecentActivityComponent, CurrentActivityComponent, SearchInformationComponent],\r\n bootstrap: [],\r\n exports: [ScenarioComponent, DispositionComponent, LoginComponent, CreateComponent, RecentActivityComponent, CurrentActivityComponent, SearchInformationComponent]\r\n})\r\nexport class UILibraryModule {\r\n constructor(private injector: Injector) { }\r\n\r\n ngDoBootstrap(app) {\r\n if (!customElements.get('amc-webcomponents-scenario')) {\r\n const strategyFactory = new ElementZoneStrategyFactory(\r\n ScenarioComponent,\r\n this.injector\r\n );\r\n customElements.define(\r\n 'amc-webcomponents-scenario',\r\n createCustomElement(ScenarioComponent, {\r\n injector: this.injector,\r\n strategyFactory: strategyFactory\r\n })\r\n );\r\n }\r\n if (!customElements.get('amc-webcomponents-disposition')) {\r\n const strategyFactory = new ElementZoneStrategyFactory(\r\n DispositionComponent,\r\n this.injector\r\n );\r\n customElements.define(\r\n 'amc-webcomponents-disposition',\r\n createCustomElement(DispositionComponent, {\r\n injector: this.injector,\r\n strategyFactory: strategyFactory\r\n })\r\n );\r\n }\r\n if (!customElements.get('amc-webcomponents-login')) {\r\n const strategyFactory = new ElementZoneStrategyFactory(\r\n LoginComponent,\r\n this.injector\r\n );\r\n customElements.define(\r\n 'amc-webcomponents-login',\r\n createCustomElement(LoginComponent, {\r\n injector: this.injector,\r\n strategyFactory: strategyFactory\r\n })\r\n );\r\n }\r\n }\r\n}\r\n\r\nexport * from './models/uilibrary.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {ActivityComponent as ɵj} from './projects/UILibrary/src/app/components/activity/activity.component';\nexport {ChatBoxComponent as ɵg} from './projects/UILibrary/src/app/components/chat-box/chat-box.component';\nexport {ChatMessageComponent as ɵh} from './projects/UILibrary/src/app/components/chat-message/chat-message.component';\nexport {CreateComponent as ɵl} from './projects/UILibrary/src/app/components/create/create.component';\nexport {CurrentActivityComponent as ɵn} from './projects/UILibrary/src/app/components/current-activity/current-activity.component';\nexport {DispositionComponent as ɵi} from './projects/UILibrary/src/app/components/disposition/disposition.component';\nexport {DurationComponent as ɵf} from './projects/UILibrary/src/app/components/duration/duration.component';\nexport {HoldtimerComponent as ɵe} from './projects/UILibrary/src/app/components/holdtimer/holdtimer.component';\nexport {InteractionComponent as ɵa} from './projects/UILibrary/src/app/components/interaction/interaction.component';\nexport {LoginComponent as ɵk} from './projects/UILibrary/src/app/components/login/login.component';\nexport {OperationComponent as ɵc} from './projects/UILibrary/src/app/components/operation/operation.component';\nexport {PropertyComponent as ɵd} from './projects/UILibrary/src/app/components/property/property.component';\nexport {RecentActivityComponent as ɵm} from './projects/UILibrary/src/app/components/recent-activity/recent-activity.component';\nexport {ScenarioComponent as ɵb} from './projects/UILibrary/src/app/components/scenario/scenario.component';\nexport {SearchInformationComponent as ɵo} from './projects/UILibrary/src/app/components/search-information/search-information.component';"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"amc-technology-ui-library.js","sources":["ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/interaction/interaction.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/scenario/scenario.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/operation/operation.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/models/chat.message.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/models/uilibrary.model.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/Helpers.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/property/property.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/duration/duration.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/chat-box/chat-box.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/chat-message/chat-message.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/disposition/disposition.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/activity/activity.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/login/login.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/create/create.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/current-activity/current-activity.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/components/search-information/search-information.component.ts","ng://@amc-technology/ui-library/projects/UILibrary/src/app/uilibrary.module.ts","ng://@amc-technology/ui-library/amc-technology-ui-library.ts"],"sourcesContent":["import { Component, OnInit, Input, Output, EventEmitter, ViewChildren, QueryList } from '@angular/core';\r\nimport { IChatMessage, IInteraction } from '../../models/uilibrary.model';\r\n\r\n/**\r\n * @ignore\r\n */\r\n@Component({\r\n selector: 'amc-interaction',\r\n templateUrl: './interaction.component.html',\r\n styleUrls: ['./interaction.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class InteractionComponent implements OnInit {\r\n\r\n @Input() interaction: IInteraction;\r\n @Input() newMsgs: IChatMessage[];\r\n @Output() minimizedChanged: EventEmitter<boolean> = new EventEmitter();\r\n @Output() isAgentTyping = new EventEmitter<boolean>();\r\n @Output() newMessage = new EventEmitter<string>();\r\n /**\r\n * @ignore\r\n */\r\n minimized: boolean;\r\n set _minimized(value) {\r\n this.minimized = value;\r\n this.minimizedChanged.emit(value);\r\n }\r\n get _minimized() {\r\n return this.minimized;\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor() {\r\n this._minimized = false;\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnInit() {\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n minimize(): void {\r\n this._minimized = true;\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n maximize(): void {\r\n this._minimized = false;\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n isConferenceCall(): boolean {\r\n if (this.interaction.parties && this.interaction.parties.length > 1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n collapseKeypress(event: KeyboardEvent) {\r\n if (event.code === 'Enter') {\r\n this.minimize();\r\n }\r\n }\r\n\r\n expandKeypress(event: KeyboardEvent) {\r\n if (event.code === 'Enter') {\r\n this.maximize();\r\n }\r\n }\r\n\r\n clickEvent(id){\r\n document.getElementById(id).className = 'success';\r\n if(localStorage.getItem('focusedPanel') === null) {\r\n localStorage.setItem('focusedPanel', id);\r\n } else if (localStorage.getItem('focusedPanel') != id){\r\n document.getElementById(localStorage.getItem('focusedPanel')).className = 'AnswerCallFocused';\r\n localStorage.setItem('focusedPanel', id);\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n AfterViewChecked\r\n} from '@angular/core';\r\nimport { IChatMessage, IScenario } from '../../models/uilibrary.model';\r\n\r\n@Component({\r\n selector: 'amc-scenario',\r\n templateUrl: './scenario.component.html',\r\n styleUrls: ['./scenario.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class ScenarioComponent implements AfterViewChecked {\r\n @Input() scenario: IScenario;\r\n @Input() newMsgs: IChatMessage[];\r\n @Output() minimizedChanged = new EventEmitter();\r\n @Output() isAgentTyping = new EventEmitter<boolean>();\r\n @Output() newMessage = new EventEmitter<string>();\r\n @Output() afterViewChecked = new EventEmitter();\r\n\r\n constructor() {}\r\n\r\n ngAfterViewChecked() {\r\n this.afterViewChecked.emit();\r\n }\r\n\r\n onMinimizedChanged() {\r\n this.minimizedChanged.emit();\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { IOperation } from '../../models/uilibrary.model';\r\n\r\n/**\r\n * @ignore\r\n */\r\n@Component({\r\n selector: 'amc-operation',\r\n templateUrl: './operation.component.html',\r\n styleUrls: ['./operation.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class OperationComponent implements OnInit {\r\n @Input() statusText: string;\r\n @Input() callId: string;\r\n @Input() callType: string;\r\n @Input() operations: IOperation[];\r\n\r\n labelledByText = '';\r\n describedByText = '';\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor() {\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnInit() {\r\n if (this.statusText && this.callType) {\r\n this.describedByText = `${this.statusText} ${this.callType}`;\r\n } else if (this.statusText) {\r\n this.describedByText = this.statusText;\r\n } else if (this.callType) {\r\n this.describedByText = this.callType\r\n }\r\n\r\n if (this.callId) {\r\n this.labelledByText = this.callId;\r\n }\r\n }\r\n\r\n operationKeypress(event: KeyboardEvent, operation: IOperation) {\r\n if (event.code === 'Enter') {\r\n operation.handler(operation.operationName, operation.operationMetadata);\r\n }\r\n }\r\n}\r\n","export interface IChatMessage {\r\n username?: string;\r\n text: string;\r\n /**\r\n * What type of chat message. Defaults to OTHER_PERSON\r\n */\r\n type?: IChatMessageType;\r\n timestamp?: string;\r\n userIcon?: URL;\r\n}\r\n\r\nexport enum IChatMessageType {\r\n AGENT = 'AGENT',\r\n OTHER_PERSON = 'OTHER_PERSON',\r\n INFORMATION = 'INFORMATION'\r\n}\r\n","import { IChatSettings } from './chat.settings';\r\nimport { IChatMessage } from './chat.message';\r\n\r\nexport * from './chat.message';\r\nexport * from './chat.settings';\r\n\r\n/**\r\n * It is collection of Interaction which need to be displayed on scenario component.\r\n */\r\nexport interface IScenario {\r\n interactions: IInteraction[];\r\n}\r\n\r\nexport interface IInteraction {\r\n /**\r\n * Unique id for the interaction.\r\n * Note: this interactionId is also used to provide id for the div element.\r\n */\r\n interactionId: string;\r\n properties?: Property[];\r\n associatedData?: Property[];\r\n startTime: number;\r\n displayCallTimer: boolean;\r\n /**\r\n * parties is supposed to contain data about all the participants in call except agent himself.\r\n */\r\n parties?: IParty[];\r\n /**\r\n * Operations/buttons which needs to be displayed in interaction and its handlers.\r\n */\r\n operations?: IOperation[];\r\n\r\n /**\r\n * It contains URLs for minimize, maximize, interaction specific icon urls for interaction.\r\n * And header number which needs to be displayed at top.\r\n */\r\n UIHeadersData: IInteractionUIHeaders;\r\n\r\n /**\r\n * Should contain identifying information about the main party in the interaction.\r\n */\r\n subheaderData: IPartyHeader;\r\n\r\n /**\r\n * This enables and configures the chat UI\r\n */\r\n chat?: {\r\n settings: IChatSettings;\r\n messages: IChatMessage[];\r\n isCustomerTyping?: boolean;\r\n };\r\n}\r\n\r\nexport interface IActivity {\r\n interactionId: string;\r\n WhoObject: IActivityDetails;\r\n WhatObject: IActivityDetails;\r\n whoList: IActivityDetails[];\r\n whatList: IActivityDetails[];\r\n CallType: string;\r\n CallDurationInSeconds: string;\r\n Subject: string;\r\n SubjectFieldName: string;\r\n NameFieldName: string;\r\n RelatedToFieldName: string;\r\n Description: string;\r\n Status: string;\r\n ActivityDate: string;\r\n TimeStamp: Date;\r\n ActivityId: string;\r\n quickCommentList: string[];\r\n}\r\n\r\nexport interface IActivityDetails {\r\n objectType: string;\r\n displayName: string;\r\n objectName: string;\r\n objectId: string;\r\n url: string;\r\n}\r\n\r\n/**\r\n * This contains the main identifying information about the interaction.\r\n */\r\nexport interface IPartyHeader {\r\n /**\r\n * Image that identifies the type of interaction\r\n * or the type of the identifying information(ex: phone icon for phone number)\r\n */\r\n image?: URL;\r\n /**\r\n * The tooltip to be displayed when the image is hovered over\r\n */\r\n tooltip?: string;\r\n /**\r\n * The value to be displayed\r\n */\r\n value: string;\r\n}\r\n\r\n/**\r\n * It contains URLs for minimize, maximize, interaction specific icon urls for interaction.\r\n * And header number which needs to be displayed at top.\r\n */\r\nexport interface IInteractionUIHeaders {\r\n /**\r\n * Minimize icon url.\r\n */\r\n minimizeUrl: URL;\r\n\r\n /**\r\n * Maximize Icon url.\r\n */\r\n maximizeUrl: URL;\r\n\r\n /**\r\n * This is the URL for the status image.\r\n * @memberof IInteractionUIHeaders\r\n */\r\n statusUrl: URL;\r\n\r\n /**\r\n * This is the handler for focus(Triggered on click of status).\r\n * @memberof IInteractionUIHeaders\r\n */\r\n focusHandler?: IFocus;\r\n\r\n /**\r\n * This is the text which is going to be displayed for status of the call.\r\n *\r\n * @memberof IInteractionUIHeaders\r\n */\r\n statusText: string;\r\n\r\n /**\r\n *This member will contain the text related to the direction of the call. E.g Inbound, Outbound etc.\r\n * @memberof IInteractionUIHeaders\r\n */\r\n directionText: string;\r\n\r\n /**\r\n *This data will be used to display hold counter whihc will be the combination of the current hold time and complete hold time.\r\n * @memberof IInteractionUIHeaders\r\n */\r\n holdCounterData?: IHoldCounterData;\r\n\r\n /**\r\n *If this value is set to true then hold counter is displayed based on the holdCounterData.\r\n * @memberof IInteractionUIHeaders\r\n */\r\n displayHoldCounter: boolean;\r\n}\r\nexport interface ICallDuration {\r\n startTime: number;\r\n endTime: number;\r\n}\r\nexport interface IHoldCounterData {\r\n pastCallDurations?: ICallDuration[];\r\n currentHoldStartTime: number;\r\n}\r\n\r\n/**\r\n * It contains Operation Icon URL and its hadlers which need to be displayed in Interaction.\r\n */\r\nexport interface IFocus {\r\n /**\r\n * metadata related to operation.\r\n */\r\n operationMetadata?: IMetadata[];\r\n /**\r\n * name of the operation.\r\n */\r\n operationName: string;\r\n /**\r\n * Handler which needs to be invoked when someone clicks on the operation icon.\r\n */\r\n handler: (operationName: string, operationMetadata?: IMetadata[]) => void;\r\n}\r\n\r\n/**\r\n * It contains Operation Icon URL and its hadlers which need to be displayed in Interaction.\r\n */\r\nexport interface IOperation {\r\n /**\r\n * metadata related to operation.\r\n */\r\n operationMetadata?: IMetadata[];\r\n /**\r\n * name of the operation.\r\n */\r\n operationName: string;\r\n /**\r\n * URL for the icon of operations.\r\n */\r\n icon: URL;\r\n /**\r\n * Title which needs to be doisplayed when someone hovers over the icon.\r\n */\r\n title: string;\r\n /**\r\n * Handler which needs to be invoked when someone clicks on the operation icon.\r\n */\r\n handler: (operationName: string, operationMetadata?: IMetadata[]) => void;\r\n /**\r\n * Browser accesskey to jump instantly to this operation Should conform to AMC norms and consist of a single printable character.\r\n */\r\n accesskey?: string\r\n}\r\n\r\n/**\r\n * This contains properties and operations to be displayed for conference member.\r\n */\r\nexport interface IParty {\r\n header: IPartyHeader;\r\n properties: Property[];\r\n operations: IOperation[];\r\n}\r\n\r\n/**\r\n * key value pairs which can be used amongst other interfaces/classes to store metadata of those entities.\r\n */\r\n\r\nexport interface IMetadata {\r\n key: string;\r\n value: string;\r\n}\r\n\r\n/**\r\n * This interface contains key value pairs, some custom operation which generates display key and display value.\r\n * Also it includes custom operation handler for click event on properties.\r\n */\r\nexport interface IProperty {\r\n /**\r\n * KEY value to be displayed on component.\r\n */\r\n displayKey?: string;\r\n\r\n /**\r\n * VALUE to be displayed on component.\r\n */\r\n displayValue?: any;\r\n displayValueType: ValueType;\r\n propertyMetadata?: IMetadata[];\r\n\r\n /**\r\n * Click event handler for property.\r\n */\r\n customOperations?: IEventHandler;\r\n /**\r\n * This flag decides if PROPERTY will be displayed on component or not.\r\n */\r\n visible: boolean;\r\n}\r\n\r\n/**\r\n * A helper method to make instances of [IProperty]\r\n */\r\nexport class Property implements IProperty {\r\n private key: string;\r\n private value: any;\r\n /**\r\n * KEY value to be displayed on component.\r\n */\r\n displayKey?: string;\r\n\r\n /**\r\n * VALUE to be displayed on component.\r\n */\r\n displayValue?: any;\r\n displayValueType: ValueType;\r\n propertyMetadata?: IMetadata[];\r\n\r\n /**\r\n * Click event handler for property.\r\n */\r\n customOperations?: IEventHandler;\r\n /**\r\n * This flag decides if PROPERTY will be displayed on component or not.\r\n */\r\n visible: boolean;\r\n\r\n /**\r\n * Operation responsible for generating displayKey and dispkayValur from key and value.\r\n */\r\n displayOperation: () => void = () => {\r\n this.displayKey = this.key;\r\n this.displayValue = this.value;\r\n }\r\n\r\n /**\r\n *\r\n * @param key\r\n * @param value : if value type is COUNTER then value should be start time in MilliSeconds.\r\n * @param visible\r\n * @param valueType\r\n * @param customOperation\r\n */\r\n constructor(\r\n key: string,\r\n value: any,\r\n visible?: boolean,\r\n valueType?: ValueType,\r\n customOperation?: IEventHandler\r\n ) {\r\n this.key = key;\r\n this.value = value;\r\n visible != null ? (this.visible = visible) : (this.visible = true);\r\n valueType != null\r\n ? (this.displayValueType = valueType)\r\n : (this.displayValueType = ValueType.STRING);\r\n this.customOperations = customOperation;\r\n this.displayOperation();\r\n }\r\n}\r\n\r\n/**\r\n * Interface which contains eventName and handler associated with it.\r\n */\r\nexport interface IEventHandler {\r\n eventName: string;\r\n handler: (eventName: string, eventMetadata?: IMetadata[]) => void;\r\n eventMetadata?: IMetadata[];\r\n}\r\n\r\n/**\r\n * enum for Value types of PROPERTY.\r\n */\r\nexport enum ValueType {\r\n STRING,\r\n COUNTER\r\n}\r\n","export function secondsToHms(seconds_in: number): string {\r\n seconds_in = Number(seconds_in);\r\n const h = Math.floor(seconds_in / 3600);\r\n const m = Math.floor(seconds_in % 3600 / 60);\r\n const s = Math.floor(seconds_in % 3600 % 60);\r\n\r\n const hDisplay = h > 0 ? h.toString() + ':' : '';\r\n const mDisplay = m > 0 ? ('0' + m.toString()).slice(-2) + ':' : '00:';\r\n const sDisplay = s > 0 ? ('0' + s.toString()).slice(-2) : '00';\r\n return hDisplay + mDisplay + sDisplay;\r\n}\r\n","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { ValueType, IProperty } from '../../models/uilibrary.model';\r\nimport { secondsToHms } from '../../Helpers';\r\n\r\n/**\r\n * @ignore\r\n */\r\n@Component({\r\n selector: 'amc-property',\r\n templateUrl: './property.component.html',\r\n styleUrls: ['./property.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class PropertyComponent implements OnInit, OnDestroy {\r\n\r\n @Input() statusText: string;\r\n @Input() callId: string;\r\n @Input() callType: string;\r\n @Input() property: IProperty;\r\n\r\n labelledByText = '';\r\n title = '';\r\n\r\n /**\r\n * @ignore\r\n */\r\n processedDisplayValue: string;\r\n\r\n /**\r\n * @ignore\r\n */\r\n private _timerId?: number;\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor() {\r\n\r\n this._timerId = null;\r\n this.processedDisplayValue = '';\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnInit() {\r\n if (this.statusText && this.callType) {\r\n this.labelledByText = `${this.statusText} ${this.callType}`;\r\n } else if (this.statusText) {\r\n this.labelledByText = this.statusText;\r\n } else if (this.callType) {\r\n this.labelledByText = this.callType\r\n }\r\n\r\n if (this.callType && this.callId) {\r\n this.title = `${this.callType} ${this.callId}`\r\n } else if (this.callType) {\r\n this.title = this.callType;\r\n } else if (this.callId) {\r\n this.title = this.callId;\r\n }\r\n\r\n this.initValues();\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n initValues(): void {\r\n if (this.property.displayValueType === ValueType.COUNTER) {\r\n this.startCallCounter();\r\n } else {\r\n this.processedDisplayValue = this.property.displayValue;\r\n }\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n private startCallCounter(): void {\r\n if (this._timerId == null) {\r\n this._timerId = window.setInterval(() => {\r\n const callStartTime: number = this.property.displayValue;\r\n const currentTime: number = new Date().getTime() / 1000;\r\n const secondsPassed: number = Math.floor((currentTime) - (callStartTime / 1000));\r\n this.processedDisplayValue = secondsToHms(secondsPassed);\r\n }, 1000);\r\n }\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnDestroy(): void {\r\n if (this.property.displayValueType === ValueType.COUNTER) {\r\n // clear the timer.\r\n if (this._timerId != null) {\r\n clearInterval(this._timerId);\r\n this._timerId = null;\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { IHoldCounterData, ICallDuration } from '../../models/uilibrary.model';\r\nimport { secondsToHms } from '../../Helpers';\r\n\r\n@Component({\r\n selector: 'amc-holdtimer',\r\n templateUrl: './holdtimer.component.html',\r\n styleUrls: ['./holdtimer.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class HoldtimerComponent implements OnInit, OnDestroy {\r\n @Input() holdCounterData: IHoldCounterData;\r\n @Input() statusText: string;\r\n @Input() callId: string;\r\n\r\n displayTime: string;\r\n labelledByText = '';\r\n\r\n private _timerId?: number;\r\n constructor() {\r\n this.displayTime = '00:00/00:00';\r\n }\r\n\r\n ngOnInit() {\r\n if (this.statusText && this.callId) {\r\n this.labelledByText = `${this.statusText} ${this.callId}`;\r\n } else if (this.statusText) {\r\n this.labelledByText = this.statusText;\r\n } else if (this.callId) {\r\n this.labelledByText = this.callId\r\n }\r\n\r\n this.startCallCounter();\r\n }\r\n /**\r\n * @ignore\r\n */\r\n private startCallCounter(): void {\r\n const pastTimeInSeconds = this.CaculatePastHoldDuration();\r\n if (this._timerId == null) {\r\n this._timerId = window.setInterval(() => {\r\n const currentTime: number = new Date().getTime() / 1000;\r\n const secondsPassedCurrentCall: number = Math.floor((currentTime) - (this.holdCounterData.currentHoldStartTime / 1000));\r\n this.displayTime = secondsToHms(secondsPassedCurrentCall) +\r\n '/' + secondsToHms(pastTimeInSeconds + secondsPassedCurrentCall);\r\n }, 1000);\r\n }\r\n }\r\n\r\n private CaculatePastHoldDuration(): number {\r\n let pastTimeInSeconds = 0;\r\n if (this.holdCounterData.pastCallDurations) {\r\n this.holdCounterData.pastCallDurations.forEach((holdTimerIterator: ICallDuration) => {\r\n pastTimeInSeconds += (holdTimerIterator.endTime - holdTimerIterator.startTime) / 1000;\r\n });\r\n }\r\n return pastTimeInSeconds;\r\n\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n ngOnDestroy(): void {\r\n // clear the timer.\r\n if (this._timerId != null) {\r\n clearInterval(this._timerId);\r\n this._timerId = null;\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, OnDestroy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'amc-duration',\r\n templateUrl: './duration.component.html',\r\n styleUrls: ['./duration.component.scss', './../uilibrary.module.scss']\r\n})\r\nexport class DurationComponent implements OnInit, OnDestroy {\r\n @Input() statusText: string;\r\n @Input() callId: string;\r\n @Input() startTime: number;\r\n\r\n displayTime: string;\r\n labelledByText = '';\r\n\r\n private _timerId?: number;\r\n\r\n constructor() {\r\n this.displayTime = '00:00/00:00';\r\n }\r\n\r\n ngOnInit() {\r\n if (this.statusText && this.callId) {\r\n this.labelledByText = `${this.statusText} ${this.callId}`;\r\n } else if (this.statusText) {\r\n this.labelledByText = this.statusText;\r\n } else if (this.callId) {\r\n this.labelledByText = this.callId\r\n }\r\n\r\n this.startCallCounter();\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n private startCallCounter(): void {\r\n if (this._timerId == null) {\r\n this._timerId = window.setInterval(() => {\r\n const callStartTime: number = this.startTime;\r\n const currentTime: number = new Date().getTime() / 1000;\r\n const secondsPassed: number = Math.floor((currentTime) - (callStartTime / 1000));\r\n this.displayTime = Math.floor(secondsPassed / 60) + ':' + ('0' + (secondsPassed % 60)).slice(-2);\r\n }, 1000);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // clear the timer.\r\n if (this._timerId != null) {\r\n clearInterval(this._timerId);\r\n this._timerId = null;\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, AfterViewChecked, AfterViewInit, OnInit, Renderer2 } from '@angular/core';\r\nimport { IChatMessage, IChatMessageType } from '../../models/chat.message';\r\nimport { IChatSettings } from '../../models/chat.settings';\r\n\r\n@Component({\r\n selector: 'app-chat-box',\r\n templateUrl: './chat-box.component.html',\r\n styleUrls: ['./chat-box.component.scss'],\r\n})\r\nexport class ChatBoxComponent implements AfterViewChecked, AfterViewInit, OnInit {\r\n @Input() settings: IChatSettings;\r\n @Input() isTyping = false;\r\n\r\n @Input() messages: IChatMessage[];\r\n @Input() newMsgs: IChatMessage[];\r\n private lastCount = -1;\r\n\r\n _isAgentTyping = false;\r\n @Output() isAgentTyping = new EventEmitter<boolean>();\r\n\r\n @Output() newMessage = new EventEmitter<string>();\r\n newMessageText = '';\r\n\r\n @ViewChild('MessagesContainer', { static: true }) messagesContainer: ElementRef;\r\n @ViewChild('autofocus', { static: false }) autofocus: ElementRef;\r\n\r\n usernameToColor: { [username: string]: string } = {};\r\n colors = [\r\n '#c2c4c4',\r\n '#ffab91',\r\n '#f48fb1',\r\n '#29b6f6',\r\n '#e1bee7',\r\n '#9ccc65',\r\n '#ffc107',\r\n '#26c6da',\r\n '#cddc39',\r\n ];\r\n colorsIndex = 0;\r\n agentColor = '#2db0e0';\r\n\r\n constructor(private renderer:Renderer2) {\r\n }\r\n ngOnInit(): void {\r\n this.renderer.selectRootElement('#autofocus').focus();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.renderer.selectRootElement('#autofocus').focus();\r\n }\r\n\r\n updatedMessage(): IChatMessage[] {\r\n try {\r\n if (typeof this.newMsgs !== 'undefined' && this.newMsgs.length > 0) {\r\n return this.newMsgs;\r\n } else {\r\n return this.messages;\r\n }\r\n }catch (e) { }\r\n finally {\r\n this.scrollToBottom();\r\n }\r\n\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (this.lastCount !== this.messages.length) {\r\n this.lastCount = this.messages.length;\r\n this.scrollToBottom();\r\n\r\n }\r\n }\r\n\r\n getColor(message: IChatMessage) {\r\n if (message.type && message.type === IChatMessageType.AGENT) {\r\n return this.agentColor;\r\n } else if (message.username) {\r\n if (!this.usernameToColor[message.username]) {\r\n this.usernameToColor[message.username] = this.colors[this.colorsIndex];\r\n this.colorsIndex = (this.colorsIndex + 1) % this.colors.length;\r\n }\r\n return this.usernameToColor[message.username];\r\n } else {\r\n return this.colors[0];\r\n }\r\n }\r\n\r\n shouldAlignRight(message: IChatMessage) {\r\n return message.type && message.type === IChatMessageType.AGENT;\r\n }\r\n\r\n sendNewMessage(event) {\r\n event.preventDefault();\r\n if (this.newMessageText) {\r\n this.newMessage.emit(this.newMessageText);\r\n this.newMessageText = '';\r\n }\r\n this.renderer.selectRootElement('#autofocus').focus();\r\n }\r\n\r\n setOnFocus(event) {\r\n this.renderer.selectRootElement('#autofocus').focus();\r\n }\r\n\r\n onNewMessageFocus(event: boolean) {\r\n const isTyping = event && this.newMessageText.length > 0;\r\n if (isTyping !== this._isAgentTyping) {\r\n this._isAgentTyping = isTyping;\r\n this.isAgentTyping.emit(isTyping);\r\n }\r\n }\r\n\r\n onKeyup() {\r\n const isTyping = this.newMessageText.length > 0;\r\n if (isTyping !== this._isAgentTyping) {\r\n this._isAgentTyping = isTyping;\r\n this.isAgentTyping.emit(isTyping);\r\n }\r\n }\r\n\r\n scrollToBottom() {\r\n try {\r\n this.messagesContainer.nativeElement.scrollTop = this.messagesContainer.nativeElement.scrollHeight;\r\n }\r\n catch (e) { }\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-chat-message',\r\n templateUrl: './chat-message.component.html',\r\n styleUrls: ['./chat-message.component.scss']\r\n})\r\nexport class ChatMessageComponent implements OnInit {\r\n @Input() message: string;\r\n @Input() alignRight = false;\r\n @Input() username: string;\r\n @Input() color: string;\r\n @Input() timestamp: string;\r\n @Input() image: string;\r\n @Input() fallbackImage: string;\r\n @Output() focusOn = new EventEmitter<any>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.focusOn.emit(true);\r\n }\r\n\r\n\r\n}\r\n","import { IDisposition, IDispositionResult } from './../../models/disposition.interface';\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'amc-disposition',\r\n templateUrl: './disposition.component.html',\r\n styleUrls: ['./disposition.component.css']\r\n})\r\nexport class DispositionComponent implements OnInit {\r\n @Input() disposition: IDisposition;\r\n\r\n @Output() dispositionEmitter = new EventEmitter<IDispositionResult>();\r\n\r\n selectedDispositionValue: string = '';\r\n dispositionName: string = '';\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n for (const metadata of this.disposition.dispositionMetadata) {\r\n if (metadata.key === 'callId') {\r\n this.dispositionName = `disposition_${metadata.value}`;\r\n\r\n break;\r\n }\r\n }\r\n\r\n if (this.disposition.checkedDisposition) {\r\n this.selectedDispositionValue = this.disposition.checkedDisposition;\r\n }\r\n }\r\n\r\n submitDisposition() {\r\n const selectedDisposition: IDispositionResult = {\r\n dispositionId: this.selectedDispositionValue,\r\n dispositionName: this.disposition.disposition.get(this.selectedDispositionValue),\r\n dispositionMetadata: this.disposition.dispositionMetadata\r\n };\r\n\r\n this.dispositionEmitter.emit(selectedDisposition);\r\n }\r\n\r\n selectAndSubmitDisposition(event: KeyboardEvent, dispositionKey: string) {\r\n if (event.code === 'Enter') {\r\n this.selectedDispositionValue = dispositionKey;\r\n this.submitDisposition();\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { IActivity, IActivityDetails } from '../../models/uilibrary.model';\r\n\r\n@Component({\r\n selector: 'app-activity',\r\n templateUrl: './activity.component.html',\r\n styleUrls: ['./activity.component.css']\r\n})\r\nexport class ActivityComponent implements OnInit {\r\n\r\nisActivityMaximized: boolean;\r\n@Input() activity: IActivity;\r\n@Output() ActivitySave: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n@Output() OnNameSelectChange: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n@Output() OnRelatedToChange: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n@Output() OnSubjectChange: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n@Output() OnCallNotesChange: EventEmitter<IActivity> = new EventEmitter<IActivity>();\r\n\r\n constructor() {\r\n this.isActivityMaximized = true;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public onNameSelectChange(event) {\r\n this.activity.WhoObject = this.getWho(event.currentTarget.value);\r\n this.OnNameSelectChange.emit(this.activity);\r\n }\r\n\r\n public parseWhoObject(whoObject: IActivityDetails): string {\r\n return whoObject.objectType + ': ' + whoObject.objectName;\r\n }\r\n\r\n public parseWhatObject(whatObject: IActivityDetails): string {\r\n return whatObject.objectType + ': ' + whatObject.objectName;\r\n }\r\n\r\n public onRelatedToChange(event) {\r\n this.activity.WhatObject = this.getWhat(event.currentTarget.value);\r\n this.OnRelatedToChange.emit(this.activity);\r\n }\r\n\r\n public onSubjectChange(event) {\r\n this.activity.Subject = event.srcElement.value;\r\n this.OnSubjectChange.emit(this.activity);\r\n }\r\n public onCallNotesChange(event) {\r\n this.activity.Subject = event.srcElement.value.trim();\r\n this.OnCallNotesChange.emit(this.activity);\r\n }\r\n\r\n public getWho(id): IActivityDetails {\r\n for (let i = 0; i < this.activity.whoList.length; i++) {\r\n if (this.activity.whoList[i].objectId === id) {\r\n return this.activity.whoList[i];\r\n }\r\n }\r\n }\r\n public getWhat(id): IActivityDetails {\r\n for (let i = 0; i < this.activity.whatList.length; i++) {\r\n if (this.activity.whatList[i].objectId === id) {\r\n return this.activity.whatList[i];\r\n }\r\n }\r\n }\r\n\r\n public loadQuickComment(value) {\r\n this.activity.Description = this.activity.Description + this.activity.quickCommentList[value];\r\n }\r\n\r\n public activitySave(clearActivityFields) {\r\n this.ActivitySave.emit(this.activity);\r\n }\r\n}\r\n","import { ILoginData } from './../../models/login.interface';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'amc-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n @Input() loginData: ILoginData;\r\n @Output() loginDetailsProvided = new EventEmitter<ILoginData>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n if (!this.loginData.header) {\r\n this.loginData.header = 'Login';\r\n }\r\n\r\n for (let field of this.loginData.fields) {\r\n if (!field.isInvalid) {\r\n field.isInvalid = false;\r\n }\r\n }\r\n }\r\n\r\n onLogin(loginForm: NgForm) {\r\n for (const field of this.loginData.fields) {\r\n field.value = loginForm.value[field.name];\r\n }\r\n\r\n this.loginDetailsProvided.emit(this.loginData);\r\n }\r\n\r\n focusOutOfInput(loginForm: NgForm, field) {\r\n if (!loginForm.controls[field.name].valid) {\r\n field.isInvalid = true;\r\n }\r\n }\r\n}\r\n","import { Component, Input, EventEmitter, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'amc-create',\r\n templateUrl: './create.component.html',\r\n styleUrls: ['./create.component.css']\r\n})\r\nexport class CreateComponent {\r\n @Output() CreateNewEntity: EventEmitter<string> = new EventEmitter<string>();\r\n isCreateMaximized: boolean;\r\n @Input() Entities: any;\r\n\r\n constructor() {\r\n this.isCreateMaximized = true;\r\n }\r\n createNewEntity(type: string) {\r\n this.CreateNewEntity.emit(type);\r\n }\r\n\r\n getEntities() {\r\n return Object.keys(this.Entities);\r\n }\r\n\r\n getDisplay(entity) {\r\n return entity.substring(0, entity.indexOf('|'));\r\n }\r\n\r\n getImage(entity) {\r\n return entity.substring(entity.indexOf('|') + 1);\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n OnInit,\r\n OnChanges,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport { IActivity } from '../../models/IActivity';\r\nimport { IActivityDetails } from '../../models/IActivityDetails';\r\n\r\n@Component({\r\n selector: 'amc-recent-activity',\r\n templateUrl: './recent-activity.component.html',\r\n styleUrls: ['./recent-activity.component.css']\r\n})\r\nexport class RecentActivityComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input() ActivityDetails: IActivity;\r\n @Input() isInConsoleView: boolean;\r\n @Input() quickCommentList: string[];\r\n @Input() workingScenarioID: string;\r\n @Input() idx: number;\r\n @Input() last: boolean;\r\n @Input() WhoObjectList: IActivityDetails[];\r\n @Input() WhatObjectList: IActivityDetails[];\r\n\r\n @Output() EventEmitter: EventEmitter<{\r\n eventName: string;\r\n idx: number;\r\n newValue?: IActivity;\r\n }>;\r\n\r\n private debouncer: Subject<void>;\r\n private eventList: Set<String>;\r\n\r\n constructor() {\r\n this.EventEmitter = new EventEmitter<{\r\n eventName: string;\r\n idx: number;\r\n newValue?: IActivity;\r\n }>();\r\n\r\n this.debouncer = new Subject();\r\n this.eventList = new Set();\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n getIcon(scenario): string {\r\n switch (scenario) {\r\n case 'Telephony':\r\n return '../../assets/images/Phone_Number_Icon.png';\r\n case 'Email':\r\n return '../../assets/images/emailTab.png';\r\n default:\r\n return '../../assets/images/chat.png';\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.debouncer.pipe(debounceTime(500)).subscribe(() => {\r\n const newEvent = {\r\n eventName: Array.from(this.eventList).join('|'),\r\n idx: this.idx,\r\n newValue: this.ActivityDetails\r\n };\r\n this.EventEmitter.emit(newEvent);\r\n this.eventList.clear();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n\r\n expandAndCollapseRecentActivity(isExpand: boolean) {\r\n if (isExpand) {\r\n this.EventEmitter.emit({\r\n eventName: 'WorkingEvtivityChanged',\r\n idx: this.idx,\r\n newValue: this.ActivityDetails\r\n });\r\n } else {\r\n this.EventEmitter.emit({\r\n eventName: 'WorkingEvtivityChanged',\r\n idx: -1,\r\n newValue: this.ActivityDetails\r\n });\r\n }\r\n }\r\n\r\n openActivity() {\r\n this.EventEmitter.emit({\r\n eventName: 'OpenCallActivity',\r\n idx: this.idx,\r\n newValue: this.ActivityDetails\r\n });\r\n }\r\n\r\n onSubjectChange() {\r\n this.eventList.add('ActivitySubjectChanged');\r\n this.debouncer.next();\r\n }\r\n\r\n onSubjectKeyUp() {\r\n this.eventList.add('ActivitySubjectChanged');\r\n this.debouncer.next();\r\n }\r\n\r\n onWhoObjectChange(event: any) {\r\n this.ActivityDetails.WhoObject = this.WhoObjectList.find((obj) => obj.objectId === event);\r\n this.EventEmitter.emit({\r\n eventName: 'ActivityWhoObjectChanged',\r\n idx: this.idx,\r\n newValue: this.ActivityDetails\r\n });\r\n }\r\n\r\n onRelatedToChange(event: any) {\r\n this.ActivityDetails.WhatObject = this.WhatObjectList.find((obj) => obj.objectId === event);\r\n this.EventEmitter.emit({\r\n eventName: 'ActivityWhatObjectChanged',\r\n idx: this.idx,\r\n newValue: this.ActivityDetails\r\n });\r\n }\r\n\r\n onCallNotesChange() {\r\n this.eventList.add('ActivityCallNoteChanged');\r\n this.debouncer.next();\r\n }\r\n\r\n onCallNotesKeyUp() {\r\n this.eventList.add('ActivityCallNoteChanged');\r\n this.debouncer.next();\r\n }\r\n\r\n addQuickCommentToDescription(comment: string) {\r\n if (this.ActivityDetails.Description) {\r\n this.ActivityDetails.Description += '\\n';\r\n }\r\n this.ActivityDetails.Description += comment;\r\n this.eventList.add('ActivityCallNoteChanged');\r\n this.debouncer.next();\r\n }\r\n\r\n submitActivity() {\r\n this.ActivityDetails.IsProcessing = true;\r\n this.EventEmitter.emit({\r\n eventName: 'SubmitActivity',\r\n idx: this.idx,\r\n newValue: this.ActivityDetails\r\n });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { IActivityDetails } from '../../models/IActivityDetails';\r\nimport { IActivity } from '../../models/IActivity';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'amc-current-activity',\r\n templateUrl: './current-activity.component.html',\r\n styleUrls: ['./current-activity.component.css']\r\n})\r\nexport class CurrentActivityComponent implements OnInit {\r\n @Input() ActivityDetails: IActivity;\r\n @Input() quickCommentList: string[];\r\n @Input() isAutoSave: boolean;\r\n @Input() enableDiscard: boolean;\r\n @Input() autoSaveTimer: number;\r\n @Input() quickCommentOptionRequiredCadArray: any;\r\n @Input() WhoObjectList: IActivityDetails[];\r\n @Input() WhatObjectList: IActivityDetails[];\r\n @Input() scenarioToCADMap: {};\r\n @Output() EventEmitter: EventEmitter<{\r\n eventName: string;\r\n newValue?: IActivity;\r\n }>;\r\n\r\n private eventList: Set<String>;\r\n private debouncer: Subject<void>;\r\n\r\n isActivityMaximized: boolean;\r\n\r\n constructor() {\r\n this.isActivityMaximized = true;\r\n\r\n this.EventEmitter = new EventEmitter<{\r\n eventName: string;\r\n newValue?: IActivity;\r\n }>();\r\n\r\n this.debouncer = new Subject();\r\n this.eventList = new Set();\r\n }\r\n\r\n async ngOnInit() {\r\n this.debouncer.pipe(debounceTime(500)).subscribe(() => {\r\n const newEvent = {\r\n eventName: Array.from(this.eventList).join('|'),\r\n newValue: this.ActivityDetails\r\n };\r\n this.EventEmitter.emit(newEvent);\r\n this.eventList.clear();\r\n });\r\n }\r\n\r\n submitActivity() {\r\n try {\r\n this.ActivityDetails.IsProcessing = true;\r\n this.EventEmitter.emit({\r\n eventName: 'SubmitActivity',\r\n newValue: this.ActivityDetails\r\n });\r\n } catch (error) {}\r\n }\r\n\r\n triggerDiscardActivity() {\r\n try {\r\n this.EventEmitter.emit({\r\n eventName: 'TriggerDiscardActivity',\r\n newValue: this.ActivityDetails\r\n });\r\n } catch (error) {}\r\n }\r\n\r\n onNameChange(event: any) {\r\n try {\r\n this.ActivityDetails.WhoObject = this.WhoObjectList.find((obj) => obj.objectId === event);\r\n this.EventEmitter.emit({\r\n eventName: 'ActivityWhoObjectChanged',\r\n newValue: this.ActivityDetails\r\n });\r\n } catch (error) {}\r\n }\r\n\r\n onRelatedToChange(event: any) {\r\n try {\r\n this.ActivityDetails.WhatObject = this.WhatObjectList.find((obj) => obj.objectId === event);\r\n this.EventEmitter.emit({\r\n eventName: 'ActivityWhatObjectChanged',\r\n newValue: this.ActivityDetails\r\n });\r\n } catch (error) {}\r\n }\r\n\r\n onSubjectChange() {\r\n try {\r\n this.eventList.add('ActivitySubjectChanged');\r\n this.debouncer.next();\r\n } catch (error) {}\r\n }\r\n\r\n onSubjectKeyUp() {\r\n try {\r\n this.eventList.add('ActivitySubjectChanged');\r\n this.debouncer.next();\r\n } catch (error) {}\r\n }\r\n\r\n onCallNotesChange() {\r\n try {\r\n this.eventList.add('ActivityCallNoteChanged');\r\n this.debouncer.next();\r\n } catch (error) {}\r\n }\r\n\r\n onCallNotesKeyUp() {\r\n try{\r\n this.eventList.add('ActivityCallNoteChanged');\r\n this.debouncer.next();\r\n } catch (error) {}\r\n }\r\n\r\n addQuickCommentToDescription(comment: string) {\r\n try {\r\n let descriptionToSet = comment;\r\n if (this.quickCommentOptionRequiredCadArray[comment]) {\r\n let cadFields = {};\r\n if (this.ActivityDetails) {\r\n cadFields = this.scenarioToCADMap[this.ActivityDetails.ScenarioId];\r\n }\r\n for (\r\n let i = 0;\r\n i < this.quickCommentOptionRequiredCadArray[comment].length;\r\n i++\r\n ) {\r\n let keyToCheckIfCADExists =\r\n this.quickCommentOptionRequiredCadArray[comment][i];\r\n const stringToBeReplaced =\r\n this.quickCommentOptionRequiredCadArray[comment][i];\r\n keyToCheckIfCADExists = keyToCheckIfCADExists.replace('{{', '');\r\n keyToCheckIfCADExists = keyToCheckIfCADExists.replace('}}', '');\r\n if (cadFields[keyToCheckIfCADExists]) {\r\n descriptionToSet = descriptionToSet.replace(\r\n stringToBeReplaced,\r\n cadFields[keyToCheckIfCADExists].Value\r\n );\r\n }\r\n }\r\n }\r\n if (this.ActivityDetails.Description) {\r\n this.ActivityDetails.Description += '\\n';\r\n }\r\n this.ActivityDetails.Description += descriptionToSet;\r\n this.eventList.add('ActivityCallNoteChanged');\r\n this.debouncer.next();\r\n } catch (error) {}\r\n }\r\n\r\n protected parseWhoObject(whoObject: IActivityDetails): string {\r\n try {\r\n return whoObject.displayName + ': ' + whoObject.objectName;\r\n } catch (error) {}\r\n }\r\n\r\n protected parseWhatObject(whatObject: IActivityDetails): string {\r\n try {\r\n return whatObject.displayName + ': ' + whatObject.objectName;\r\n } catch (error) {}\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n OnChanges\r\n} from '@angular/core';\r\nimport * as api from '@amc-technology/davinci-api';\r\nimport { IActivity } from '../../models/IActivity';\r\n\r\n@Component({\r\n selector: 'amc-search-information',\r\n templateUrl: './search-information.component.html',\r\n styleUrls: ['./search-information.component.css']\r\n})\r\nexport class SearchInformationComponent implements OnChanges {\r\n @Input() ActivityDetails: IActivity;\r\n @Input() searchLayout: api.SearchLayouts;\r\n @Input() searchRecordList: Array<api.IRecordItem>;\r\n @Output() agentSelectedCallerInformation: EventEmitter<{\r\n id: string;\r\n value: string;\r\n }>;\r\n\r\n isSearchInformationMaximized: boolean;\r\n imageLocation: string;\r\n singleMatchIconSrc: string;\r\n singleMatchData: any;\r\n multiMatchData: any[];\r\n shouldShowAllMultiMatchOptions: boolean;\r\n\r\n constructor() {\r\n this.isSearchInformationMaximized = true;\r\n this.singleMatchData = null;\r\n this.multiMatchData = [];\r\n this.agentSelectedCallerInformation = new EventEmitter();\r\n }\r\n\r\n ngOnChanges() {\r\n this.renderData();\r\n }\r\n\r\n protected renderData() {\r\n try {\r\n this.singleMatchData = null;\r\n this.multiMatchData = [];\r\n this.shouldShowAllMultiMatchOptions = false;\r\n if (this.searchRecordList.length === 1) {\r\n this.singleMatchData = this.parseSearchRecordForNameSingleMatch(\r\n this.searchRecordList[0]\r\n );\r\n } else if (this.searchRecordList.length > 1) {\r\n for (let i = 0; i < this.searchRecordList.length; i++) {\r\n this.multiMatchData.push(\r\n this.parseSearchRecordForNameMultiMatch(this.searchRecordList[i])\r\n );\r\n }\r\n }\r\n } catch (error) {}\r\n }\r\n\r\n onAgentSelectedCallerInformation(event: any) {\r\n try {\r\n this.agentSelectedCallerInformation.emit({\r\n id: event.target.id,\r\n value: event.target.value\r\n });\r\n } catch (error) {}\r\n }\r\n\r\n protected parseSearchRecordForNameSingleMatch(searchRecord: api.IRecordItem) {\r\n const results = [];\r\n try {\r\n const src = this.getEntityImgToDisplay(searchRecord);\r\n this.singleMatchIconSrc = src;\r\n const sLayoutInfo = this.getSearchLayoutInfoForDisplay(searchRecord);\r\n for (let j = 0; j < sLayoutInfo.DisplayFields.length; j++) {\r\n if (sLayoutInfo.DisplayFields && sLayoutInfo.DisplayFields[j].DevName) {\r\n const nameKey = sLayoutInfo.DisplayFields[j].DevName;\r\n const keys = Object.keys(searchRecord.fields);\r\n for (let i = 0; i < keys.length; i++) {\r\n if (\r\n searchRecord.fields[keys[i]] &&\r\n searchRecord.fields[keys[i]].DevName === nameKey\r\n ) {\r\n let displayRecord = searchRecord.fields[keys[i]].Value;\r\n if (j === 0) {\r\n displayRecord = searchRecord.displayName\r\n ? [searchRecord.displayName, displayRecord]\r\n : [searchRecord.type, displayRecord];\r\n } else {\r\n displayRecord = sLayoutInfo.DisplayFields[j].DisplayName\r\n ? [sLayoutInfo.DisplayFields[j].DisplayName, displayRecord]\r\n : [sLayoutInfo.DisplayFields[j].DevName, displayRecord];\r\n }\r\n results.push(displayRecord);\r\n }\r\n }\r\n }\r\n }\r\n } catch (error) {}\r\n return results;\r\n }\r\n\r\n protected parseSearchRecordForNameMultiMatch(searchRecord: api.IRecordItem) {\r\n const results = [];\r\n try {\r\n const src = this.getEntityImgToDisplay(searchRecord);\r\n const sLayoutInfo = this.getSearchLayoutInfoForDisplay(searchRecord);\r\n for (let j = 0; j < sLayoutInfo.DisplayFields.length; j++) {\r\n if (sLayoutInfo.DisplayFields && sLayoutInfo.DisplayFields[j].DevName) {\r\n const nameKey = sLayoutInfo.DisplayFields[j].DevName;\r\n const keys = Object.keys(searchRecord.fields);\r\n for (let i = 0; i < keys.length; i++) {\r\n if (\r\n searchRecord.fields[keys[i]] &&\r\n searchRecord.fields[keys[i]].DevName === nameKey\r\n ) {\r\n let displayRecord = searchRecord.fields[keys[i]].Value;\r\n if (j === 0) {\r\n displayRecord = searchRecord.displayName\r\n ? [searchRecord.displayName, displayRecord]\r\n : [searchRecord.type, displayRecord];\r\n } else {\r\n displayRecord = sLayoutInfo.DisplayFields[j].DisplayName\r\n ? [sLayoutInfo.DisplayFields[j].DisplayName, displayRecord]\r\n : [sLayoutInfo.DisplayFields[j].DevName, displayRecord];\r\n }\r\n displayRecord.push(src);\r\n results.push(displayRecord);\r\n return results;\r\n }\r\n }\r\n }\r\n }\r\n } catch (error) {}\r\n return results;\r\n }\r\n\r\n protected getEntityImgToDisplay(searchRecord: api.IRecordItem) {\r\n let src = '';\r\n try {\r\n if (searchRecord.type) {\r\n if (searchRecord.type.toUpperCase() === 'CONTACT') {\r\n src = '../../assets/images/Icon_Contact.png';\r\n } else if (searchRecord.type.toUpperCase() === 'ACCOUNT') {\r\n src = '../../assets/images/Icon_Account.png';\r\n } else if (searchRecord.type.toUpperCase() === 'LEAD') {\r\n src = '../../assets/images/Icon_Lead.png';\r\n } else {\r\n src = '../../assets/images/Miscellaneous_Icon.png';\r\n }\r\n }\r\n } catch (error) {}\r\n return src;\r\n }\r\n\r\n protected getSearchLayoutInfoForDisplay(searchRecord: api.IRecordItem) {\r\n let layoutInfo: any;\r\n try {\r\n layoutInfo = this.searchLayout.layouts[0][\r\n this.ActivityDetails.CallType\r\n ].find((i) => i.DevName === searchRecord.type);\r\n } catch (error) {}\r\n return layoutInfo;\r\n }\r\n}\r\n","import { NgModule, Injector } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InteractionComponent } from './components/interaction/interaction.component';\r\nimport { ScenarioComponent } from './components/scenario/scenario.component';\r\nimport { OperationComponent } from './components/operation/operation.component';\r\nimport { PropertyComponent } from './components/property/property.component';\r\nimport { HoldtimerComponent } from './components/holdtimer/holdtimer.component';\r\nimport { DurationComponent } from './components/duration/duration.component';\r\nimport { ChatBoxComponent } from './components/chat-box/chat-box.component';\r\nimport { ChatMessageComponent } from './components/chat-message/chat-message.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { createCustomElement } from '@angular/elements';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { ElementZoneStrategyFactory } from 'elements-zone-strategy';\r\nimport { DispositionComponent } from './components/disposition/disposition.component';\r\nimport { ActivityComponent } from './components/activity/activity.component';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { CreateComponent } from './components/create/create.component';\r\nimport { RecentActivityComponent } from './components/recent-activity/recent-activity.component';\r\nimport { CurrentActivityComponent } from './components/current-activity/current-activity.component';\r\nimport { SearchInformationComponent } from './components/search-information/search-information.component';\r\nimport { MatTabsModule } from \"@angular/material/tabs\";\r\n\r\n@NgModule({\r\n imports: [BrowserModule, CommonModule, FormsModule,MatTabsModule],\r\n declarations: [\r\n InteractionComponent,\r\n ScenarioComponent,\r\n OperationComponent,\r\n PropertyComponent,\r\n HoldtimerComponent,\r\n DurationComponent,\r\n ChatBoxComponent,\r\n ChatMessageComponent,\r\n DispositionComponent,\r\n ActivityComponent,\r\n LoginComponent,\r\n CreateComponent,\r\n RecentActivityComponent,\r\n CurrentActivityComponent,\r\n SearchInformationComponent\r\n ],\r\n providers:[],\r\n entryComponents: [ScenarioComponent, DispositionComponent, LoginComponent, CreateComponent, RecentActivityComponent, CurrentActivityComponent, SearchInformationComponent],\r\n bootstrap: [],\r\n exports: [ScenarioComponent, DispositionComponent, LoginComponent, CreateComponent, RecentActivityComponent, CurrentActivityComponent, SearchInformationComponent]\r\n})\r\nexport class UILibraryModule {\r\n constructor(private injector: Injector) { }\r\n\r\n ngDoBootstrap(app) {\r\n if (!customElements.get('amc-webcomponents-scenario')) {\r\n const strategyFactory = new ElementZoneStrategyFactory(\r\n ScenarioComponent,\r\n this.injector\r\n );\r\n customElements.define(\r\n 'amc-webcomponents-scenario',\r\n createCustomElement(ScenarioComponent, {\r\n injector: this.injector,\r\n strategyFactory: strategyFactory\r\n })\r\n );\r\n }\r\n if (!customElements.get('amc-webcomponents-disposition')) {\r\n const strategyFactory = new ElementZoneStrategyFactory(\r\n DispositionComponent,\r\n this.injector\r\n );\r\n customElements.define(\r\n 'amc-webcomponents-disposition',\r\n createCustomElement(DispositionComponent, {\r\n injector: this.injector,\r\n strategyFactory: strategyFactory\r\n })\r\n );\r\n }\r\n if (!customElements.get('amc-webcomponents-login')) {\r\n const strategyFactory = new ElementZoneStrategyFactory(\r\n LoginComponent,\r\n this.injector\r\n );\r\n customElements.define(\r\n 'amc-webcomponents-login',\r\n createCustomElement(LoginComponent, {\r\n injector: this.injector,\r\n strategyFactory: strategyFactory\r\n })\r\n );\r\n }\r\n }\r\n}\r\n\r\nexport * from './models/uilibrary.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {ActivityComponent as ɵj} from './projects/UILibrary/src/app/components/activity/activity.component';\nexport {ChatBoxComponent as ɵg} from './projects/UILibrary/src/app/components/chat-box/chat-box.component';\nexport {ChatMessageComponent as ɵh} from './projects/UILibrary/src/app/components/chat-message/chat-message.component';\nexport {CreateComponent as ɵl} from './projects/UILibrary/src/app/components/create/create.component';\nexport {CurrentActivityComponent as ɵn} from './projects/UILibrary/src/app/components/current-activity/current-activity.component';\nexport {DispositionComponent as ɵi} from './projects/UILibrary/src/app/components/disposition/disposition.component';\nexport {DurationComponent as ɵf} from './projects/UILibrary/src/app/components/duration/duration.component';\nexport {HoldtimerComponent as ɵe} from './projects/UILibrary/src/app/components/holdtimer/holdtimer.component';\nexport {InteractionComponent as ɵa} from './projects/UILibrary/src/app/components/interaction/interaction.component';\nexport {LoginComponent as ɵk} from './projects/UILibrary/src/app/components/login/login.component';\nexport {OperationComponent as ɵc} from './projects/UILibrary/src/app/components/operation/operation.component';\nexport {PropertyComponent as ɵd} from './projects/UILibrary/src/app/components/property/property.component';\nexport {RecentActivityComponent as ɵm} from './projects/UILibrary/src/app/components/recent-activity/recent-activity.component';\nexport {ScenarioComponent as ɵb} from './projects/UILibrary/src/app/components/scenario/scenario.component';\nexport {SearchInformationComponent as ɵo} from './projects/UILibrary/src/app/components/search-information/search-information.component';"],"names":[],"mappings":"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"}