@colijnit/relation 12.1.7 → 253.1.2

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 (187) hide show
  1. package/bundles/colijnit-relation.umd.js +4648 -4649
  2. package/bundles/colijnit-relation.umd.js.map +1 -1
  3. package/colijnit-relation.d.ts +21 -21
  4. package/colijnit-relation.metadata.json +1 -1
  5. package/esm2015/colijnit-relation.js +21 -21
  6. package/esm2015/lib/component/base/relation-base.component.js +52 -53
  7. package/esm2015/lib/component/base/relation-loader.component.js +50 -50
  8. package/esm2015/lib/component/base/relation-screen-config-base.component.js +16 -16
  9. package/esm2015/lib/component/relation/relation.component.js +100 -100
  10. package/esm2015/lib/component/relation/relation.module.js +58 -58
  11. package/esm2015/lib/component/relation-address/relation-address.component.js +166 -166
  12. package/esm2015/lib/component/relation-address/relation-address.module.js +24 -24
  13. package/esm2015/lib/component/relation-address-tile/relation-address-tile.component.js +72 -72
  14. package/esm2015/lib/component/relation-address-tile/relation-address-tile.module.js +25 -25
  15. package/esm2015/lib/component/relation-addresses/relation-addresses.component.js +158 -158
  16. package/esm2015/lib/component/relation-addresses/relation-addresses.module.js +31 -31
  17. package/esm2015/lib/component/relation-avatar/relation-avatar.component.js +222 -222
  18. package/esm2015/lib/component/relation-avatar/relation-avatar.module.js +22 -22
  19. package/esm2015/lib/component/relation-contact-options/relation-contact-option-list.component.js +101 -101
  20. package/esm2015/lib/component/relation-contact-options/relation-contact-option.component.js +100 -100
  21. package/esm2015/lib/component/relation-contact-options/relation-contact-options-other-types-popup.component.js +44 -44
  22. package/esm2015/lib/component/relation-contact-options/relation-contact-options.component.js +156 -170
  23. package/esm2015/lib/component/relation-contact-options/relation-contact-options.module.js +34 -35
  24. package/esm2015/lib/component/relation-first-name/relation-first-name.component.js +25 -25
  25. package/esm2015/lib/component/relation-first-name/relation-first-name.module.js +24 -24
  26. package/esm2015/lib/component/relation-gender/relation-gender.component.js +45 -45
  27. package/esm2015/lib/component/relation-gender/relation-gender.module.js +23 -23
  28. package/esm2015/lib/component/relation-initials/relation-initials.component.js +24 -24
  29. package/esm2015/lib/component/relation-initials/relation-initials.module.js +24 -24
  30. package/esm2015/lib/component/relation-language/relation-language.component.js +56 -56
  31. package/esm2015/lib/component/relation-language/relation-language.module.js +24 -24
  32. package/esm2015/lib/component/relation-last-name/relation-last-name.component.js +23 -23
  33. package/esm2015/lib/component/relation-last-name/relation-last-name.module.js +24 -24
  34. package/esm2015/lib/component/relation-preferences/relation-preferences.component.js +69 -69
  35. package/esm2015/lib/component/relation-preferences/relation-preferences.module.js +23 -23
  36. package/esm2015/lib/component/relation-prefix-name/relation-prefix-name.component.js +24 -24
  37. package/esm2015/lib/component/relation-prefix-name/relation-prefix-name.module.js +24 -24
  38. package/esm2015/lib/component/relation-title/relation-title.component.js +56 -56
  39. package/esm2015/lib/component/relation-title/relation-title.module.js +24 -24
  40. package/esm2015/lib/enum/icon.enum.js +15 -15
  41. package/esm2015/lib/enum/language-code.enum.js +8 -8
  42. package/esm2015/lib/enum/relman-cfg-name.enum.js +862 -862
  43. package/esm2015/lib/enum/relman-contact-options-cfg-names.js +2 -2
  44. package/esm2015/lib/enum/relman-sub-category.enum.js +13 -13
  45. package/esm2015/lib/interface/relation-address-cfg-names.interface.js +2 -2
  46. package/esm2015/lib/model/icon-svg.js +14 -14
  47. package/esm2015/lib/model/relation-settings-options.js +7 -7
  48. package/esm2015/lib/model/relation-settings.js +9 -9
  49. package/esm2015/lib/relation-version.js +10 -10
  50. package/esm2015/lib/res/dictionary/dictionaries.js +8 -8
  51. package/esm2015/lib/service/dictionary.service.js +68 -68
  52. package/esm2015/lib/service/error.service.js +75 -75
  53. package/esm2015/lib/service/icon-cache.service.js +51 -51
  54. package/esm2015/lib/service/relation-base.service.js +268 -268
  55. package/esm2015/lib/service/relation-connector-adapter.service.js +401 -401
  56. package/esm2015/lib/service/relation-connector.service.js +155 -155
  57. package/esm2015/lib/service/relation-event.service.js +16 -16
  58. package/esm2015/lib/service/relation-screen-configuration.service.js +51 -51
  59. package/esm2015/lib/service/relation-settings.service.js +65 -65
  60. package/esm2015/lib/service/relation.service.js +42 -42
  61. package/esm2015/lib/translation/relation-dictionary.service.js +77 -77
  62. package/esm2015/lib/translation/relation-localize.pipe.js +26 -26
  63. package/esm2015/lib/translation/relation-translation.module.js +29 -29
  64. package/esm2015/lib/translation/relation-translation.service.js +17 -17
  65. package/esm2015/public_api.js +33 -33
  66. package/fesm2015/colijnit-relation.js +3823 -3839
  67. package/fesm2015/colijnit-relation.js.map +1 -1
  68. package/lib/component/base/relation-base.component.d.ts +24 -24
  69. package/lib/component/base/relation-loader.component.d.ts +12 -12
  70. package/lib/component/base/relation-screen-config-base.component.d.ts +14 -14
  71. package/lib/component/relation/relation.component.d.ts +21 -21
  72. package/lib/component/relation/relation.module.d.ts +2 -2
  73. package/lib/component/relation/style/_layout.scss +46 -46
  74. package/lib/component/relation/style/_material-definition.scss +15 -15
  75. package/lib/component/relation/style/_theme.scss +12 -12
  76. package/lib/component/relation/style/material.scss +4 -4
  77. package/lib/component/relation-address/relation-address.component.d.ts +35 -35
  78. package/lib/component/relation-address/relation-address.module.d.ts +2 -2
  79. package/lib/component/relation-address/style/_layout.scss +16 -16
  80. package/lib/component/relation-address/style/_material-definition.scss +5 -5
  81. package/lib/component/relation-address/style/_theme.scss +5 -5
  82. package/lib/component/relation-address/style/material.scss +4 -4
  83. package/lib/component/relation-address-tile/relation-address-tile.component.d.ts +19 -19
  84. package/lib/component/relation-address-tile/relation-address-tile.module.d.ts +2 -2
  85. package/lib/component/relation-address-tile/style/_layout.scss +46 -46
  86. package/lib/component/relation-address-tile/style/_material-definition.scss +18 -18
  87. package/lib/component/relation-address-tile/style/_theme.scss +19 -19
  88. package/lib/component/relation-address-tile/style/material.scss +4 -4
  89. package/lib/component/relation-addresses/relation-addresses.component.d.ts +31 -31
  90. package/lib/component/relation-addresses/relation-addresses.module.d.ts +2 -2
  91. package/lib/component/relation-addresses/style/_layout.scss +26 -26
  92. package/lib/component/relation-addresses/style/_material-definition.scss +12 -12
  93. package/lib/component/relation-addresses/style/_theme.scss +20 -20
  94. package/lib/component/relation-addresses/style/material.scss +4 -4
  95. package/lib/component/relation-avatar/relation-avatar.component.d.ts +47 -47
  96. package/lib/component/relation-avatar/relation-avatar.module.d.ts +2 -2
  97. package/lib/component/relation-avatar/style/_layout.scss +44 -44
  98. package/lib/component/relation-avatar/style/_material-definition.scss +4 -4
  99. package/lib/component/relation-avatar/style/_theme.scss +9 -9
  100. package/lib/component/relation-avatar/style/material.scss +4 -4
  101. package/lib/component/relation-contact-options/relation-contact-option-list.component.d.ts +22 -22
  102. package/lib/component/relation-contact-options/relation-contact-option.component.d.ts +30 -30
  103. package/lib/component/relation-contact-options/relation-contact-options-other-types-popup.component.d.ts +22 -22
  104. package/lib/component/relation-contact-options/relation-contact-options.component.d.ts +40 -43
  105. package/lib/component/relation-contact-options/relation-contact-options.module.d.ts +2 -2
  106. package/lib/component/relation-contact-options/style/_layout.scss +113 -153
  107. package/lib/component/relation-contact-options/style/_material-definition.scss +35 -47
  108. package/lib/component/relation-contact-options/style/_theme.scss +48 -64
  109. package/lib/component/relation-contact-options/style/material.scss +4 -4
  110. package/lib/component/relation-first-name/relation-first-name.component.d.ts +4 -4
  111. package/lib/component/relation-first-name/relation-first-name.module.d.ts +2 -2
  112. package/lib/component/relation-first-name/style/_layout.scss +9 -9
  113. package/lib/component/relation-first-name/style/_material-definition.scss +3 -3
  114. package/lib/component/relation-first-name/style/_theme.scss +5 -5
  115. package/lib/component/relation-first-name/style/material.scss +4 -4
  116. package/lib/component/relation-gender/relation-gender.component.d.ts +7 -7
  117. package/lib/component/relation-gender/relation-gender.module.d.ts +2 -2
  118. package/lib/component/relation-gender/style/_layout.scss +8 -8
  119. package/lib/component/relation-gender/style/_material-definition.scss +4 -4
  120. package/lib/component/relation-gender/style/_theme.scss +5 -5
  121. package/lib/component/relation-gender/style/material.scss +4 -4
  122. package/lib/component/relation-initials/relation-initials.component.d.ts +4 -4
  123. package/lib/component/relation-initials/relation-initials.module.d.ts +2 -2
  124. package/lib/component/relation-initials/style/_layout.scss +9 -9
  125. package/lib/component/relation-initials/style/_material-definition.scss +3 -3
  126. package/lib/component/relation-initials/style/_theme.scss +5 -5
  127. package/lib/component/relation-initials/style/material.scss +4 -4
  128. package/lib/component/relation-language/relation-language.component.d.ts +12 -12
  129. package/lib/component/relation-language/relation-language.module.d.ts +2 -2
  130. package/lib/component/relation-language/style/_layout.scss +9 -9
  131. package/lib/component/relation-language/style/_material-definition.scss +3 -3
  132. package/lib/component/relation-language/style/_theme.scss +5 -5
  133. package/lib/component/relation-language/style/material.scss +4 -4
  134. package/lib/component/relation-last-name/relation-last-name.component.d.ts +4 -4
  135. package/lib/component/relation-last-name/relation-last-name.module.d.ts +2 -2
  136. package/lib/component/relation-last-name/style/_layout.scss +9 -9
  137. package/lib/component/relation-last-name/style/_material-definition.scss +3 -3
  138. package/lib/component/relation-last-name/style/_theme.scss +5 -5
  139. package/lib/component/relation-last-name/style/material.scss +4 -4
  140. package/lib/component/relation-preferences/relation-preferences.component.d.ts +13 -13
  141. package/lib/component/relation-preferences/relation-preferences.module.d.ts +2 -2
  142. package/lib/component/relation-preferences/style/_layout.scss +16 -16
  143. package/lib/component/relation-preferences/style/_material-definition.scss +8 -8
  144. package/lib/component/relation-preferences/style/_theme.scss +5 -5
  145. package/lib/component/relation-preferences/style/material.scss +4 -4
  146. package/lib/component/relation-prefix-name/relation-prefix-name.component.d.ts +4 -4
  147. package/lib/component/relation-prefix-name/relation-prefix-name.module.d.ts +2 -2
  148. package/lib/component/relation-prefix-name/style/_layout.scss +9 -9
  149. package/lib/component/relation-prefix-name/style/_material-definition.scss +3 -3
  150. package/lib/component/relation-prefix-name/style/_theme.scss +5 -5
  151. package/lib/component/relation-prefix-name/style/material.scss +4 -4
  152. package/lib/component/relation-title/relation-title.component.d.ts +13 -13
  153. package/lib/component/relation-title/relation-title.module.d.ts +2 -2
  154. package/lib/component/relation-title/style/_layout.scss +9 -9
  155. package/lib/component/relation-title/style/_material-definition.scss +3 -3
  156. package/lib/component/relation-title/style/_theme.scss +5 -5
  157. package/lib/component/relation-title/style/material.scss +4 -4
  158. package/lib/enum/icon.enum.d.ts +14 -14
  159. package/lib/enum/language-code.enum.d.ts +6 -6
  160. package/lib/enum/relman-cfg-name.enum.d.ts +857 -857
  161. package/lib/enum/relman-contact-options-cfg-names.d.ts +6 -6
  162. package/lib/enum/relman-sub-category.enum.d.ts +10 -10
  163. package/lib/interface/relation-address-cfg-names.interface.d.ts +8 -8
  164. package/lib/model/icon-svg.d.ts +4 -4
  165. package/lib/model/relation-settings-options.d.ts +4 -4
  166. package/lib/model/relation-settings.d.ts +5 -5
  167. package/lib/relation-version.d.ts +6 -6
  168. package/lib/res/dictionary/dictionaries.d.ts +17184 -17184
  169. package/lib/service/dictionary.service.d.ts +18 -18
  170. package/lib/service/error.service.d.ts +11 -11
  171. package/lib/service/icon-cache.service.d.ts +18 -18
  172. package/lib/service/relation-base.service.d.ts +64 -64
  173. package/lib/service/relation-connector-adapter.service.d.ts +66 -66
  174. package/lib/service/relation-connector.service.d.ts +51 -51
  175. package/lib/service/relation-event.service.d.ts +6 -6
  176. package/lib/service/relation-screen-configuration.service.d.ts +13 -13
  177. package/lib/service/relation-settings.service.d.ts +16 -16
  178. package/lib/service/relation.service.d.ts +10 -10
  179. package/lib/style/_mixin.scss +15 -15
  180. package/lib/style/_variables.scss +15 -15
  181. package/lib/style/relation-globals.scss +7 -7
  182. package/lib/translation/relation-dictionary.service.d.ts +19 -19
  183. package/lib/translation/relation-localize.pipe.d.ts +7 -7
  184. package/lib/translation/relation-translation.module.d.ts +4 -4
  185. package/lib/translation/relation-translation.service.d.ts +6 -6
  186. package/package.json +7 -6
  187. package/public_api.d.ts +32 -32
