@datarailsshared/datarailsshared 1.3.30 → 1.3.33

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 (127) hide show
  1. package/_datarailsshared.styles.css +3 -3
  2. package/assets/styles/_styles.scss +2 -2
  3. package/assets/styles/img/default-avatar.svg +5 -5
  4. package/bundles/datarailsshared-datarailsshared.umd.js +3715 -3345
  5. package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -1
  6. package/datarailsshared-datarailsshared-1.3.33.tgz +0 -0
  7. package/datarailsshared-datarailsshared.d.ts +7 -7
  8. package/datarailsshared-datarailsshared.metadata.json +1 -1
  9. package/esm2015/datarailsshared-datarailsshared.js +7 -7
  10. package/esm2015/lib/date-tags/date-tag.component.js +70 -70
  11. package/esm2015/lib/date-tags/date-tag.module.js +50 -50
  12. package/esm2015/lib/date-tags/day-tag/day-tag.component.js +81 -81
  13. package/esm2015/lib/date-tags/forecast-tag/forecast-tag.component.js +143 -143
  14. package/esm2015/lib/date-tags/month-tag/month-tag.component.js +87 -87
  15. package/esm2015/lib/date-tags/quarter-tag/quarter-tag.component.js +101 -101
  16. package/esm2015/lib/date-tags/week-tag/week-tag.component.js +124 -124
  17. package/esm2015/lib/date-tags/year-tag/year-tag.component.js +93 -93
  18. package/esm2015/lib/dr-accordion/accordion-item-body.component.js +57 -0
  19. package/esm2015/lib/dr-accordion/accordion-item-header.component.js +79 -0
  20. package/esm2015/lib/dr-accordion/accordion-item.component.js +123 -0
  21. package/esm2015/lib/dr-accordion/accordion.component.js +43 -0
  22. package/esm2015/lib/dr-accordion/accordion.module.js +23 -0
  23. package/esm2015/lib/dr-avatar/dr-avatar.component.js +42 -42
  24. package/esm2015/lib/dr-avatar/dr-avatar.module.js +26 -26
  25. package/esm2015/lib/dr-avatar/dr-avatar.pipe.js +15 -15
  26. package/esm2015/lib/dr-dropdown/dr-dropdown-item-show.pipe.js +12 -12
  27. package/esm2015/lib/dr-dropdown/dr-dropdown-position.directive.js +89 -89
  28. package/esm2015/lib/dr-dropdown/dr-dropdown.component.js +103 -103
  29. package/esm2015/lib/dr-dropdown/dr-dropdown.directive.js +75 -75
  30. package/esm2015/lib/dr-dropdown/dr-dropdown.module.js +34 -34
  31. package/esm2015/lib/dr-dropdown/dr-dropdown.service.js +24 -24
  32. package/esm2015/lib/dr-inputs/button/button.component.js +80 -79
  33. package/esm2015/lib/dr-inputs/checkbox/checkbox.component.js +63 -63
  34. package/esm2015/lib/dr-inputs/dr-date-picker/dr-date-picker-format.directive.js +47 -47
  35. package/esm2015/lib/dr-inputs/dr-date-picker/dr-date-picker.component.js +131 -131
  36. package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +181 -166
  37. package/esm2015/lib/dr-inputs/dr-inputs.module.js +43 -43
  38. package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +87 -87
  39. package/esm2015/lib/dr-inputs/dr-toggle/dr-toggle.component.js +64 -64
  40. package/esm2015/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.js +52 -52
  41. package/esm2015/lib/dr-inputs/radio-button/radio-button.component.js +64 -64
  42. package/esm2015/lib/dr-inputs/radio-button/radio-group.component.js +164 -164
  43. package/esm2015/lib/dr-popover/dr-popover-ref.js +20 -20
  44. package/esm2015/lib/dr-popover/dr-popover.component.js +77 -77
  45. package/esm2015/lib/dr-popover/dr-popover.directive.js +72 -72
  46. package/esm2015/lib/dr-popover/dr-popover.module.js +23 -23
  47. package/esm2015/lib/dr-popover/dr-popover.service.js +102 -102
  48. package/esm2015/lib/dr-spinner/dr-spinner.component.js +29 -29
  49. package/esm2015/lib/dr-spinner/dr-spinner.directive.js +53 -53
  50. package/esm2015/lib/dr-spinner/dr-spinner.module.js +18 -18
  51. package/esm2015/lib/dr-tabs/dr-tab.component.js +23 -23
  52. package/esm2015/lib/dr-tabs/dr-tabs.component.js +28 -27
  53. package/esm2015/lib/dr-tabs/dr-tabs.module.js +30 -30
  54. package/esm2015/lib/dr-tags/dr-tag.component.js +54 -54
  55. package/esm2015/lib/dr-tags/dr-tag.module.js +22 -22
  56. package/esm2015/lib/dr-tooltip/dr-tooltip.component.js +30 -30
  57. package/esm2015/lib/dr-tooltip/dr-tooltip.directive.js +102 -102
  58. package/esm2015/lib/dr-tooltip/dr-tooltip.module.js +23 -23
  59. package/esm2015/lib/list-tags/list-tag.component.js +41 -41
  60. package/esm2015/lib/list-tags/list-tag.module.js +29 -29
  61. package/esm2015/lib/models/constants.js +97 -97
  62. package/esm2015/lib/models/datePicker.js +37 -37
  63. package/esm2015/lib/models/dropdown.js +2 -2
  64. package/esm2015/lib/models/popover.js +27 -27
  65. package/esm2015/lib/models/serverTags.js +2 -2
  66. package/esm2015/public-api.js +55 -50
  67. package/fesm2015/datarailsshared-datarailsshared.js +3099 -2779
  68. package/fesm2015/datarailsshared-datarailsshared.js.map +1 -1
  69. package/lib/date-tags/date-tag.component.d.ts +27 -27
  70. package/lib/date-tags/date-tag.module.d.ts +4 -4
  71. package/lib/date-tags/day-tag/day-tag.component.d.ts +12 -12
  72. package/lib/date-tags/forecast-tag/forecast-tag.component.d.ts +21 -21
  73. package/lib/date-tags/month-tag/month-tag.component.d.ts +14 -14
  74. package/lib/date-tags/quarter-tag/quarter-tag.component.d.ts +17 -17
  75. package/lib/date-tags/week-tag/week-tag.component.d.ts +19 -19
  76. package/lib/date-tags/year-tag/year-tag.component.d.ts +14 -14
  77. package/lib/dr-accordion/accordion-item-body.component.d.ts +11 -0
  78. package/lib/dr-accordion/accordion-item-header.component.d.ts +16 -0
  79. package/lib/dr-accordion/accordion-item.component.d.ts +53 -0
  80. package/lib/dr-accordion/accordion.component.d.ts +19 -0
  81. package/lib/dr-accordion/accordion.module.d.ts +2 -0
  82. package/lib/dr-avatar/dr-avatar.component.d.ts +10 -10
  83. package/lib/dr-avatar/dr-avatar.module.d.ts +2 -2
  84. package/lib/dr-avatar/dr-avatar.pipe.d.ts +4 -4
  85. package/lib/dr-dropdown/dr-dropdown-item-show.pipe.d.ts +5 -5
  86. package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +11 -11
  87. package/lib/dr-dropdown/dr-dropdown.component.d.ts +23 -23
  88. package/lib/dr-dropdown/dr-dropdown.directive.d.ts +19 -19
  89. package/lib/dr-dropdown/dr-dropdown.module.d.ts +2 -2
  90. package/lib/dr-dropdown/dr-dropdown.service.d.ts +11 -11
  91. package/lib/dr-inputs/button/button.component.d.ts +21 -20
  92. package/lib/dr-inputs/checkbox/checkbox.component.d.ts +20 -20
  93. package/lib/dr-inputs/dr-date-picker/dr-date-picker-format.directive.d.ts +10 -10
  94. package/lib/dr-inputs/dr-date-picker/dr-date-picker.component.d.ts +28 -28
  95. package/lib/dr-inputs/dr-input/dr-input.component.d.ts +55 -53
  96. package/lib/dr-inputs/dr-inputs.module.d.ts +2 -2
  97. package/lib/dr-inputs/dr-select/dr-select.component.d.ts +36 -36
  98. package/lib/dr-inputs/dr-toggle/dr-toggle.component.d.ts +23 -23
  99. package/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.d.ts +17 -17
  100. package/lib/dr-inputs/radio-button/radio-button.component.d.ts +21 -21
  101. package/lib/dr-inputs/radio-button/radio-group.component.d.ts +39 -39
  102. package/lib/dr-popover/dr-popover-ref.d.ts +16 -16
  103. package/lib/dr-popover/dr-popover.component.d.ts +26 -26
  104. package/lib/dr-popover/dr-popover.directive.d.ts +26 -26
  105. package/lib/dr-popover/dr-popover.module.d.ts +2 -2
  106. package/lib/dr-popover/dr-popover.service.d.ts +17 -17
  107. package/lib/dr-spinner/dr-spinner.component.d.ts +10 -10
  108. package/lib/dr-spinner/dr-spinner.directive.d.ts +15 -15
  109. package/lib/dr-spinner/dr-spinner.module.d.ts +2 -2
  110. package/lib/dr-tabs/dr-tab.component.d.ts +8 -8
  111. package/lib/dr-tabs/dr-tabs.component.d.ts +11 -10
  112. package/lib/dr-tabs/dr-tabs.module.d.ts +2 -2
  113. package/lib/dr-tags/dr-tag.component.d.ts +15 -15
  114. package/lib/dr-tags/dr-tag.module.d.ts +2 -2
  115. package/lib/dr-tooltip/dr-tooltip.component.d.ts +16 -16
  116. package/lib/dr-tooltip/dr-tooltip.directive.d.ts +23 -23
  117. package/lib/dr-tooltip/dr-tooltip.module.d.ts +2 -2
  118. package/lib/list-tags/list-tag.component.d.ts +14 -14
  119. package/lib/list-tags/list-tag.module.d.ts +2 -2
  120. package/lib/models/constants.d.ts +87 -87
  121. package/lib/models/datePicker.d.ts +21 -21
  122. package/lib/models/dropdown.d.ts +47 -47
  123. package/lib/models/popover.d.ts +32 -32
  124. package/lib/models/serverTags.d.ts +28 -28
  125. package/package.json +1 -1
  126. package/public-api.d.ts +54 -49
  127. package/datarailsshared-datarailsshared-1.3.30.tgz +0 -0
