@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.
- package/amc-technology-ui-library.metadata.json +1 -1
- package/bundles/amc-technology-ui-library.umd.js +1 -1
- package/bundles/amc-technology-ui-library.umd.js.map +1 -1
- package/bundles/amc-technology-ui-library.umd.min.js +1 -1
- package/bundles/amc-technology-ui-library.umd.min.js.map +1 -1
- package/esm2015/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.js +2 -2
- package/esm5/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.js +2 -2
- package/fesm2015/amc-technology-ui-library.js +1 -1
- package/fesm2015/amc-technology-ui-library.js.map +1 -1
- package/fesm5/amc-technology-ui-library.js +1 -1
- package/fesm5/amc-technology-ui-library.js.map +1 -1
- package/package.json +1 -1
|
@@ -1027,7 +1027,7 @@ var RecentActivityComponent = /** @class */ (function () {
|
|
|
1027
1027
|
RecentActivityComponent = __decorate([
|
|
1028
1028
|
Component({
|
|
1029
1029
|
selector: 'amc-recent-activity',
|
|
1030
|
-
template: "<div *ngIf=\"ActivityDetails.ScenarioId === workingScenarioID\">\r\n <div (click)=\"expandAndCollapseRecentActivity(false);\" class=\"editor callHeaderRecentActivitySelected\">\r\n <label class=\"headerLabelClickableLook\">\r\n <img src=\"
|
|
1030
|
+
template: "<div *ngIf=\"ActivityDetails.ScenarioId === workingScenarioID\">\r\n <div (click)=\"expandAndCollapseRecentActivity(false);\" class=\"editor callHeaderRecentActivitySelected\">\r\n <label class=\"headerLabelClickableLook\">\r\n <img [src]=\"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",
|
|
1031
1031
|
styles: [".callSection{margin-left:0;font-family:Arial;position:relative;margin-top:5px;background-color:#fff}.notesBottonBorder{background-color:#fff;border-left:1px solid #939598;border-bottom:1px solid #939598;border-right:1px solid #939598;border-bottom-left-radius:3px!important;border-bottom-right-radius:3px!important;height:auto}.quickCommentsDiv{text-align:left;flex:1 0 0;flex-wrap:wrap;display:flex;margin:2px}.unsavedText{float:right;margin-right:5px;color:gray;font-style:italic}.quickNotesBotton{background-color:#1e72ba;border:0;color:#fff;height:70%;width:20px;margin:2px;outline:0;font-size:70%}.submitButton{border:0;float:right;margin-top:2px;outline:0;cursor:pointer;background-color:#6cb047;color:#fff;border-radius:4px;font-size:98%;margin-bottom:2px}.commentsButtonDiv{width:100%;display:flex;align-items:center;background-color:#f6f7fb}.gray-out{top:0;left:0;position:absolute;z-index:2000;background:#fff;opacity:.7;width:100%;height:100%}.spinner-container{position:relative;width:-moz-fit-content;width:fit-content;top:50%;left:50%;transform:translate(-50%,-50%)}.spinner{height:80px;width:80px;border:0;position:relative;left:50%;transform:translate(-50%,0)}.callNotesButtonsSection{text-align:right;padding-right:4px}.ViewResizeImage{width:20px;height:20px;float:right;cursor:pointer}.callBody{border:1px solid #939598;border-top:1px solid #fff;position:relative}.callBodyBorderless{position:relative}.callDisplay{margin-bottom:8px;background-color:#fff}.editor{font-size:.9em;width:70%;text-align:left;margin:4px 5% 0 0;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;border:0;padding-top:5px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.dropDownListStyle{border:1px solid #939598!important;border-radius:3px!important;width:70%!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:0 5px 0 0;cursor:pointer}.activitySubjectTextBoxStyle{border:1px solid #939598!important;border-radius:3px!important;width:70%!important;height:20px!important;text-align:left!important;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;margin:0 5px 0 0;padding-left:2px}.activityCommentsTextBoxStyle{color:#333!important;text-align:left!important;margin:0;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;resize:none;width:100%;height:100%;border:none}.displayDiv{width:100%;display:flex}.displayLabels{margin-left:5px;width:25%;overflow:hidden;text-overflow:ellipsis}.displayData{width:70%}.headerLabel{margin-left:10px}.activityFields{position:relative;z-index:0}.callNotesTextArea{background-color:#fff;border-bottom:1px solid #939598;border-top:1px solid #939598;border-top-left-radius:3px!important;border-top-right-radius:3px!important}.callNotesSection{float:left;height:100%;width:100%;background-color:#f6f7fb}.callHeaderRecentActivitySelected{cursor:pointer;border-left:1px solid #939598!important;border-right:1px solid #939598!important;background-color:#cfecf2!important;width:100%!important;margin-top:0!important}.callHeaderRecentActivityUnselected{cursor:pointer;border-left:1px solid #939598!important;border-right:1px solid #939598!important;background-color:#e6f4f7!important;width:100%!important;margin-top:0!important}.callHeader{border:1px solid #939598!important;background-color:#f4f5fb!important;width:100%!important;margin-top:0!important}.callHeaderBottomBorder{cursor:pointer;border-bottom:1px solid #939598!important;border-left:1px solid #939598!important;border-right:1px solid #939598!important;background-color:#e6f4f7!important;width:100%!important;margin-top:0!important}.RecentCallsImg{height:15px;vertical-align:text-bottom}.RecentCallsImgForActivity{height:15px;vertical-align:super;margin-right:5px}.headerLabelClickableLook{cursor:pointer;display:inline-block;margin-left:10px;max-width:80%;overflow:hidden;text-overflow:ellipsis}.loadingIcon{margin-left:auto;margin-right:5px;height:10px;width:30px;margin-top:5px;padding-bottom:0}input[type=button]:disabled{background-color:#d3d3d3;cursor:auto}"]
|
|
1032
1032
|
})
|
|
1033
1033
|
], 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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"}
|