@amc-technology/ui-library 1.0.100 → 1.0.102

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/README.md +25 -8
  2. package/esm2022/amc-technology-ui-library.mjs +5 -0
  3. package/esm2022/projects/UILibrary/src/app/Helpers.mjs +11 -0
  4. package/esm2022/projects/UILibrary/src/app/components/activity/activity.component.mjs +79 -0
  5. package/esm2022/projects/UILibrary/src/app/components/chat-box/chat-box.component.mjs +137 -0
  6. package/esm2022/projects/UILibrary/src/app/components/chat-message/chat-message.component.mjs +40 -0
  7. package/esm2022/projects/UILibrary/src/app/components/create/create.component.mjs +34 -0
  8. package/esm2022/projects/UILibrary/src/app/components/current-activity/current-activity.component.mjs +170 -0
  9. package/esm2022/projects/UILibrary/src/app/components/disposition/disposition.component.mjs +47 -0
  10. package/esm2022/projects/UILibrary/src/app/components/duration/duration.component.mjs +58 -0
  11. package/esm2022/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.mjs +72 -0
  12. package/esm2022/projects/UILibrary/src/app/components/interaction/interaction.component.mjs +98 -0
  13. package/esm2022/projects/UILibrary/src/app/components/login/login.component.mjs +41 -0
  14. package/esm2022/projects/UILibrary/src/app/components/operation/operation.component.mjs +56 -0
  15. package/esm2022/projects/UILibrary/src/app/components/property/property.component.mjs +106 -0
  16. package/esm2022/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.mjs +144 -0
  17. package/esm2022/projects/UILibrary/src/app/components/scenario/scenario.component.mjs +38 -0
  18. package/esm2022/projects/UILibrary/src/app/components/search-information/search-information.component.mjs +160 -0
  19. package/esm2022/projects/UILibrary/src/app/models/IActivity.mjs +2 -0
  20. package/esm2022/projects/UILibrary/src/app/models/IActivityDetails.mjs +2 -0
  21. package/esm2022/projects/UILibrary/src/app/models/IHoldActivityDetails.mjs +2 -0
  22. package/esm2022/projects/UILibrary/src/app/models/IInteractionActivityDetails.mjs +2 -0
  23. package/esm2022/projects/UILibrary/src/app/models/chat.message.mjs +7 -0
  24. package/esm2022/projects/UILibrary/src/app/models/chat.settings.mjs +2 -0
  25. package/esm2022/projects/UILibrary/src/app/models/disposition.interface.mjs +2 -0
  26. package/esm2022/projects/UILibrary/src/app/models/login.interface.mjs +2 -0
  27. package/esm2022/projects/UILibrary/src/app/models/uilibrary.model.mjs +61 -0
  28. package/esm2022/projects/UILibrary/src/app/uilibrary.module.mjs +106 -0
  29. package/esm2022/public_api.mjs +10 -0
  30. package/fesm2022/amc-technology-ui-library.mjs +1393 -0
  31. package/fesm2022/amc-technology-ui-library.mjs.map +1 -0
  32. package/index.d.ts +5 -0
  33. package/package.json +26 -21
  34. package/projects/UILibrary/src/app/Helpers.d.ts +1 -1
  35. package/projects/UILibrary/src/app/components/activity/activity.component.d.ts +26 -23
  36. package/projects/UILibrary/src/app/components/chat-box/chat-box.component.d.ts +38 -35
  37. package/projects/UILibrary/src/app/components/chat-message/chat-message.component.d.ts +16 -13
  38. package/projects/UILibrary/src/app/components/create/create.component.d.ts +14 -11
  39. package/projects/UILibrary/src/app/components/current-activity/current-activity.component.d.ts +37 -34
  40. package/projects/UILibrary/src/app/components/disposition/disposition.component.d.ts +15 -12
  41. package/projects/UILibrary/src/app/components/duration/duration.component.d.ts +19 -16
  42. package/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.d.ts +24 -21
  43. package/projects/UILibrary/src/app/components/interaction/interaction.component.d.ts +44 -41
  44. package/projects/UILibrary/src/app/components/login/login.component.d.ts +14 -11
  45. package/projects/UILibrary/src/app/components/operation/operation.component.d.ts +25 -22
  46. package/projects/UILibrary/src/app/components/property/property.component.d.ts +44 -41
  47. package/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.d.ts +38 -35
  48. package/projects/UILibrary/src/app/components/scenario/scenario.component.d.ts +16 -13
  49. package/projects/UILibrary/src/app/components/search-information/search-information.component.d.ts +29 -26
  50. package/projects/UILibrary/src/app/models/IActivity.d.ts +36 -36
  51. package/projects/UILibrary/src/app/models/IActivityDetails.d.ts +7 -7
  52. package/projects/UILibrary/src/app/models/IHoldActivityDetails.d.ts +10 -10
  53. package/projects/UILibrary/src/app/models/IInteractionActivityDetails.d.ts +9 -9
  54. package/projects/UILibrary/src/app/models/chat.message.d.ts +15 -15
  55. package/projects/UILibrary/src/app/models/chat.settings.d.ts +6 -6
  56. package/projects/UILibrary/src/app/models/disposition.interface.d.ts +12 -12
  57. package/projects/UILibrary/src/app/models/login.interface.d.ts +13 -13
  58. package/projects/UILibrary/src/app/models/uilibrary.model.d.ts +281 -281
  59. package/projects/UILibrary/src/app/uilibrary.module.d.ts +30 -7
  60. package/public_api.d.ts +9 -1
  61. package/webcomponents/webcomponents.js +3 -3
  62. package/amc-technology-ui-library.d.ts +0 -19
  63. package/amc-technology-ui-library.metadata.json +0 -1
  64. package/bundles/amc-technology-ui-library.umd.js +0 -1653
  65. package/bundles/amc-technology-ui-library.umd.js.map +0 -1
  66. package/bundles/amc-technology-ui-library.umd.min.js +0 -16
  67. package/bundles/amc-technology-ui-library.umd.min.js.map +0 -1
  68. package/esm2015/amc-technology-ui-library.js +0 -20
  69. package/esm2015/projects/UILibrary/src/app/Helpers.js +0 -11
  70. package/esm2015/projects/UILibrary/src/app/components/activity/activity.component.js +0 -83
  71. package/esm2015/projects/UILibrary/src/app/components/chat-box/chat-box.component.js +0 -139
  72. package/esm2015/projects/UILibrary/src/app/components/chat-message/chat-message.component.js +0 -44
  73. package/esm2015/projects/UILibrary/src/app/components/create/create.component.js +0 -35
  74. package/esm2015/projects/UILibrary/src/app/components/current-activity/current-activity.component.js +0 -169
  75. package/esm2015/projects/UILibrary/src/app/components/disposition/disposition.component.js +0 -49
  76. package/esm2015/projects/UILibrary/src/app/components/duration/duration.component.js +0 -58
  77. package/esm2015/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.js +0 -72
  78. package/esm2015/projects/UILibrary/src/app/components/interaction/interaction.component.js +0 -93
  79. package/esm2015/projects/UILibrary/src/app/components/login/login.component.js +0 -43
  80. package/esm2015/projects/UILibrary/src/app/components/operation/operation.component.js +0 -57
  81. package/esm2015/projects/UILibrary/src/app/components/property/property.component.js +0 -99
  82. package/esm2015/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.js +0 -142
  83. package/esm2015/projects/UILibrary/src/app/components/scenario/scenario.component.js +0 -43
  84. package/esm2015/projects/UILibrary/src/app/components/search-information/search-information.component.js +0 -155
  85. package/esm2015/projects/UILibrary/src/app/models/IActivity.js +0 -1
  86. package/esm2015/projects/UILibrary/src/app/models/IActivityDetails.js +0 -1
  87. package/esm2015/projects/UILibrary/src/app/models/IHoldActivityDetails.js +0 -1
  88. package/esm2015/projects/UILibrary/src/app/models/IInteractionActivityDetails.js +0 -1
  89. package/esm2015/projects/UILibrary/src/app/models/chat.message.js +0 -7
  90. package/esm2015/projects/UILibrary/src/app/models/chat.settings.js +0 -1
  91. package/esm2015/projects/UILibrary/src/app/models/disposition.interface.js +0 -1
  92. package/esm2015/projects/UILibrary/src/app/models/login.interface.js +0 -1
  93. package/esm2015/projects/UILibrary/src/app/models/uilibrary.model.js +0 -40
  94. package/esm2015/projects/UILibrary/src/app/uilibrary.module.js +0 -83
  95. package/esm2015/public_api.js +0 -2
  96. package/esm5/amc-technology-ui-library.js +0 -20
  97. package/esm5/projects/UILibrary/src/app/Helpers.js +0 -11
  98. package/esm5/projects/UILibrary/src/app/components/activity/activity.component.js +0 -84
  99. package/esm5/projects/UILibrary/src/app/components/chat-box/chat-box.component.js +0 -140
  100. package/esm5/projects/UILibrary/src/app/components/chat-message/chat-message.component.js +0 -45
  101. package/esm5/projects/UILibrary/src/app/components/create/create.component.js +0 -36
  102. package/esm5/projects/UILibrary/src/app/components/current-activity/current-activity.component.js +0 -174
  103. package/esm5/projects/UILibrary/src/app/components/disposition/disposition.component.js +0 -61
  104. package/esm5/projects/UILibrary/src/app/components/duration/duration.component.js +0 -60
  105. package/esm5/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.js +0 -74
  106. package/esm5/projects/UILibrary/src/app/components/interaction/interaction.component.js +0 -98
  107. package/esm5/projects/UILibrary/src/app/components/login/login.component.js +0 -66
  108. package/esm5/projects/UILibrary/src/app/components/operation/operation.component.js +0 -58
  109. package/esm5/projects/UILibrary/src/app/components/property/property.component.js +0 -101
  110. package/esm5/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.js +0 -144
  111. package/esm5/projects/UILibrary/src/app/components/scenario/scenario.component.js +0 -44
  112. package/esm5/projects/UILibrary/src/app/components/search-information/search-information.component.js +0 -156
  113. package/esm5/projects/UILibrary/src/app/models/IActivity.js +0 -1
  114. package/esm5/projects/UILibrary/src/app/models/IActivityDetails.js +0 -1
  115. package/esm5/projects/UILibrary/src/app/models/IHoldActivityDetails.js +0 -1
  116. package/esm5/projects/UILibrary/src/app/models/IInteractionActivityDetails.js +0 -1
  117. package/esm5/projects/UILibrary/src/app/models/chat.message.js +0 -7
  118. package/esm5/projects/UILibrary/src/app/models/chat.settings.js +0 -1
  119. package/esm5/projects/UILibrary/src/app/models/disposition.interface.js +0 -1
  120. package/esm5/projects/UILibrary/src/app/models/login.interface.js +0 -1
  121. package/esm5/projects/UILibrary/src/app/models/uilibrary.model.js +0 -43
  122. package/esm5/projects/UILibrary/src/app/uilibrary.module.js +0 -84
  123. package/esm5/public_api.js +0 -2
  124. package/fesm2015/amc-technology-ui-library.js +0 -1360
  125. package/fesm2015/amc-technology-ui-library.js.map +0 -1
  126. package/fesm5/amc-technology-ui-library.js +0 -1423
  127. package/fesm5/amc-technology-ui-library.js.map +0 -1
  128. package/src/typings.d.ts +0 -5