@@ -1,44 +1,44 @@
1
- import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
2
- import { CommunicationType } from '@colijnit/relationapi/build/enum/communication-type.enum';
3
- import { Icon } from '../../enum/icon.enum';
4
- import { RelationService } from '../../service/relation.service';
5
- import { IconCacheService } from '../../service/icon-cache.service';
6
- export class RelationContactOptionsOtherTypesPopupComponent {
7
- constructor(iconCacheService, _relationService) {
8
- this.iconCacheService = iconCacheService;
9
- this._relationService = _relationService;
10
- this.icons = Icon;
11
- this.typeClick = new EventEmitter();
12
- this.clickedOutside = new EventEmitter();
13
- this.showClass = true;
14
- this.types = [];
15
- }
16
- ngOnInit() {
17
- this.types.length = 0;
18
- this.types.push({ type: CommunicationType.Email, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Email), label: this._relationService.communicationTypeLabel.get(CommunicationType.Email) }, { type: CommunicationType.Telephone, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Telephone), label: this._relationService.communicationTypeLabel.get(CommunicationType.Telephone) }, { type: CommunicationType.Mobile, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Mobile), label: this._relationService.communicationTypeLabel.get(CommunicationType.Mobile) }, { type: CommunicationType.Website, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Website), label: this._relationService.communicationTypeLabel.get(CommunicationType.Website) }, { type: CommunicationType.Fax, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Fax), label: this._relationService.communicationTypeLabel.get(CommunicationType.Fax) });
19
- }
20
- }
21
- RelationContactOptionsOtherTypesPopupComponent.decorators = [
22
- { type: Component, args: [{
23
- selector: 'co-relation-contact-options-other-types-popup',
24
- template: `
25
- <div class="relation-contact-options-other-types-popup-content" [overlay]="parentForOverlay" [rightAlign]="true" [keepInView]="true">
26
- <div class="other-types-wrapper" *ngFor="let type of types" (click)="typeClick.emit(type.type)" [clickOutside]="true" (clickOutside)="clickedOutside.emit()">
27
- <co-icon [iconData]="iconCacheService.getIcon(type.icon)"></co-icon>
28
- <div class="other-type-label" [textContent]="type.label | reLocalize"></div>
29
- </div>
30
- </div>
31
- `
32
- },] }
33
- ];
34
- RelationContactOptionsOtherTypesPopupComponent.ctorParameters = () => [
35
- { type: IconCacheService },
36
- { type: RelationService }
37
- ];
38
- RelationContactOptionsOtherTypesPopupComponent.propDecorators = {
39
- parentForOverlay: [{ type: Input }],
40
- typeClick: [{ type: Output }],
41
- clickedOutside: [{ type: Output }],
42
- showClass: [{ type: HostBinding, args: ['class.co-relation-contact-options-other-types-popup',] }]
43
- };
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tY29udGFjdC1vcHRpb25zLW90aGVyLXR5cGVzLXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlbGF0aW9uL3NyYy9saWIvY29tcG9uZW50L3JlbGF0aW9uLWNvbnRhY3Qtb3B0aW9ucy9yZWxhdGlvbi1jb250YWN0LW9wdGlvbnMtb3RoZXItdHlwZXMtcG9wdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFtQmxFLE1BQU0sT0FBTyw4Q0FBOEM7SUFpQnpELFlBQ1MsZ0JBQWtDLEVBQ2pDLGdCQUFpQztRQURsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2pDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFsQjNCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBTW5DLGNBQVMsR0FBb0MsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFHbkYsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUc5RCxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRTFCLFVBQUssR0FBZ0IsRUFBRSxDQUFDO0lBTS9CLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUNuTSxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFDL00sRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQ3RNLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUN6TSxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FDOUwsQ0FBQTtJQUNILENBQUM7OztZQTNDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLCtDQUErQztnQkFDekQsUUFBUSxFQUFFOzs7Ozs7O0dBT1Q7YUFDRjs7O1lBbEJPLGdCQUFnQjtZQURoQixlQUFlOzs7K0JBdUJwQixLQUFLO3dCQUdMLE1BQU07NkJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMscURBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW11bmljYXRpb25UeXBlfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9jb21tdW5pY2F0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcbmltcG9ydCB7UmVsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3JlbGF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2Ugb3RoZXJUeXBlIHtcbiAgdHlwZTogQ29tbXVuaWNhdGlvblR5cGUsXG4gIGljb246IEljb247XG4gIGxhYmVsOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvLXJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9ucy1vdGhlci10eXBlcy1wb3B1cCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tY29udGFjdC1vcHRpb25zLW90aGVyLXR5cGVzLXBvcHVwLWNvbnRlbnRcIiBbb3ZlcmxheV09XCJwYXJlbnRGb3JPdmVybGF5XCIgW3JpZ2h0QWxpZ25dPVwidHJ1ZVwiIFtrZWVwSW5WaWV3XT1cInRydWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm90aGVyLXR5cGVzLXdyYXBwZXJcIiAqbmdGb3I9XCJsZXQgdHlwZSBvZiB0eXBlc1wiIChjbGljayk9XCJ0eXBlQ2xpY2suZW1pdCh0eXBlLnR5cGUpXCIgW2NsaWNrT3V0c2lkZV09XCJ0cnVlXCIgKGNsaWNrT3V0c2lkZSk9XCJjbGlja2VkT3V0c2lkZS5lbWl0KClcIj5cbiAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24odHlwZS5pY29uKVwiPjwvY28taWNvbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdGhlci10eXBlLWxhYmVsXCIgW3RleHRDb250ZW50XT1cInR5cGUubGFiZWwgfCByZUxvY2FsaXplXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgUmVsYXRpb25Db250YWN0T3B0aW9uc090aGVyVHlwZXNQb3B1cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYXJlbnRGb3JPdmVybGF5OiBFbGVtZW50UmVmO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdHlwZUNsaWNrOiBFdmVudEVtaXR0ZXI8Q29tbXVuaWNhdGlvblR5cGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tdW5pY2F0aW9uVHlwZT4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsaWNrZWRPdXRzaWRlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbnMtb3RoZXItdHlwZXMtcG9wdXAnKVxuICBwdWJsaWMgc2hvd0NsYXNzOiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgdHlwZXM6IG90aGVyVHlwZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfcmVsYXRpb25TZXJ2aWNlOiBSZWxhdGlvblNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnR5cGVzLmxlbmd0aCA9IDA7XG4gICAgdGhpcy50eXBlcy5wdXNoKFxuICAgICAgeyB0eXBlOiBDb21tdW5pY2F0aW9uVHlwZS5FbWFpbCwgaWNvbjogdGhpcy5fcmVsYXRpb25TZXJ2aWNlLmNvbW11bmljYXRpb25UeXBlSWNvbi5nZXQoQ29tbXVuaWNhdGlvblR5cGUuRW1haWwpLCBsYWJlbDogdGhpcy5fcmVsYXRpb25TZXJ2aWNlLmNvbW11bmljYXRpb25UeXBlTGFiZWwuZ2V0KENvbW11bmljYXRpb25UeXBlLkVtYWlsKSB9LFxuICAgICAgeyB0eXBlOiBDb21tdW5pY2F0aW9uVHlwZS5UZWxlcGhvbmUsIGljb246IHRoaXMuX3JlbGF0aW9uU2VydmljZS5jb21tdW5pY2F0aW9uVHlwZUljb24uZ2V0KENvbW11bmljYXRpb25UeXBlLlRlbGVwaG9uZSksIGxhYmVsOiB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVMYWJlbC5nZXQoQ29tbXVuaWNhdGlvblR5cGUuVGVsZXBob25lKSB9LFxuICAgICAgeyB0eXBlOiBDb21tdW5pY2F0aW9uVHlwZS5Nb2JpbGUsIGljb246IHRoaXMuX3JlbGF0aW9uU2VydmljZS5jb21tdW5pY2F0aW9uVHlwZUljb24uZ2V0KENvbW11bmljYXRpb25UeXBlLk1vYmlsZSksIGxhYmVsOiB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVMYWJlbC5nZXQoQ29tbXVuaWNhdGlvblR5cGUuTW9iaWxlKSB9LFxuICAgICAgeyB0eXBlOiBDb21tdW5pY2F0aW9uVHlwZS5XZWJzaXRlLCBpY29uOiB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVJY29uLmdldChDb21tdW5pY2F0aW9uVHlwZS5XZWJzaXRlKSwgbGFiZWw6IHRoaXMuX3JlbGF0aW9uU2VydmljZS5jb21tdW5pY2F0aW9uVHlwZUxhYmVsLmdldChDb21tdW5pY2F0aW9uVHlwZS5XZWJzaXRlKSB9LFxuICAgICAgeyB0eXBlOiBDb21tdW5pY2F0aW9uVHlwZS5GYXgsIGljb246IHRoaXMuX3JlbGF0aW9uU2VydmljZS5jb21tdW5pY2F0aW9uVHlwZUljb24uZ2V0KENvbW11bmljYXRpb25UeXBlLkZheCksIGxhYmVsOiB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVMYWJlbC5nZXQoQ29tbXVuaWNhdGlvblR5cGUuRmF4KSB9XG4gICAgKVxuICB9XG59XG4iXX0=
1
+ import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
2
+ import { CommunicationType } from '@colijnit/relationapi/build/enum/communication-type.enum';
3
+ import { Icon } from '../../enum/icon.enum';
4
+ import { RelationService } from '../../service/relation.service';
5
+ import { IconCacheService } from '../../service/icon-cache.service';
6
+ export class RelationContactOptionsOtherTypesPopupComponent {
7
+ constructor(iconCacheService, _relationService) {
8
+ this.iconCacheService = iconCacheService;
9
+ this._relationService = _relationService;
10
+ this.icons = Icon;
11
+ this.typeClick = new EventEmitter();
12
+ this.clickedOutside = new EventEmitter();
13
+ this.showClass = true;
14
+ this.types = [];
15
+ }
16
+ ngOnInit() {
17
+ this.types.length = 0;
18
+ this.types.push({ type: CommunicationType.Email, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Email), label: this._relationService.communicationTypeLabel.get(CommunicationType.Email) }, { type: CommunicationType.Telephone, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Telephone), label: this._relationService.communicationTypeLabel.get(CommunicationType.Telephone) }, { type: CommunicationType.Mobile, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Mobile), label: this._relationService.communicationTypeLabel.get(CommunicationType.Mobile) }, { type: CommunicationType.Website, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Website), label: this._relationService.communicationTypeLabel.get(CommunicationType.Website) }, { type: CommunicationType.Fax, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Fax), label: this._relationService.communicationTypeLabel.get(CommunicationType.Fax) });
19
+ }
20
+ }
21
+ RelationContactOptionsOtherTypesPopupComponent.decorators = [
22
+ { type: Component, args: [{
23
+ selector: 'co-relation-contact-options-other-types-popup',
24
+ template: `
25
+ <div class="relation-contact-options-other-types-popup-content" [overlay]="parentForOverlay" [rightAlign]="true" [keepInView]="true">
26
+ <div class="other-types-wrapper" *ngFor="let type of types" (click)="typeClick.emit(type.type)" [clickOutside]="true" (clickOutside)="clickedOutside.emit()">
27
+ <co-icon [iconData]="iconCacheService.getIcon(type.icon)"></co-icon>
28
+ <div class="other-type-label" [textContent]="type.label | reLocalize"></div>
29
+ </div>
30
+ </div>
31
+ `
32
+ },] }
33
+ ];
34
+ RelationContactOptionsOtherTypesPopupComponent.ctorParameters = () => [
35
+ { type: IconCacheService },
36
+ { type: RelationService }
37
+ ];
38
+ RelationContactOptionsOtherTypesPopupComponent.propDecorators = {
39
+ parentForOverlay: [{ type: Input }],
40
+ typeClick: [{ type: Output }],
41
+ clickedOutside: [{ type: Output }],
42
+ showClass: [{ type: HostBinding, args: ['class.co-relation-contact-options-other-types-popup',] }]
43
+ };
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tY29udGFjdC1vcHRpb25zLW90aGVyLXR5cGVzLXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlbGF0aW9uL3NyYy9saWIvY29tcG9uZW50L3JlbGF0aW9uLWNvbnRhY3Qtb3B0aW9ucy9yZWxhdGlvbi1jb250YWN0LW9wdGlvbnMtb3RoZXItdHlwZXMtcG9wdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFtQmxFLE1BQU0sT0FBTyw4Q0FBOEM7SUFpQnpELFlBQ1MsZ0JBQWtDLEVBQ2pDLGdCQUFpQztRQURsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2pDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFsQjNCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBTW5DLGNBQVMsR0FBb0MsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFHbkYsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUc5RCxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRTFCLFVBQUssR0FBZ0IsRUFBRSxDQUFDO0lBTS9CLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUNuTSxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFDL00sRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQ3RNLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUN6TSxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FDOUwsQ0FBQTtJQUNILENBQUM7OztZQTNDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLCtDQUErQztnQkFDekQsUUFBUSxFQUFFOzs7Ozs7O0dBT1Q7YUFDRjs7O1lBbEJPLGdCQUFnQjtZQURoQixlQUFlOzs7K0JBdUJwQixLQUFLO3dCQUdMLE1BQU07NkJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMscURBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbXVuaWNhdGlvblR5cGV9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9lbnVtL2NvbW11bmljYXRpb24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7UmVsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3JlbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2Ugb3RoZXJUeXBlIHtcclxuICB0eXBlOiBDb21tdW5pY2F0aW9uVHlwZSxcclxuICBpY29uOiBJY29uO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tcmVsYXRpb24tY29udGFjdC1vcHRpb25zLW90aGVyLXR5cGVzLXBvcHVwJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tY29udGFjdC1vcHRpb25zLW90aGVyLXR5cGVzLXBvcHVwLWNvbnRlbnRcIiBbb3ZlcmxheV09XCJwYXJlbnRGb3JPdmVybGF5XCIgW3JpZ2h0QWxpZ25dPVwidHJ1ZVwiIFtrZWVwSW5WaWV3XT1cInRydWVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwib3RoZXItdHlwZXMtd3JhcHBlclwiICpuZ0Zvcj1cImxldCB0eXBlIG9mIHR5cGVzXCIgKGNsaWNrKT1cInR5cGVDbGljay5lbWl0KHR5cGUudHlwZSlcIiBbY2xpY2tPdXRzaWRlXT1cInRydWVcIiAoY2xpY2tPdXRzaWRlKT1cImNsaWNrZWRPdXRzaWRlLmVtaXQoKVwiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKHR5cGUuaWNvbilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdGhlci10eXBlLWxhYmVsXCIgW3RleHRDb250ZW50XT1cInR5cGUubGFiZWwgfCByZUxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uQ29udGFjdE9wdGlvbnNPdGhlclR5cGVzUG9wdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwYXJlbnRGb3JPdmVybGF5OiBFbGVtZW50UmVmO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgdHlwZUNsaWNrOiBFdmVudEVtaXR0ZXI8Q29tbXVuaWNhdGlvblR5cGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tdW5pY2F0aW9uVHlwZT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNsaWNrZWRPdXRzaWRlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tcmVsYXRpb24tY29udGFjdC1vcHRpb25zLW90aGVyLXR5cGVzLXBvcHVwJylcclxuICBwdWJsaWMgc2hvd0NsYXNzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHVibGljIHR5cGVzOiBvdGhlclR5cGVbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcmVsYXRpb25TZXJ2aWNlOiBSZWxhdGlvblNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy50eXBlcy5sZW5ndGggPSAwO1xyXG4gICAgdGhpcy50eXBlcy5wdXNoKFxyXG4gICAgICB7IHR5cGU6IENvbW11bmljYXRpb25UeXBlLkVtYWlsLCBpY29uOiB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVJY29uLmdldChDb21tdW5pY2F0aW9uVHlwZS5FbWFpbCksIGxhYmVsOiB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVMYWJlbC5nZXQoQ29tbXVuaWNhdGlvblR5cGUuRW1haWwpIH0sXHJcbiAgICAgIHsgdHlwZTogQ29tbXVuaWNhdGlvblR5cGUuVGVsZXBob25lLCBpY29uOiB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVJY29uLmdldChDb21tdW5pY2F0aW9uVHlwZS5UZWxlcGhvbmUpLCBsYWJlbDogdGhpcy5fcmVsYXRpb25TZXJ2aWNlLmNvbW11bmljYXRpb25UeXBlTGFiZWwuZ2V0KENvbW11bmljYXRpb25UeXBlLlRlbGVwaG9uZSkgfSxcclxuICAgICAgeyB0eXBlOiBDb21tdW5pY2F0aW9uVHlwZS5Nb2JpbGUsIGljb246IHRoaXMuX3JlbGF0aW9uU2VydmljZS5jb21tdW5pY2F0aW9uVHlwZUljb24uZ2V0KENvbW11bmljYXRpb25UeXBlLk1vYmlsZSksIGxhYmVsOiB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVMYWJlbC5nZXQoQ29tbXVuaWNhdGlvblR5cGUuTW9iaWxlKSB9LFxyXG4gICAgICB7IHR5cGU6IENvbW11bmljYXRpb25UeXBlLldlYnNpdGUsIGljb246IHRoaXMuX3JlbGF0aW9uU2VydmljZS5jb21tdW5pY2F0aW9uVHlwZUljb24uZ2V0KENvbW11bmljYXRpb25UeXBlLldlYnNpdGUpLCBsYWJlbDogdGhpcy5fcmVsYXRpb25TZXJ2aWNlLmNvbW11bmljYXRpb25UeXBlTGFiZWwuZ2V0KENvbW11bmljYXRpb25UeXBlLldlYnNpdGUpIH0sXHJcbiAgICAgIHsgdHlwZTogQ29tbXVuaWNhdGlvblR5cGUuRmF4LCBpY29uOiB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVJY29uLmdldChDb21tdW5pY2F0aW9uVHlwZS5GYXgpLCBsYWJlbDogdGhpcy5fcmVsYXRpb25TZXJ2aWNlLmNvbW11bmljYXRpb25UeXBlTGFiZWwuZ2V0KENvbW11bmljYXRpb25UeXBlLkZheCkgfVxyXG4gICAgKVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,170 +1,156 @@
1
- import { __awaiter } from "tslib";
2
- import { ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener, Output, ViewChild, ViewEncapsulation } from '@angular/core';
3
- import { RelationScreenConfigBaseComponent } from '../base/relation-screen-config-base.component';
4
- import { RelmanCfgName } from '../../enum/relman-cfg-name.enum';
5
- import { CommunicationType } from '@colijnit/relationapi/build/enum/communication-type.enum';
6
- import { OverlayService } from '@colijnit/corecomponents_v12';
7
- import { RelationService } from '../../service/relation.service';
8
- import { IconCacheService } from '../../service/icon-cache.service';
9
- import { RelationConnectorService } from '../../service/relation-connector.service';
10
- import { RelationEventService } from '../../service/relation-event.service';
11
- import { RelationContactOptionsOtherTypesPopupComponent } from './relation-contact-options-other-types-popup.component';
12
- export class RelationContactOptionsComponent extends RelationScreenConfigBaseComponent {
13
- constructor(relationService, iconCacheService, relationConnectorService, relationEventService, _overlayService, _changeDetector) {
14
- super(relationService, iconCacheService, relationConnectorService, relationEventService);
15
- this.relationService = relationService;
16
- this.iconCacheService = iconCacheService;
17
- this.relationConnectorService = relationConnectorService;
18
- this.relationEventService = relationEventService;
19
- this._overlayService = _overlayService;
20
- this._changeDetector = _changeDetector;
21
- this.deleteClick = new EventEmitter();
22
- this.commType = CommunicationType;
23
- this.generalContactOptionsCfgNames = {
24
- contactOptionValue: RelmanCfgName.ContactOptionValue,
25
- contactOptionType: RelmanCfgName.ContactOptionType,
26
- contactOptionDescription: RelmanCfgName.ContactOptionDescription,
27
- contactOptionEmailType: RelmanCfgName.ContactOptionEmailType
28
- };
29
- this.emailContactOptions = [];
30
- this.phoneContactOptions = [];
31
- this.otherContactOptions = [];
32
- this.showNewEmail = false;
33
- this.showNewPhone = false;
34
- this.showNewOther = false;
35
- }
36
- showClass() {
37
- return true;
38
- }
39
- handleKeyDown(event) {
40
- if (event.key === 'Escape' && (this.showNewEmail || this.showNewPhone || this.showNewOther)) {
41
- event.preventDefault();
42
- event.stopImmediatePropagation();
43
- event.stopPropagation();
44
- this._resetNew();
45
- }
46
- }
47
- showNewOtherPopup() {
48
- this._otherTypePopupComponentRef = this._overlayService.createComponent(RelationContactOptionsOtherTypesPopupComponent, {
49
- parentForOverlay: this.overlayParent
50
- }, {
51
- typeClick: (type) => this._handleCreateOtherType(type),
52
- clickedOutside: () => this.hideNewOtherPopup()
53
- });
54
- }
55
- hideNewOtherPopup() {
56
- this._overlayService.removeComponent(this._otherTypePopupComponentRef);
57
- }
58
- addContactOption(option) {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- option.relationId = this.relation.relationId;
61
- option.sequence = this.relation.getNewContactOptionSequenceForType(option.type);
62
- const sequence = yield this.relationConnectorService.getNextContactOptionSequenceNumber();
63
- option.comNr = sequence;
64
- this.relation.addContactOption(option);
65
- this._resetNew();
66
- this._getCollection();
67
- });
68
- }
69
- handleDeleteOption(option) {
70
- if (option && option.comNr) {
71
- const idx = this.relation.contactOptions.findIndex(c => c.comNr === option.comNr);
72
- if (idx > -1) {
73
- this.relation.contactOptions.splice(idx, 1);
74
- this._resetNew();
75
- this._getCollection();
76
- }
77
- }
78
- }
79
- relationSet() {
80
- this._getCollection();
81
- }
82
- _handleCreateOtherType(type) {
83
- this.showNewOther = false;
84
- this._changeDetector.detectChanges();
85
- this.newOtherType = type;
86
- this.hideNewOtherPopup();
87
- this.showNewOther = true;
88
- }
89
- _getCollection() {
90
- const contactOptions = this.relation.contactOptions;
91
- if (contactOptions) {
92
- this.emailContactOptions = contactOptions.filter(c => c.type === CommunicationType.Email);
93
- this.phoneContactOptions = contactOptions.filter(c => c.type === CommunicationType.Telephone);
94
- this.otherContactOptions = contactOptions.filter(c => c.type !== CommunicationType.Email && c.type !== CommunicationType.Telephone);
95
- }
96
- }
97
- _resetNew() {
98
- this.newOtherType = undefined;
99
- this.showNewEmail = false;
100
- this.showNewOther = false;
101
- this.showNewPhone = false;
102
- }
103
- hideNewEmail() {
104
- if (this.showNewEmail) {
105
- this.showNewEmail = false;
106
- this._resetNew();
107
- }
108
- }
109
- hideNewPhone() {
110
- if (this.showNewPhone) {
111
- this.showNewPhone = false;
112
- this._resetNew();
113
- }
114
- }
115
- }
116
- RelationContactOptionsComponent.decorators = [
117
- { type: Component, args: [{
118
- selector: 'co-relation-contact-options',
119
- template: `
120
- <div class="relation-contact-email">
121
- <co-relation-contact-option-list [dragDropDisabled]="showNewEmail" [collection]="emailContactOptions" (deleteClick)="handleDeleteOption($event)"></co-relation-contact-option-list>
122
- <co-relation-contact-option class="new-contact-option" *ngIf="showNewEmail" [type]="commType.Email"
123
- (saveClick)="addContactOption($event)" (deleteClick)="hideNewEmail()"></co-relation-contact-option>
124
- <div class="relation-contact-options-type-label-wrapper">
125
- <co-button [label]="'EMAIL' | reLocalize" [iconData]="iconCacheService.getIcon(icons.PlusSimple)" class="relation-contact-options-type-label"
126
- (click)="showNewEmail = true"></co-button>
127
- </div>
128
- </div>
129
- <div class="relation-contact-phone">
130
- <co-relation-contact-option-list [dragDropDisabled]="showNewPhone" [collection]="phoneContactOptions" (deleteClick)="handleDeleteOption($event)"></co-relation-contact-option-list>
131
- <co-relation-contact-option class="new-contact-option" *ngIf="showNewPhone" [type]="commType.Telephone"
132
- (saveClick)="addContactOption($event)" (deleteClick)="hideNewPhone()"></co-relation-contact-option>
133
- <div class="relation-contact-options-type-label-wrapper">
134
- <co-button [label]="'PHONE' | reLocalize" [iconData]="iconCacheService.getIcon(icons.PlusSimple)" class="relation-contact-options-type-label"
135
- (click)="showNewPhone = true"></co-button>
136
- </div>
137
- </div>
138
- <!--div class="relation-contact-options-type-label-wrapper">
139
- <div class="relation-contact-options-type-label" [textContent]="'OTHER' | reLocalize"></div>
140
- <co-icon #overlayParent [iconData]="iconCacheService.getIcon(icons.PlusSimple)" class="relation-contact-options-plus-icon"
141
- (click)="showNewOtherPopup()"></co-icon>
142
- </div>
143
- <co-relation-contact-option class="new-contact-option" *ngIf="showNewOther" [type]="newOtherType"
144
- (saveClick)="addContactOption($event)"></co-relation-contact-option>
145
- <co-relation-contact-option-list [dragDropDisabled]="showNewOther" [collection]="otherContactOptions" (deleteClick)="handleDeleteOption($event)"></co-relation-contact-option-list-->
146
- `,
147
- providers: [
148
- OverlayService
149
- ],
150
- encapsulation: ViewEncapsulation.None
151
- },] }
152
- ];
153
- RelationContactOptionsComponent.ctorParameters = () => [
154
- { type: RelationService },
155
- { type: IconCacheService },
156
- { type: RelationConnectorService },
157
- { type: RelationEventService },
158
- { type: OverlayService },
159
- { type: ChangeDetectorRef }
160
- ];
161
- RelationContactOptionsComponent.propDecorators = {
162
- deleteClick: [{ type: Output }],
163
- overlayParent: [{ type: ViewChild, args: ['overlayParent', { read: ElementRef },] }],
164
- showClass: [{ type: HostBinding, args: ['class.co-relation-contact-options',] }],
165
- handleKeyDown: [{ type: HostListener, args: ['document:keydown', ['$event'],] }],
166
- showNewEmail: [{ type: HostBinding, args: ['class.adding-email-option',] }],
167
- showNewPhone: [{ type: HostBinding, args: ['class.adding-phone-option',] }],
168
- showNewOther: [{ type: HostBinding, args: ['class.adding-other-option',] }]
169
- };
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tY29udGFjdC1vcHRpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlbGF0aW9uL3NyYy9saWIvY29tcG9uZW50L3JlbGF0aW9uLWNvbnRhY3Qtb3B0aW9ucy9yZWxhdGlvbi1jb250YWN0LW9wdGlvbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxVQUFVLEVBQUUsWUFBWSxFQUN4QixXQUFXLEVBQ1gsWUFBWSxFQUNMLE1BQU0sRUFDYixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUc5RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUMzRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyw4Q0FBOEMsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBcUN0SCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsaUNBQWlDO0lBMENwRixZQUNTLGVBQWdDLEVBQ2hDLGdCQUFrQyxFQUMvQix3QkFBa0QsRUFDbEQsb0JBQTBDLEVBQzVDLGVBQStCLEVBQy9CLGVBQWtDO1FBRTFDLEtBQUssQ0FBQyxlQUFlLEVBQUUs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QUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDOzJCQWEzQyxXQUFXLFNBQUMsMkJBQTJCOzJCQUV2QyxXQUFXLFNBQUMsMkJBQTJCOzJCQUV2QyxXQUFXLFNBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LCBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JlbGF0aW9uU2NyZWVuQ29uZmlnQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vYmFzZS9yZWxhdGlvbi1zY3JlZW4tY29uZmlnLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7UmVsbWFuQ2ZnTmFtZX0gZnJvbSAnLi4vLi4vZW51bS9yZWxtYW4tY2ZnLW5hbWUuZW51bSc7XG5pbXBvcnQge1JlbG1hbkNvbnRhY3RPcHRpb25zQ2ZnTmFtZXN9IGZyb20gJy4uLy4uL2VudW0vcmVsbWFuLWNvbnRhY3Qtb3B0aW9ucy1jZmctbmFtZXMnO1xuaW1wb3J0IHtDb250YWN0T3B0aW9ufSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvY29udGFjdC1vcHRpb24uYm8nO1xuaW1wb3J0IHtDb21tdW5pY2F0aW9uVHlwZX0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vY29tbXVuaWNhdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHtPdmVybGF5U2VydmljZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XG5pbXBvcnQge1JlbGF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9yZWxhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xuaW1wb3J0IHtSZWxhdGlvbkNvbm5lY3RvclNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvcmVsYXRpb24tY29ubmVjdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtSZWxhdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9yZWxhdGlvbi1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7UmVsYXRpb25Db250YWN0T3B0aW9uc090aGVyVHlwZXNQb3B1cENvbXBvbmVudH0gZnJvbSAnLi9yZWxhdGlvbi1jb250YWN0LW9wdGlvbnMtb3RoZXItdHlwZXMtcG9wdXAuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY28tcmVsYXRpb24tY29udGFjdC1vcHRpb25zJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tY29udGFjdC1lbWFpbFwiPlxuICAgICAgPGNvLXJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uLWxpc3QgW2RyYWdEcm9wRGlzYWJsZWRdPVwic2hvd05ld0VtYWlsXCIgW2NvbGxlY3Rpb25dPVwiZW1haWxDb250YWN0T3B0aW9uc1wiIChkZWxldGVDbGljayk9XCJoYW5kbGVEZWxldGVPcHRpb24oJGV2ZW50KVwiPjwvY28tcmVsYXRpb24tY29udGFjdC1vcHRpb24tbGlzdD5cbiAgICAgIDxjby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbiBjbGFzcz1cIm5ldy1jb250YWN0LW9wdGlvblwiICpuZ0lmPVwic2hvd05ld0VtYWlsXCIgW3R5cGVdPVwiY29tbVR5cGUuRW1haWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNhdmVDbGljayk9XCJhZGRDb250YWN0T3B0aW9uKCRldmVudClcIiAoZGVsZXRlQ2xpY2spPVwiaGlkZU5ld0VtYWlsKClcIj48L2NvLXJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uPlxuICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9ucy10eXBlLWxhYmVsLXdyYXBwZXJcIj5cbiAgICAgICAgPGNvLWJ1dHRvbiBbbGFiZWxdPVwiJ0VNQUlMJyB8IHJlTG9jYWxpemVcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlBsdXNTaW1wbGUpXCIgY2xhc3M9XCJyZWxhdGlvbi1jb250YWN0LW9wdGlvbnMtdHlwZS1sYWJlbFwiXG4gICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93TmV3RW1haWwgPSB0cnVlXCI+PC9jby1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tY29udGFjdC1waG9uZVwiPlxuICAgICAgPGNvLXJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uLWxpc3QgW2RyYWdEcm9wRGlzYWJsZWRdPVwic2hvd05ld1Bob25lXCIgW2NvbGxlY3Rpb25dPVwicGhvbmVDb250YWN0T3B0aW9uc1wiIChkZWxldGVDbGljayk9XCJoYW5kbGVEZWxldGVPcHRpb24oJGV2ZW50KVwiPjwvY28tcmVsYXRpb24tY29udGFjdC1vcHRpb24tbGlzdD5cbiAgICAgIDxjby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbiBjbGFzcz1cIm5ldy1jb250YWN0LW9wdGlvblwiICpuZ0lmPVwic2hvd05ld1Bob25lXCIgW3R5cGVdPVwiY29tbVR5cGUuVGVsZXBob25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2F2ZUNsaWNrKT1cImFkZENvbnRhY3RPcHRpb24oJGV2ZW50KVwiIChkZWxldGVDbGljayk9XCJoaWRlTmV3UGhvbmUoKVwiPjwvY28tcmVsYXRpb24tY29udGFjdC1vcHRpb24+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tY29udGFjdC1vcHRpb25zLXR5cGUtbGFiZWwtd3JhcHBlclwiPlxuICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInUEhPTkUnIHwgcmVMb2NhbGl6ZVwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuUGx1c1NpbXBsZSlcIiBjbGFzcz1cInJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9ucy10eXBlLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dOZXdQaG9uZSA9IHRydWVcIj48L2NvLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDwhLS1kaXYgY2xhc3M9XCJyZWxhdGlvbi1jb250YWN0LW9wdGlvbnMtdHlwZS1sYWJlbC13cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGlvbi1jb250YWN0LW9wdGlvbnMtdHlwZS1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInT1RIRVInIHwgcmVMb2NhbGl6ZVwiPjwvZGl2PlxuICAgICAgICA8Y28taWNvbiAjb3ZlcmxheVBhcmVudCBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlBsdXNTaW1wbGUpXCIgY2xhc3M9XCJyZWxhdGlvbi1jb250YWN0LW9wdGlvbnMtcGx1cy1pY29uXCJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dOZXdPdGhlclBvcHVwKClcIj48L2NvLWljb24+XG4gICAgPC9kaXY+XG4gICAgPGNvLXJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uIGNsYXNzPVwibmV3LWNvbnRhY3Qtb3B0aW9uXCIgKm5nSWY9XCJzaG93TmV3T3RoZXJcIiBbdHlwZV09XCJuZXdPdGhlclR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2F2ZUNsaWNrKT1cImFkZENvbnRhY3RPcHRpb24oJGV2ZW50KVwiPjwvY28tcmVsYXRpb24tY29udGFjdC1vcHRpb24+XG4gICAgPGNvLXJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uLWxpc3QgW2RyYWdEcm9wRGlzYWJsZWRdPVwic2hvd05ld090aGVyXCIgW2NvbGxlY3Rpb25dPVwib3RoZXJDb250YWN0T3B0aW9uc1wiIChkZWxldGVDbGljayk9XCJoYW5kbGVEZWxldGVPcHRpb24oJGV2ZW50KVwiPjwvY28tcmVsYXRpb24tY29udGFjdC1vcHRpb24tbGlzdC0tPlxuYCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgT3ZlcmxheVNlcnZpY2VcbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkNvbnRhY3RPcHRpb25zQ29tcG9uZW50IGV4dGVuZHMgUmVsYXRpb25TY3JlZW5Db25maWdCYXNlQ29tcG9uZW50IHtcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkZWxldGVDbGljazogRXZlbnRFbWl0dGVyPENvbnRhY3RPcHRpb24+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb250YWN0T3B0aW9uPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgY29tbVR5cGU6IHR5cGVvZiBDb21tdW5pY2F0aW9uVHlwZSA9IENvbW11bmljYXRpb25UeXBlO1xuICBwdWJsaWMgcmVhZG9ubHkgZ2VuZXJhbENvbnRhY3RPcHRpb25zQ2ZnTmFtZXM6IFJlbG1hbkNvbnRhY3RPcHRpb25zQ2ZnTmFtZXMgPSB7XG4gICAgY29udGFjdE9wdGlvblZhbHVlOiBSZWxtYW5DZmdOYW1lLkNvbnRhY3RPcHRpb25WYWx1ZSxcbiAgICBjb250YWN0T3B0aW9uVHlwZTogUmVsbWFuQ2ZnTmFtZS5Db250YWN0T3B0aW9uVHlwZSxcbiAgICBjb250YWN0T3B0aW9uRGVzY3JpcHRpb246IFJlbG1hbkNmZ05hbWUuQ29udGFjdE9wdGlvbkRlc2NyaXB0aW9uLFxuICAgIGNvbnRhY3RPcHRpb25FbWFpbFR5cGU6IFJlbG1hbkNmZ05hbWUuQ29udGFjdE9wdGlvbkVtYWlsVHlwZVxuICB9XG5cbiAgQFZpZXdDaGlsZCgnb3ZlcmxheVBhcmVudCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwdWJsaWMgb3ZlcmxheVBhcmVudDogRWxlbWVudFJlZjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9ucycpXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgcHVibGljIGhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJyAmJiAodGhpcy5zaG93TmV3RW1haWwgfHwgdGhpcy5zaG93TmV3UGhvbmUgfHwgdGhpcy5zaG93TmV3T3RoZXIpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMuX3Jlc2V0TmV3KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGVtYWlsQ29udGFjdE9wdGlvbnM6IENvbnRhY3RPcHRpb25bXSA9IFtdO1xuICBwdWJsaWMgcGhvbmVDb250YWN0T3B0aW9uczogQ29udGFjdE9wdGlvbltdID0gW107XG4gIHB1YmxpYyBvdGhlckNvbnRhY3RPcHRpb25zOiBDb250YWN0T3B0aW9uW10gPSBbXTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hZGRpbmctZW1haWwtb3B0aW9uJylcbiAgcHVibGljIHNob3dOZXdFbWFpbDogYm9vbGVhbiA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFkZGluZy1waG9uZS1vcHRpb24nKVxuICBwdWJsaWMgc2hvd05ld1Bob25lOiBib29sZWFuID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWRkaW5nLW90aGVyLW9wdGlvbicpXG4gIHB1YmxpYyBzaG93TmV3T3RoZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIG5ld090aGVyVHlwZTogQ29tbXVuaWNhdGlvblR5cGU7XG5cbiAgcHJpdmF0ZSBfb3RoZXJUeXBlUG9wdXBDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlbGF0aW9uU2VydmljZTogUmVsYXRpb25TZXJ2aWNlLFxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCByZWxhdGlvbkNvbm5lY3RvclNlcnZpY2U6IFJlbGF0aW9uQ29ubmVjdG9yU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcmVsYXRpb25FdmVudFNlcnZpY2U6IFJlbGF0aW9uRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgX292ZXJsYXlTZXJ2aWNlOiBPdmVybGF5U2VydmljZSxcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIocmVsYXRpb25TZXJ2aWNlLCBpY29uQ2FjaGVTZXJ2aWNlLCByZWxhdGlvbkNvbm5lY3RvclNlcnZpY2UsIHJlbGF0aW9uRXZlbnRTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93TmV3T3RoZXJQb3B1cCgpOiB2b2lkIHtcbiAgICB0aGlzLl9vdGhlclR5cGVQb3B1cENvbXBvbmVudFJlZiA9IHRoaXMuX292ZXJsYXlTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChSZWxhdGlvbkNvbnRhY3RPcHRpb25zT3RoZXJUeXBlc1BvcHVwQ29tcG9uZW50LFxuICAgICAge1xuICAgICAgICBwYXJlbnRGb3JPdmVybGF5OiB0aGlzLm92ZXJsYXlQYXJlbnRcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGVDbGljazogKHR5cGU6IENvbW11bmljYXRpb25UeXBlKSA9PiB0aGlzLl9oYW5kbGVDcmVhdGVPdGhlclR5cGUodHlwZSksXG4gICAgICAgIGNsaWNrZWRPdXRzaWRlOiAoKSA9PiB0aGlzLmhpZGVOZXdPdGhlclBvcHVwKClcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGhpZGVOZXdPdGhlclBvcHVwKCk6IHZvaWQge1xuICAgIHRoaXMuX292ZXJsYXlTZXJ2aWNlLnJlbW92ZUNvbXBvbmVudCh0aGlzLl9vdGhlclR5cGVQb3B1cENvbXBvbmVudFJlZik7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgYWRkQ29udGFjdE9wdGlvbihvcHRpb246IENvbnRhY3RPcHRpb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBvcHRpb24ucmVsYXRpb25JZCA9IHRoaXMucmVsYXRpb24ucmVsYXRpb25JZDtcbiAgICBvcHRpb24uc2VxdWVuY2UgPSB0aGlzLnJlbGF0aW9uLmdldE5ld0NvbnRhY3RPcHRpb25TZXF1ZW5jZUZvclR5cGUob3B0aW9uLnR5cGUpO1xuICAgIGNvbnN0IHNlcXVlbmNlOiBudW1iZXIgPSBhd2FpdCB0aGlzLnJlbGF0aW9uQ29ubmVjdG9yU2VydmljZS5nZXROZXh0Q29udGFjdE9wdGlvblNlcXVlbmNlTnVtYmVyKCk7XG4gICAgb3B0aW9uLmNvbU5yID0gc2VxdWVuY2U7XG4gICAgdGhpcy5yZWxhdGlvbi5hZGRDb250YWN0T3B0aW9uKG9wdGlvbik7XG4gICAgdGhpcy5fcmVzZXROZXcoKTtcbiAgICB0aGlzLl9nZXRDb2xsZWN0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlRGVsZXRlT3B0aW9uKG9wdGlvbjogQ29udGFjdE9wdGlvbik6IHZvaWQge1xuICAgIGlmIChvcHRpb24gJiYgb3B0aW9uLmNvbU5yKSB7XG4gICAgICBjb25zdCBpZHg6IG51bWJlciA9IHRoaXMucmVsYXRpb24uY29udGFjdE9wdGlvbnMuZmluZEluZGV4KGMgPT4gYy5jb21OciA9PT0gb3B0aW9uLmNvbU5yKTtcbiAgICAgIGlmIChpZHggPiAtMSkge1xuICAgICAgICB0aGlzLnJlbGF0aW9uLmNvbnRhY3RPcHRpb25zLnNwbGljZShpZHgsIDEpO1xuICAgICAgICB0aGlzLl9yZXNldE5ldygpO1xuICAgICAgICB0aGlzLl9nZXRDb2xsZWN0aW9uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHJlbGF0aW9uU2V0KCkge1xuICAgIHRoaXMuX2dldENvbGxlY3Rpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNyZWF0ZU90aGVyVHlwZSh0eXBlOiBDb21tdW5pY2F0aW9uVHlwZSk6IHZvaWQge1xuICAgIHRoaXMuc2hvd05ld090aGVyID0gZmFsc2U7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMubmV3T3RoZXJUeXBlID0gdHlwZTtcbiAgICB0aGlzLmhpZGVOZXdPdGhlclBvcHVwKCk7XG4gICAgdGhpcy5zaG93TmV3T3RoZXIgPSB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29sbGVjdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBjb250YWN0T3B0aW9uczogQ29udGFjdE9wdGlvbltdID0gdGhpcy5yZWxhdGlvbi5jb250YWN0T3B0aW9ucztcbiAgICBpZiAoY29udGFjdE9wdGlvbnMpIHtcbiAgICAgIHRoaXMuZW1haWxDb250YWN0T3B0aW9ucyA9IGNvbnRhY3RPcHRpb25zLmZpbHRlcihjID0+IGMudHlwZSA9PT0gQ29tbXVuaWNhdGlvblR5cGUuRW1haWwpO1xuICAgICAgdGhpcy5waG9uZUNvbnRhY3RPcHRpb25zID0gY29udGFjdE9wdGlvbnMuZmlsdGVyKGMgPT4gYy50eXBlID09PSBDb21tdW5pY2F0aW9uVHlwZS5UZWxlcGhvbmUpO1xuICAgICAgdGhpcy5vdGhlckNvbnRhY3RPcHRpb25zID0gY29udGFjdE9wdGlvbnMuZmlsdGVyKGMgPT4gYy50eXBlICE9PSBDb21tdW5pY2F0aW9uVHlwZS5FbWFpbCAmJiBjLnR5cGUgIT09IENvbW11bmljYXRpb25UeXBlLlRlbGVwaG9uZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVzZXROZXcoKTogdm9pZCB7XG4gICAgdGhpcy5uZXdPdGhlclR5cGUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5zaG93TmV3RW1haWwgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dOZXdPdGhlciA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd05ld1Bob25lID0gZmFsc2U7XG4gIH1cbiAgaGlkZU5ld0VtYWlsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNob3dOZXdFbWFpbCkge1xuICAgICAgdGhpcy5zaG93TmV3RW1haWwgPSBmYWxzZTtcbiAgICAgIHRoaXMuX3Jlc2V0TmV3KCk7XG4gICAgfVxuICB9XG4gIGhpZGVOZXdQaG9uZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zaG93TmV3UGhvbmUpIHtcbiAgICAgIHRoaXMuc2hvd05ld1Bob25lID0gZmFsc2U7XG4gICAgICB0aGlzLl9yZXNldE5ldygpO1xuICAgIH1cbiAgfVxufVxuIl19
1
+ import { __awaiter } from "tslib";
2
+ import { ChangeDetectorRef, Component, ElementRef, HostBinding, HostListener, ViewChild, ViewEncapsulation } from '@angular/core';
3
+ import { RelationScreenConfigBaseComponent } from '../base/relation-screen-config-base.component';
4
+ import { RelmanCfgName } from '../../enum/relman-cfg-name.enum';
5
+ import { CommunicationType } from '@colijnit/relationapi/build/enum/communication-type.enum';
6
+ import { OverlayService } from '@colijnit/corecomponents_v12';
7
+ import { RelationService } from '../../service/relation.service';
8
+ import { IconCacheService } from '../../service/icon-cache.service';
9
+ import { RelationConnectorService } from '../../service/relation-connector.service';
10
+ import { RelationEventService } from '../../service/relation-event.service';
11
+ import { RelationContactOptionsOtherTypesPopupComponent } from './relation-contact-options-other-types-popup.component';
12
+ export class RelationContactOptionsComponent extends RelationScreenConfigBaseComponent {
13
+ constructor(relationService, iconCacheService, relationConnectorService, relationEventService, _overlayService, _changeDetector) {
14
+ super(relationService, iconCacheService, relationConnectorService, relationEventService);
15
+ this.relationService = relationService;
16
+ this.iconCacheService = iconCacheService;
17
+ this.relationConnectorService = relationConnectorService;
18
+ this.relationEventService = relationEventService;
19
+ this._overlayService = _overlayService;
20
+ this._changeDetector = _changeDetector;
21
+ this.commType = CommunicationType;
22
+ this.generalContactOptionsCfgNames = {
23
+ contactOptionValue: RelmanCfgName.ContactOptionValue,
24
+ contactOptionType: RelmanCfgName.ContactOptionType,
25
+ contactOptionDescription: RelmanCfgName.ContactOptionDescription,
26
+ contactOptionEmailType: RelmanCfgName.ContactOptionEmailType
27
+ };
28
+ this.emailContactOptions = [];
29
+ this.phoneContactOptions = [];
30
+ this.otherContactOptions = [];
31
+ this.showNewEmail = false;
32
+ this.showNewPhone = false;
33
+ this.showNewOther = false;
34
+ }
35
+ showClass() {
36
+ return true;
37
+ }
38
+ handleKeyDown(event) {
39
+ if (event.key === 'Escape' && (this.showNewEmail || this.showNewPhone || this.showNewOther)) {
40
+ event.preventDefault();
41
+ event.stopImmediatePropagation();
42
+ event.stopPropagation();
43
+ this._resetNew();
44
+ }
45
+ }
46
+ showNewOtherPopup() {
47
+ this._otherTypePopupComponentRef = this._overlayService.createComponent(RelationContactOptionsOtherTypesPopupComponent, {
48
+ parentForOverlay: this.overlayParent
49
+ }, {
50
+ typeClick: (type) => this._handleCreateOtherType(type),
51
+ clickedOutside: () => this.hideNewOtherPopup()
52
+ });
53
+ }
54
+ hideNewOtherPopup() {
55
+ this._overlayService.removeComponent(this._otherTypePopupComponentRef);
56
+ }
57
+ addContactOption(option) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ option.relationId = this.relation.relationId;
60
+ option.sequence = this.relation.getNewContactOptionSequenceForType(option.type);
61
+ const sequence = yield this.relationConnectorService.getNextContactOptionSequenceNumber();
62
+ option.comNr = sequence;
63
+ this.relation.addContactOption(option);
64
+ this.relationChange.next(this.relation);
65
+ this._resetNew();
66
+ this._getCollection();
67
+ });
68
+ }
69
+ handleDeleteOption(option) {
70
+ if (option && option.comNr) {
71
+ const idx = this.relation.contactOptions.findIndex(c => c.comNr === option.comNr);
72
+ if (idx > -1) {
73
+ this.relation.contactOptions.splice(idx, 1);
74
+ this.relationChange.next(this.relation);
75
+ this._resetNew();
76
+ this._getCollection();
77
+ }
78
+ }
79
+ }
80
+ relationSet() {
81
+ this._getCollection();
82
+ }
83
+ _handleCreateOtherType(type) {
84
+ this.showNewOther = false;
85
+ this._changeDetector.detectChanges();
86
+ this.newOtherType = type;
87
+ this.hideNewOtherPopup();
88
+ this.showNewOther = true;
89
+ }
90
+ _getCollection() {
91
+ const contactOptions = this.relation.contactOptions;
92
+ if (contactOptions) {
93
+ this.emailContactOptions = contactOptions.filter(c => c.type === CommunicationType.Email);
94
+ this.phoneContactOptions = contactOptions.filter(c => c.type === CommunicationType.Telephone);
95
+ this.otherContactOptions = contactOptions.filter(c => c.type !== CommunicationType.Email && c.type !== CommunicationType.Telephone);
96
+ }
97
+ }
98
+ _resetNew() {
99
+ this.newOtherType = undefined;
100
+ this.showNewEmail = false;
101
+ this.showNewOther = false;
102
+ this.showNewPhone = false;
103
+ }
104
+ }
105
+ RelationContactOptionsComponent.decorators = [
106
+ { type: Component, args: [{
107
+ selector: 'co-relation-contact-options',
108
+ template: `
109
+ <div class="relation-contact-options-type-label-wrapper">
110
+ <div class="relation-contact-options-type-label" [textContent]="'EMAIL' | reLocalize"></div>
111
+ <co-icon [iconData]="iconCacheService.getIcon(icons.PlusSimple)" class="relation-contact-options-plus-icon"
112
+ (click)="showNewEmail = true"></co-icon>
113
+ </div>
114
+ <co-relation-contact-option class="new-contact-option" *ngIf="showNewEmail" [type]="commType.Email"
115
+ (saveClick)="addContactOption($event)"></co-relation-contact-option>
116
+ <co-relation-contact-option-list [dragDropDisabled]="showNewEmail" [collection]="emailContactOptions" (deleteClick)="handleDeleteOption($event)"></co-relation-contact-option-list>
117
+ <div class="relation-contact-options-type-label-wrapper">
118
+ <div class="relation-contact-options-type-label" [textContent]="'PHONE' | reLocalize"></div>
119
+ <co-icon [iconData]="iconCacheService.getIcon(icons.PlusSimple)" class="relation-contact-options-plus-icon"
120
+ (click)="showNewPhone = true"></co-icon>
121
+ </div>
122
+ <co-relation-contact-option class="new-contact-option" *ngIf="showNewPhone" [type]="commType.Telephone"
123
+ (saveClick)="addContactOption($event)"></co-relation-contact-option>
124
+ <co-relation-contact-option-list [dragDropDisabled]="showNewPhone" [collection]="phoneContactOptions" (deleteClick)="handleDeleteOption($event)"></co-relation-contact-option-list>
125
+ <div class="relation-contact-options-type-label-wrapper">
126
+ <div class="relation-contact-options-type-label" [textContent]="'OTHER' | reLocalize"></div>
127
+ <co-icon #overlayParent [iconData]="iconCacheService.getIcon(icons.PlusSimple)" class="relation-contact-options-plus-icon"
128
+ (click)="showNewOtherPopup()"></co-icon>
129
+ </div>
130
+ <co-relation-contact-option class="new-contact-option" *ngIf="showNewOther" [type]="newOtherType"
131
+ (saveClick)="addContactOption($event)"></co-relation-contact-option>
132
+ <co-relation-contact-option-list [dragDropDisabled]="showNewOther" [collection]="otherContactOptions" (deleteClick)="handleDeleteOption($event)"></co-relation-contact-option-list>
133
+ `,
134
+ providers: [
135
+ OverlayService
136
+ ],
137
+ encapsulation: ViewEncapsulation.None
138
+ },] }
139
+ ];
140
+ RelationContactOptionsComponent.ctorParameters = () => [
141
+ { type: RelationService },
142
+ { type: IconCacheService },
143
+ { type: RelationConnectorService },
144
+ { type: RelationEventService },
145
+ { type: OverlayService },
146
+ { type: ChangeDetectorRef }
147
+ ];
148
+ RelationContactOptionsComponent.propDecorators = {
149
+ overlayParent: [{ type: ViewChild, args: ['overlayParent', { read: ElementRef },] }],
150
+ showClass: [{ type: HostBinding, args: ['class.co-relation-contact-options',] }],
151
+ handleKeyDown: [{ type: HostListener, args: ['document:keydown', ['$event'],] }],
152
+ showNewEmail: [{ type: HostBinding, args: ['class.adding-email-option',] }],
153
+ showNewPhone: [{ type: HostBinding, args: ['class.adding-phone-option',] }],
154
+ showNewOther: [{ type: HostBinding, args: ['class.adding-other-option',] }]
155
+ };
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tY29udGFjdC1vcHRpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlbGF0aW9uL3NyYy9saWIvY29tcG9uZW50L3JlbGF0aW9uLWNvbnRhY3Qtb3B0aW9ucy9yZWxhdGlvbi1jb250YWN0LW9wdGlvbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFFWixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUc5RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUMzRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyw4Q0FBOEMsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBbUN0SCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsaUNBQWlDO0lBd0NwRixZQUNTLGVBQWdDLEVBQ2hDLGdCQUFrQyxFQUMvQix3QkFBa0QsRUFDbEQsb0JBQTBDLEVBQzVDLGVBQStCLEVBQy9CLGVBQWtDO1FBRTFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsd0JBQXdCLEVB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QUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNySTtJQUNILENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQzs7O1lBcEpGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNkJBQTZCO2dCQUN2QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5QlQ7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULGNBQWM7aUJBQ2Y7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXRDTyxlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLHdCQUF3QjtZQUN4QixvQkFBb0I7WUFKcEIsY0FBYztZQWZwQixpQkFBaUI7Ozs0QkFnRWhCLFNBQVMsU0FBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO3dCQUcvQyxXQUFXLFNBQUMsbUNBQW1DOzRCQUsvQyxZQUFZLFNBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7MkJBYTNDLFdBQVcsU0FBQywyQkFBMkI7MkJBRXZDLFdBQVcsU0FBQywyQkFBMkI7MkJBRXZDLFdBQVcsU0FBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb21wb25lbnRSZWYsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7UmVsYXRpb25TY3JlZW5Db25maWdCYXNlQ29tcG9uZW50fSBmcm9tICcuLi9iYXNlL3JlbGF0aW9uLXNjcmVlbi1jb25maWctYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1JlbG1hbkNmZ05hbWV9IGZyb20gJy4uLy4uL2VudW0vcmVsbWFuLWNmZy1uYW1lLmVudW0nO1xyXG5pbXBvcnQge1JlbG1hbkNvbnRhY3RPcHRpb25zQ2ZnTmFtZXN9IGZyb20gJy4uLy4uL2VudW0vcmVsbWFuLWNvbnRhY3Qtb3B0aW9ucy1jZmctbmFtZXMnO1xyXG5pbXBvcnQge0NvbnRhY3RPcHRpb259IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9jb250YWN0LW9wdGlvbi5ibyc7XHJcbmltcG9ydCB7Q29tbXVuaWNhdGlvblR5cGV9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9lbnVtL2NvbW11bmljYXRpb24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHtPdmVybGF5U2VydmljZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7UmVsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3JlbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtSZWxhdGlvbkNvbm5lY3RvclNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvcmVsYXRpb24tY29ubmVjdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQge1JlbGF0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3JlbGF0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1JlbGF0aW9uQ29udGFjdE9wdGlvbnNPdGhlclR5cGVzUG9wdXBDb21wb25lbnR9IGZyb20gJy4vcmVsYXRpb24tY29udGFjdC1vcHRpb25zLW90aGVyLXR5cGVzLXBvcHVwLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9ucycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9ucy10eXBlLWxhYmVsLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGlvbi1jb250YWN0LW9wdGlvbnMtdHlwZS1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInRU1BSUwnIHwgcmVMb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5QbHVzU2ltcGxlKVwiIGNsYXNzPVwicmVsYXRpb24tY29udGFjdC1vcHRpb25zLXBsdXMtaWNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd05ld0VtYWlsID0gdHJ1ZVwiPjwvY28taWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxjby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbiBjbGFzcz1cIm5ldy1jb250YWN0LW9wdGlvblwiICpuZ0lmPVwic2hvd05ld0VtYWlsXCIgW3R5cGVdPVwiY29tbVR5cGUuRW1haWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNhdmVDbGljayk9XCJhZGRDb250YWN0T3B0aW9uKCRldmVudClcIj48L2NvLXJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uPlxyXG4gICAgICA8Y28tcmVsYXRpb24tY29udGFjdC1vcHRpb24tbGlzdCBbZHJhZ0Ryb3BEaXNhYmxlZF09XCJzaG93TmV3RW1haWxcIiBbY29sbGVjdGlvbl09XCJlbWFpbENvbnRhY3RPcHRpb25zXCIgKGRlbGV0ZUNsaWNrKT1cImhhbmRsZURlbGV0ZU9wdGlvbigkZXZlbnQpXCI+PC9jby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbi1saXN0PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tY29udGFjdC1vcHRpb25zLXR5cGUtbGFiZWwtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9ucy10eXBlLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidQSE9ORScgfCByZUxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlBsdXNTaW1wbGUpXCIgY2xhc3M9XCJyZWxhdGlvbi1jb250YWN0LW9wdGlvbnMtcGx1cy1pY29uXCJcclxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93TmV3UGhvbmUgPSB0cnVlXCI+PC9jby1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGNvLXJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uIGNsYXNzPVwibmV3LWNvbnRhY3Qtb3B0aW9uXCIgKm5nSWY9XCJzaG93TmV3UGhvbmVcIiBbdHlwZV09XCJjb21tVHlwZS5UZWxlcGhvbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNhdmVDbGljayk9XCJhZGRDb250YWN0T3B0aW9uKCRldmVudClcIj48L2NvLXJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uPlxyXG4gICAgICA8Y28tcmVsYXRpb24tY29udGFjdC1vcHRpb24tbGlzdCBbZHJhZ0Ryb3BEaXNhYmxlZF09XCJzaG93TmV3UGhvbmVcIiBbY29sbGVjdGlvbl09XCJwaG9uZUNvbnRhY3RPcHRpb25zXCIgKGRlbGV0ZUNsaWNrKT1cImhhbmRsZURlbGV0ZU9wdGlvbigkZXZlbnQpXCI+PC9jby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbi1saXN0PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tY29udGFjdC1vcHRpb25zLXR5cGUtbGFiZWwtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9ucy10eXBlLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidPVEhFUicgfCByZUxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgICA8Y28taWNvbiAjb3ZlcmxheVBhcmVudCBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlBsdXNTaW1wbGUpXCIgY2xhc3M9XCJyZWxhdGlvbi1jb250YWN0LW9wdGlvbnMtcGx1cy1pY29uXCJcclxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93TmV3T3RoZXJQb3B1cCgpXCI+PC9jby1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGNvLXJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uIGNsYXNzPVwibmV3LWNvbnRhY3Qtb3B0aW9uXCIgKm5nSWY9XCJzaG93TmV3T3RoZXJcIiBbdHlwZV09XCJuZXdPdGhlclR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNhdmVDbGljayk9XCJhZGRDb250YWN0T3B0aW9uKCRldmVudClcIj48L2NvLXJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uPlxyXG4gICAgICA8Y28tcmVsYXRpb24tY29udGFjdC1vcHRpb24tbGlzdCBbZHJhZ0Ryb3BEaXNhYmxlZF09XCJzaG93TmV3T3RoZXJcIiBbY29sbGVjdGlvbl09XCJvdGhlckNvbnRhY3RPcHRpb25zXCIgKGRlbGV0ZUNsaWNrKT1cImhhbmRsZURlbGV0ZU9wdGlvbigkZXZlbnQpXCI+PC9jby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbi1saXN0PlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBPdmVybGF5U2VydmljZVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVsYXRpb25Db250YWN0T3B0aW9uc0NvbXBvbmVudCBleHRlbmRzIFJlbGF0aW9uU2NyZWVuQ29uZmlnQmFzZUNvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGNvbW1UeXBlOiB0eXBlb2YgQ29tbXVuaWNhdGlvblR5cGUgPSBDb21tdW5pY2F0aW9uVHlwZTtcclxuICBwdWJsaWMgcmVhZG9ubHkgZ2VuZXJhbENvbnRhY3RPcHRpb25zQ2ZnTmFtZXM6IFJlbG1hbkNvbnRhY3RPcHRpb25zQ2ZnTmFtZXMgPSB7XHJcbiAgICBjb250YWN0T3B0aW9uVmFsdWU6IFJlbG1hbkNmZ05hbWUuQ29udGFjdE9wdGlvblZhbHVlLFxyXG4gICAgY29udGFjdE9wdGlvblR5cGU6IFJlbG1hbkNmZ05hbWUuQ29udGFjdE9wdGlvblR5cGUsXHJcbiAgICBjb250YWN0T3B0aW9uRGVzY3JpcHRpb246IFJlbG1hbkNmZ05hbWUuQ29udGFjdE9wdGlvbkRlc2NyaXB0aW9uLFxyXG4gICAgY29udGFjdE9wdGlvbkVtYWlsVHlwZTogUmVsbWFuQ2ZnTmFtZS5Db250YWN0T3B0aW9uRW1haWxUeXBlXHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKCdvdmVybGF5UGFyZW50JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXHJcbiAgcHVibGljIG92ZXJsYXlQYXJlbnQ6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tcmVsYXRpb24tY29udGFjdC1vcHRpb25zJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScgJiYgKHRoaXMuc2hvd05ld0VtYWlsIHx8IHRoaXMuc2hvd05ld1Bob25lIHx8IHRoaXMuc2hvd05ld090aGVyKSkge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIHRoaXMuX3Jlc2V0TmV3KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW1haWxDb250YWN0T3B0aW9uczogQ29udGFjdE9wdGlvbltdID0gW107XHJcbiAgcHVibGljIHBob25lQ29udGFjdE9wdGlvbnM6IENvbnRhY3RPcHRpb25bXSA9IFtdO1xyXG4gIHB1YmxpYyBvdGhlckNvbnRhY3RPcHRpb25zOiBDb250YWN0T3B0aW9uW10gPSBbXTtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFkZGluZy1lbWFpbC1vcHRpb24nKVxyXG4gIHB1YmxpYyBzaG93TmV3RW1haWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFkZGluZy1waG9uZS1vcHRpb24nKVxyXG4gIHB1YmxpYyBzaG93TmV3UGhvbmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFkZGluZy1vdGhlci1vcHRpb24nKVxyXG4gIHB1YmxpYyBzaG93TmV3T3RoZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgbmV3T3RoZXJUeXBlOiBDb21tdW5pY2F0aW9uVHlwZTtcclxuXHJcbiAgcHJpdmF0ZSBfb3RoZXJUeXBlUG9wdXBDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbGF0aW9uU2VydmljZTogUmVsYXRpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgcmVsYXRpb25Db25uZWN0b3JTZXJ2aWNlOiBSZWxhdGlvbkNvbm5lY3RvclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgcmVsYXRpb25FdmVudFNlcnZpY2U6IFJlbGF0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheVNlcnZpY2U6IE92ZXJsYXlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgICBzdXBlcihyZWxhdGlvblNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHJlbGF0aW9uQ29ubmVjdG9yU2VydmljZSwgcmVsYXRpb25FdmVudFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dOZXdPdGhlclBvcHVwKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fb3RoZXJUeXBlUG9wdXBDb21wb25lbnRSZWYgPSB0aGlzLl9vdmVybGF5U2VydmljZS5jcmVhdGVDb21wb25lbnQoUmVsYXRpb25Db250YWN0T3B0aW9uc090aGVyVHlwZXNQb3B1cENvbXBvbmVudCxcclxuICAgICAge1xyXG4gICAgICAgIHBhcmVudEZvck92ZXJsYXk6IHRoaXMub3ZlcmxheVBhcmVudFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdHlwZUNsaWNrOiAodHlwZTogQ29tbXVuaWNhdGlvblR5cGUpID0+IHRoaXMuX2hhbmRsZUNyZWF0ZU90aGVyVHlwZSh0eXBlKSxcclxuICAgICAgICBjbGlja2VkT3V0c2lkZTogKCkgPT4gdGhpcy5oaWRlTmV3T3RoZXJQb3B1cCgpXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhpZGVOZXdPdGhlclBvcHVwKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fb3ZlcmxheVNlcnZpY2UucmVtb3ZlQ29tcG9uZW50KHRoaXMuX290aGVyVHlwZVBvcHVwQ29tcG9uZW50UmVmKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBhZGRDb250YWN0T3B0aW9uKG9wdGlvbjogQ29udGFjdE9wdGlvbik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgb3B0aW9uLnJlbGF0aW9uSWQgPSB0aGlzLnJlbGF0aW9uLnJlbGF0aW9uSWQ7XHJcbiAgICBvcHRpb24uc2VxdWVuY2UgPSB0aGlzLnJlbGF0aW9uLmdldE5ld0NvbnRhY3RPcHRpb25TZXF1ZW5jZUZvclR5cGUob3B0aW9uLnR5cGUpO1xyXG4gICAgY29uc3Qgc2VxdWVuY2U6IG51bWJlciA9IGF3YWl0IHRoaXMucmVsYXRpb25Db25uZWN0b3JTZXJ2aWNlLmdldE5leHRDb250YWN0T3B0aW9uU2VxdWVuY2VOdW1iZXIoKTtcclxuICAgIG9wdGlvbi5jb21OciA9IHNlcXVlbmNlO1xyXG4gICAgdGhpcy5yZWxhdGlvbi5hZGRDb250YWN0T3B0aW9uKG9wdGlvbik7XHJcbiAgICB0aGlzLnJlbGF0aW9uQ2hhbmdlLm5leHQodGhpcy5yZWxhdGlvbik7XHJcbiAgICB0aGlzLl9yZXNldE5ldygpO1xyXG4gICAgdGhpcy5fZ2V0Q29sbGVjdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURlbGV0ZU9wdGlvbihvcHRpb246IENvbnRhY3RPcHRpb24pOiB2b2lkIHtcclxuICAgIGlmIChvcHRpb24gJiYgb3B0aW9uLmNvbU5yKSB7XHJcbiAgICAgIGNvbnN0IGlkeDogbnVtYmVyID0gdGhpcy5yZWxhdGlvbi5jb250YWN0T3B0aW9ucy5maW5kSW5kZXgoYyA9PiBjLmNvbU5yID09PSBvcHRpb24uY29tTnIpO1xyXG4gICAgICBpZiAoaWR4ID4gLTEpIHtcclxuICAgICAgICB0aGlzLnJlbGF0aW9uLmNvbnRhY3RPcHRpb25zLnNwbGljZShpZHgsIDEpO1xyXG4gICAgICAgIHRoaXMucmVsYXRpb25DaGFuZ2UubmV4dCh0aGlzLnJlbGF0aW9uKTtcclxuICAgICAgICB0aGlzLl9yZXNldE5ldygpO1xyXG4gICAgICAgIHRoaXMuX2dldENvbGxlY3Rpb24oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlbGF0aW9uU2V0KCkge1xyXG4gICAgdGhpcy5fZ2V0Q29sbGVjdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGFuZGxlQ3JlYXRlT3RoZXJUeXBlKHR5cGU6IENvbW11bmljYXRpb25UeXBlKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dOZXdPdGhlciA9IGZhbHNlO1xyXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgdGhpcy5uZXdPdGhlclR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5oaWRlTmV3T3RoZXJQb3B1cCgpO1xyXG4gICAgdGhpcy5zaG93TmV3T3RoZXIgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0Q29sbGVjdGlvbigpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvbnRhY3RPcHRpb25zOiBDb250YWN0T3B0aW9uW10gPSB0aGlzLnJlbGF0aW9uLmNvbnRhY3RPcHRpb25zO1xyXG4gICAgaWYgKGNvbnRhY3RPcHRpb25zKSB7XHJcbiAgICAgIHRoaXMuZW1haWxDb250YWN0T3B0aW9ucyA9IGNvbnRhY3RPcHRpb25zLmZpbHRlcihjID0+IGMudHlwZSA9PT0gQ29tbXVuaWNhdGlvblR5cGUuRW1haWwpO1xyXG4gICAgICB0aGlzLnBob25lQ29udGFjdE9wdGlvbnMgPSBjb250YWN0T3B0aW9ucy5maWx0ZXIoYyA9PiBjLnR5cGUgPT09IENvbW11bmljYXRpb25UeXBlLlRlbGVwaG9uZSk7XHJcbiAgICAgIHRoaXMub3RoZXJDb250YWN0T3B0aW9ucyA9IGNvbnRhY3RPcHRpb25zLmZpbHRlcihjID0+IGMudHlwZSAhPT0gQ29tbXVuaWNhdGlvblR5cGUuRW1haWwgJiYgYy50eXBlICE9PSBDb21tdW5pY2F0aW9uVHlwZS5UZWxlcGhvbmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVzZXROZXcoKTogdm9pZCB7XHJcbiAgICB0aGlzLm5ld090aGVyVHlwZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd05ld0VtYWlsID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dOZXdPdGhlciA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93TmV3UGhvbmUgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,35 +1,34 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { RelationContactOptionsComponent } from './relation-contact-options.component';
4
- import { ButtonModule, ClickoutsideModule, IconModule, InputTextModule, OverlayModule } from '@colijnit/corecomponents_v12';
5
- import { RelationContactOptionComponent } from './relation-contact-option.component';
6
- import { RelationContactOptionsOtherTypesPopupComponent } from './relation-contact-options-other-types-popup.component';
7
- import { DragDropModule } from '@angular/cdk/drag-drop';
8
- import { RelationContactOptionListComponent } from './relation-contact-option-list.component';
9
- import { RelationTranslationModule } from '../../translation/relation-translation.module';
10
- export class RelationContactOptionsModule {
11
- }
12
- RelationContactOptionsModule.decorators = [
13
- { type: NgModule, args: [{
14
- imports: [
15
- CommonModule,
16
- RelationTranslationModule,
17
- InputTextModule,
18
- IconModule,
19
- ClickoutsideModule,
20
- OverlayModule,
21
- DragDropModule,
22
- ButtonModule
23
- ],
24
- declarations: [
25
- RelationContactOptionsComponent,
26
- RelationContactOptionComponent,
27
- RelationContactOptionListComponent,
28
- RelationContactOptionsOtherTypesPopupComponent
29
- ],
30
- exports: [
31
- RelationContactOptionsComponent
32
- ]
33
- },] }
34
- ];
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tY29udGFjdC1vcHRpb25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlbGF0aW9uL3NyYy9saWIvY29tcG9uZW50L3JlbGF0aW9uLWNvbnRhY3Qtb3B0aW9ucy9yZWxhdGlvbi1jb250YWN0LW9wdGlvbnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JGLE9BQU8sRUFDSCxZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLFVBQVUsRUFDVixlQUFlLEVBQ2YsYUFBYSxFQUNoQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ25GLE9BQU8sRUFBQyw4Q0FBOEMsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3RILE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQXVCeEYsTUFBTSxPQUFPLDRCQUE0Qjs7O1lBckJ4QyxRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1oseUJBQXlCO29CQUN6QixlQUFlO29CQUNmLFVBQVU7b0JBQ1Ysa0JBQWtCO29CQUNsQixhQUFhO29CQUNiLGNBQWM7b0JBQ2QsWUFBWTtpQkFDZjtnQkFDSCxZQUFZLEVBQUU7b0JBQ1osK0JBQStCO29CQUMvQiw4QkFBOEI7b0JBQzlCLGtDQUFrQztvQkFDbEMsOENBQThDO2lCQUMvQztnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsK0JBQStCO2lCQUNoQzthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7UmVsYXRpb25Db250YWN0T3B0aW9uc0NvbXBvbmVudH0gZnJvbSAnLi9yZWxhdGlvbi1jb250YWN0LW9wdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7XG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIENsaWNrb3V0c2lkZU1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIElucHV0VGV4dE1vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlXG59IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xuaW1wb3J0IHtSZWxhdGlvbkNvbnRhY3RPcHRpb25Db21wb25lbnR9IGZyb20gJy4vcmVsYXRpb24tY29udGFjdC1vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7UmVsYXRpb25Db250YWN0T3B0aW9uc090aGVyVHlwZXNQb3B1cENvbXBvbmVudH0gZnJvbSAnLi9yZWxhdGlvbi1jb250YWN0LW9wdGlvbnMtb3RoZXItdHlwZXMtcG9wdXAuY29tcG9uZW50JztcbmltcG9ydCB7RHJhZ0Ryb3BNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHtSZWxhdGlvbkNvbnRhY3RPcHRpb25MaXN0Q29tcG9uZW50fSBmcm9tICcuL3JlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7UmVsYXRpb25UcmFuc2xhdGlvbk1vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNsYXRpb24vcmVsYXRpb24tdHJhbnNsYXRpb24ubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUmVsYXRpb25UcmFuc2xhdGlvbk1vZHVsZSxcbiAgICAgICAgSW5wdXRUZXh0TW9kdWxlLFxuICAgICAgICBJY29uTW9kdWxlLFxuICAgICAgICBDbGlja291dHNpZGVNb2R1bGUsXG4gICAgICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgICAgIERyYWdEcm9wTW9kdWxlLFxuICAgICAgICBCdXR0b25Nb2R1bGVcbiAgICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBSZWxhdGlvbkNvbnRhY3RPcHRpb25zQ29tcG9uZW50LFxuICAgIFJlbGF0aW9uQ29udGFjdE9wdGlvbkNvbXBvbmVudCxcbiAgICBSZWxhdGlvbkNvbnRhY3RPcHRpb25MaXN0Q29tcG9uZW50LFxuICAgIFJlbGF0aW9uQ29udGFjdE9wdGlvbnNPdGhlclR5cGVzUG9wdXBDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFJlbGF0aW9uQ29udGFjdE9wdGlvbnNDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkNvbnRhY3RPcHRpb25zTW9kdWxlIHtcbn1cbiJdfQ==
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { RelationContactOptionsComponent } from './relation-contact-options.component';
4
+ import { ClickoutsideModule, IconModule, InputTextModule, OverlayModule } from '@colijnit/corecomponents_v12';
5
+ import { RelationContactOptionComponent } from './relation-contact-option.component';
6
+ import { RelationContactOptionsOtherTypesPopupComponent } from './relation-contact-options-other-types-popup.component';
7
+ import { DragDropModule } from '@angular/cdk/drag-drop';
8
+ import { RelationContactOptionListComponent } from './relation-contact-option-list.component';
9
+ import { RelationTranslationModule } from '../../translation/relation-translation.module';
10
+ export class RelationContactOptionsModule {
11
+ }
12
+ RelationContactOptionsModule.decorators = [
13
+ { type: NgModule, args: [{
14
+ imports: [
15
+ CommonModule,
16
+ RelationTranslationModule,
17
+ InputTextModule,
18
+ IconModule,
19
+ ClickoutsideModule,
20
+ OverlayModule,
21
+ DragDropModule
22
+ ],
23
+ declarations: [
24
+ RelationContactOptionsComponent,
25
+ RelationContactOptionComponent,
26
+ RelationContactOptionListComponent,
27
+ RelationContactOptionsOtherTypesPopupComponent
28
+ ],
29
+ exports: [
30
+ RelationContactOptionsComponent
31
+ ]
32
+ },] }
33
+ ];
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tY29udGFjdC1vcHRpb25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlbGF0aW9uL3NyYy9saWIvY29tcG9uZW50L3JlbGF0aW9uLWNvbnRhY3Qtb3B0aW9ucy9yZWxhdGlvbi1jb250YWN0LW9wdGlvbnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzVHLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ25GLE9BQU8sRUFBQyw4Q0FBOEMsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3RILE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQXNCeEYsTUFBTSxPQUFPLDRCQUE0Qjs7O1lBcEJ4QyxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1oseUJBQXlCO29CQUN6QixlQUFlO29CQUNmLFVBQVU7b0JBQ1Ysa0JBQWtCO29CQUNsQixhQUFhO29CQUNiLGNBQWM7aUJBQ2Y7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLCtCQUErQjtvQkFDL0IsOEJBQThCO29CQUM5QixrQ0FBa0M7b0JBQ2xDLDhDQUE4QztpQkFDL0M7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLCtCQUErQjtpQkFDaEM7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtSZWxhdGlvbkNvbnRhY3RPcHRpb25zQ29tcG9uZW50fSBmcm9tICcuL3JlbGF0aW9uLWNvbnRhY3Qtb3B0aW9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQge0NsaWNrb3V0c2lkZU1vZHVsZSwgSWNvbk1vZHVsZSwgSW5wdXRUZXh0TW9kdWxlLCBPdmVybGF5TW9kdWxlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtSZWxhdGlvbkNvbnRhY3RPcHRpb25Db21wb25lbnR9IGZyb20gJy4vcmVsYXRpb24tY29udGFjdC1vcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtSZWxhdGlvbkNvbnRhY3RPcHRpb25zT3RoZXJUeXBlc1BvcHVwQ29tcG9uZW50fSBmcm9tICcuL3JlbGF0aW9uLWNvbnRhY3Qtb3B0aW9ucy1vdGhlci10eXBlcy1wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0RyYWdEcm9wTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHtSZWxhdGlvbkNvbnRhY3RPcHRpb25MaXN0Q29tcG9uZW50fSBmcm9tICcuL3JlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHtSZWxhdGlvblRyYW5zbGF0aW9uTW9kdWxlfSBmcm9tICcuLi8uLi90cmFuc2xhdGlvbi9yZWxhdGlvbi10cmFuc2xhdGlvbi5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWxhdGlvblRyYW5zbGF0aW9uTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgSWNvbk1vZHVsZSxcclxuICAgIENsaWNrb3V0c2lkZU1vZHVsZSxcclxuICAgIE92ZXJsYXlNb2R1bGUsXHJcbiAgICBEcmFnRHJvcE1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBSZWxhdGlvbkNvbnRhY3RPcHRpb25zQ29tcG9uZW50LFxyXG4gICAgUmVsYXRpb25Db250YWN0T3B0aW9uQ29tcG9uZW50LFxyXG4gICAgUmVsYXRpb25Db250YWN0T3B0aW9uTGlzdENvbXBvbmVudCxcclxuICAgIFJlbGF0aW9uQ29udGFjdE9wdGlvbnNPdGhlclR5cGVzUG9wdXBDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFJlbGF0aW9uQ29udGFjdE9wdGlvbnNDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkNvbnRhY3RPcHRpb25zTW9kdWxlIHtcclxufVxyXG4iXX0=