@@ -1,42 +1,42 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
- export class DrAvatarComponent {
3
- constructor() {
4
- this.warning = false;
5
- this.userClicked = new EventEmitter();
6
- this.parsedUsers = [];
7
- }
8
- set users(users) {
9
- if (users) {
10
- this.parsedUsers = Array.isArray(users) ? users : [users];
11
- this.parsedUsers.forEach((user, index) => {
12
- if (!user.colorNumber) {
13
- user.colorNumber = index % 5;
14
- }
15
- });
16
- }
17
- }
18
- getFirstUsers() {
19
- return this.parsedUsers.slice(0, 2);
20
- }
21
- getLastUsers() {
22
- if (this.parsedUsers.length > 2) {
23
- return this.parsedUsers.slice(2, this.parsedUsers.length - 1);
24
- }
25
- return [];
26
- }
27
- }
28
- DrAvatarComponent.decorators = [
29
- { type: Component, args: [{
30
- selector: 'dr-avatar',
31
- template: "<div class=\"users-section\">\n <div *ngIf=\"!parsedUsers.length\"\n class=\"users-section__default\">\n </div>\n\n <div *ngFor=\"let user of getFirstUsers()\"\n class=\"users-section__user\"\n [class]=\"'icon-' + user.colorNumber + ' ' + user.status\"\n (click)=\"userClicked.emit()\"\n [matTooltip]=\"user | drAvatar\"\n [matTooltipPosition]=\"'below'\">\n {{user | drAvatar: 'initials'}}\n </div>\n\n <div *ngIf=\"parsedUsers.length > 2\"\n class=\"users-section__user icon-2\"\n [drTooltip]=\"usersTemplate\"\n [drTooltipPosition]=\"'bottom'\">\n {{getLastUsers().length}}\n </div>\n</div>\n\n<ng-template #usersTemplate>\n <div *ngFor=\"let user of getLastUsers()\" class=\"users-popover-item\">\n <div class=\"users-section__user\"\n (click)=\"userClicked.emit()\"\n [class]=\"user.class\">\n {{user | drAvatar: 'initials'}}\n </div>\n <span class=\"username\">\n {{user | drAvatar}}\n </span>\n </div>\n</ng-template>\n",
32
- changeDetection: ChangeDetectionStrategy.OnPush,
33
- styles: [":host{width:auto}.users-section{display:flex;height:28px}.users-section__default{display:flex;height:28px;width:28px;border-radius:14px;background:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect width%3D%2224%22 height%3D%2224%22 rx%3D%2212%22 fill%3D%22%23E5E6EA%22%2F%3E%3Cpath fill-rule%3D%22evenodd%22 clip-rule%3D%22evenodd%22 d%3D%22M15 9.75C15 11.4069 13.6569 12.75 12 12.75C10.3431 12.75 9 11.4069 9 9.75C9 8.09315 10.3431 6.75 12 6.75C13.6569 6.75 15 8.09315 15 9.75ZM13.875 9.75C13.875 10.7855 13.0355 11.625 12 11.625C10.9645 11.625 10.125 10.7855 10.125 9.75C10.125 8.71447 10.9645 7.875 12 7.875C13.0355 7.875 13.875 8.71447 13.875 9.75Z%22 fill%3D%22%2351566F%22%2F%3E%3Cpath d%3D%22M15.9968 16.7631C15.5425 15.3973 14.0368 14.25 12 14.25C9.9632 14.25 8.45748 15.3973 8.00319 16.7631C7.91242 17.0359 7.67416 17.25 7.38657 17.25C7.04536 17.25 6.77507 16.9539 6.86275 16.6241C7.39546 14.6206 9.49327 13.125 12 13.125C14.5067 13.125 16.6045 14.6206 17.1373 16.6241C17.2249 16.9539 16.9546 17.25 16.6134 17.25C16.3259 17.25 16.0876 17.0359 15.9968 16.7631Z%22 fill%3D%22%2351566F%22%2F%3E%3C%2Fsvg%3E\") no-repeat;background-size:cover}.users-popover-item{display:flex;align-items:center;margin:12px}.users-popover-item .username{color:#51566f;font-size:14px}.users-popover-item .users-section__user{margin-right:8px}.users-section__user{position:relative;display:flex;justify-content:center;align-items:center;height:28px;width:28px;border-radius:14px;background:red;color:#fff;font-size:12px}.users-section__user.icon-0{background-color:#7b61ff}.users-section__user.icon-1{background-color:#21b8f1}.users-section__user.icon-2{background-color:#2969b0}.users-section__user.icon-3{background-color:#51566f}.users-section__user.icon-4{background-color:#0061ff}.users-section__user:hover{cursor:pointer}.users-section__user:not(:first-child){margin-left:4px}.users-section__user.online:after,.users-section__user.offline:after,.users-section__user.warning:after{content:\"\";display:flex;width:8px;height:8px;position:absolute;border-radius:4px;top:-2px;right:0}.users-section__user.online:after{background:#03A678}.users-section__user.offline:after{background:#DE2833}.users-section__user.warning:after{background:#FDA014}\n"]
34
- },] }
35
- ];
36
- DrAvatarComponent.ctorParameters = () => [];
37
- DrAvatarComponent.propDecorators = {
38
- users: [{ type: Input }],
39
- warning: [{ type: Input }],
40
- userClicked: [{ type: Output }]
41
- };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWF2YXRhci9kci1hdmF0YXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBUTFILE1BQU0sT0FBTyxpQkFBaUI7SUFjNUI7UUFIUyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3hCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbkUsZ0JBQVcsR0FBVSxFQUFFLENBQUM7SUFFeEIsQ0FBQztJQWRELElBQWEsS0FBSyxDQUFDLEtBQXFCO1FBQ3RDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO29CQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7aUJBQzlCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFPRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMvRDtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7O1lBaENGLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsV0FBVztnQkFDckIscW1DQUF1QztnQkFFdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEOzs7O29CQUVFLEtBQUs7c0JBVUwsS0FBSzswQkFDTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1hdmF0YXInLFxuICAgIHRlbXBsYXRlVXJsOiAnZHItYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnZHItYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRHJBdmF0YXJDb21wb25lbnQge1xuICBASW5wdXQoKSBzZXQgdXNlcnModXNlcnM6IGFueVtdIHwgb2JqZWN0KSB7XG4gICAgaWYgKHVzZXJzKSB7XG4gICAgICB0aGlzLnBhcnNlZFVzZXJzID0gQXJyYXkuaXNBcnJheSh1c2VycykgPyB1c2VycyA6IFt1c2Vyc107XG4gICAgICB0aGlzLnBhcnNlZFVzZXJzLmZvckVhY2goKHVzZXIsIGluZGV4KSA9PiB7XG4gICAgICAgIGlmICghdXNlci5jb2xvck51bWJlcikge1xuICAgICAgICAgIHVzZXIuY29sb3JOdW1iZXIgPSBpbmRleCAlIDU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKSB3YXJuaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSB1c2VyQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgcGFyc2VkVXNlcnM6IGFueVtdID0gW107XG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgZ2V0Rmlyc3RVc2VycygpOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VkVXNlcnMuc2xpY2UoMCwgMik7XG4gIH1cblxuICBnZXRMYXN0VXNlcnMoKTogYW55W10ge1xuICAgIGlmICh0aGlzLnBhcnNlZFVzZXJzLmxlbmd0aCA+IDIpIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcnNlZFVzZXJzLnNsaWNlKDIsIHRoaXMucGFyc2VkVXNlcnMubGVuZ3RoIC0gMSk7XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfVxufVxuIl19
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ export class DrAvatarComponent {
3
+ constructor() {
4
+ this.warning = false;
5
+ this.userClicked = new EventEmitter();
6
+ this.parsedUsers = [];
7
+ }
8
+ set users(users) {
9
+ if (users) {
10
+ this.parsedUsers = Array.isArray(users) ? users : [users];
11
+ this.parsedUsers.forEach((user, index) => {
12
+ if (!user.colorNumber) {
13
+ user.colorNumber = index % 5;
14
+ }
15
+ });
16
+ }
17
+ }
18
+ getFirstUsers() {
19
+ return this.parsedUsers.slice(0, 2);
20
+ }
21
+ getLastUsers() {
22
+ if (this.parsedUsers.length > 2) {
23
+ return this.parsedUsers.slice(2, this.parsedUsers.length - 1);
24
+ }
25
+ return [];
26
+ }
27
+ }
28
+ DrAvatarComponent.decorators = [
29
+ { type: Component, args: [{
30
+ selector: 'dr-avatar',
31
+ template: "<div class=\"users-section\">\r\n <div *ngIf=\"!parsedUsers.length\"\r\n class=\"users-section__default\">\r\n </div>\r\n\r\n <div *ngFor=\"let user of getFirstUsers()\"\r\n class=\"users-section__user\"\r\n [class]=\"'icon-' + user.colorNumber + ' ' + user.status\"\r\n (click)=\"userClicked.emit()\"\r\n [matTooltip]=\"user | drAvatar\"\r\n [matTooltipPosition]=\"'below'\">\r\n {{user | drAvatar: 'initials'}}\r\n </div>\r\n\r\n <div *ngIf=\"parsedUsers.length > 2\"\r\n class=\"users-section__user icon-2\"\r\n [drTooltip]=\"usersTemplate\"\r\n [drTooltipPosition]=\"'bottom'\">\r\n {{getLastUsers().length}}\r\n </div>\r\n</div>\r\n\r\n<ng-template #usersTemplate>\r\n <div *ngFor=\"let user of getLastUsers()\" class=\"users-popover-item\">\r\n <div class=\"users-section__user\"\r\n (click)=\"userClicked.emit()\"\r\n [class]=\"user.class\">\r\n {{user | drAvatar: 'initials'}}\r\n </div>\r\n <span class=\"username\">\r\n {{user | drAvatar}}\r\n </span>\r\n </div>\r\n</ng-template>\r\n",
32
+ changeDetection: ChangeDetectionStrategy.OnPush,
33
+ styles: [":host{width:auto}.users-section{display:flex;height:28px}.users-section__default{display:flex;height:28px;width:28px;border-radius:14px;background:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Crect width%3D%2224%22 height%3D%2224%22 rx%3D%2212%22 fill%3D%22%23E5E6EA%22%2F%3E%0D%3Cpath fill-rule%3D%22evenodd%22 clip-rule%3D%22evenodd%22 d%3D%22M15 9.75C15 11.4069 13.6569 12.75 12 12.75C10.3431 12.75 9 11.4069 9 9.75C9 8.09315 10.3431 6.75 12 6.75C13.6569 6.75 15 8.09315 15 9.75ZM13.875 9.75C13.875 10.7855 13.0355 11.625 12 11.625C10.9645 11.625 10.125 10.7855 10.125 9.75C10.125 8.71447 10.9645 7.875 12 7.875C13.0355 7.875 13.875 8.71447 13.875 9.75Z%22 fill%3D%22%2351566F%22%2F%3E%0D%3Cpath d%3D%22M15.9968 16.7631C15.5425 15.3973 14.0368 14.25 12 14.25C9.9632 14.25 8.45748 15.3973 8.00319 16.7631C7.91242 17.0359 7.67416 17.25 7.38657 17.25C7.04536 17.25 6.77507 16.9539 6.86275 16.6241C7.39546 14.6206 9.49327 13.125 12 13.125C14.5067 13.125 16.6045 14.6206 17.1373 16.6241C17.2249 16.9539 16.9546 17.25 16.6134 17.25C16.3259 17.25 16.0876 17.0359 15.9968 16.7631Z%22 fill%3D%22%2351566F%22%2F%3E%0D%3C%2Fsvg%3E%0D\") no-repeat;background-size:cover}.users-popover-item{display:flex;align-items:center;margin:12px}.users-popover-item .username{color:#51566f;font-size:14px}.users-popover-item .users-section__user{margin-right:8px}.users-section__user{position:relative;display:flex;justify-content:center;align-items:center;height:28px;width:28px;border-radius:14px;background:red;color:#fff;font-size:12px}.users-section__user.icon-0{background-color:#7b61ff}.users-section__user.icon-1{background-color:#21b8f1}.users-section__user.icon-2{background-color:#2969b0}.users-section__user.icon-3{background-color:#51566f}.users-section__user.icon-4{background-color:#0061ff}.users-section__user:hover{cursor:pointer}.users-section__user:not(:first-child){margin-left:4px}.users-section__user.online:after,.users-section__user.offline:after,.users-section__user.warning:after{content:\"\";display:flex;width:8px;height:8px;position:absolute;border-radius:4px;top:-2px;right:0}.users-section__user.online:after{background:#03A678}.users-section__user.offline:after{background:#DE2833}.users-section__user.warning:after{background:#FDA014}\n"]
34
+ },] }
35
+ ];
36
+ DrAvatarComponent.ctorParameters = () => [];
37
+ DrAvatarComponent.propDecorators = {
38
+ users: [{ type: Input }],
39
+ warning: [{ type: Input }],
40
+ userClicked: [{ type: Output }]
41
+ };
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWF2YXRhci9kci1hdmF0YXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBUTFILE1BQU0sT0FBTyxpQkFBaUI7SUFjNUI7UUFIUyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3hCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbkUsZ0JBQVcsR0FBVSxFQUFFLENBQUM7SUFFeEIsQ0FBQztJQWRELElBQWEsS0FBSyxDQUFDLEtBQXFCO1FBQ3RDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO29CQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7aUJBQzlCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFPRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMvRDtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7O1lBaENGLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsV0FBVztnQkFDckIseXFDQUF1QztnQkFFdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEOzs7O29CQUVFLEtBQUs7c0JBVUwsS0FBSzswQkFDTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdkci1hdmF0YXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdkci1hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJ2RyLWF2YXRhci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIERyQXZhdGFyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBzZXQgdXNlcnModXNlcnM6IGFueVtdIHwgb2JqZWN0KSB7XHJcbiAgICBpZiAodXNlcnMpIHtcclxuICAgICAgdGhpcy5wYXJzZWRVc2VycyA9IEFycmF5LmlzQXJyYXkodXNlcnMpID8gdXNlcnMgOiBbdXNlcnNdO1xyXG4gICAgICB0aGlzLnBhcnNlZFVzZXJzLmZvckVhY2goKHVzZXIsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgaWYgKCF1c2VyLmNvbG9yTnVtYmVyKSB7XHJcbiAgICAgICAgICB1c2VyLmNvbG9yTnVtYmVyID0gaW5kZXggJSA1O1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHdhcm5pbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgdXNlckNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgcGFyc2VkVXNlcnM6IGFueVtdID0gW107XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBnZXRGaXJzdFVzZXJzKCk6IGFueVtdIHtcclxuICAgIHJldHVybiB0aGlzLnBhcnNlZFVzZXJzLnNsaWNlKDAsIDIpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TGFzdFVzZXJzKCk6IGFueVtdIHtcclxuICAgIGlmICh0aGlzLnBhcnNlZFVzZXJzLmxlbmd0aCA+IDIpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucGFyc2VkVXNlcnMuc2xpY2UoMiwgdGhpcy5wYXJzZWRVc2Vycy5sZW5ndGggLSAxKTtcclxuICAgIH1cclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,26 +1,26 @@
1
- import { NgModule } from '@angular/core';
2
- import { DrAvatarComponent } from './dr-avatar.component';
3
- import { MatTooltipModule } from '@angular/material/tooltip';
4
- import { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';
5
- import { CommonModule } from '@angular/common';
6
- import { DrAvatarPipe } from './dr-avatar.pipe';
7
- export class DrAvatarModule {
8
- }
9
- DrAvatarModule.decorators = [
10
- { type: NgModule, args: [{
11
- declarations: [
12
- DrAvatarComponent,
13
- DrAvatarPipe
14
- ],
15
- exports: [
16
- DrAvatarComponent,
17
- DrAvatarPipe
18
- ],
19
- imports: [
20
- MatTooltipModule,
21
- DrTooltipModule,
22
- CommonModule
23
- ]
24
- },] }
25
- ];
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItYXZhdGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWF2YXRhci9kci1hdmF0YXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFrQmhELE1BQU0sT0FBTyxjQUFjOzs7WUFoQjFCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osaUJBQWlCO29CQUNqQixZQUFZO2lCQUNiO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxpQkFBaUI7b0JBQ2pCLFlBQVk7aUJBQ2I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGdCQUFnQjtvQkFDaEIsZUFBZTtvQkFDZixZQUFZO2lCQUNiO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJBdmF0YXJDb21wb25lbnQgfSBmcm9tICcuL2RyLWF2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgRHJUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vZHItdG9vbHRpcC9kci10b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRHJBdmF0YXJQaXBlIH0gZnJvbSAnLi9kci1hdmF0YXIucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERyQXZhdGFyQ29tcG9uZW50LFxuICAgIERyQXZhdGFyUGlwZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRHJBdmF0YXJDb21wb25lbnQsXG4gICAgRHJBdmF0YXJQaXBlXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIERyVG9vbHRpcE1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGVcbiAgXVxufSlcblxuZXhwb3J0IGNsYXNzIERyQXZhdGFyTW9kdWxlIHtcblxufVxuIl19
1
+ import { NgModule } from '@angular/core';
2
+ import { DrAvatarComponent } from './dr-avatar.component';
3
+ import { MatTooltipModule } from '@angular/material/tooltip';
4
+ import { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';
5
+ import { CommonModule } from '@angular/common';
6
+ import { DrAvatarPipe } from './dr-avatar.pipe';
7
+ export class DrAvatarModule {
8
+ }
9
+ DrAvatarModule.decorators = [
10
+ { type: NgModule, args: [{
11
+ declarations: [
12
+ DrAvatarComponent,
13
+ DrAvatarPipe
14
+ ],
15
+ exports: [
16
+ DrAvatarComponent,
17
+ DrAvatarPipe
18
+ ],
19
+ imports: [
20
+ MatTooltipModule,
21
+ DrTooltipModule,
22
+ CommonModule
23
+ ]
24
+ },] }
25
+ ];
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItYXZhdGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWF2YXRhci9kci1hdmF0YXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFrQmhELE1BQU0sT0FBTyxjQUFjOzs7WUFoQjFCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osaUJBQWlCO29CQUNqQixZQUFZO2lCQUNiO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxpQkFBaUI7b0JBQ2pCLFlBQVk7aUJBQ2I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGdCQUFnQjtvQkFDaEIsZUFBZTtvQkFDZixZQUFZO2lCQUNiO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEckF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4vZHItYXZhdGFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgRHJUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vZHItdG9vbHRpcC9kci10b29sdGlwLm1vZHVsZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IERyQXZhdGFyUGlwZSB9IGZyb20gJy4vZHItYXZhdGFyLnBpcGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIERyQXZhdGFyQ29tcG9uZW50LFxyXG4gICAgRHJBdmF0YXJQaXBlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBEckF2YXRhckNvbXBvbmVudCxcclxuICAgIERyQXZhdGFyUGlwZVxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIERyVG9vbHRpcE1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBEckF2YXRhck1vZHVsZSB7XHJcblxyXG59XHJcbiJdfQ==
@@ -1,15 +1,15 @@
1
- import { Pipe } from '@angular/core';
2
- export class DrAvatarPipe {
3
- transform(item, type = 'full') {
4
- if (type === 'initials') {
5
- return (item.first_name && item.last_name ? (item.first_name[0] + item.last_name[0]) : item.email[0]).toUpperCase();
6
- }
7
- return item.first_name && item.last_name ? (item.first_name + ' ' + item.last_name) : item.email;
8
- }
9
- }
10
- DrAvatarPipe.decorators = [
11
- { type: Pipe, args: [{
12
- name: 'drAvatar'
13
- },] }
14
- ];
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItYXZhdGFyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1hdmF0YXIvZHItYXZhdGFyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFLcEQsTUFBTSxPQUFPLFlBQVk7SUFFdkIsU0FBUyxDQUFDLElBQVMsRUFBRSxPQUFlLE1BQU07UUFDeEMsSUFBSSxJQUFJLEtBQUssVUFBVSxFQUFFO1lBQ3ZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNySDtRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNuRyxDQUFDOzs7WUFYRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLFVBQVU7YUFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2RyQXZhdGFyJ1xufSlcbmV4cG9ydCBjbGFzcyBEckF2YXRhclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0oaXRlbTogYW55LCB0eXBlOiBzdHJpbmcgPSAnZnVsbCcpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlID09PSAnaW5pdGlhbHMnKSB7XG4gICAgICByZXR1cm4gKGl0ZW0uZmlyc3RfbmFtZSAmJiBpdGVtLmxhc3RfbmFtZSA/IChpdGVtLmZpcnN0X25hbWVbMF0gKyBpdGVtLmxhc3RfbmFtZVswXSkgOiBpdGVtLmVtYWlsWzBdKS50b1VwcGVyQ2FzZSgpO1xuICAgIH1cblxuICAgIHJldHVybiBpdGVtLmZpcnN0X25hbWUgJiYgaXRlbS5sYXN0X25hbWUgPyAoaXRlbS5maXJzdF9uYW1lICsgJyAnICsgaXRlbS5sYXN0X25hbWUpIDogaXRlbS5lbWFpbDtcbiAgfVxufVxuIl19
1
+ import { Pipe } from '@angular/core';
2
+ export class DrAvatarPipe {
3
+ transform(item, type = 'full') {
4
+ if (type === 'initials') {
5
+ return (item.first_name && item.last_name ? (item.first_name[0] + item.last_name[0]) : item.email[0]).toUpperCase();
6
+ }
7
+ return item.first_name && item.last_name ? (item.first_name + ' ' + item.last_name) : item.email;
8
+ }
9
+ }
10
+ DrAvatarPipe.decorators = [
11
+ { type: Pipe, args: [{
12
+ name: 'drAvatar'
13
+ },] }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItYXZhdGFyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1hdmF0YXIvZHItYXZhdGFyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFLcEQsTUFBTSxPQUFPLFlBQVk7SUFFdkIsU0FBUyxDQUFDLElBQVMsRUFBRSxPQUFlLE1BQU07UUFDeEMsSUFBSSxJQUFJLEtBQUssVUFBVSxFQUFFO1lBQ3ZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNySDtRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNuRyxDQUFDOzs7WUFYRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLFVBQVU7YUFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2RyQXZhdGFyJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJBdmF0YXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIHRyYW5zZm9ybShpdGVtOiBhbnksIHR5cGU6IHN0cmluZyA9ICdmdWxsJyk6IHN0cmluZyB7XHJcbiAgICBpZiAodHlwZSA9PT0gJ2luaXRpYWxzJykge1xyXG4gICAgICByZXR1cm4gKGl0ZW0uZmlyc3RfbmFtZSAmJiBpdGVtLmxhc3RfbmFtZSA/IChpdGVtLmZpcnN0X25hbWVbMF0gKyBpdGVtLmxhc3RfbmFtZVswXSkgOiBpdGVtLmVtYWlsWzBdKS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBpdGVtLmZpcnN0X25hbWUgJiYgaXRlbS5sYXN0X25hbWUgPyAoaXRlbS5maXJzdF9uYW1lICsgJyAnICsgaXRlbS5sYXN0X25hbWUpIDogaXRlbS5lbWFpbDtcclxuICB9XHJcbn1cclxuIl19
@@ -1,12 +1,12 @@
1
- import { Pipe } from '@angular/core';
2
- export class DrDropdownItemShowPipe {
3
- transform(arr) {
4
- return arr.filter(item => item.show ? item.show(item.data) : true);
5
- }
6
- }
7
- DrDropdownItemShowPipe.decorators = [
8
- { type: Pipe, args: [{
9
- name: 'drDropdownItemShowPipe'
10
- },] }
11
- ];
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24taXRlbS1zaG93LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi1pdGVtLXNob3cucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQU1wRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFNBQVMsQ0FBQyxHQUF1QjtRQUMvQixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQzs7O1lBTkYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSx3QkFBd0I7YUFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJRHJvcGRvd25JdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2Ryb3Bkb3duJztcblxuQFBpcGUoe1xuICBuYW1lOiAnZHJEcm9wZG93bkl0ZW1TaG93UGlwZSdcbn0pXG5leHBvcnQgY2xhc3MgRHJEcm9wZG93bkl0ZW1TaG93UGlwZTxUPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oYXJyOiBJRHJvcGRvd25JdGVtPFQ+W10pOiBJRHJvcGRvd25JdGVtPFQ+W10ge1xuICAgIHJldHVybiBhcnIuZmlsdGVyKGl0ZW0gPT4gaXRlbS5zaG93ID8gaXRlbS5zaG93KGl0ZW0uZGF0YSkgOiB0cnVlKTtcbiAgfVxufVxuIl19
1
+ import { Pipe } from '@angular/core';
2
+ export class DrDropdownItemShowPipe {
3
+ transform(arr) {
4
+ return arr.filter(item => item.show ? item.show(item.data) : true);
5
+ }
6
+ }
7
+ DrDropdownItemShowPipe.decorators = [
8
+ { type: Pipe, args: [{
9
+ name: 'drDropdownItemShowPipe'
10
+ },] }
11
+ ];
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24taXRlbS1zaG93LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi1pdGVtLXNob3cucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQU1wRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFNBQVMsQ0FBQyxHQUF1QjtRQUMvQixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQzs7O1lBTkYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSx3QkFBd0I7YUFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElEcm9wZG93bkl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvZHJvcGRvd24nO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdkckRyb3Bkb3duSXRlbVNob3dQaXBlJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJEcm9wZG93bkl0ZW1TaG93UGlwZTxUPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybShhcnI6IElEcm9wZG93bkl0ZW08VD5bXSk6IElEcm9wZG93bkl0ZW08VD5bXSB7XHJcbiAgICByZXR1cm4gYXJyLmZpbHRlcihpdGVtID0+IGl0ZW0uc2hvdyA/IGl0ZW0uc2hvdyhpdGVtLmRhdGEpIDogdHJ1ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,89 +1,89 @@
1
- import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';
2
- export class DrDropdownPositionDirective {
3
- constructor(el, renderer) {
4
- this.el = el;
5
- this.renderer = renderer;
6
- this.position = 'left';
7
- }
8
- ngOnInit() {
9
- setTimeout(this.calculatePosition.bind(this), 1);
10
- }
11
- calculatePosition() {
12
- let xDifference = 0;
13
- let defaultDelta = 10;
14
- let defaultPadding = 0;
15
- if (this.position === 'child') {
16
- defaultDelta = 0;
17
- defaultPadding = 10;
18
- xDifference = this.el.nativeElement.parentElement.parentElement.offsetWidth - this.el.nativeElement.offsetWidth;
19
- const parentRect = this.el.nativeElement.parentElement.parentElement.getBoundingClientRect();
20
- this.position = {
21
- x: this.el.nativeElement.offsetWidth,
22
- y: this.el.nativeElement.parentElement.parentElement.offsetTop - 9,
23
- clientX: parentRect.x + this.el.nativeElement.parentElement.parentElement.offsetWidth,
24
- clientY: parentRect.y
25
- };
26
- }
27
- if (typeof this.position === 'string') {
28
- this.renderer.setStyle(this.el.nativeElement, 'top', this.position === 'bottom' ?
29
- this.drDropdownPosition.y - this.drDropdownPosition.height + 'px' :
30
- this.drDropdownPosition.y + 'px');
31
- this.renderer.setStyle(this.el.nativeElement, 'left', this.position === 'right' ?
32
- this.drDropdownPosition.x + this.drDropdownPosition.width + 'px' :
33
- this.drDropdownPosition.x + 'px');
34
- const menuHeight = this.el.nativeElement.offsetHeight;
35
- const heightMoreWindowBottom = menuHeight + this.drDropdownPosition.y > window.innerHeight;
36
- const heightMoreWindowTop = menuHeight - this.drDropdownPosition.y + this.drDropdownPosition.height / 2 > 48; // header height;
37
- const widthMoreWindowRight = this.drDropdownPosition.x + 250 > window.innerWidth;
38
- if (heightMoreWindowBottom) {
39
- this.position = 'top';
40
- }
41
- if (heightMoreWindowBottom && widthMoreWindowRight && !heightMoreWindowTop || this.position === 'top-left') {
42
- this.position = 'top-left';
43
- this.renderer.setStyle(this.el.nativeElement, 'transform', 'translate(-100%, calc(-100% + ' + this.drDropdownPosition.height + 'px))');
44
- }
45
- if (heightMoreWindowTop && heightMoreWindowBottom) {
46
- this.position = 'left-center';
47
- }
48
- if (this.position === 'bottom-left') {
49
- this.renderer.setStyle(this.el.nativeElement, 'transform', `translate(calc(-100% + ${this.drDropdownPosition.width}px), ${this.drDropdownPosition.height + 8}px)`);
50
- }
51
- const className = this.position === 'top' ? 'content-top'
52
- : this.position === 'top-left' ? 'content-top-left'
53
- : this.position === 'bottom' ? 'content-bottom'
54
- : this.position === 'bottom-left' ? 'content-bottom-left'
55
- : this.position === 'left' ? 'content-left'
56
- : this.position === 'left-center' ? 'content-left-center'
57
- : this.position === 'right' ? 'content-right'
58
- : this.position === 'bottom-right' ? 'content-bottom-right' : '';
59
- this.renderer.addClass(this.el.nativeElement, className);
60
- this.renderer.setStyle(this.el.nativeElement, 'z-index', '10010');
61
- }
62
- else {
63
- const defaultChildPadding = 3;
64
- const widthMoreWindowRight = window.innerWidth - this.position.clientX - this.el.nativeElement.offsetWidth - defaultPadding;
65
- const widthMoreWindowBottom = window.innerHeight - this.position.clientY - this.el.nativeElement.offsetHeight - defaultPadding;
66
- const calculatedHorizantallyPos = widthMoreWindowRight < 0
67
- ? -this.position.x + -defaultChildPadding
68
- : this.position.x + defaultChildPadding + xDifference;
69
- const deltaHeight = widthMoreWindowBottom < 0 ? widthMoreWindowBottom : defaultDelta;
70
- this.renderer.setStyle(this.el.nativeElement, 'top', (this.position.y + deltaHeight) + 'px');
71
- this.renderer.setStyle(this.el.nativeElement, 'left', (calculatedHorizantallyPos) + 'px');
72
- this.renderer.setStyle(this.el.nativeElement, 'z-index', '10010');
73
- }
74
- }
75
- }
76
- DrDropdownPositionDirective.decorators = [
77
- { type: Directive, args: [{
78
- selector: '[drDropdownPosition]'
79
- },] }
80
- ];
81
- DrDropdownPositionDirective.ctorParameters = () => [
82
- { type: ElementRef },
83
- { type: Renderer2 }
84
- ];
85
- DrDropdownPositionDirective.propDecorators = {
86
- drDropdownPosition: [{ type: Input }],
87
- position: [{ type: Input }]
88
- };
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNaEYsTUFBTSxPQUFPLDJCQUEyQjtJQUtwQyxZQUFvQixFQUFjLEVBQVUsUUFBbUI7UUFBM0MsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFGdEQsYUFBUSxHQUFxQyxNQUFNLENBQUM7SUFHN0QsQ0FBQztJQUVELFFBQVE7UUFDSixVQUFVLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7UUFFdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRTtZQUMzQixZQUFZLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLGNBQWMsR0FBRyxFQUFFLENBQUM7WUFDcEIsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUNoSCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLHFCQUFx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SW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJRHJvcGRvd25Db29yZGluYXRlLCBFbFBvc2l0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2Ryb3Bkb3duJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZHJEcm9wZG93blBvc2l0aW9uXSdcbn0pXG5leHBvcnQgY2xhc3MgRHJEcm9wZG93blBvc2l0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIEBJbnB1dCgpIGRyRHJvcGRvd25Qb3NpdGlvbjtcbiAgICBASW5wdXQoKSBwb3NpdGlvbjogRWxQb3NpdGlvbiB8IElEcm9wZG93bkNvb3JkaW5hdGUgPSAnbGVmdCc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCh0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uLmJpbmQodGhpcyksIDEpO1xuICAgIH1cblxuICAgIGNhbGN1bGF0ZVBvc2l0aW9uKCkge1xuICAgICAgICBsZXQgeERpZmZlcmVuY2UgPSAwO1xuICAgICAgICBsZXQgZGVmYXVsdERlbHRhID0gMTA7XG4gICAgICAgIGxldCBkZWZhdWx0UGFkZGluZyA9IDA7XG5cbiAgICAgICAgaWYgKHRoaXMucG9zaXRpb24gPT09ICdjaGlsZCcpIHtcbiAgICAgICAgICAgIGRlZmF1bHREZWx0YSA9IDA7XG4gICAgICAgICAgICBkZWZhdWx0UGFkZGluZyA9IDEwO1xuICAgICAgICAgICAgeERpZmZlcmVuY2UgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoIC0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgICAgICAgY29uc3QgcGFyZW50UmVjdCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSB7XG4gICAgICAgICAgICAgICAgeDogdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoLFxuICAgICAgICAgICAgICAgIHk6IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0VG9wIC0gOSxcbiAgICAgICAgICAgICAgICBjbGllbnRYOiBwYXJlbnRSZWN0LnggKyB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoLFxuICAgICAgICAgICAgICAgIGNsaWVudFk6IHBhcmVudFJlY3QueVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wb3NpdGlvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndG9wJyxcbiAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9PT0gJ2JvdHRvbScgP1xuICAgICAgICAgICAgICAgIHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLnkgLSB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi5oZWlnaHQgKyAncHgnIDpcbiAgICAgICAgICAgICAgICB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi55ICsgJ3B4Jyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2xlZnQnLFxuICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID09PSAncmlnaHQnID9cbiAgICAgICAgICAgICAgICB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi54ICsgdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ud2lkdGggKyAncHgnIDpcbiAgICAgICAgICAgICAgICB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi54ICsgJ3B4Jyk7XG4gICAgICAgICAgICBjb25zdCBtZW51SGVpZ2h0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodE1vcmVXaW5kb3dCb3R0b20gPSBtZW51SGVpZ2h0ICsgdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ueSA+IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodE1vcmVXaW5kb3dUb3AgPSBtZW51SGVpZ2h0IC0gdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ueSArIHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLmhlaWdodCAvIDIgPiA0ODsgLy8gaGVhZGVyIGhlaWdodDtcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoTW9yZVdpbmRvd1JpZ2h0ID0gdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ueCArIDI1MCA+IHdpbmRvdy5pbm5lcldpZHRoO1xuICAgICAgICAgICAgaWYgKGhlaWdodE1vcmVXaW5kb3dCb3R0b20pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gJ3RvcCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaGVpZ2h0TW9yZVdpbmRvd0JvdHRvbSAmJiB3aWR0aE1vcmVXaW5kb3dSaWdodCAmJiAhaGVpZ2h0TW9yZVdpbmRvd1RvcCB8fCB0aGlzLnBvc2l0aW9uID09PSAndG9wLWxlZnQnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9ICd0b3AtbGVmdCc7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2Zvcm0nLFxuICAgICAgICAgICAgICAgICAgJ3RyYW5zbGF0ZSgtMTAwJSwgY2FsYygtMTAwJSArICcgKyB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi5oZWlnaHQgKyAncHgpKScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGhlaWdodE1vcmVXaW5kb3dUb3AgJiYgaGVpZ2h0TW9yZVdpbmRvd0JvdHRvbSkge1xuICAgICAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSAnbGVmdC1jZW50ZXInO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMucG9zaXRpb24gPT09ICdib3R0b20tbGVmdCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RyYW5zZm9ybScsIGB0cmFuc2xhdGUoY2FsYygtMTAwJSArICR7IHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLndpZHRoIH1weCksICR7IHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLmhlaWdodCArIDggfXB4KWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgY2xhc3NOYW1lID0gdGhpcy5wb3NpdGlvbiA9PT0gJ3RvcCcgPyAnY29udGVudC10b3AnXG4gICAgICAgICAgICAgIDogdGhpcy5wb3NpdGlvbiA9PT0gJ3RvcC1sZWZ0JyA/ICdjb250ZW50LXRvcC1sZWZ0J1xuICAgICAgICAgICAgICAgIDogdGhpcy5wb3NpdGlvbiA9PT0gJ2JvdHRvbScgPyAnY29udGVudC1ib3R0b20nXG4gICAgICAgICAgICAgICAgICA6IHRoaXMucG9zaXRpb24gPT09ICdib3R0b20tbGVmdCcgPyAnY29udGVudC1ib3R0b20tbGVmdCdcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAnbGVmdCcgPyAnY29udGVudC1sZWZ0J1xuICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5wb3NpdGlvbiA9PT0gJ2xlZnQtY2VudGVyJyA/ICdjb250ZW50LWxlZnQtY2VudGVyJ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAncmlnaHQnID8gJ2NvbnRlbnQtcmlnaHQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5wb3NpdGlvbiA9PT0gJ2JvdHRvbS1yaWdodCcgPyAnY29udGVudC1ib3R0b20tcmlnaHQnIDogJyc7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnei1pbmRleCcsICcxMDAxMCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZGVmYXVsdENoaWxkUGFkZGluZyA9IDM7XG4gICAgICAgICAgICBjb25zdCB3aWR0aE1vcmVXaW5kb3dSaWdodCA9IHdpbmRvdy5pbm5lcldpZHRoIC0gdGhpcy5wb3NpdGlvbi5jbGllbnRYIC0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC0gZGVmYXVsdFBhZGRpbmc7XG4gICAgICAgICAgICBjb25zdCB3aWR0aE1vcmVXaW5kb3dCb3R0b20gPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSB0aGlzLnBvc2l0aW9uLmNsaWVudFkgLSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gZGVmYXVsdFBhZGRpbmc7XG5cbiAgICAgICAgICAgIGNvbnN0IGNhbGN1bGF0ZWRIb3JpemFudGFsbHlQb3MgPSB3aWR0aE1vcmVXaW5kb3dSaWdodCA8IDBcbiAgICAgICAgICAgICAgPyAtdGhpcy5wb3NpdGlvbi54ICsgLWRlZmF1bHRDaGlsZFBhZGRpbmdcbiAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uLnggKyBkZWZhdWx0Q2hpbGRQYWRkaW5nICsgeERpZmZlcmVuY2U7XG5cbiAgICAgICAgICAgIGNvbnN0IGRlbHRhSGVpZ2h0ID0gd2lkdGhNb3JlV2luZG93Qm90dG9tIDwgMCA/IHdpZHRoTW9yZVdpbmRvd0JvdHRvbSA6IGRlZmF1bHREZWx0YTtcblxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd0b3AnLCAodGhpcy5wb3NpdGlvbi55ICsgZGVsdGFIZWlnaHQpICsgJ3B4Jyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2xlZnQnLCAoY2FsY3VsYXRlZEhvcml6YW50YWxseVBvcykgKyAncHgnKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnei1pbmRleCcsICcxMDAxMCcpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
1
+ import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';
2
+ export class DrDropdownPositionDirective {
3
+ constructor(el, renderer) {
4
+ this.el = el;
5
+ this.renderer = renderer;
6
+ this.position = 'left';
7
+ }
8
+ ngOnInit() {
9
+ setTimeout(this.calculatePosition.bind(this), 1);
10
+ }
11
+ calculatePosition() {
12
+ let xDifference = 0;
13
+ let defaultDelta = 10;
14
+ let defaultPadding = 0;
15
+ if (this.position === 'child') {
16
+ defaultDelta = 0;
17
+ defaultPadding = 10;
18
+ xDifference = this.el.nativeElement.parentElement.parentElement.offsetWidth - this.el.nativeElement.offsetWidth;
19
+ const parentRect = this.el.nativeElement.parentElement.parentElement.getBoundingClientRect();
20
+ this.position = {
21
+ x: this.el.nativeElement.offsetWidth,
22
+ y: this.el.nativeElement.parentElement.parentElement.offsetTop - 9,
23
+ clientX: parentRect.x + this.el.nativeElement.parentElement.parentElement.offsetWidth,
24
+ clientY: parentRect.y
25
+ };
26
+ }
27
+ if (typeof this.position === 'string') {
28
+ this.renderer.setStyle(this.el.nativeElement, 'top', this.position === 'bottom' ?
29
+ this.drDropdownPosition.y - this.drDropdownPosition.height + 'px' :
30
+ this.drDropdownPosition.y + 'px');
31
+ this.renderer.setStyle(this.el.nativeElement, 'left', this.position === 'right' ?
32
+ this.drDropdownPosition.x + this.drDropdownPosition.width + 'px' :
33
+ this.drDropdownPosition.x + 'px');
34
+ const menuHeight = this.el.nativeElement.offsetHeight;
35
+ const heightMoreWindowBottom = menuHeight + this.drDropdownPosition.y > window.innerHeight;
36
+ const heightMoreWindowTop = menuHeight - this.drDropdownPosition.y + this.drDropdownPosition.height / 2 > 48; // header height;
37
+ const widthMoreWindowRight = this.drDropdownPosition.x + 250 > window.innerWidth;
38
+ if (heightMoreWindowBottom) {
39
+ this.position = 'top';
40
+ }
41
+ if (heightMoreWindowBottom && widthMoreWindowRight && !heightMoreWindowTop || this.position === 'top-left') {
42
+ this.position = 'top-left';
43
+ this.renderer.setStyle(this.el.nativeElement, 'transform', 'translate(-100%, calc(-100% + ' + this.drDropdownPosition.height + 'px))');
44
+ }
45
+ if (heightMoreWindowTop && heightMoreWindowBottom) {
46
+ this.position = 'left-center';
47
+ }
48
+ if (this.position === 'bottom-left') {
49
+ this.renderer.setStyle(this.el.nativeElement, 'transform', `translate(calc(-100% + ${this.drDropdownPosition.width}px), ${this.drDropdownPosition.height + 8}px)`);
50
+ }
51
+ const className = this.position === 'top' ? 'content-top'
52
+ : this.position === 'top-left' ? 'content-top-left'
53
+ : this.position === 'bottom' ? 'content-bottom'
54
+ : this.position === 'bottom-left' ? 'content-bottom-left'
55
+ : this.position === 'left' ? 'content-left'
56
+ : this.position === 'left-center' ? 'content-left-center'
57
+ : this.position === 'right' ? 'content-right'
58
+ : this.position === 'bottom-right' ? 'content-bottom-right' : '';
59
+ this.renderer.addClass(this.el.nativeElement, className);
60
+ this.renderer.setStyle(this.el.nativeElement, 'z-index', '10010');
61
+ }
62
+ else {
63
+ const defaultChildPadding = 3;
64
+ const widthMoreWindowRight = window.innerWidth - this.position.clientX - this.el.nativeElement.offsetWidth - defaultPadding;
65
+ const widthMoreWindowBottom = window.innerHeight - this.position.clientY - this.el.nativeElement.offsetHeight - defaultPadding;
66
+ const calculatedHorizantallyPos = widthMoreWindowRight < 0
67
+ ? -this.position.x + -defaultChildPadding
68
+ : this.position.x + defaultChildPadding + xDifference;
69
+ const deltaHeight = widthMoreWindowBottom < 0 ? widthMoreWindowBottom : defaultDelta;
70
+ this.renderer.setStyle(this.el.nativeElement, 'top', (this.position.y + deltaHeight) + 'px');
71
+ this.renderer.setStyle(this.el.nativeElement, 'left', (calculatedHorizantallyPos) + 'px');
72
+ this.renderer.setStyle(this.el.nativeElement, 'z-index', '10010');
73
+ }
74
+ }
75
+ }
76
+ DrDropdownPositionDirective.decorators = [
77
+ { type: Directive, args: [{
78
+ selector: '[drDropdownPosition]'
79
+ },] }
80
+ ];
81
+ DrDropdownPositionDirective.ctorParameters = () => [
82
+ { type: ElementRef },
83
+ { type: Renderer2 }
84
+ ];
85
+ DrDropdownPositionDirective.propDecorators = {
86
+ drDropdownPosition: [{ type: Input }],
87
+ position: [{ type: Input }]
88
+ };
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNaEYsTUFBTSxPQUFPLDJCQUEyQjtJQUtwQyxZQUFvQixFQUFjLEVBQVUsUUFBbUI7UUFBM0MsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFGdEQsYUFBUSxHQUFxQyxNQUFNLENBQUM7SUFHN0QsQ0FBQztJQUVELFFBQVE7UUFDSixVQUFVLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7UUFFdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRTtZQUMzQixZQUFZLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLGNBQWMsR0FBRyxFQUFFLENBQUM7WUFDcEIsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUNoSCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLHFCQUFx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SW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElEcm9wZG93bkNvb3JkaW5hdGUsIEVsUG9zaXRpb24gfSBmcm9tICcuLi9tb2RlbHMvZHJvcGRvd24nO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tkckRyb3Bkb3duUG9zaXRpb25dJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJEcm9wZG93blBvc2l0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBASW5wdXQoKSBkckRyb3Bkb3duUG9zaXRpb247XHJcbiAgICBASW5wdXQoKSBwb3NpdGlvbjogRWxQb3NpdGlvbiB8IElEcm9wZG93bkNvb3JkaW5hdGUgPSAnbGVmdCc7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc2V0VGltZW91dCh0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uLmJpbmQodGhpcyksIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIGNhbGN1bGF0ZVBvc2l0aW9uKCkge1xyXG4gICAgICAgIGxldCB4RGlmZmVyZW5jZSA9IDA7XHJcbiAgICAgICAgbGV0IGRlZmF1bHREZWx0YSA9IDEwO1xyXG4gICAgICAgIGxldCBkZWZhdWx0UGFkZGluZyA9IDA7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSAnY2hpbGQnKSB7XHJcbiAgICAgICAgICAgIGRlZmF1bHREZWx0YSA9IDA7XHJcbiAgICAgICAgICAgIGRlZmF1bHRQYWRkaW5nID0gMTA7XHJcbiAgICAgICAgICAgIHhEaWZmZXJlbmNlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRXaWR0aCAtIHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcclxuICAgICAgICAgICAgY29uc3QgcGFyZW50UmVjdCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0ge1xyXG4gICAgICAgICAgICAgICAgeDogdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoLFxyXG4gICAgICAgICAgICAgICAgeTogdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRUb3AgLSA5LFxyXG4gICAgICAgICAgICAgICAgY2xpZW50WDogcGFyZW50UmVjdC54ICsgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRXaWR0aCxcclxuICAgICAgICAgICAgICAgIGNsaWVudFk6IHBhcmVudFJlY3QueVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBvc2l0aW9uID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RvcCcsXHJcbiAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9PT0gJ2JvdHRvbScgP1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ueSAtIHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLmhlaWdodCArICdweCcgOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ueSArICdweCcpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2xlZnQnLFxyXG4gICAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPT09ICdyaWdodCcgP1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ueCArIHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLndpZHRoICsgJ3B4JyA6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi54ICsgJ3B4Jyk7XHJcbiAgICAgICAgICAgIGNvbnN0IG1lbnVIZWlnaHQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG4gICAgICAgICAgICBjb25zdCBoZWlnaHRNb3JlV2luZG93Qm90dG9tID0gbWVudUhlaWdodCArIHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLnkgPiB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodE1vcmVXaW5kb3dUb3AgPSBtZW51SGVpZ2h0IC0gdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ueSArIHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLmhlaWdodCAvIDIgPiA0ODsgLy8gaGVhZGVyIGhlaWdodDtcclxuICAgICAgICAgICAgY29uc3Qgd2lkdGhNb3JlV2luZG93UmlnaHQgPSB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi54ICsgMjUwID4gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICAgICAgICAgIGlmIChoZWlnaHRNb3JlV2luZG93Qm90dG9tKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gJ3RvcCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGhlaWdodE1vcmVXaW5kb3dCb3R0b20gJiYgd2lkdGhNb3JlV2luZG93UmlnaHQgJiYgIWhlaWdodE1vcmVXaW5kb3dUb3AgfHwgdGhpcy5wb3NpdGlvbiA9PT0gJ3RvcC1sZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9ICd0b3AtbGVmdCc7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RyYW5zZm9ybScsXHJcbiAgICAgICAgICAgICAgICAgICd0cmFuc2xhdGUoLTEwMCUsIGNhbGMoLTEwMCUgKyAnICsgdGhpcy5kckRyb3Bkb3duUG9zaXRpb24uaGVpZ2h0ICsgJ3B4KSknKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaGVpZ2h0TW9yZVdpbmRvd1RvcCAmJiBoZWlnaHRNb3JlV2luZG93Qm90dG9tKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gJ2xlZnQtY2VudGVyJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhpcy5wb3NpdGlvbiA9PT0gJ2JvdHRvbS1sZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlKGNhbGMoLTEwMCUgKyAkeyB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi53aWR0aCB9cHgpLCAkeyB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi5oZWlnaHQgKyA4IH1weClgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCBjbGFzc05hbWUgPSB0aGlzLnBvc2l0aW9uID09PSAndG9wJyA/ICdjb250ZW50LXRvcCdcclxuICAgICAgICAgICAgICA6IHRoaXMucG9zaXRpb24gPT09ICd0b3AtbGVmdCcgPyAnY29udGVudC10b3AtbGVmdCdcclxuICAgICAgICAgICAgICAgIDogdGhpcy5wb3NpdGlvbiA9PT0gJ2JvdHRvbScgPyAnY29udGVudC1ib3R0b20nXHJcbiAgICAgICAgICAgICAgICAgIDogdGhpcy5wb3NpdGlvbiA9PT0gJ2JvdHRvbS1sZWZ0JyA/ICdjb250ZW50LWJvdHRvbS1sZWZ0J1xyXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5wb3NpdGlvbiA9PT0gJ2xlZnQnID8gJ2NvbnRlbnQtbGVmdCdcclxuICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5wb3NpdGlvbiA9PT0gJ2xlZnQtY2VudGVyJyA/ICdjb250ZW50LWxlZnQtY2VudGVyJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMucG9zaXRpb24gPT09ICdyaWdodCcgPyAnY29udGVudC1yaWdodCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMucG9zaXRpb24gPT09ICdib3R0b20tcmlnaHQnID8gJ2NvbnRlbnQtYm90dG9tLXJpZ2h0JyA6ICcnO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgY2xhc3NOYW1lKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd6LWluZGV4JywgJzEwMDEwJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgZGVmYXVsdENoaWxkUGFkZGluZyA9IDM7XHJcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoTW9yZVdpbmRvd1JpZ2h0ID0gd2luZG93LmlubmVyV2lkdGggLSB0aGlzLnBvc2l0aW9uLmNsaWVudFggLSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggLSBkZWZhdWx0UGFkZGluZztcclxuICAgICAgICAgICAgY29uc3Qgd2lkdGhNb3JlV2luZG93Qm90dG9tID0gd2luZG93LmlubmVySGVpZ2h0IC0gdGhpcy5wb3NpdGlvbi5jbGllbnRZIC0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCAtIGRlZmF1bHRQYWRkaW5nO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgY2FsY3VsYXRlZEhvcml6YW50YWxseVBvcyA9IHdpZHRoTW9yZVdpbmRvd1JpZ2h0IDwgMFxyXG4gICAgICAgICAgICAgID8gLXRoaXMucG9zaXRpb24ueCArIC1kZWZhdWx0Q2hpbGRQYWRkaW5nXHJcbiAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uLnggKyBkZWZhdWx0Q2hpbGRQYWRkaW5nICsgeERpZmZlcmVuY2U7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBkZWx0YUhlaWdodCA9IHdpZHRoTW9yZVdpbmRvd0JvdHRvbSA8IDAgPyB3aWR0aE1vcmVXaW5kb3dCb3R0b20gOiBkZWZhdWx0RGVsdGE7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RvcCcsICh0aGlzLnBvc2l0aW9uLnkgKyBkZWx0YUhlaWdodCkgKyAncHgnKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdsZWZ0JywgKGNhbGN1bGF0ZWRIb3JpemFudGFsbHlQb3MpICsgJ3B4Jyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnei1pbmRleCcsICcxMDAxMCcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=