@@ -0,0 +1,98 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../operation/operation.component";
5
+ import * as i3 from "../property/property.component";
6
+ import * as i4 from "../holdtimer/holdtimer.component";
7
+ import * as i5 from "../duration/duration.component";
8
+ import * as i6 from "../chat-box/chat-box.component";
9
+ /**
10
+ * @ignore
11
+ */
12
+ export class InteractionComponent {
13
+ interaction;
14
+ newMsgs;
15
+ minimizedChanged = new EventEmitter();
16
+ isAgentTyping = new EventEmitter();
17
+ newMessage = new EventEmitter();
18
+ /**
19
+ * @ignore
20
+ */
21
+ minimized;
22
+ set _minimized(value) {
23
+ this.minimized = value;
24
+ this.minimizedChanged.emit(value);
25
+ }
26
+ get _minimized() {
27
+ return this.minimized;
28
+ }
29
+ /**
30
+ * @ignore
31
+ */
32
+ constructor() {
33
+ this._minimized = false;
34
+ }
35
+ /**
36
+ * @ignore
37
+ */
38
+ ngOnInit() {
39
+ }
40
+ /**
41
+ * @ignore
42
+ */
43
+ minimize() {
44
+ this._minimized = true;
45
+ }
46
+ /**
47
+ * @ignore
48
+ */
49
+ maximize() {
50
+ this._minimized = false;
51
+ }
52
+ /**
53
+ * @ignore
54
+ */
55
+ isConferenceCall() {
56
+ if (this.interaction.parties && this.interaction.parties.length > 1) {
57
+ return true;
58
+ }
59
+ return false;
60
+ }
61
+ collapseKeypress(event) {
62
+ if (event.code === 'Enter') {
63
+ this.minimize();
64
+ }
65
+ }
66
+ expandKeypress(event) {
67
+ if (event.code === 'Enter') {
68
+ this.maximize();
69
+ }
70
+ }
71
+ clickEvent(id) {
72
+ document.getElementById(id).className = 'success';
73
+ if (localStorage.getItem('focusedPanel') === null) {
74
+ localStorage.setItem('focusedPanel', id);
75
+ }
76
+ else if (localStorage.getItem('focusedPanel') != id) {
77
+ document.getElementById(localStorage.getItem('focusedPanel')).className = 'AnswerCallFocused';
78
+ localStorage.setItem('focusedPanel', id);
79
+ }
80
+ }
81
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: InteractionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
82
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: InteractionComponent, selector: "amc-interaction", inputs: { interaction: "interaction", newMsgs: "newMsgs" }, outputs: { minimizedChanged: "minimizedChanged", isAgentTyping: "isAgentTyping", newMessage: "newMessage" }, ngImport: i0, template: "<div class=\"AnswerCallFocused\" [id]=\"interaction.interactionId\">\r\n <div class=\"editor callHeaderTop\" (click)=\"clickEvent(interaction.interactionId)\">\r\n <img class=\"statusImage\" aria-hidden=\"true\" [src]=\"interaction.UIHeadersData.statusUrl\" (click)=\"interaction.UIHeadersData.focusHandler.handler(interaction.UIHeadersData.focusHandler.operationName, interaction.UIHeadersData.focusHandler.operationMetadata)\" />\r\n <label class=\"statusText\">\r\n <b [id]=\"interaction.UIHeadersData.statusText\">{{ interaction.UIHeadersData.statusText }}</b>\r\n </label>\r\n <label class=\"verticalDivider\">|</label>\r\n <label class=\"directionText\" *ngIf=\"!interaction.UIHeadersData.displayHoldCounter\">{{ interaction.UIHeadersData.directionText }}</label>\r\n <div class=\"holdCallDurationDiv\" *ngIf=\"interaction.UIHeadersData.displayHoldCounter\">\r\n <amc-holdtimer [holdCounterData]=\"interaction.UIHeadersData.holdCounterData\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\"></amc-holdtimer>\r\n </div>\r\n <img class=\"ViewExpandImage\" [src]=\"interaction.UIHeadersData.minimizeUrl\" alt=\"Minimize\" (click)=\"minimize()\" (keypress)=\"collapseKeypress($event)\" *ngIf=\"!_minimized\" tabindex=\"0\" role=\"button\" aria-label=\"collapse Call Section\">\r\n <img class=\"ViewCollapseImage\" [src]=\"interaction.UIHeadersData.maximizeUrl\" alt=\"Maximize\" (click)=\"maximize()\" (keypress)=\"expandKeypress($event)\" *ngIf=\"_minimized\" tabindex=\"0\" role=\"button\" aria-label=\"expand Call Section\">\r\n <div class=\"DurationDiv\" *ngIf=\"interaction.displayCallTimer\">\r\n <amc-duration [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\" [startTime]=\"interaction.startTime\"></amc-duration>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"!_minimized\">\r\n\r\n <div *ngIf=\"!isConferenceCall()\">\r\n <div class=\"editor phoneNumberContainer\">\r\n <input class=\"callImage\" type=\"image\" [src]=\"interaction.subheaderData.image.href\" [title]=\"interaction.subheaderData.tooltip || ''\" tabindex=\"-1\">\r\n <input class=\"editor phoneNumberValue\" [attr.aria-labelledby]=\"interaction.UIHeadersData.statusText + ' ' + interaction.subheaderData.value\" readonly type=\"text\" [value]=\"interaction.subheaderData.value\" [id]=\"interaction.subheaderData.value\" tabindex=\"-1\">\r\n </div>\r\n\r\n <div class=\"cadSection\">\r\n <ng-container *ngFor=\"let property of interaction.properties\">\r\n <ng-container *ngIf=\"property.visible\">\r\n <label class=\"col1\" [title]=\"property.displayKey\">{{property.displayKey}}</label>\r\n <amc-property [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\" class=\"col2\" [property]=\"property\"> </amc-property>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let property of interaction.associatedData\">\r\n <ng-container *ngIf=\"property.visible\">\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" [title]=\"property.displayKey\">{{property.displayKey}}</label>\r\n <amc-property [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\" class=\"col2\" [property]=\"property\"> </amc-property>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <amc-operation *ngIf=\"interaction.chat\" id=\"close-chat\" [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\" [operations]=\"interaction.operations\"></amc-operation>\r\n <app-chat-box *ngIf=\"interaction.chat\" [isTyping]=\"interaction.chat.isCustomerTyping\" [settings]=\"interaction.chat.settings\"\r\n [messages]=\"interaction.chat.messages\" [newMsgs]=\"newMsgs\" (isAgentTyping)=\"isAgentTyping.emit($event)\" (newMessage)=\"newMessage.emit($event)\"></app-chat-box>\r\n\r\n <div [id]='interaction.interactionId'> </div>\r\n <amc-operation *ngIf=\"!interaction.chat\" [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\" [operations]=\"interaction.operations\"></amc-operation>\r\n </div>\r\n\r\n <div *ngIf=\"isConferenceCall()\">\r\n <div *ngFor=\"let party of interaction.parties\">\r\n <div class=\"editor phoneNumberContainer\">\r\n <input class=\"callImage\" type=\"image\" [src]=\"party.header.image.href\" [title]=\"party.header.tooltip || ''\" tabindex=\"-1\">\r\n <input class=\"editor phoneNumberValue\" readonly type=\"text\" [value]=\"party.header.value\" tabindex=\"-1\">\r\n </div>\r\n\r\n <div class=\"grid-container\">\r\n <ng-container *ngFor=\"let property of party.properties\">\r\n <ng-container *ngIf=\"property.visible\">\r\n <label class=\"col1\" [title]=\"property.displayKey\">{{ property.displayKey }}</label>\r\n <amc-property [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"party.header.value\" class=\"col2\" [property]=\"property\"> </amc-property>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <amc-operation [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"party.header.value\" [operations]=\"party.operations\"></amc-operation>\r\n <div class=\"AnswerCallFocused\"></div>\r\n </div>\r\n <amc-operation [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\" [operations]=\"interaction.operations\"></amc-operation>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}.phoneNumberContainer{margin-left:5px!important;padding-left:0;display:flex;align-items:center}.cadSection{margin-bottom:5px}#close-chat{-moz-text-align-last:end;text-align-last:end}.grid-container{margin-left:5px;display:grid;grid-template-columns:auto 1fr;grid-column-gap:10px;max-width:calc(100% - 5px);overflow:hidden}.col1{grid-column:1/2}.col2{grid-column:2/3}.ViewExpandImage{margin:3px}.ViewExpandImage:focus{outline:2px solid rgb(50,150,218);outline-offset:0px}.ViewCollapseImage{margin:3px}.ViewCollapseImage:focus{outline:2px solid rgb(50,150,218);outline-offset:0px}.callImage{cursor:default}.phoneNumberValue:focus{outline-style:none}#call123{border:4px!important}.success{border:2px solid #00adbb!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.OperationComponent, selector: "amc-operation", inputs: ["statusText", "callId", "callType", "operations"] }, { kind: "component", type: i3.PropertyComponent, selector: "amc-property", inputs: ["statusText", "callId", "callType", "property"] }, { kind: "component", type: i4.HoldtimerComponent, selector: "amc-holdtimer", inputs: ["holdCounterData", "statusText", "callId"] }, { kind: "component", type: i5.DurationComponent, selector: "amc-duration", inputs: ["statusText", "callId", "startTime"] }, { kind: "component", type: i6.ChatBoxComponent, selector: "app-chat-box", inputs: ["settings", "isTyping", "messages", "newMsgs"], outputs: ["isAgentTyping", "newMessage"] }] });
83
+ }
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: InteractionComponent, decorators: [{
85
+ type: Component,
86
+ args: [{ selector: 'amc-interaction', template: "<div class=\"AnswerCallFocused\" [id]=\"interaction.interactionId\">\r\n <div class=\"editor callHeaderTop\" (click)=\"clickEvent(interaction.interactionId)\">\r\n <img class=\"statusImage\" aria-hidden=\"true\" [src]=\"interaction.UIHeadersData.statusUrl\" (click)=\"interaction.UIHeadersData.focusHandler.handler(interaction.UIHeadersData.focusHandler.operationName, interaction.UIHeadersData.focusHandler.operationMetadata)\" />\r\n <label class=\"statusText\">\r\n <b [id]=\"interaction.UIHeadersData.statusText\">{{ interaction.UIHeadersData.statusText }}</b>\r\n </label>\r\n <label class=\"verticalDivider\">|</label>\r\n <label class=\"directionText\" *ngIf=\"!interaction.UIHeadersData.displayHoldCounter\">{{ interaction.UIHeadersData.directionText }}</label>\r\n <div class=\"holdCallDurationDiv\" *ngIf=\"interaction.UIHeadersData.displayHoldCounter\">\r\n <amc-holdtimer [holdCounterData]=\"interaction.UIHeadersData.holdCounterData\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\"></amc-holdtimer>\r\n </div>\r\n <img class=\"ViewExpandImage\" [src]=\"interaction.UIHeadersData.minimizeUrl\" alt=\"Minimize\" (click)=\"minimize()\" (keypress)=\"collapseKeypress($event)\" *ngIf=\"!_minimized\" tabindex=\"0\" role=\"button\" aria-label=\"collapse Call Section\">\r\n <img class=\"ViewCollapseImage\" [src]=\"interaction.UIHeadersData.maximizeUrl\" alt=\"Maximize\" (click)=\"maximize()\" (keypress)=\"expandKeypress($event)\" *ngIf=\"_minimized\" tabindex=\"0\" role=\"button\" aria-label=\"expand Call Section\">\r\n <div class=\"DurationDiv\" *ngIf=\"interaction.displayCallTimer\">\r\n <amc-duration [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\" [startTime]=\"interaction.startTime\"></amc-duration>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"!_minimized\">\r\n\r\n <div *ngIf=\"!isConferenceCall()\">\r\n <div class=\"editor phoneNumberContainer\">\r\n <input class=\"callImage\" type=\"image\" [src]=\"interaction.subheaderData.image.href\" [title]=\"interaction.subheaderData.tooltip || ''\" tabindex=\"-1\">\r\n <input class=\"editor phoneNumberValue\" [attr.aria-labelledby]=\"interaction.UIHeadersData.statusText + ' ' + interaction.subheaderData.value\" readonly type=\"text\" [value]=\"interaction.subheaderData.value\" [id]=\"interaction.subheaderData.value\" tabindex=\"-1\">\r\n </div>\r\n\r\n <div class=\"cadSection\">\r\n <ng-container *ngFor=\"let property of interaction.properties\">\r\n <ng-container *ngIf=\"property.visible\">\r\n <label class=\"col1\" [title]=\"property.displayKey\">{{property.displayKey}}</label>\r\n <amc-property [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\" class=\"col2\" [property]=\"property\"> </amc-property>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let property of interaction.associatedData\">\r\n <ng-container *ngIf=\"property.visible\">\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" [title]=\"property.displayKey\">{{property.displayKey}}</label>\r\n <amc-property [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\" class=\"col2\" [property]=\"property\"> </amc-property>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <amc-operation *ngIf=\"interaction.chat\" id=\"close-chat\" [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\" [operations]=\"interaction.operations\"></amc-operation>\r\n <app-chat-box *ngIf=\"interaction.chat\" [isTyping]=\"interaction.chat.isCustomerTyping\" [settings]=\"interaction.chat.settings\"\r\n [messages]=\"interaction.chat.messages\" [newMsgs]=\"newMsgs\" (isAgentTyping)=\"isAgentTyping.emit($event)\" (newMessage)=\"newMessage.emit($event)\"></app-chat-box>\r\n\r\n <div [id]='interaction.interactionId'> </div>\r\n <amc-operation *ngIf=\"!interaction.chat\" [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\" [operations]=\"interaction.operations\"></amc-operation>\r\n </div>\r\n\r\n <div *ngIf=\"isConferenceCall()\">\r\n <div *ngFor=\"let party of interaction.parties\">\r\n <div class=\"editor phoneNumberContainer\">\r\n <input class=\"callImage\" type=\"image\" [src]=\"party.header.image.href\" [title]=\"party.header.tooltip || ''\" tabindex=\"-1\">\r\n <input class=\"editor phoneNumberValue\" readonly type=\"text\" [value]=\"party.header.value\" tabindex=\"-1\">\r\n </div>\r\n\r\n <div class=\"grid-container\">\r\n <ng-container *ngFor=\"let property of party.properties\">\r\n <ng-container *ngIf=\"property.visible\">\r\n <label class=\"col1\" [title]=\"property.displayKey\">{{ property.displayKey }}</label>\r\n <amc-property [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"party.header.value\" class=\"col2\" [property]=\"property\"> </amc-property>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <amc-operation [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"party.header.value\" [operations]=\"party.operations\"></amc-operation>\r\n <div class=\"AnswerCallFocused\"></div>\r\n </div>\r\n <amc-operation [callType]=\"interaction.UIHeadersData.directionText\" [statusText]=\"interaction.UIHeadersData.statusText\" [callId]=\"interaction.subheaderData.value\" [operations]=\"interaction.operations\"></amc-operation>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}.phoneNumberContainer{margin-left:5px!important;padding-left:0;display:flex;align-items:center}.cadSection{margin-bottom:5px}#close-chat{-moz-text-align-last:end;text-align-last:end}.grid-container{margin-left:5px;display:grid;grid-template-columns:auto 1fr;grid-column-gap:10px;max-width:calc(100% - 5px);overflow:hidden}.col1{grid-column:1/2}.col2{grid-column:2/3}.ViewExpandImage{margin:3px}.ViewExpandImage:focus{outline:2px solid rgb(50,150,218);outline-offset:0px}.ViewCollapseImage{margin:3px}.ViewCollapseImage:focus{outline:2px solid rgb(50,150,218);outline-offset:0px}.callImage{cursor:default}.phoneNumberValue:focus{outline-style:none}#call123{border:4px!important}.success{border:2px solid #00adbb!important}\n"] }]
87
+ }], ctorParameters: function () { return []; }, propDecorators: { interaction: [{
88
+ type: Input
89
+ }], newMsgs: [{
90
+ type: Input
91
+ }], minimizedChanged: [{
92
+ type: Output
93
+ }], isAgentTyping: [{
94
+ type: Output
95
+ }], newMessage: [{
96
+ type: Output
97
+ }] } });
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvVUlMaWJyYXJ5L3NyYy9hcHAvY29tcG9uZW50cy9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL2ludGVyYWN0aW9uL2ludGVyYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQTJCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQUV4Rzs7R0FFRztBQU1ILE1BQU0sT0FBTyxvQkFBb0I7SUFFdEIsV0FBVyxDQUFlO0lBQzFCLE9BQU8sQ0FBaUI7SUFDdkIsZ0JBQWdCLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7SUFDN0QsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFDNUMsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDakQ7O01BRUU7SUFDSCxTQUFTLENBQVU7SUFDbkIsSUFBSSxVQUFVLENBQUMsS0FBSztRQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0g7UUFDRSxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO0lBQ1IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0I7UUFDZCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbkUsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQW9CO1FBQ25DLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFvQjtRQUNqQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQzFCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsRUFBRTtRQUNYLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUNsRCxJQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2hELFlBQVksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzFDO2FBQU0sSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsRUFBQztZQUNwRCxRQUFRLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsbUJBQW1CLENBQUM7WUFDOUYsWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDMUM7SUFDSCxDQUFDO3VHQTVFVSxvQkFBb0I7MkZBQXBCLG9CQUFvQixnT0NWakMsd2xNQTBFQTs7MkZEaEVhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxpQkFBaUI7MEVBTWxCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGRyZW4sIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJQ2hhdE1lc3NhZ2UsIElJbnRlcmFjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy91aWxpYnJhcnkubW9kZWwnO1xyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbWMtaW50ZXJhY3Rpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnRlcmFjdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW50ZXJhY3Rpb24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW50ZXJhY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBpbnRlcmFjdGlvbjogSUludGVyYWN0aW9uO1xyXG4gIEBJbnB1dCgpIG5ld01zZ3M6IElDaGF0TWVzc2FnZVtdO1xyXG4gIEBPdXRwdXQoKSBtaW5pbWl6ZWRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGlzQWdlbnRUeXBpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIG5ld01lc3NhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIG1pbmltaXplZDogYm9vbGVhbjtcclxuICBzZXQgX21pbmltaXplZCh2YWx1ZSkge1xyXG4gICAgdGhpcy5taW5pbWl6ZWQgPSB2YWx1ZTtcclxuICAgIHRoaXMubWluaW1pemVkQ2hhbmdlZC5lbWl0KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IF9taW5pbWl6ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5taW5pbWl6ZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLl9taW5pbWl6ZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBtaW5pbWl6ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX21pbmltaXplZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgbWF4aW1pemUoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9taW5pbWl6ZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBpc0NvbmZlcmVuY2VDYWxsKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuaW50ZXJhY3Rpb24ucGFydGllcyAmJiB0aGlzLmludGVyYWN0aW9uLnBhcnRpZXMubGVuZ3RoID4gMSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGNvbGxhcHNlS2V5cHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldmVudC5jb2RlID09PSAnRW50ZXInKSB7XHJcbiAgICAgIHRoaXMubWluaW1pemUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGV4cGFuZEtleXByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VudGVyJykge1xyXG4gICAgICB0aGlzLm1heGltaXplKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbGlja0V2ZW50KGlkKXtcclxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS5jbGFzc05hbWUgPSAnc3VjY2Vzcyc7XHJcbiAgICBpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZm9jdXNlZFBhbmVsJykgPT09IG51bGwpIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2ZvY3VzZWRQYW5lbCcsIGlkKTtcclxuICAgIH0gZWxzZSBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2ZvY3VzZWRQYW5lbCcpICE9IGlkKXtcclxuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2ZvY3VzZWRQYW5lbCcpKS5jbGFzc05hbWUgPSAnQW5zd2VyQ2FsbEZvY3VzZWQnO1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZm9jdXNlZFBhbmVsJywgaWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiQW5zd2VyQ2FsbEZvY3VzZWRcIiBbaWRdPVwiaW50ZXJhY3Rpb24uaW50ZXJhY3Rpb25JZFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJlZGl0b3IgY2FsbEhlYWRlclRvcFwiIChjbGljayk9XCJjbGlja0V2ZW50KGludGVyYWN0aW9uLmludGVyYWN0aW9uSWQpXCI+XHJcbiAgICA8aW1nIGNsYXNzPVwic3RhdHVzSW1hZ2VcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBbc3JjXT1cImludGVyYWN0aW9uLlVJSGVhZGVyc0RhdGEuc3RhdHVzVXJsXCIgKGNsaWNrKT1cImludGVyYWN0aW9uLlVJSGVhZGVyc0RhdGEuZm9jdXNIYW5kbGVyLmhhbmRsZXIoaW50ZXJhY3Rpb24uVUlIZWFkZXJzRGF0YS5mb2N1c0hhbmRsZXIub3BlcmF0aW9uTmFtZSwgaW50ZXJhY3Rpb24uVUlIZWFkZXJzRGF0YS5mb2N1c0hhbmRsZXIub3BlcmF0aW9uTWV0YWRhdGEpXCIgLz5cclxuICAgIDxsYWJlbCBjbGFzcz1cInN0YXR1c1RleHRcIj5cclxuICAgICAgPGIgW2lkXT1cImludGVyYWN0aW9uLlVJSGVhZGVyc0RhdGEuc3RhdHVzVGV4dFwiPnt7IGludGVyYWN0aW9uLlVJSGVhZGVyc0RhdGEuc3RhdHVzVGV4dCB9fTwvYj5cclxuICAgIDwvbGFiZWw+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJ2ZXJ0aWNhbERpdmlkZXJcIj58PC9sYWJlbD5cclxuICAgIDxsYWJlbCBjbGFzcz1cImRpcmVjdGlvblRleHRcIiAqbmdJZj1cIiFpbnRlcmFjdGlvbi5VSUhlYWRlcnNEYXRhLmRpc3BsYXlIb2xkQ291bnRlclwiPnt7IGludGVyYWN0aW9uLlVJSGVhZGVyc0RhdGEuZGlyZWN0aW9uVGV4dCB9fTwvbGFiZWw+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaG9sZENhbGxEdXJhdGlvbkRpdlwiICpuZ0lmPVwiaW50ZXJhY3Rpb24uVUlIZWFkZXJzRGF0YS5kaXNwbGF5SG9sZENvdW50ZXJcIj5cclxuICAgICAgPGFtYy1ob2xkdGltZXIgW2hvbGRDb3VudGVyRGF0YV09XCJpbnRlcmFjdGlvbi5VSUhlYWRlcnNEYXRhLmhvbGRDb3VudGVyRGF0YVwiIFtzdGF0dXNUZXh0XT1cImludGVyYWN0aW9uLlVJSGVhZGVyc0RhdGEuc3RhdHVzVGV4dFwiIFtjYWxsSWRdPVwiaW50ZXJhY3Rpb24uc3ViaGVhZGVyRGF0YS52YWx1ZVwiPjwvYW1jLWhvbGR0aW1lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGltZyBjbGFzcz1cIlZpZXdFeHBhbmRJbWFnZVwiIFtzcmNdPVwiaW50ZXJhY3Rpb24uVUlIZWFkZXJzRGF0YS5taW5pbWl6ZVVybFwiIGFsdD1cIk1pbmltaXplXCIgKGNsaWNrKT1cIm1pbmltaXplKClcIiAoa2V5cHJlc3MpPVwiY29sbGFwc2VLZXlwcmVzcygkZXZlbnQpXCIgKm5nSWY9XCIhX21pbmltaXplZFwiIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiY29sbGFwc2UgQ2FsbCBTZWN0aW9uXCI+XHJcbiAgICA8aW1nIGNsYXNzPVwiVmlld0NvbGxhcHNlSW1hZ2VcIiBbc3JjXT1cImludGVyYWN0aW9uLlVJSGVhZGVyc0RhdGEubWF4aW1pemVVcmxcIiBhbHQ9XCJNYXhpbWl6ZVwiIChjbGljayk9XCJtYXhpbWl6ZSgpXCIgKGtleXByZXNzKT1cImV4cGFuZEtleXByZXNzKCRldmVudClcIiAqbmdJZj1cIl9taW5pbWl6ZWRcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cImV4cGFuZCBDYWxsIFNlY3Rpb25cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJEdXJhdGlvbkRpdlwiICpuZ0lmPVwiaW50ZXJhY3Rpb24uZGlzcGxheUNhbGxUaW1lclwiPlxyXG4gICAgICA8YW1jLWR1cmF0aW9uIFtzdGF0dXNUZXh0XT1cImludGVyYWN0aW9uLlVJSGVhZGVyc0RhdGEuc3RhdHVzVGV4dFwiIFtjYWxsSWRdPVwiaW50ZXJhY3Rpb24uc3ViaGVhZGVyRGF0YS52YWx1ZVwiIFtzdGFydFRpbWVdPVwiaW50ZXJhY3Rpb24uc3RhcnRUaW1lXCI+PC9hbWMtZHVyYXRpb24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiAqbmdJZj1cIiFfbWluaW1pemVkXCI+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cIiFpc0NvbmZlcmVuY2VDYWxsKClcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImVkaXRvciBwaG9uZU51bWJlckNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxpbnB1dCBjbGFzcz1cImNhbGxJbWFnZVwiIHR5cGU9XCJpbWFnZVwiIFtzcmNdPVwiaW50ZXJhY3Rpb24uc3ViaGVhZGVyRGF0YS5pbWFnZS5ocmVmXCIgW3RpdGxlXT1cImludGVyYWN0aW9uLnN1YmhlYWRlckRhdGEudG9vbHRpcCB8fCAnJ1wiIHRhYmluZGV4PVwiLTFcIj5cclxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJlZGl0b3IgcGhvbmVOdW1iZXJWYWx1ZVwiIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJpbnRlcmFjdGlvbi5VSUhlYWRlcnNEYXRhLnN0YXR1c1RleHQgKyAnICcgKyBpbnRlcmFjdGlvbi5zdWJoZWFkZXJEYXRhLnZhbHVlXCIgcmVhZG9ubHkgdHlwZT1cInRleHRcIiBbdmFsdWVdPVwiaW50ZXJhY3Rpb24uc3ViaGVhZGVyRGF0YS52YWx1ZVwiIFtpZF09XCJpbnRlcmFjdGlvbi5zdWJoZWFkZXJEYXRhLnZhbHVlXCIgdGFiaW5kZXg9XCItMVwiPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYWRTZWN0aW9uXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcHJvcGVydHkgb2YgaW50ZXJhY3Rpb24ucHJvcGVydGllc1wiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInByb3BlcnR5LnZpc2libGVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sMVwiIFt0aXRsZV09XCJwcm9wZXJ0eS5kaXNwbGF5S2V5XCI+e3twcm9wZXJ0eS5kaXNwbGF5S2V5fX08L2xhYmVsPlxyXG4gICAgICAgICAgICA8YW1jLXByb3BlcnR5IFtjYWxsVHlwZV09XCJpbnRlcmFjdGlvbi5VSUhlYWRlcnNEYXRhLmRpcmVjdGlvblRleHRcIiBbc3RhdHVzVGV4dF09XCJpbnRlcmFjdGlvbi5VSUhlYWRlcnNEYXRhLnN0YXR1c1RleHRcIiBbY2FsbElkXT1cImludGVyYWN0aW9uLnN1YmhlYWRlckRhdGEudmFsdWVcIiBjbGFzcz1cImNvbDJcIiBbcHJvcGVydHldPVwicHJvcGVydHlcIj4gPC9hbWMtcHJvcGVydHk+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcHJvcGVydHkgb2YgaW50ZXJhY3Rpb24uYXNzb2NpYXRlZERhdGFcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wZXJ0eS52aXNpYmxlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlZGl0b3IgZGlzcGxheURpdlwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImRpc3BsYXlMYWJlbHNcIiBbdGl0bGVdPVwicHJvcGVydHkuZGlzcGxheUtleVwiPnt7cHJvcGVydHkuZGlzcGxheUtleX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8YW1jLXByb3BlcnR5IFtjYWxsVHlwZV09XCJpbnRlcmFjdGlvbi5VSUhlYWRlcnNEYXRhLmRpcmVjdGlvblRleHRcIiBbc3RhdHVzVGV4dF09XCJpbnRlcmFjdGlvbi5VSUhlYWRlcnNEYXRhLnN0YXR1c1RleHRcIiBbY2FsbElkXT1cImludGVyYWN0aW9uLnN1YmhlYWRlckRhdGEudmFsdWVcIiBjbGFzcz1cImNvbDJcIiBbcHJvcGVydHldPVwicHJvcGVydHlcIj4gPC9hbWMtcHJvcGVydHk+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YW1jLW9wZXJhdGlvbiAqbmdJZj1cImludGVyYWN0aW9uLmNoYXRcIiBpZD1cImNsb3NlLWNoYXRcIiBbY2FsbFR5cGVdPVwiaW50ZXJhY3Rpb24uVUlIZWFkZXJzRGF0YS5kaXJlY3Rpb25UZXh0XCIgW3N0YXR1c1RleHRdPVwiaW50ZXJhY3Rpb24uVUlIZWFkZXJzRGF0YS5zdGF0dXNUZXh0XCIgW2NhbGxJZF09XCJpbnRlcmFjdGlvbi5zdWJoZWFkZXJEYXRhLnZhbHVlXCIgW29wZXJhdGlvbnNdPVwiaW50ZXJhY3Rpb24ub3BlcmF0aW9uc1wiPjwvYW1jLW9wZXJhdGlvbj5cclxuICAgICAgPGFwcC1jaGF0LWJveCAqbmdJZj1cImludGVyYWN0aW9uLmNoYXRcIiBbaXNUeXBpbmddPVwiaW50ZXJhY3Rpb24uY2hhdC5pc0N1c3RvbWVyVHlwaW5nXCIgW3NldHRpbmdzXT1cImludGVyYWN0aW9uLmNoYXQuc2V0dGluZ3NcIlxyXG4gICAgICAgIFttZXNzYWdlc109XCJpbnRlcmFjdGlvbi5jaGF0Lm1lc3NhZ2VzXCIgW25ld01zZ3NdPVwibmV3TXNnc1wiIChpc0FnZW50VHlwaW5nKT1cImlzQWdlbnRUeXBpbmcuZW1pdCgkZXZlbnQpXCIgKG5ld01lc3NhZ2UpPVwibmV3TWVzc2FnZS5lbWl0KCRldmVudClcIj48L2FwcC1jaGF0LWJveD5cclxuXHJcbiAgICAgIDxkaXYgW2lkXT0naW50ZXJhY3Rpb24uaW50ZXJhY3Rpb25JZCc+IDwvZGl2PlxyXG4gICAgICA8YW1jLW9wZXJhdGlvbiAqbmdJZj1cIiFpbnRlcmFjdGlvbi5jaGF0XCIgW2NhbGxUeXBlXT1cImludGVyYWN0aW9uLlVJSGVhZGVyc0RhdGEuZGlyZWN0aW9uVGV4dFwiIFtzdGF0dXNUZXh0XT1cImludGVyYWN0aW9uLlVJSGVhZGVyc0RhdGEuc3RhdHVzVGV4dFwiIFtjYWxsSWRdPVwiaW50ZXJhY3Rpb24uc3ViaGVhZGVyRGF0YS52YWx1ZVwiIFtvcGVyYXRpb25zXT1cImludGVyYWN0aW9uLm9wZXJhdGlvbnNcIj48L2FtYy1vcGVyYXRpb24+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwiaXNDb25mZXJlbmNlQ2FsbCgpXCI+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHBhcnR5IG9mIGludGVyYWN0aW9uLnBhcnRpZXNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yIHBob25lTnVtYmVyQ29udGFpbmVyXCI+XHJcbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJjYWxsSW1hZ2VcIiB0eXBlPVwiaW1hZ2VcIiBbc3JjXT1cInBhcnR5LmhlYWRlci5pbWFnZS5ocmVmXCIgW3RpdGxlXT1cInBhcnR5LmhlYWRlci50b29sdGlwIHx8ICcnXCIgdGFiaW5kZXg9XCItMVwiPlxyXG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwiZWRpdG9yIHBob25lTnVtYmVyVmFsdWVcIiByZWFkb25seSB0eXBlPVwidGV4dFwiIFt2YWx1ZV09XCJwYXJ0eS5oZWFkZXIudmFsdWVcIiB0YWJpbmRleD1cIi0xXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcHJvcGVydHkgb2YgcGFydHkucHJvcGVydGllc1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvcGVydHkudmlzaWJsZVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbDFcIiBbdGl0bGVdPVwicHJvcGVydHkuZGlzcGxheUtleVwiPnt7IHByb3BlcnR5LmRpc3BsYXlLZXkgfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxhbWMtcHJvcGVydHkgW2NhbGxUeXBlXT1cImludGVyYWN0aW9uLlVJSGVhZGVyc0RhdGEuZGlyZWN0aW9uVGV4dFwiIFtzdGF0dXNUZXh0XT1cImludGVyYWN0aW9uLlVJSGVhZGVyc0RhdGEuc3RhdHVzVGV4dFwiIFtjYWxsSWRdPVwicGFydHkuaGVhZGVyLnZhbHVlXCIgY2xhc3M9XCJjb2wyXCIgW3Byb3BlcnR5XT1cInByb3BlcnR5XCI+IDwvYW1jLXByb3BlcnR5PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxhbWMtb3BlcmF0aW9uIFtjYWxsVHlwZV09XCJpbnRlcmFjdGlvbi5VSUhlYWRlcnNEYXRhLmRpcmVjdGlvblRleHRcIiBbc3RhdHVzVGV4dF09XCJpbnRlcmFjdGlvbi5VSUhlYWRlcnNEYXRhLnN0YXR1c1RleHRcIiBbY2FsbElkXT1cInBhcnR5LmhlYWRlci52YWx1ZVwiIFtvcGVyYXRpb25zXT1cInBhcnR5Lm9wZXJhdGlvbnNcIj48L2FtYy1vcGVyYXRpb24+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIkFuc3dlckNhbGxGb2N1c2VkXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YW1jLW9wZXJhdGlvbiBbY2FsbFR5cGVdPVwiaW50ZXJhY3Rpb24uVUlIZWFkZXJzRGF0YS5kaXJlY3Rpb25UZXh0XCIgW3N0YXR1c1RleHRdPVwiaW50ZXJhY3Rpb24uVUlIZWFkZXJzRGF0YS5zdGF0dXNUZXh0XCIgW2NhbGxJZF09XCJpbnRlcmFjdGlvbi5zdWJoZWFkZXJEYXRhLnZhbHVlXCIgW29wZXJhdGlvbnNdPVwiaW50ZXJhY3Rpb24ub3BlcmF0aW9uc1wiPjwvYW1jLW9wZXJhdGlvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/forms";
5
+ export class LoginComponent {
6
+ loginData;
7
+ loginDetailsProvided = new EventEmitter();
8
+ constructor() { }
9
+ ngOnInit() {
10
+ if (!this.loginData.header) {
11
+ this.loginData.header = 'Login';
12
+ }
13
+ for (let field of this.loginData.fields) {
14
+ if (!field.isInvalid) {
15
+ field.isInvalid = false;
16
+ }
17
+ }
18
+ }
19
+ onLogin(loginForm) {
20
+ for (const field of this.loginData.fields) {
21
+ field.value = loginForm.value[field.name];
22
+ }
23
+ this.loginDetailsProvided.emit(this.loginData);
24
+ }
25
+ focusOutOfInput(loginForm, field) {
26
+ if (!loginForm.controls[field.name].valid) {
27
+ field.isInvalid = true;
28
+ }
29
+ }
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: LoginComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: LoginComponent, selector: "amc-login", inputs: { loginData: "loginData" }, outputs: { loginDetailsProvided: "loginDetailsProvided" }, ngImport: i0, template: "<div class=\"login-container\">\r\n <form (ngSubmit)=\"onLogin(loginForm)\"class=\"login-form\" id=\"login-form\" #loginForm=\"ngForm\">\r\n <div class=\"header-container\">\r\n <label class=\"login-header\" attr.aria-label=\"login\">{{ loginData.header }}</label>\r\n </div>\r\n <div class=\"fields-container\">\r\n <div *ngFor=\"let field of loginData.fields\" class=\"field\">\r\n <label class=\"field-label\">\r\n {{ field.name }}:\r\n </label>\r\n\r\n <input\r\n ngModel\r\n class=\"field-input\"\r\n attr.aria-label=\"{{ field.name }}\"\r\n [name]=\"field.name\"\r\n [type]=\"field.type\"\r\n [value]=\"field.value\"\r\n [placeholder]=\"field.placeholder || ''\"\r\n [required]=\"field.isRequired || false\"\r\n (focusout)=\"focusOutOfInput(loginForm, field)\"/>\r\n\r\n <p class=\"invalid-input\" *ngIf=\"field.isInvalid\">{{ field.invalidMessage }}</p>\r\n </div>\r\n\r\n <button\r\n type=\"submit\"\r\n class=\"form-submit\"\r\n form=\"login-form\"\r\n tabindex=\"0\"\r\n attr.aria-label=\"send\"\r\n [disabled]=\"!loginForm.valid\">Login</button>\r\n </div>\r\n\r\n </form>\r\n</div>\r\n", styles: [".login-container{border:1px solid #939598;white-space:nowrap;font-family:Arial;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;text-overflow:ellipsis;position:relative;font-size:.9em;overflow-x:hidden;overflow-y:hidden}.header-container{border-bottom:1px solid #939598;background-color:#f4f5fb;width:100%;height:28px;position:sticky}.login-header{margin-top:auto;margin-left:7px;padding:5px;font-weight:700;font-size:.9em}.fields-container{overflow-y:auto;font-size:.9em;padding:5px}.field{display:table-row;margin:5px}.field-label{padding:10px;display:table-cell}.field-input{display:table-cell;border:1px solid #939598;border-radius:5px}.field-input:focus{box-shadow:0 0 5px #38badf}.form-submit{margin:15px 10px 10px;display:table-row;border:1px solid #00a4b0;border-radius:5px;background-color:#00a4b0;color:#f7f7f7;width:10em;height:2em;transition:all .2s;font-size:1.1em;position:relative;top:50%;left:50%;transform:translate(-50%,-50%)}.form-submit:hover{background-color:#01858f}.form-submit:disabled{background-color:silver;border-color:silver;color:#fff}input.ng-invalid.ng-touched[required]{border-color:#a94442}.form-submit:focus{outline:2px solid rgb(50,150,218);outline-offset:5px}.invalid-input{margin:0;padding:0;color:#a94442;font-size:x-small}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: LoginComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ selector: 'amc-login', template: "<div class=\"login-container\">\r\n <form (ngSubmit)=\"onLogin(loginForm)\"class=\"login-form\" id=\"login-form\" #loginForm=\"ngForm\">\r\n <div class=\"header-container\">\r\n <label class=\"login-header\" attr.aria-label=\"login\">{{ loginData.header }}</label>\r\n </div>\r\n <div class=\"fields-container\">\r\n <div *ngFor=\"let field of loginData.fields\" class=\"field\">\r\n <label class=\"field-label\">\r\n {{ field.name }}:\r\n </label>\r\n\r\n <input\r\n ngModel\r\n class=\"field-input\"\r\n attr.aria-label=\"{{ field.name }}\"\r\n [name]=\"field.name\"\r\n [type]=\"field.type\"\r\n [value]=\"field.value\"\r\n [placeholder]=\"field.placeholder || ''\"\r\n [required]=\"field.isRequired || false\"\r\n (focusout)=\"focusOutOfInput(loginForm, field)\"/>\r\n\r\n <p class=\"invalid-input\" *ngIf=\"field.isInvalid\">{{ field.invalidMessage }}</p>\r\n </div>\r\n\r\n <button\r\n type=\"submit\"\r\n class=\"form-submit\"\r\n form=\"login-form\"\r\n tabindex=\"0\"\r\n attr.aria-label=\"send\"\r\n [disabled]=\"!loginForm.valid\">Login</button>\r\n </div>\r\n\r\n </form>\r\n</div>\r\n", styles: [".login-container{border:1px solid #939598;white-space:nowrap;font-family:Arial;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;text-overflow:ellipsis;position:relative;font-size:.9em;overflow-x:hidden;overflow-y:hidden}.header-container{border-bottom:1px solid #939598;background-color:#f4f5fb;width:100%;height:28px;position:sticky}.login-header{margin-top:auto;margin-left:7px;padding:5px;font-weight:700;font-size:.9em}.fields-container{overflow-y:auto;font-size:.9em;padding:5px}.field{display:table-row;margin:5px}.field-label{padding:10px;display:table-cell}.field-input{display:table-cell;border:1px solid #939598;border-radius:5px}.field-input:focus{box-shadow:0 0 5px #38badf}.form-submit{margin:15px 10px 10px;display:table-row;border:1px solid #00a4b0;border-radius:5px;background-color:#00a4b0;color:#f7f7f7;width:10em;height:2em;transition:all .2s;font-size:1.1em;position:relative;top:50%;left:50%;transform:translate(-50%,-50%)}.form-submit:hover{background-color:#01858f}.form-submit:disabled{background-color:silver;border-color:silver;color:#fff}input.ng-invalid.ng-touched[required]{border-color:#a94442}.form-submit:focus{outline:2px solid rgb(50,150,218);outline-offset:5px}.invalid-input{margin:0;padding:0;color:#a94442;font-size:x-small}\n"] }]
36
+ }], ctorParameters: function () { return []; }, propDecorators: { loginData: [{
37
+ type: Input
38
+ }], loginDetailsProvided: [{
39
+ type: Output
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvVUlMaWJyYXJ5L3NyYy9hcHAvY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRL0UsTUFBTSxPQUFPLGNBQWM7SUFDaEIsU0FBUyxDQUFhO0lBQ3JCLG9CQUFvQixHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7SUFFaEUsZ0JBQWdCLENBQUM7SUFFakIsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtZQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUM7U0FDakM7UUFFRCxLQUFLLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFO2dCQUNwQixLQUFLLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQzthQUN6QjtTQUNGO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxTQUFpQjtRQUN2QixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO1lBQ3pDLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0M7UUFFRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQWlCLEVBQUUsS0FBSztRQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFO1lBQ3pDLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzt1R0E5QlUsY0FBYzsyRkFBZCxjQUFjLGdKQ1QzQixxd0NBb0NBOzsyRkQzQmEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxXQUFXOzBFQUtaLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0ksb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUxvZ2luRGF0YSB9IGZyb20gJy4vLi4vLi4vbW9kZWxzL2xvZ2luLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbWMtbG9naW4nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbG9naW4uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbG9naW5EYXRhOiBJTG9naW5EYXRhO1xyXG4gIEBPdXRwdXQoKSBsb2dpbkRldGFpbHNQcm92aWRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SUxvZ2luRGF0YT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAoIXRoaXMubG9naW5EYXRhLmhlYWRlcikge1xyXG4gICAgICB0aGlzLmxvZ2luRGF0YS5oZWFkZXIgPSAnTG9naW4nO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAobGV0IGZpZWxkIG9mIHRoaXMubG9naW5EYXRhLmZpZWxkcykge1xyXG4gICAgICBpZiAoIWZpZWxkLmlzSW52YWxpZCkge1xyXG4gICAgICAgIGZpZWxkLmlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkxvZ2luKGxvZ2luRm9ybTogTmdGb3JtKSB7XHJcbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIHRoaXMubG9naW5EYXRhLmZpZWxkcykge1xyXG4gICAgICBmaWVsZC52YWx1ZSA9IGxvZ2luRm9ybS52YWx1ZVtmaWVsZC5uYW1lXTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvZ2luRGV0YWlsc1Byb3ZpZGVkLmVtaXQodGhpcy5sb2dpbkRhdGEpO1xyXG4gIH1cclxuXHJcbiAgZm9jdXNPdXRPZklucHV0KGxvZ2luRm9ybTogTmdGb3JtLCBmaWVsZCkge1xyXG4gICAgaWYgKCFsb2dpbkZvcm0uY29udHJvbHNbZmllbGQubmFtZV0udmFsaWQpIHtcclxuICAgICAgZmllbGQuaXNJbnZhbGlkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImxvZ2luLWNvbnRhaW5lclwiPlxyXG4gIDxmb3JtIChuZ1N1Ym1pdCk9XCJvbkxvZ2luKGxvZ2luRm9ybSlcImNsYXNzPVwibG9naW4tZm9ybVwiIGlkPVwibG9naW4tZm9ybVwiICNsb2dpbkZvcm09XCJuZ0Zvcm1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItY29udGFpbmVyXCI+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cImxvZ2luLWhlYWRlclwiIGF0dHIuYXJpYS1sYWJlbD1cImxvZ2luXCI+e3sgbG9naW5EYXRhLmhlYWRlciB9fTwvbGFiZWw+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZHMtY29udGFpbmVyXCI+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGxvZ2luRGF0YS5maWVsZHNcIiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZmllbGQtbGFiZWxcIj5cclxuICAgICAgICAgIHt7IGZpZWxkLm5hbWUgfX06XHJcbiAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgIG5nTW9kZWxcclxuICAgICAgICAgY2xhc3M9XCJmaWVsZC1pbnB1dFwiXHJcbiAgICAgICAgIGF0dHIuYXJpYS1sYWJlbD1cInt7IGZpZWxkLm5hbWUgfX1cIlxyXG4gICAgICAgICBbbmFtZV09XCJmaWVsZC5uYW1lXCJcclxuICAgICAgICAgW3R5cGVdPVwiZmllbGQudHlwZVwiXHJcbiAgICAgICAgIFt2YWx1ZV09XCJmaWVsZC52YWx1ZVwiXHJcbiAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlciB8fCAnJ1wiXHJcbiAgICAgICAgIFtyZXF1aXJlZF09XCJmaWVsZC5pc1JlcXVpcmVkIHx8IGZhbHNlXCJcclxuICAgICAgICAgKGZvY3Vzb3V0KT1cImZvY3VzT3V0T2ZJbnB1dChsb2dpbkZvcm0sIGZpZWxkKVwiLz5cclxuXHJcbiAgICAgICAgIDxwIGNsYXNzPVwiaW52YWxpZC1pbnB1dFwiICpuZ0lmPVwiZmllbGQuaXNJbnZhbGlkXCI+e3sgZmllbGQuaW52YWxpZE1lc3NhZ2UgfX08L3A+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICAgIGNsYXNzPVwiZm9ybS1zdWJtaXRcIlxyXG4gICAgICAgIGZvcm09XCJsb2dpbi1mb3JtXCJcclxuICAgICAgICB0YWJpbmRleD1cIjBcIlxyXG4gICAgICAgIGF0dHIuYXJpYS1sYWJlbD1cInNlbmRcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCIhbG9naW5Gb3JtLnZhbGlkXCI+TG9naW48L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Zvcm0+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,56 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ /**
5
+ * @ignore
6
+ */
7
+ export class OperationComponent {
8
+ statusText;
9
+ callId;
10
+ callType;
11
+ operations;
12
+ labelledByText = '';
13
+ describedByText = '';
14
+ /**
15
+ * @ignore
16
+ */
17
+ constructor() {
18
+ }
19
+ /**
20
+ * @ignore
21
+ */
22
+ ngOnInit() {
23
+ if (this.statusText && this.callType) {
24
+ this.describedByText = `${this.statusText} ${this.callType}`;
25
+ }
26
+ else if (this.statusText) {
27
+ this.describedByText = this.statusText;
28
+ }
29
+ else if (this.callType) {
30
+ this.describedByText = this.callType;
31
+ }
32
+ if (this.callId) {
33
+ this.labelledByText = this.callId;
34
+ }
35
+ }
36
+ operationKeypress(event, operation) {
37
+ if (event.code === 'Enter') {
38
+ operation.handler(operation.operationName, operation.operationMetadata);
39
+ }
40
+ }
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: OperationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: OperationComponent, selector: "amc-operation", inputs: { statusText: "statusText", callId: "callId", callType: "callType", operations: "operations" }, ngImport: i0, template: "<div class=\"callOptions\">\r\n <img\r\n class=\"AnswerCallImages\"\r\n tabindex=\"0\"\r\n role=\"button\"\r\n attr.aria-label=\"{{ operation.title }}\"\r\n *ngFor=\"let operation of operations\"\r\n [title]=\"operation.title\"\r\n [src]=\"operation.icon\"\r\n [attr.accesskey]=\"operation.accesskey || null\"\r\n [attr.aria-labelledby]=\"labelledByText || null\"\r\n [attr.aria-describedby]=\"describedByText || null\"\r\n (click)=\"operation.handler(operation.operationName, operation.operationMetadata)\"\r\n (keypress)=\"operationKeypress($event, operation)\"/>\r\n</div>\r\n", styles: [".AnswerCallImages:focus{outline:2px solid rgb(50,150,218);outline-offset:1px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: OperationComponent, decorators: [{
45
+ type: Component,
46
+ args: [{ selector: 'amc-operation', template: "<div class=\"callOptions\">\r\n <img\r\n class=\"AnswerCallImages\"\r\n tabindex=\"0\"\r\n role=\"button\"\r\n attr.aria-label=\"{{ operation.title }}\"\r\n *ngFor=\"let operation of operations\"\r\n [title]=\"operation.title\"\r\n [src]=\"operation.icon\"\r\n [attr.accesskey]=\"operation.accesskey || null\"\r\n [attr.aria-labelledby]=\"labelledByText || null\"\r\n [attr.aria-describedby]=\"describedByText || null\"\r\n (click)=\"operation.handler(operation.operationName, operation.operationMetadata)\"\r\n (keypress)=\"operationKeypress($event, operation)\"/>\r\n</div>\r\n", styles: [".AnswerCallImages:focus{outline:2px solid rgb(50,150,218);outline-offset:1px}\n"] }]
47
+ }], ctorParameters: function () { return []; }, propDecorators: { statusText: [{
48
+ type: Input
49
+ }], callId: [{
50
+ type: Input
51
+ }], callType: [{
52
+ type: Input
53
+ }], operations: [{
54
+ type: Input
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL1VJTGlicmFyeS9zcmMvYXBwL2NvbXBvbmVudHMvb3BlcmF0aW9uL29wZXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL29wZXJhdGlvbi9vcGVyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUd6RDs7R0FFRztBQU1ILE1BQU0sT0FBTyxrQkFBa0I7SUFDcEIsVUFBVSxDQUFTO0lBQ25CLE1BQU0sQ0FBUztJQUNmLFFBQVEsQ0FBUztJQUNqQixVQUFVLENBQWU7SUFFbEMsY0FBYyxHQUFHLEVBQUUsQ0FBQztJQUNwQixlQUFlLEdBQUcsRUFBRSxDQUFDO0lBRXJCOztPQUVHO0lBQ0g7SUFDQSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzlEO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUN4QzthQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUE7U0FDckM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBb0IsRUFBRSxTQUFxQjtRQUMzRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQzFCLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUN6RTtJQUNILENBQUM7dUdBcENVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLDZKQ1gvQix3bkJBZUE7OzJGREphLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxlQUFlOzBFQUtoQixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSU9wZXJhdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy91aWxpYnJhcnkubW9kZWwnO1xyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW1jLW9wZXJhdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29wZXJhdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vb3BlcmF0aW9uLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE9wZXJhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgc3RhdHVzVGV4dDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNhbGxJZDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNhbGxUeXBlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgb3BlcmF0aW9uczogSU9wZXJhdGlvbltdO1xyXG5cclxuICBsYWJlbGxlZEJ5VGV4dCA9ICcnO1xyXG4gIGRlc2NyaWJlZEJ5VGV4dCA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5zdGF0dXNUZXh0ICYmIHRoaXMuY2FsbFR5cGUpIHtcclxuICAgICAgdGhpcy5kZXNjcmliZWRCeVRleHQgPSBgJHt0aGlzLnN0YXR1c1RleHR9ICR7dGhpcy5jYWxsVHlwZX1gO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnN0YXR1c1RleHQpIHtcclxuICAgICAgdGhpcy5kZXNjcmliZWRCeVRleHQgPSB0aGlzLnN0YXR1c1RleHQ7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY2FsbFR5cGUpIHtcclxuICAgICAgdGhpcy5kZXNjcmliZWRCeVRleHQgPSB0aGlzLmNhbGxUeXBlXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY2FsbElkKSB7XHJcbiAgICAgIHRoaXMubGFiZWxsZWRCeVRleHQgPSB0aGlzLmNhbGxJZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZXJhdGlvbktleXByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBvcGVyYXRpb246IElPcGVyYXRpb24pIHtcclxuICAgIGlmIChldmVudC5jb2RlID09PSAnRW50ZXInKSB7XHJcbiAgICAgIG9wZXJhdGlvbi5oYW5kbGVyKG9wZXJhdGlvbi5vcGVyYXRpb25OYW1lLCBvcGVyYXRpb24ub3BlcmF0aW9uTWV0YWRhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FsbE9wdGlvbnNcIj5cclxuICAgIDxpbWdcclxuICAgICBjbGFzcz1cIkFuc3dlckNhbGxJbWFnZXNcIlxyXG4gICAgIHRhYmluZGV4PVwiMFwiXHJcbiAgICAgcm9sZT1cImJ1dHRvblwiXHJcbiAgICAgYXR0ci5hcmlhLWxhYmVsPVwie3sgb3BlcmF0aW9uLnRpdGxlIH19XCJcclxuICAgICAqbmdGb3I9XCJsZXQgb3BlcmF0aW9uIG9mIG9wZXJhdGlvbnNcIlxyXG4gICAgIFt0aXRsZV09XCJvcGVyYXRpb24udGl0bGVcIlxyXG4gICAgIFtzcmNdPVwib3BlcmF0aW9uLmljb25cIlxyXG4gICAgIFthdHRyLmFjY2Vzc2tleV09XCJvcGVyYXRpb24uYWNjZXNza2V5IHx8IG51bGxcIlxyXG4gICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJsYWJlbGxlZEJ5VGV4dCB8fCBudWxsXCJcclxuICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImRlc2NyaWJlZEJ5VGV4dCB8fCBudWxsXCJcclxuICAgICAoY2xpY2spPVwib3BlcmF0aW9uLmhhbmRsZXIob3BlcmF0aW9uLm9wZXJhdGlvbk5hbWUsIG9wZXJhdGlvbi5vcGVyYXRpb25NZXRhZGF0YSlcIlxyXG4gICAgIChrZXlwcmVzcyk9XCJvcGVyYXRpb25LZXlwcmVzcygkZXZlbnQsIG9wZXJhdGlvbilcIi8+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,106 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { ValueType } from '../../models/uilibrary.model';
3
+ import { secondsToHms } from '../../Helpers';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ /**
7
+ * @ignore
8
+ */
9
+ export class PropertyComponent {
10
+ statusText;
11
+ callId;
12
+ callType;
13
+ property;
14
+ labelledByText = '';
15
+ title = '';
16
+ /**
17
+ * @ignore
18
+ */
19
+ processedDisplayValue;
20
+ /**
21
+ * @ignore
22
+ */
23
+ _timerId;
24
+ /**
25
+ * @ignore
26
+ */
27
+ constructor() {
28
+ this._timerId = null;
29
+ this.processedDisplayValue = '';
30
+ }
31
+ /**
32
+ * @ignore
33
+ */
34
+ ngOnInit() {
35
+ if (this.statusText && this.callType) {
36
+ this.labelledByText = `${this.statusText} ${this.callType}`;
37
+ }
38
+ else if (this.statusText) {
39
+ this.labelledByText = this.statusText;
40
+ }
41
+ else if (this.callType) {
42
+ this.labelledByText = this.callType;
43
+ }
44
+ if (this.callType && this.callId) {
45
+ this.title = `${this.callType} ${this.callId}`;
46
+ }
47
+ else if (this.callType) {
48
+ this.title = this.callType;
49
+ }
50
+ else if (this.callId) {
51
+ this.title = this.callId;
52
+ }
53
+ this.initValues();
54
+ }
55
+ /**
56
+ * @ignore
57
+ */
58
+ initValues() {
59
+ if (this.property.displayValueType === ValueType.COUNTER) {
60
+ this.startCallCounter();
61
+ }
62
+ else {
63
+ this.processedDisplayValue = this.property.displayValue;
64
+ }
65
+ }
66
+ /**
67
+ * @ignore
68
+ */
69
+ startCallCounter() {
70
+ if (this._timerId == null) {
71
+ this._timerId = window.setInterval(() => {
72
+ const callStartTime = this.property.displayValue;
73
+ const currentTime = new Date().getTime() / 1000;
74
+ const secondsPassed = Math.floor((currentTime) - (callStartTime / 1000));
75
+ this.processedDisplayValue = secondsToHms(secondsPassed);
76
+ }, 1000);
77
+ }
78
+ }
79
+ /**
80
+ * @ignore
81
+ */
82
+ ngOnDestroy() {
83
+ if (this.property.displayValueType === ValueType.COUNTER) {
84
+ // clear the timer.
85
+ if (this._timerId != null) {
86
+ clearInterval(this._timerId);
87
+ this._timerId = null;
88
+ }
89
+ }
90
+ }
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PropertyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
92
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PropertyComponent, selector: "amc-property", inputs: { statusText: "statusText", callId: "callId", callType: "callType", property: "property" }, ngImport: i0, template: "<input\r\n readonly\r\n *ngIf=\"!property.customOperations\"\r\n class=\"displayData\"\r\n tabindex=\"0\"\r\n type=\"text\"\r\n [name]=\"processedDisplayValue\"\r\n [title]=\"title || null\"\r\n [attr.aria-labelledby]=\"labelledByText || null\"\r\n [value]=\"processedDisplayValue\"/>\r\n\r\n <input\r\n readonly\r\n *ngIf=\"property.customOperations\"\r\n class=\"cursor displayData\"\r\n type=\"text\"\r\n tabindex=\"0\"\r\n [name]=\"processedDisplayValue\"\r\n [title]=\"title || null\"\r\n [value]=\"processedDisplayValue\"\r\n [attr.aria-labelledby]=\"labelledByText || null\"\r\n (click)=\"property.customOperations.handler(property.customOperations.eventName, property.customOperations.eventMetadata)\" />\r\n", styles: ["input{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
93
+ }
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PropertyComponent, decorators: [{
95
+ type: Component,
96
+ args: [{ selector: 'amc-property', template: "<input\r\n readonly\r\n *ngIf=\"!property.customOperations\"\r\n class=\"displayData\"\r\n tabindex=\"0\"\r\n type=\"text\"\r\n [name]=\"processedDisplayValue\"\r\n [title]=\"title || null\"\r\n [attr.aria-labelledby]=\"labelledByText || null\"\r\n [value]=\"processedDisplayValue\"/>\r\n\r\n <input\r\n readonly\r\n *ngIf=\"property.customOperations\"\r\n class=\"cursor displayData\"\r\n type=\"text\"\r\n tabindex=\"0\"\r\n [name]=\"processedDisplayValue\"\r\n [title]=\"title || null\"\r\n [value]=\"processedDisplayValue\"\r\n [attr.aria-labelledby]=\"labelledByText || null\"\r\n (click)=\"property.customOperations.handler(property.customOperations.eventName, property.customOperations.eventMetadata)\" />\r\n", styles: ["input{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border:0}\n"] }]
97
+ }], ctorParameters: function () { return []; }, propDecorators: { statusText: [{
98
+ type: Input
99
+ }], callId: [{
100
+ type: Input
101
+ }], callType: [{
102
+ type: Input
103
+ }], property: [{
104
+ type: Input
105
+ }] } });
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvVUlMaWJyYXJ5L3NyYy9hcHAvY29tcG9uZW50cy9wcm9wZXJ0eS9wcm9wZXJ0eS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL3Byb3BlcnR5L3Byb3BlcnR5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFDN0M7O0dBRUc7QUFNSCxNQUFNLE9BQU8saUJBQWlCO0lBRW5CLFVBQVUsQ0FBUztJQUNuQixNQUFNLENBQVM7SUFDZixRQUFRLENBQVM7SUFDakIsUUFBUSxDQUFZO0lBRTdCLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDcEIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUVYOztPQUVHO0lBQ0gscUJBQXFCLENBQVM7SUFFOUI7O09BRUc7SUFDSyxRQUFRLENBQVU7SUFFMUI7O09BRUc7SUFDSDtRQUVFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUM3RDthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDdkM7YUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFBO1NBQ3BDO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFBO1NBQy9DO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUM1QjthQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDMUI7UUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVTtRQUNSLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLENBQUMsT0FBTyxFQUFFO1lBQ3hELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3pCO2FBQU07WUFDTCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7U0FDekQ7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxnQkFBZ0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRTtZQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFO2dCQUN0QyxNQUFNLGFBQWEsR0FBVyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztnQkFDekQsTUFBTSxXQUFXLEdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7Z0JBQ3hELE1BQU0sYUFBYSxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNqRixJQUFJLENBQUMscUJBQXFCLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzNELENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNWO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLENBQUMsT0FBTyxFQUFFO1lBQ3hELG1CQUFtQjtZQUNuQixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFO2dCQUN6QixhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQzthQUN0QjtTQUNGO0lBQ0gsQ0FBQzt1R0F4RlUsaUJBQWlCOzJGQUFqQixpQkFBaUIsd0pDWDlCLHd0QkFzQkE7OzJGRFhhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxjQUFjOzBFQU1mLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFZhbHVlVHlwZSwgSVByb3BlcnR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VpbGlicmFyeS5tb2RlbCc7XHJcbmltcG9ydCB7IHNlY29uZHNUb0htcyB9IGZyb20gJy4uLy4uL0hlbHBlcnMnO1xyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbWMtcHJvcGVydHknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9wZXJ0eS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcHJvcGVydHkuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvcGVydHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpIHN0YXR1c1RleHQ6IHN0cmluZztcclxuICBASW5wdXQoKSBjYWxsSWQ6IHN0cmluZztcclxuICBASW5wdXQoKSBjYWxsVHlwZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHByb3BlcnR5OiBJUHJvcGVydHk7XHJcblxyXG4gIGxhYmVsbGVkQnlUZXh0ID0gJyc7XHJcbiAgdGl0bGUgPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHByb2Nlc3NlZERpc3BsYXlWYWx1ZTogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfdGltZXJJZD86IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICAgIHRoaXMuX3RpbWVySWQgPSBudWxsO1xyXG4gICAgdGhpcy5wcm9jZXNzZWREaXNwbGF5VmFsdWUgPSAnJztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnN0YXR1c1RleHQgJiYgdGhpcy5jYWxsVHlwZSkge1xyXG4gICAgICB0aGlzLmxhYmVsbGVkQnlUZXh0ID0gYCR7dGhpcy5zdGF0dXNUZXh0fSAke3RoaXMuY2FsbFR5cGV9YDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5zdGF0dXNUZXh0KSB7XHJcbiAgICAgIHRoaXMubGFiZWxsZWRCeVRleHQgPSB0aGlzLnN0YXR1c1RleHQ7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY2FsbFR5cGUpIHtcclxuICAgICAgdGhpcy5sYWJlbGxlZEJ5VGV4dCA9IHRoaXMuY2FsbFR5cGVcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5jYWxsVHlwZSAmJiB0aGlzLmNhbGxJZCkge1xyXG4gICAgICB0aGlzLnRpdGxlID0gYCR7dGhpcy5jYWxsVHlwZX0gJHt0aGlzLmNhbGxJZH1gXHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY2FsbFR5cGUpIHtcclxuICAgICAgdGhpcy50aXRsZSA9IHRoaXMuY2FsbFR5cGU7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY2FsbElkKSB7XHJcbiAgICAgIHRoaXMudGl0bGUgPSB0aGlzLmNhbGxJZDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmluaXRWYWx1ZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBpbml0VmFsdWVzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucHJvcGVydHkuZGlzcGxheVZhbHVlVHlwZSA9PT0gVmFsdWVUeXBlLkNPVU5URVIpIHtcclxuICAgICAgdGhpcy5zdGFydENhbGxDb3VudGVyKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnByb2Nlc3NlZERpc3BsYXlWYWx1ZSA9IHRoaXMucHJvcGVydHkuZGlzcGxheVZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhcnRDYWxsQ291bnRlcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl90aW1lcklkID09IG51bGwpIHtcclxuICAgICAgdGhpcy5fdGltZXJJZCA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2FsbFN0YXJ0VGltZTogbnVtYmVyID0gdGhpcy5wcm9wZXJ0eS5kaXNwbGF5VmFsdWU7XHJcbiAgICAgICAgY29uc3QgY3VycmVudFRpbWU6IG51bWJlciA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMDtcclxuICAgICAgICBjb25zdCBzZWNvbmRzUGFzc2VkOiBudW1iZXIgPSBNYXRoLmZsb29yKChjdXJyZW50VGltZSkgLSAoY2FsbFN0YXJ0VGltZSAvIDEwMDApKTtcclxuICAgICAgICB0aGlzLnByb2Nlc3NlZERpc3BsYXlWYWx1ZSA9IHNlY29uZHNUb0htcyhzZWNvbmRzUGFzc2VkKTtcclxuICAgICAgfSwgMTAwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wcm9wZXJ0eS5kaXNwbGF5VmFsdWVUeXBlID09PSBWYWx1ZVR5cGUuQ09VTlRFUikge1xyXG4gICAgICAvLyBjbGVhciB0aGUgdGltZXIuXHJcbiAgICAgIGlmICh0aGlzLl90aW1lcklkICE9IG51bGwpIHtcclxuICAgICAgICBjbGVhckludGVydmFsKHRoaXMuX3RpbWVySWQpO1xyXG4gICAgICAgIHRoaXMuX3RpbWVySWQgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxpbnB1dFxyXG4gcmVhZG9ubHlcclxuICpuZ0lmPVwiIXByb3BlcnR5LmN1c3RvbU9wZXJhdGlvbnNcIlxyXG4gY2xhc3M9XCJkaXNwbGF5RGF0YVwiXHJcbiB0YWJpbmRleD1cIjBcIlxyXG4gdHlwZT1cInRleHRcIlxyXG4gW25hbWVdPVwicHJvY2Vzc2VkRGlzcGxheVZhbHVlXCJcclxuIFt0aXRsZV09XCJ0aXRsZSB8fCBudWxsXCJcclxuIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJsYWJlbGxlZEJ5VGV4dCB8fCBudWxsXCJcclxuIFt2YWx1ZV09XCJwcm9jZXNzZWREaXNwbGF5VmFsdWVcIi8+XHJcblxyXG4gPGlucHV0XHJcbiAgcmVhZG9ubHlcclxuICAqbmdJZj1cInByb3BlcnR5LmN1c3RvbU9wZXJhdGlvbnNcIlxyXG4gIGNsYXNzPVwiY3Vyc29yIGRpc3BsYXlEYXRhXCJcclxuICB0eXBlPVwidGV4dFwiXHJcbiAgdGFiaW5kZXg9XCIwXCJcclxuICBbbmFtZV09XCJwcm9jZXNzZWREaXNwbGF5VmFsdWVcIlxyXG4gIFt0aXRsZV09XCJ0aXRsZSB8fCBudWxsXCJcclxuICBbdmFsdWVdPVwicHJvY2Vzc2VkRGlzcGxheVZhbHVlXCJcclxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwibGFiZWxsZWRCeVRleHQgfHwgbnVsbFwiXHJcbiAgKGNsaWNrKT1cInByb3BlcnR5LmN1c3RvbU9wZXJhdGlvbnMuaGFuZGxlcihwcm9wZXJ0eS5jdXN0b21PcGVyYXRpb25zLmV2ZW50TmFtZSwgcHJvcGVydHkuY3VzdG9tT3BlcmF0aW9ucy5ldmVudE1ldGFkYXRhKVwiIC8+XHJcbiJdfQ==