@colijnit/relation 12.1.6 → 253.1.1

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 +4646 -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 +154 -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 +3821 -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,22 +1,22 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { RelationAvatarComponent } from './relation-avatar.component';
4
- import { IconModule, ImageModule } from '@colijnit/corecomponents_v12';
5
- export class RelationAvatarModule {
6
- }
7
- RelationAvatarModule.decorators = [
8
- { type: NgModule, args: [{
9
- imports: [
10
- CommonModule,
11
- ImageModule,
12
- IconModule
13
- ],
14
- declarations: [
15
- RelationAvatarComponent
16
- ],
17
- exports: [
18
- RelationAvatarComponent
19
- ]
20
- },] }
21
- ];
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYXZhdGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlbGF0aW9uL3NyYy9saWIvY29tcG9uZW50L3JlbGF0aW9uLWF2YXRhci9yZWxhdGlvbi1hdmF0YXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxVQUFVLEVBQUUsV0FBVyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFlckUsTUFBTSxPQUFPLG9CQUFvQjs7O1lBYmhDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLFVBQVU7aUJBQ1g7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHVCQUF1QjtpQkFDeEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHVCQUF1QjtpQkFDeEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1JlbGF0aW9uQXZhdGFyQ29tcG9uZW50fSBmcm9tICcuL3JlbGF0aW9uLWF2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHtJY29uTW9kdWxlLCBJbWFnZU1vZHVsZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW1hZ2VNb2R1bGUsXG4gICAgSWNvbk1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBSZWxhdGlvbkF2YXRhckNvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUmVsYXRpb25BdmF0YXJDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkF2YXRhck1vZHVsZSB7XG59XG4iXX0=
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { RelationAvatarComponent } from './relation-avatar.component';
4
+ import { IconModule, ImageModule } from '@colijnit/corecomponents_v12';
5
+ export class RelationAvatarModule {
6
+ }
7
+ RelationAvatarModule.decorators = [
8
+ { type: NgModule, args: [{
9
+ imports: [
10
+ CommonModule,
11
+ ImageModule,
12
+ IconModule
13
+ ],
14
+ declarations: [
15
+ RelationAvatarComponent
16
+ ],
17
+ exports: [
18
+ RelationAvatarComponent
19
+ ]
20
+ },] }
21
+ ];
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYXZhdGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlbGF0aW9uL3NyYy9saWIvY29tcG9uZW50L3JlbGF0aW9uLWF2YXRhci9yZWxhdGlvbi1hdmF0YXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxVQUFVLEVBQUUsV0FBVyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFlckUsTUFBTSxPQUFPLG9CQUFvQjs7O1lBYmhDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLFVBQVU7aUJBQ1g7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHVCQUF1QjtpQkFDeEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHVCQUF1QjtpQkFDeEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtSZWxhdGlvbkF2YXRhckNvbXBvbmVudH0gZnJvbSAnLi9yZWxhdGlvbi1hdmF0YXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtJY29uTW9kdWxlLCBJbWFnZU1vZHVsZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEltYWdlTW9kdWxlLFxyXG4gICAgSWNvbk1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBSZWxhdGlvbkF2YXRhckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgUmVsYXRpb25BdmF0YXJDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkF2YXRhck1vZHVsZSB7XHJcbn1cclxuIl19
@@ -1,101 +1,101 @@
1
- import { __awaiter } from "tslib";
2
- import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
3
- import { CDK_DRAG_CONFIG, moveItemInArray } from '@angular/cdk/drag-drop';
4
- const DragConfig = {
5
- dragStartThreshold: 0,
6
- pointerDirectionChangeThreshold: 5,
7
- zIndex: 10000
8
- };
9
- const ɵ0 = DragConfig;
10
- export class RelationContactOptionListComponent {
11
- constructor() {
12
- this.dragDropDisabled = false;
13
- this.collection = [];
14
- this.deleteClick = new EventEmitter();
15
- this.showClass = true;
16
- this.dragStartDelay = 500;
17
- this.handleCanDragDrop = (drag, drop) => {
18
- return (drag.data.type === this.type);
19
- };
20
- }
21
- handleDrop(event) {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- try {
24
- const from = event.previousIndex;
25
- const to = event.currentIndex;
26
- if (from === to) {
27
- return;
28
- }
29
- // set items in correct order
30
- moveItemInArray(this.collection, from, to);
31
- this._reArrangeSequences();
32
- }
33
- catch (e) {
34
- console.error(e);
35
- }
36
- });
37
- }
38
- /**
39
- * Hack to make sure that dragged item has the right css when not moving the mouse
40
- * @param event
41
- */
42
- handleOptionMouseDown(event) {
43
- clearTimeout(this._mouseDownTimeout);
44
- this._mouseDownTimeout = setTimeout(() => {
45
- let mouseMoveEvent;
46
- if ("createEvent" in document) {
47
- mouseMoveEvent = document.createEvent("Event");
48
- mouseMoveEvent.initEvent('mousemove', true, true);
49
- }
50
- else if ("Event" in window) {
51
- mouseMoveEvent = new Event('mousemove', { bubbles: true, cancelable: true });
52
- }
53
- // @ts-ignore
54
- mouseMoveEvent.pageX = event.pageX;
55
- // @ts-ignore
56
- mouseMoveEvent.pageY = event.pageY;
57
- document.dispatchEvent(mouseMoveEvent);
58
- }, this.dragStartDelay);
59
- }
60
- handleOptionMouseUp(event) {
61
- clearTimeout(this._mouseDownTimeout);
62
- }
63
- _reArrangeSequences() {
64
- for (let i = 0; i < this.collection.length; i++) {
65
- this.collection[i].sequence = i;
66
- }
67
- }
68
- }
69
- RelationContactOptionListComponent.decorators = [
70
- { type: Component, args: [{
71
- selector: 'co-relation-contact-option-list',
72
- template: `
73
- <div #dropListContactOptions class="contact-option-wrapper drag-drop-list" cdkDropList cdkDropListOrientation="vertical"
74
- [cdkDropListDisabled]="dragDropDisabled"
75
- [cdkDropListData]="collection"
76
- [cdkDropListEnterPredicate]="handleCanDragDrop"
77
- (cdkDropListDropped)="handleDrop($event)"
78
- >
79
- <co-relation-contact-option class="draggable-contact-option" *ngFor="let option of collection" [model]="option"
80
- cdkDrag [cdkDragStartDelay]="dragStartDelay"
81
- (mousedown)="handleOptionMouseDown($event)"
82
- (mouseup)="handleOptionMouseUp($event)"
83
- (deleteClick)="deleteClick.emit($event)"
84
- ></co-relation-contact-option>
85
- </div>
86
- `,
87
- providers: [
88
- { provide: CDK_DRAG_CONFIG, useValue: ɵ0 }
89
- ],
90
- encapsulation: ViewEncapsulation.None
91
- },] }
92
- ];
93
- RelationContactOptionListComponent.propDecorators = {
94
- dragDropDisabled: [{ type: Input }],
95
- type: [{ type: Input }],
96
- collection: [{ type: Input }],
97
- deleteClick: [{ type: Output }],
98
- showClass: [{ type: HostBinding, args: ['class.co-relation-contact-option-list',] }]
99
- };
100
- export { ɵ0 };
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tY29udGFjdC1vcHRpb24tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yZWxhdGlvbi9zcmMvbGliL2NvbXBvbmVudC9yZWxhdGlvbi1jb250YWN0LW9wdGlvbnMvcmVsYXRpb24tY29udGFjdC1vcHRpb24tbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdHLE9BQU8sRUFBQyxlQUFlLEVBQXFDLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTNHLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLGtCQUFrQixFQUFFLENBQUM7SUFDckIsK0JBQStCLEVBQUUsQ0FBQztJQUNsQyxNQUFNLEVBQUUsS0FBSztDQUNkLENBQUM7V0FvQnVDLFVBQVU7QUFJbkQsTUFBTSxPQUFPLGtDQUFrQztJQXRCL0M7UUF3QlMscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBTWxDLGVBQVUsR0FBb0IsRUFBRSxDQUFDO1FBR2pDLGdCQUFXLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO1FBRzdFLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFMUIsbUJBQWMsR0FBVyxHQUFHLENBQUM7UUFJN0Isc0JBQWlCLEdBQUcsQ0FBQyxJQUFhLEVBQUUsSUFBaUIsRUFBRSxFQUFFO1lBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFBO0lBZ0RILENBQUM7SUE5Q2MsVUFBVSxDQUFDLEtBQW1DOztZQUN6RCxJQUFJO2dCQUNGLE1BQU0sSUFBSSxHQUFXLEtBQUssQ0FBQyxhQUFhLENBQUM7Z0JBQ3pDLE1BQU0sRUFBRSxHQUFXLEtBQUssQ0FBQyxZQUFZLENBQUM7Z0JBQ3RDLElBQUksSUFBSSxLQUFLLEVBQUUsRUFBRTtvQkFDZixPQUFPO2lCQUNSO2dCQUNELDZCQUE2QjtnQkFDN0IsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzthQUM1QjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDbEI7UUFDSCxDQUFDO0tBQUE7SUFFRDs7O09BR0c7SUFDSSxxQkFBcUIsQ0FBQyxLQUFpQjtRQUM1QyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsSUFBSSxjQUFxQixDQUFDO1lBQzFCLElBQUksYUFBYSxJQUFJLFFBQVEsRUFBRTtnQkFDN0IsY0FBYyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQy9DLGNBQWMsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNuRDtpQkFBTSxJQUFJLE9BQU8sSUFBSSxNQUFNLEVBQUU7Z0JBQzVCLGNBQWMsR0FBRyxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQzlFO1lBQ0QsYUFBYTtZQUNiLGNBQWMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNuQyxhQUFhO1lBQ2IsY0FBYyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ25DLFFBQVEsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0sbUJBQW1CLENBQUMsS0FBaUI7UUFDMUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQy9DLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztTQUNqQztJQUNILENBQUM7OztZQTNGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlDQUFpQztnQkFDM0MsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztHQWNUO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxJQUFZLEVBQUM7aUJBQ2pEO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7K0JBRUUsS0FBSzttQkFHTCxLQUFLO3lCQUdMLEtBQUs7MEJBR0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsdUNBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250YWN0T3B0aW9ufSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvY29udGFjdC1vcHRpb24uYm8nO1xuaW1wb3J0IHtDb21tdW5pY2F0aW9uVHlwZX0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vY29tbXVuaWNhdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHtDREtfRFJBR19DT05GSUcsIENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5fSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcblxuY29uc3QgRHJhZ0NvbmZpZyA9IHtcbiAgZHJhZ1N0YXJ0VGhyZXNob2xkOiAwLFxuICBwb2ludGVyRGlyZWN0aW9uQ2hhbmdlVGhyZXNob2xkOiA1LFxuICB6SW5kZXg6IDEwMDAwXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbi1saXN0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICAgIDxkaXYgI2Ryb3BMaXN0Q29udGFjdE9wdGlvbnMgY2xhc3M9XCJjb250YWN0LW9wdGlvbi13cmFwcGVyIGRyYWctZHJvcC1saXN0XCIgY2RrRHJvcExpc3QgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcbiAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiZHJhZ0Ryb3BEaXNhYmxlZFwiXG4gICAgICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwiY29sbGVjdGlvblwiXG4gICAgICAgICAgIFtjZGtEcm9wTGlzdEVudGVyUHJlZGljYXRlXT1cImhhbmRsZUNhbkRyYWdEcm9wXCJcbiAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJoYW5kbGVEcm9wKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICAgIDxjby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbiBjbGFzcz1cImRyYWdnYWJsZS1jb250YWN0LW9wdGlvblwiICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgY29sbGVjdGlvblwiIFttb2RlbF09XCJvcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZGtEcmFnIFtjZGtEcmFnU3RhcnREZWxheV09XCJkcmFnU3RhcnREZWxheVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZWRvd24pPVwiaGFuZGxlT3B0aW9uTW91c2VEb3duKCRldmVudClcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNldXApPVwiaGFuZGxlT3B0aW9uTW91c2VVcCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZUNsaWNrKT1cImRlbGV0ZUNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvY28tcmVsYXRpb24tY29udGFjdC1vcHRpb24+XG4gICAgICA8L2Rpdj5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge3Byb3ZpZGU6IENES19EUkFHX0NPTkZJRywgdXNlVmFsdWU6IERyYWdDb25maWd9XG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgUmVsYXRpb25Db250YWN0T3B0aW9uTGlzdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkcmFnRHJvcERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHR5cGU6IENvbW11bmljYXRpb25UeXBlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb2xsZWN0aW9uOiBDb250YWN0T3B0aW9uW10gPSBbXTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGRlbGV0ZUNsaWNrOiBFdmVudEVtaXR0ZXI8Q29udGFjdE9wdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPENvbnRhY3RPcHRpb24+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbi1saXN0JylcbiAgcHVibGljIHNob3dDbGFzczogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHVibGljIGRyYWdTdGFydERlbGF5OiBudW1iZXIgPSA1MDA7XG5cbiAgcHJpdmF0ZSBfbW91c2VEb3duVGltZW91dDogYW55O1xuXG4gIHB1YmxpYyBoYW5kbGVDYW5EcmFnRHJvcCA9IChkcmFnOiBDZGtEcmFnLCBkcm9wOiBDZGtEcm9wTGlzdCkgPT4ge1xuICAgIHJldHVybiAoZHJhZy5kYXRhLnR5cGUgPT09IHRoaXMudHlwZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaGFuZGxlRHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8Q29udGFjdE9wdGlvbltdPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBmcm9tOiBudW1iZXIgPSBldmVudC5wcmV2aW91c0luZGV4O1xuICAgICAgY29uc3QgdG86IG51bWJlciA9IGV2ZW50LmN1cnJlbnRJbmRleDtcbiAgICAgIGlmIChmcm9tID09PSB0bykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBzZXQgaXRlbXMgaW4gY29ycmVjdCBvcmRlclxuICAgICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuY29sbGVjdGlvbiwgZnJvbSwgdG8pO1xuICAgICAgdGhpcy5fcmVBcnJhbmdlU2VxdWVuY2VzKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFjayB0byBtYWtlIHN1cmUgdGhhdCBkcmFnZ2VkIGl0ZW0gaGFzIHRoZSByaWdodCBjc3Mgd2hlbiBub3QgbW92aW5nIHRoZSBtb3VzZVxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICovXG4gIHB1YmxpYyBoYW5kbGVPcHRpb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fbW91c2VEb3duVGltZW91dCk7XG4gICAgdGhpcy5fbW91c2VEb3duVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgbGV0IG1vdXNlTW92ZUV2ZW50OiBFdmVudDtcbiAgICAgIGlmIChcImNyZWF0ZUV2ZW50XCIgaW4gZG9jdW1lbnQpIHtcbiAgICAgICAgbW91c2VNb3ZlRXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudChcIkV2ZW50XCIpO1xuICAgICAgICBtb3VzZU1vdmVFdmVudC5pbml0RXZlbnQoJ21vdXNlbW92ZScsIHRydWUsIHRydWUpO1xuICAgICAgfSBlbHNlIGlmIChcIkV2ZW50XCIgaW4gd2luZG93KSB7XG4gICAgICAgIG1vdXNlTW92ZUV2ZW50ID0gbmV3IEV2ZW50KCdtb3VzZW1vdmUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSk7XG4gICAgICB9XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBtb3VzZU1vdmVFdmVudC5wYWdlWCA9IGV2ZW50LnBhZ2VYO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgbW91c2VNb3ZlRXZlbnQucGFnZVkgPSBldmVudC5wYWdlWTtcbiAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobW91c2VNb3ZlRXZlbnQpO1xuICAgIH0sIHRoaXMuZHJhZ1N0YXJ0RGVsYXkpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZU9wdGlvbk1vdXNlVXAoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fbW91c2VEb3duVGltZW91dClcbiAgfVxuXG4gIHByaXZhdGUgX3JlQXJyYW5nZVNlcXVlbmNlcygpOiB2b2lkIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY29sbGVjdGlvbi5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5jb2xsZWN0aW9uW2ldLnNlcXVlbmNlID0gaTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
1
+ import { __awaiter } from "tslib";
2
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
3
+ import { CDK_DRAG_CONFIG, moveItemInArray } from '@angular/cdk/drag-drop';
4
+ const DragConfig = {
5
+ dragStartThreshold: 0,
6
+ pointerDirectionChangeThreshold: 5,
7
+ zIndex: 10000
8
+ };
9
+ const ɵ0 = DragConfig;
10
+ export class RelationContactOptionListComponent {
11
+ constructor() {
12
+ this.dragDropDisabled = false;
13
+ this.collection = [];
14
+ this.deleteClick = new EventEmitter();
15
+ this.showClass = true;
16
+ this.dragStartDelay = 500;
17
+ this.handleCanDragDrop = (drag, drop) => {
18
+ return (drag.data.type === this.type);
19
+ };
20
+ }
21
+ handleDrop(event) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ try {
24
+ const from = event.previousIndex;
25
+ const to = event.currentIndex;
26
+ if (from === to) {
27
+ return;
28
+ }
29
+ // set items in correct order
30
+ moveItemInArray(this.collection, from, to);
31
+ this._reArrangeSequences();
32
+ }
33
+ catch (e) {
34
+ console.error(e);
35
+ }
36
+ });
37
+ }
38
+ /**
39
+ * Hack to make sure that dragged item has the right css when not moving the mouse
40
+ * @param event
41
+ */
42
+ handleOptionMouseDown(event) {
43
+ clearTimeout(this._mouseDownTimeout);
44
+ this._mouseDownTimeout = setTimeout(() => {
45
+ let mouseMoveEvent;
46
+ if ("createEvent" in document) {
47
+ mouseMoveEvent = document.createEvent("Event");
48
+ mouseMoveEvent.initEvent('mousemove', true, true);
49
+ }
50
+ else if ("Event" in window) {
51
+ mouseMoveEvent = new Event('mousemove', { bubbles: true, cancelable: true });
52
+ }
53
+ // @ts-ignore
54
+ mouseMoveEvent.pageX = event.pageX;
55
+ // @ts-ignore
56
+ mouseMoveEvent.pageY = event.pageY;
57
+ document.dispatchEvent(mouseMoveEvent);
58
+ }, this.dragStartDelay);
59
+ }
60
+ handleOptionMouseUp(event) {
61
+ clearTimeout(this._mouseDownTimeout);
62
+ }
63
+ _reArrangeSequences() {
64
+ for (let i = 0; i < this.collection.length; i++) {
65
+ this.collection[i].sequence = i;
66
+ }
67
+ }
68
+ }
69
+ RelationContactOptionListComponent.decorators = [
70
+ { type: Component, args: [{
71
+ selector: 'co-relation-contact-option-list',
72
+ template: `
73
+ <div #dropListContactOptions class="contact-option-wrapper drag-drop-list" cdkDropList cdkDropListOrientation="vertical"
74
+ [cdkDropListDisabled]="dragDropDisabled"
75
+ [cdkDropListData]="collection"
76
+ [cdkDropListEnterPredicate]="handleCanDragDrop"
77
+ (cdkDropListDropped)="handleDrop($event)"
78
+ >
79
+ <co-relation-contact-option class="draggable-contact-option" *ngFor="let option of collection" [model]="option"
80
+ cdkDrag [cdkDragStartDelay]="dragStartDelay"
81
+ (mousedown)="handleOptionMouseDown($event)"
82
+ (mouseup)="handleOptionMouseUp($event)"
83
+ (deleteClick)="deleteClick.emit($event)"
84
+ ></co-relation-contact-option>
85
+ </div>
86
+ `,
87
+ providers: [
88
+ { provide: CDK_DRAG_CONFIG, useValue: ɵ0 }
89
+ ],
90
+ encapsulation: ViewEncapsulation.None
91
+ },] }
92
+ ];
93
+ RelationContactOptionListComponent.propDecorators = {
94
+ dragDropDisabled: [{ type: Input }],
95
+ type: [{ type: Input }],
96
+ collection: [{ type: Input }],
97
+ deleteClick: [{ type: Output }],
98
+ showClass: [{ type: HostBinding, args: ['class.co-relation-contact-option-list',] }]
99
+ };
100
+ export { ɵ0 };
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tY29udGFjdC1vcHRpb24tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yZWxhdGlvbi9zcmMvbGliL2NvbXBvbmVudC9yZWxhdGlvbi1jb250YWN0LW9wdGlvbnMvcmVsYXRpb24tY29udGFjdC1vcHRpb24tbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdHLE9BQU8sRUFBQyxlQUFlLEVBQXFDLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTNHLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLGtCQUFrQixFQUFFLENBQUM7SUFDckIsK0JBQStCLEVBQUUsQ0FBQztJQUNsQyxNQUFNLEVBQUUsS0FBSztDQUNkLENBQUM7V0FvQnVDLFVBQVU7QUFJbkQsTUFBTSxPQUFPLGtDQUFrQztJQXRCL0M7UUF3QlMscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBTWxDLGVBQVUsR0FBb0IsRUFBRSxDQUFDO1FBR2pDLGdCQUFXLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO1FBRzdFLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFMUIsbUJBQWMsR0FBVyxHQUFHLENBQUM7UUFJN0Isc0JBQWlCLEdBQUcsQ0FBQyxJQUFhLEVBQUUsSUFBaUIsRUFBRSxFQUFFO1lBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFBO0lBZ0RILENBQUM7SUE5Q2MsVUFBVSxDQUFDLEtBQW1DOztZQUN6RCxJQUFJO2dCQUNGLE1BQU0sSUFBSSxHQUFXLEtBQUssQ0FBQyxhQUFhLENBQUM7Z0JBQ3pDLE1BQU0sRUFBRSxHQUFXLEtBQUssQ0FBQyxZQUFZLENBQUM7Z0JBQ3RDLElBQUksSUFBSSxLQUFLLEVBQUUsRUFBRTtvQkFDZixPQUFPO2lCQUNSO2dCQUNELDZCQUE2QjtnQkFDN0IsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzthQUM1QjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDbEI7UUFDSCxDQUFDO0tBQUE7SUFFRDs7O09BR0c7SUFDSSxxQkFBcUIsQ0FBQyxLQUFpQjtRQUM1QyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsSUFBSSxjQUFxQixDQUFDO1lBQzFCLElBQUksYUFBYSxJQUFJLFFBQVEsRUFBRTtnQkFDN0IsY0FBYyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQy9DLGNBQWMsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNuRDtpQkFBTSxJQUFJLE9BQU8sSUFBSSxNQUFNLEVBQUU7Z0JBQzVCLGNBQWMsR0FBRyxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQzlFO1lBQ0QsYUFBYTtZQUNiLGNBQWMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNuQyxhQUFhO1lBQ2IsY0FBYyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ25DLFFBQVEsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0sbUJBQW1CLENBQUMsS0FBaUI7UUFDMUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQy9DLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztTQUNqQztJQUNILENBQUM7OztZQTNGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlDQUFpQztnQkFDM0MsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztHQWNUO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxJQUFZLEVBQUM7aUJBQ2pEO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7K0JBRUUsS0FBSzttQkFHTCxLQUFLO3lCQUdMLEtBQUs7MEJBR0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsdUNBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbnRhY3RPcHRpb259IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9jb250YWN0LW9wdGlvbi5ibyc7XHJcbmltcG9ydCB7Q29tbXVuaWNhdGlvblR5cGV9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9lbnVtL2NvbW11bmljYXRpb24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHtDREtfRFJBR19DT05GSUcsIENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5fSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuXHJcbmNvbnN0IERyYWdDb25maWcgPSB7XHJcbiAgZHJhZ1N0YXJ0VGhyZXNob2xkOiAwLFxyXG4gIHBvaW50ZXJEaXJlY3Rpb25DaGFuZ2VUaHJlc2hvbGQ6IDUsXHJcbiAgekluZGV4OiAxMDAwMFxyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbi1saXN0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2ICNkcm9wTGlzdENvbnRhY3RPcHRpb25zIGNsYXNzPVwiY29udGFjdC1vcHRpb24td3JhcHBlciBkcmFnLWRyb3AtbGlzdFwiIGNka0Ryb3BMaXN0IGNka0Ryb3BMaXN0T3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiXHJcbiAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiZHJhZ0Ryb3BEaXNhYmxlZFwiXHJcbiAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJjb2xsZWN0aW9uXCJcclxuICAgICAgICAgICBbY2RrRHJvcExpc3RFbnRlclByZWRpY2F0ZV09XCJoYW5kbGVDYW5EcmFnRHJvcFwiXHJcbiAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJoYW5kbGVEcm9wKCRldmVudClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgICA8Y28tcmVsYXRpb24tY29udGFjdC1vcHRpb24gY2xhc3M9XCJkcmFnZ2FibGUtY29udGFjdC1vcHRpb25cIiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGNvbGxlY3Rpb25cIiBbbW9kZWxdPVwib3B0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZGtEcmFnIFtjZGtEcmFnU3RhcnREZWxheV09XCJkcmFnU3RhcnREZWxheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJoYW5kbGVPcHRpb25Nb3VzZURvd24oJGV2ZW50KVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZXVwKT1cImhhbmRsZU9wdGlvbk1vdXNlVXAoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZUNsaWNrKT1cImRlbGV0ZUNsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC9jby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtwcm92aWRlOiBDREtfRFJBR19DT05GSUcsIHVzZVZhbHVlOiBEcmFnQ29uZmlnfVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVsYXRpb25Db250YWN0T3B0aW9uTGlzdENvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZHJhZ0Ryb3BEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0eXBlOiBDb21tdW5pY2F0aW9uVHlwZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29sbGVjdGlvbjogQ29udGFjdE9wdGlvbltdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBkZWxldGVDbGljazogRXZlbnRFbWl0dGVyPENvbnRhY3RPcHRpb24+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb250YWN0T3B0aW9uPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uLWxpc3QnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgZHJhZ1N0YXJ0RGVsYXk6IG51bWJlciA9IDUwMDtcclxuXHJcbiAgcHJpdmF0ZSBfbW91c2VEb3duVGltZW91dDogYW55O1xyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2FuRHJhZ0Ryb3AgPSAoZHJhZzogQ2RrRHJhZywgZHJvcDogQ2RrRHJvcExpc3QpID0+IHtcclxuICAgIHJldHVybiAoZHJhZy5kYXRhLnR5cGUgPT09IHRoaXMudHlwZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlRHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8Q29udGFjdE9wdGlvbltdPik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgZnJvbTogbnVtYmVyID0gZXZlbnQucHJldmlvdXNJbmRleDtcclxuICAgICAgY29uc3QgdG86IG51bWJlciA9IGV2ZW50LmN1cnJlbnRJbmRleDtcclxuICAgICAgaWYgKGZyb20gPT09IHRvKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIHNldCBpdGVtcyBpbiBjb3JyZWN0IG9yZGVyXHJcbiAgICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmNvbGxlY3Rpb24sIGZyb20sIHRvKTtcclxuICAgICAgdGhpcy5fcmVBcnJhbmdlU2VxdWVuY2VzKCk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYWNrIHRvIG1ha2Ugc3VyZSB0aGF0IGRyYWdnZWQgaXRlbSBoYXMgdGhlIHJpZ2h0IGNzcyB3aGVuIG5vdCBtb3ZpbmcgdGhlIG1vdXNlXHJcbiAgICogQHBhcmFtIGV2ZW50XHJcbiAgICovXHJcbiAgcHVibGljIGhhbmRsZU9wdGlvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX21vdXNlRG93blRpbWVvdXQpO1xyXG4gICAgdGhpcy5fbW91c2VEb3duVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBsZXQgbW91c2VNb3ZlRXZlbnQ6IEV2ZW50O1xyXG4gICAgICBpZiAoXCJjcmVhdGVFdmVudFwiIGluIGRvY3VtZW50KSB7XHJcbiAgICAgICAgbW91c2VNb3ZlRXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudChcIkV2ZW50XCIpO1xyXG4gICAgICAgIG1vdXNlTW92ZUV2ZW50LmluaXRFdmVudCgnbW91c2Vtb3ZlJywgdHJ1ZSwgdHJ1ZSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoXCJFdmVudFwiIGluIHdpbmRvdykge1xyXG4gICAgICAgIG1vdXNlTW92ZUV2ZW50ID0gbmV3IEV2ZW50KCdtb3VzZW1vdmUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICBtb3VzZU1vdmVFdmVudC5wYWdlWCA9IGV2ZW50LnBhZ2VYO1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIG1vdXNlTW92ZUV2ZW50LnBhZ2VZID0gZXZlbnQucGFnZVk7XHJcbiAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobW91c2VNb3ZlRXZlbnQpO1xyXG4gICAgfSwgdGhpcy5kcmFnU3RhcnREZWxheSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlT3B0aW9uTW91c2VVcChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX21vdXNlRG93blRpbWVvdXQpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZUFycmFuZ2VTZXF1ZW5jZXMoKTogdm9pZCB7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY29sbGVjdGlvbi5sZW5ndGg7IGkrKykge1xyXG4gICAgICB0aGlzLmNvbGxlY3Rpb25baV0uc2VxdWVuY2UgPSBpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,100 +1,100 @@
1
- import { __awaiter } from "tslib";
2
- import { Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
3
- import { CommunicationType } from '@colijnit/relationapi/build/enum/communication-type.enum';
4
- import { Icon } from '../../enum/icon.enum';
5
- import { IconCacheService } from '../../service/icon-cache.service';
6
- import { ContactOption } from '@colijnit/relationapi/build/model/contact-option.bo';
7
- import { InputTextComponent } from '@colijnit/corecomponents_v12';
8
- import { RelationService } from '../../service/relation.service';
9
- export class RelationContactOptionComponent {
10
- constructor(iconCacheService, _relationService) {
11
- this.iconCacheService = iconCacheService;
12
- this._relationService = _relationService;
13
- this.icons = Icon;
14
- this.saveClick = new EventEmitter();
15
- this.deleteClick = new EventEmitter();
16
- this.showClass = true;
17
- this.iconType = Icon.Email;
18
- this.label = 'EMAIL';
19
- this.shouldFocus = false;
20
- this._type = CommunicationType.Email;
21
- }
22
- set child(content) {
23
- if (content) {
24
- this.input = content;
25
- this.input.commit = (value) => this.handleCommit(value);
26
- if (this.shouldFocus) {
27
- setTimeout(() => {
28
- this.input.requestFocus();
29
- });
30
- }
31
- }
32
- }
33
- set model(value) {
34
- this._model = value;
35
- if (this._model) {
36
- this.type = this._model.type;
37
- }
38
- }
39
- get model() {
40
- return this._model;
41
- }
42
- set type(value) {
43
- this._type = value;
44
- this._prepareType(this._type);
45
- }
46
- get type() {
47
- return this._type;
48
- }
49
- ngOnInit() {
50
- if (this.type && !this.model) {
51
- const newOption = new ContactOption();
52
- newOption.type = this.type;
53
- this.model = newOption;
54
- this.shouldFocus = true;
55
- }
56
- }
57
- handleCommit(value) {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- this.model.value = value;
60
- this.saveClick.next(this.model);
61
- return true;
62
- });
63
- }
64
- _prepareType(type) {
65
- if (type) {
66
- this.iconType = this._relationService.communicationTypeIcon.get(type);
67
- this.label = this._relationService.communicationTypeLabel.get(type);
68
- }
69
- }
70
- }
71
- RelationContactOptionComponent.decorators = [
72
- { type: Component, args: [{
73
- selector: 'co-relation-contact-option',
74
- template: `
75
- <div class="relation-contact-option-sequence" *ngIf="model.sequence !== null && model.sequence !== undefined"
76
- [textContent]="model.sequence"></div>
77
- <co-input-text #input
78
- [placeholder]="label | reLocalize"
79
- [model]="model.value"
80
- [leftIconData]="iconCacheService.getIcon(iconType)"
81
- [showSaveCancel]="true"
82
- ></co-input-text>
83
- <co-icon [iconData]="iconCacheService.getIcon(icons.TrashBin)" (click)="deleteClick.emit(model)" class="relation-contact-delete"></co-icon>
84
- `,
85
- encapsulation: ViewEncapsulation.None
86
- },] }
87
- ];
88
- RelationContactOptionComponent.ctorParameters = () => [
89
- { type: IconCacheService },
90
- { type: RelationService }
91
- ];
92
- RelationContactOptionComponent.propDecorators = {
93
- child: [{ type: ViewChild, args: ['input', { read: InputTextComponent },] }],
94
- model: [{ type: Input }],
95
- type: [{ type: Input }],
96
- saveClick: [{ type: Output }],
97
- deleteClick: [{ type: Output }],
98
- showClass: [{ type: HostBinding, args: ['class.co-relation-contact-option',] }]
99
- };
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tY29udGFjdC1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVsYXRpb24vc3JjL2xpYi9jb21wb25lbnQvcmVsYXRpb24tY29udGFjdC1vcHRpb25zL3JlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFDbEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBaUIvRCxNQUFNLE9BQU8sOEJBQThCO0lBc0R6QyxZQUNTLGdCQUFrQyxFQUNqQyxnQkFBaUM7UUFEbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBdkQzQixVQUFLLEdBQWdCLElBQUksQ0FBQztRQXFDbkMsY0FBUyxHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUczRSxnQkFBVyxHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUc3RSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRTFCLGFBQVEsR0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVCLFVBQUssR0FBVyxPQUFPLENBQUM7UUFFeEIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHNUIsVUFBSyxHQUFzQixpQkFBaUIsQ0FBQyxLQUFLLENBQUM7SUFNM0QsQ0FBQztJQXZERCxJQUFzRCxLQUFLLENBQUMsT0FBTztRQUNqRSxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUM1QixDQUFDLENBQUMsQ0FBQTthQUNIO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsSUFDVyxLQUFLLENBQUMsS0FBb0I7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQ1csSUFBSSxDQUFDLEtBQXdCO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQXlCRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUM1QixNQUFNLFNBQVMsR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNyRCxTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRVksWUFBWSxDQUFDLEtBQWE7O1lBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0tBQUE7SUFFTyxZQUFZLENBQUMsSUFBdUI7UUFDMUMsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JFO0lBQ0gsQ0FBQzs7O1lBL0ZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2dCQUN0QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7R0FVVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBbkJPLGdCQUFnQjtZQUdoQixlQUFlOzs7b0JBb0JwQixTQUFTLFNBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFO29CQVkvQyxLQUFLO21CQVlMLEtBQUs7d0JBVUwsTUFBTTswQkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbXVuaWNhdGlvblR5cGV9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9lbnVtL2NvbW11bmljYXRpb24tdHlwZS5lbnVtJztcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XG5pbXBvcnQge0NvbnRhY3RPcHRpb259IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9jb250YWN0LW9wdGlvbi5ibyc7XG5pbXBvcnQge0lucHV0VGV4dENvbXBvbmVudH0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XG5pbXBvcnQge1JlbGF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9yZWxhdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY28tcmVsYXRpb24tY29udGFjdC1vcHRpb24nLFxuICB0ZW1wbGF0ZTogYFxuICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uLXNlcXVlbmNlXCIgKm5nSWY9XCJtb2RlbC5zZXF1ZW5jZSAhPT0gbnVsbCAmJiBtb2RlbC5zZXF1ZW5jZSAhPT0gdW5kZWZpbmVkXCJcbiAgICAgICAgICAgW3RleHRDb250ZW50XT1cIm1vZGVsLnNlcXVlbmNlXCI+PC9kaXY+XG4gICAgICA8Y28taW5wdXQtdGV4dCAjaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJsYWJlbCB8IHJlTG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cIm1vZGVsLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgIFtsZWZ0SWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25UeXBlKVwiXG4gICAgICAgICAgICAgICAgICAgICBbc2hvd1NhdmVDYW5jZWxdPVwidHJ1ZVwiXG4gICAgICA+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5UcmFzaEJpbilcIiAoY2xpY2spPVwiZGVsZXRlQ2xpY2suZW1pdChtb2RlbClcIiBjbGFzcz1cInJlbGF0aW9uLWNvbnRhY3QtZGVsZXRlXCI+PC9jby1pY29uPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uQ29udGFjdE9wdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyByZWFkOiBJbnB1dFRleHRDb21wb25lbnQgfSkgc2V0IGNoaWxkKGNvbnRlbnQpIHtcbiAgICBpZiAoY29udGVudCkge1xuICAgICAgdGhpcy5pbnB1dCA9IGNvbnRlbnQ7XG4gICAgICB0aGlzLmlucHV0LmNvbW1pdCA9ICh2YWx1ZSkgPT4gdGhpcy5oYW5kbGVDb21taXQodmFsdWUpO1xuICAgICAgaWYgKHRoaXMuc2hvdWxkRm9jdXMpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pbnB1dC5yZXF1ZXN0Rm9jdXMoKTtcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1vZGVsKHZhbHVlOiBDb250YWN0T3B0aW9uKSB7XG4gICAgdGhpcy5fbW9kZWwgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5fbW9kZWwpIHtcbiAgICAgIHRoaXMudHlwZSA9IHRoaXMuX21vZGVsLnR5cGU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBtb2RlbCgpOiBDb250YWN0T3B0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fbW9kZWw7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHR5cGUodmFsdWU6IENvbW11bmljYXRpb25UeXBlKSB7XG4gICAgdGhpcy5fdHlwZSA9IHZhbHVlO1xuICAgIHRoaXMuX3ByZXBhcmVUeXBlKHRoaXMuX3R5cGUpO1xuICB9XG5cbiAgcHVibGljIGdldCB0eXBlKCk6IENvbW11bmljYXRpb25UeXBlIHtcbiAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2F2ZUNsaWNrOiBFdmVudEVtaXR0ZXI8Q29udGFjdE9wdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPENvbnRhY3RPcHRpb24+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkZWxldGVDbGljazogRXZlbnRFbWl0dGVyPENvbnRhY3RPcHRpb24+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb250YWN0T3B0aW9uPigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tcmVsYXRpb24tY29udGFjdC1vcHRpb24nKVxuICBwdWJsaWMgc2hvd0NsYXNzOiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgaWNvblR5cGU6IEljb24gPSBJY29uLkVtYWlsO1xuICBwdWJsaWMgbGFiZWw6IHN0cmluZyA9ICdFTUFJTCc7XG4gIHB1YmxpYyBpbnB1dDogSW5wdXRUZXh0Q29tcG9uZW50O1xuICBwdWJsaWMgc2hvdWxkRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9tb2RlbDogQ29udGFjdE9wdGlvbjtcbiAgcHJpdmF0ZSBfdHlwZTogQ29tbXVuaWNhdGlvblR5cGUgPSBDb21tdW5pY2F0aW9uVHlwZS5FbWFpbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIF9yZWxhdGlvblNlcnZpY2U6IFJlbGF0aW9uU2VydmljZVxuICApIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnR5cGUgJiYgIXRoaXMubW9kZWwpIHtcbiAgICAgIGNvbnN0IG5ld09wdGlvbjogQ29udGFjdE9wdGlvbiA9IG5ldyBDb250YWN0T3B0aW9uKCk7XG4gICAgICBuZXdPcHRpb24udHlwZSA9IHRoaXMudHlwZTtcbiAgICAgIHRoaXMubW9kZWwgPSBuZXdPcHRpb247XG4gICAgICB0aGlzLnNob3VsZEZvY3VzID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQ29tbWl0KHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0aGlzLm1vZGVsLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5zYXZlQ2xpY2submV4dCh0aGlzLm1vZGVsKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX3ByZXBhcmVUeXBlKHR5cGU6IENvbW11bmljYXRpb25UeXBlKTogdm9pZCB7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgIHRoaXMuaWNvblR5cGUgPSB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVJY29uLmdldCh0eXBlKTtcbiAgICAgIHRoaXMubGFiZWwgPSB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVMYWJlbC5nZXQodHlwZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
1
+ import { __awaiter } from "tslib";
2
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
3
+ import { CommunicationType } from '@colijnit/relationapi/build/enum/communication-type.enum';
4
+ import { Icon } from '../../enum/icon.enum';
5
+ import { IconCacheService } from '../../service/icon-cache.service';
6
+ import { ContactOption } from '@colijnit/relationapi/build/model/contact-option.bo';
7
+ import { InputTextComponent } from '@colijnit/corecomponents_v12';
8
+ import { RelationService } from '../../service/relation.service';
9
+ export class RelationContactOptionComponent {
10
+ constructor(iconCacheService, _relationService) {
11
+ this.iconCacheService = iconCacheService;
12
+ this._relationService = _relationService;
13
+ this.icons = Icon;
14
+ this.saveClick = new EventEmitter();
15
+ this.deleteClick = new EventEmitter();
16
+ this.showClass = true;
17
+ this.iconType = Icon.Email;
18
+ this.label = 'EMAIL';
19
+ this.shouldFocus = false;
20
+ this._type = CommunicationType.Email;
21
+ }
22
+ set child(content) {
23
+ if (content) {
24
+ this.input = content;
25
+ this.input.commit = (value) => this.handleCommit(value);
26
+ if (this.shouldFocus) {
27
+ setTimeout(() => {
28
+ this.input.requestFocus();
29
+ });
30
+ }
31
+ }
32
+ }
33
+ set model(value) {
34
+ this._model = value;
35
+ if (this._model) {
36
+ this.type = this._model.type;
37
+ }
38
+ }
39
+ get model() {
40
+ return this._model;
41
+ }
42
+ set type(value) {
43
+ this._type = value;
44
+ this._prepareType(this._type);
45
+ }
46
+ get type() {
47
+ return this._type;
48
+ }
49
+ ngOnInit() {
50
+ if (this.type && !this.model) {
51
+ const newOption = new ContactOption();
52
+ newOption.type = this.type;
53
+ this.model = newOption;
54
+ this.shouldFocus = true;
55
+ }
56
+ }
57
+ handleCommit(value) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ this.model.value = value;
60
+ this.saveClick.next(this.model);
61
+ return true;
62
+ });
63
+ }
64
+ _prepareType(type) {
65
+ if (type) {
66
+ this.iconType = this._relationService.communicationTypeIcon.get(type);
67
+ this.label = this._relationService.communicationTypeLabel.get(type);
68
+ }
69
+ }
70
+ }
71
+ RelationContactOptionComponent.decorators = [
72
+ { type: Component, args: [{
73
+ selector: 'co-relation-contact-option',
74
+ template: `
75
+ <div class="relation-contact-option-sequence" *ngIf="model.sequence !== null && model.sequence !== undefined"
76
+ [textContent]="model.sequence"></div>
77
+ <co-input-text #input
78
+ [placeholder]="label | reLocalize"
79
+ [model]="model.value"
80
+ [leftIconData]="iconCacheService.getIcon(iconType)"
81
+ [showSaveCancel]="true"
82
+ ></co-input-text>
83
+ <co-icon [iconData]="iconCacheService.getIcon(icons.TrashBin)" (click)="deleteClick.emit(model)"></co-icon>
84
+ `,
85
+ encapsulation: ViewEncapsulation.None
86
+ },] }
87
+ ];
88
+ RelationContactOptionComponent.ctorParameters = () => [
89
+ { type: IconCacheService },
90
+ { type: RelationService }
91
+ ];
92
+ RelationContactOptionComponent.propDecorators = {
93
+ child: [{ type: ViewChild, args: ['input', { read: InputTextComponent },] }],
94
+ model: [{ type: Input }],
95
+ type: [{ type: Input }],
96
+ saveClick: [{ type: Output }],
97
+ deleteClick: [{ type: Output }],
98
+ showClass: [{ type: HostBinding, args: ['class.co-relation-contact-option',] }]
99
+ };
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tY29udGFjdC1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVsYXRpb24vc3JjL2xpYi9jb21wb25lbnQvcmVsYXRpb24tY29udGFjdC1vcHRpb25zL3JlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFDbEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBaUIvRCxNQUFNLE9BQU8sOEJBQThCO0lBc0R6QyxZQUNTLGdCQUFrQyxFQUNqQyxnQkFBaUM7UUFEbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBdkQzQixVQUFLLEdBQWdCLElBQUksQ0FBQztRQXFDbkMsY0FBUyxHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUczRSxnQkFBVyxHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUc3RSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRTFCLGFBQVEsR0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVCLFVBQUssR0FBVyxPQUFPLENBQUM7UUFFeEIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHNUIsVUFBSyxHQUFzQixpQkFBaUIsQ0FBQyxLQUFLLENBQUM7SUFNM0QsQ0FBQztJQXZERCxJQUFzRCxLQUFLLENBQUMsT0FBTztRQUNqRSxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUM1QixDQUFDLENBQUMsQ0FBQTthQUNIO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsSUFDVyxLQUFLLENBQUMsS0FBb0I7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQ1csSUFBSSxDQUFDLEtBQXdCO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQXlCRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUM1QixNQUFNLFNBQVMsR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNyRCxTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRVksWUFBWSxDQUFDLEtBQWE7O1lBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0tBQUE7SUFFTyxZQUFZLENBQUMsSUFBdUI7UUFDMUMsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JFO0lBQ0gsQ0FBQzs7O1lBL0ZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2dCQUN0QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7R0FVVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBbkJPLGdCQUFnQjtZQUdoQixlQUFlOzs7b0JBb0JwQixTQUFTLFNBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFO29CQVkvQyxLQUFLO21CQVlMLEtBQUs7d0JBVUwsTUFBTTswQkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tdW5pY2F0aW9uVHlwZX0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vY29tbXVuaWNhdGlvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7Q29udGFjdE9wdGlvbn0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL2NvbnRhY3Qtb3B0aW9uLmJvJztcclxuaW1wb3J0IHtJbnB1dFRleHRDb21wb25lbnR9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge1JlbGF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9yZWxhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tcmVsYXRpb24tY29udGFjdC1vcHRpb24nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGlvbi1jb250YWN0LW9wdGlvbi1zZXF1ZW5jZVwiICpuZ0lmPVwibW9kZWwuc2VxdWVuY2UgIT09IG51bGwgJiYgbW9kZWwuc2VxdWVuY2UgIT09IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgW3RleHRDb250ZW50XT1cIm1vZGVsLnNlcXVlbmNlXCI+PC9kaXY+XHJcbiAgICAgIDxjby1pbnB1dC10ZXh0ICNpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwibGFiZWwgfCByZUxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cIm1vZGVsLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2xlZnRJY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvblR5cGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgW3Nob3dTYXZlQ2FuY2VsXT1cInRydWVcIlxyXG4gICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlRyYXNoQmluKVwiIChjbGljayk9XCJkZWxldGVDbGljay5lbWl0KG1vZGVsKVwiPjwvY28taWNvbj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uQ29udGFjdE9wdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyByZWFkOiBJbnB1dFRleHRDb21wb25lbnQgfSkgc2V0IGNoaWxkKGNvbnRlbnQpIHtcclxuICAgIGlmIChjb250ZW50KSB7XHJcbiAgICAgIHRoaXMuaW5wdXQgPSBjb250ZW50O1xyXG4gICAgICB0aGlzLmlucHV0LmNvbW1pdCA9ICh2YWx1ZSkgPT4gdGhpcy5oYW5kbGVDb21taXQodmFsdWUpO1xyXG4gICAgICBpZiAodGhpcy5zaG91bGRGb2N1cykge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pbnB1dC5yZXF1ZXN0Rm9jdXMoKTtcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgbW9kZWwodmFsdWU6IENvbnRhY3RPcHRpb24pIHtcclxuICAgIHRoaXMuX21vZGVsID0gdmFsdWU7XHJcbiAgICBpZiAodGhpcy5fbW9kZWwpIHtcclxuICAgICAgdGhpcy50eXBlID0gdGhpcy5fbW9kZWwudHlwZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgbW9kZWwoKTogQ29udGFjdE9wdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fbW9kZWw7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgdHlwZSh2YWx1ZTogQ29tbXVuaWNhdGlvblR5cGUpIHtcclxuICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcclxuICAgIHRoaXMuX3ByZXBhcmVUeXBlKHRoaXMuX3R5cGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB0eXBlKCk6IENvbW11bmljYXRpb25UeXBlIHtcclxuICAgIHJldHVybiB0aGlzLl90eXBlO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNhdmVDbGljazogRXZlbnRFbWl0dGVyPENvbnRhY3RPcHRpb24+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb250YWN0T3B0aW9uPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZGVsZXRlQ2xpY2s6IEV2ZW50RW1pdHRlcjxDb250YWN0T3B0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29udGFjdE9wdGlvbj4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbicpXHJcbiAgcHVibGljIHNob3dDbGFzczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBpY29uVHlwZTogSWNvbiA9IEljb24uRW1haWw7XHJcbiAgcHVibGljIGxhYmVsOiBzdHJpbmcgPSAnRU1BSUwnO1xyXG4gIHB1YmxpYyBpbnB1dDogSW5wdXRUZXh0Q29tcG9uZW50O1xyXG4gIHB1YmxpYyBzaG91bGRGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF9tb2RlbDogQ29udGFjdE9wdGlvbjtcclxuICBwcml2YXRlIF90eXBlOiBDb21tdW5pY2F0aW9uVHlwZSA9IENvbW11bmljYXRpb25UeXBlLkVtYWlsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcmVsYXRpb25TZXJ2aWNlOiBSZWxhdGlvblNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMudHlwZSAmJiAhdGhpcy5tb2RlbCkge1xyXG4gICAgICBjb25zdCBuZXdPcHRpb246IENvbnRhY3RPcHRpb24gPSBuZXcgQ29udGFjdE9wdGlvbigpO1xyXG4gICAgICBuZXdPcHRpb24udHlwZSA9IHRoaXMudHlwZTtcclxuICAgICAgdGhpcy5tb2RlbCA9IG5ld09wdGlvbjtcclxuICAgICAgdGhpcy5zaG91bGRGb2N1cyA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQ29tbWl0KHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHRoaXMubW9kZWwudmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuc2F2ZUNsaWNrLm5leHQodGhpcy5tb2RlbCk7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVUeXBlKHR5cGU6IENvbW11bmljYXRpb25UeXBlKTogdm9pZCB7XHJcbiAgICBpZiAodHlwZSkge1xyXG4gICAgICB0aGlzLmljb25UeXBlID0gdGhpcy5fcmVsYXRpb25TZXJ2aWNlLmNvbW11bmljYXRpb25UeXBlSWNvbi5nZXQodHlwZSk7XHJcbiAgICAgIHRoaXMubGFiZWwgPSB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVMYWJlbC5nZXQodHlwZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==