@memberjunction/ng-explorer-core 0.9.79 → 0.9.116

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 (105) hide show
  1. package/dist/lib/ask-skip/ask-skip.component.d.ts +87 -86
  2. package/dist/lib/ask-skip/ask-skip.component.js +615 -580
  3. package/dist/lib/ask-skip/skip-dynamic-report-wrapper.d.ts +12 -12
  4. package/dist/lib/ask-skip/skip-dynamic-report-wrapper.js +40 -39
  5. package/dist/lib/auth-button/auth-button.component.d.ts +12 -12
  6. package/dist/lib/auth-button/auth-button.component.js +44 -43
  7. package/dist/lib/dashboard-browser-component/dashboard-browser.component.d.ts +18 -18
  8. package/dist/lib/dashboard-browser-component/dashboard-browser.component.js +118 -117
  9. package/dist/lib/data-browser-component/data-browser.component.d.ts +16 -14
  10. package/dist/lib/data-browser-component/data-browser.component.js +96 -91
  11. package/dist/lib/favorites/favorites.component.d.ts +14 -14
  12. package/dist/lib/favorites/favorites.component.js +114 -114
  13. package/dist/lib/generic/base-form-component.d.ts +76 -76
  14. package/dist/lib/generic/base-form-component.js +436 -436
  15. package/dist/lib/generic/base-form-section-component.d.ts +6 -6
  16. package/dist/lib/generic/base-form-section-component.js +9 -9
  17. package/dist/lib/generic/base-record-component.d.ts +6 -6
  18. package/dist/lib/generic/base-record-component.js +15 -15
  19. package/dist/lib/generic/base-resource-component.d.ts +34 -34
  20. package/dist/lib/generic/base-resource-component.js +75 -75
  21. package/dist/lib/generic/dynamic-chart.d.ts +33 -33
  22. package/dist/lib/generic/dynamic-chart.js +236 -235
  23. package/dist/lib/generic/dynamic-grid.d.ts +25 -25
  24. package/dist/lib/generic/dynamic-grid.js +120 -119
  25. package/dist/lib/generic/dynamic-report.d.ts +38 -38
  26. package/dist/lib/generic/dynamic-report.js +353 -347
  27. package/dist/lib/generic/form-toolbar.d.ts +7 -7
  28. package/dist/lib/generic/form-toolbar.js +85 -89
  29. package/dist/lib/generic/resource-container-component.d.ts +25 -25
  30. package/dist/lib/generic/resource-container-component.js +104 -103
  31. package/dist/lib/generic/section-loader-component.d.ts +17 -17
  32. package/dist/lib/generic/section-loader-component.js +66 -65
  33. package/dist/lib/generic-browse-list/generic-browse-list.component.d.ts +26 -24
  34. package/dist/lib/generic-browse-list/generic-browse-list.component.js +145 -143
  35. package/dist/lib/guards/auth-guard.service.d.ts +11 -11
  36. package/dist/lib/guards/auth-guard.service.js +24 -24
  37. package/dist/lib/guards/entities.guard.d.ts +3 -3
  38. package/dist/lib/guards/entities.guard.js +38 -38
  39. package/dist/lib/header/MSFT_UserImageService.d.ts +11 -11
  40. package/dist/lib/header/MSFT_UserImageService.js +23 -23
  41. package/dist/lib/header/header.component.d.ts +51 -51
  42. package/dist/lib/header/header.component.js +220 -208
  43. package/dist/lib/home-component/home.component.d.ts +11 -9
  44. package/dist/lib/home-component/home.component.js +77 -54
  45. package/dist/lib/join-grid/join-grid.component.d.ts +30 -30
  46. package/dist/lib/join-grid/join-grid.component.js +222 -225
  47. package/dist/lib/navigation/navigation.component.d.ts +104 -103
  48. package/dist/lib/navigation/navigation.component.js +1026 -1004
  49. package/dist/lib/query-browser-component/query-browser.component.d.ts +14 -0
  50. package/dist/lib/query-browser-component/query-browser.component.js +56 -0
  51. package/dist/lib/report-browser-component/report-browser.component.d.ts +14 -14
  52. package/dist/lib/report-browser-component/report-browser.component.js +56 -55
  53. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +8 -8
  54. package/dist/lib/resource-wrappers/dashboard-resource.component.js +51 -50
  55. package/dist/lib/resource-wrappers/query-resource.component.d.ts +10 -0
  56. package/dist/lib/resource-wrappers/query-resource.component.js +55 -0
  57. package/dist/lib/resource-wrappers/record-resource.component.d.ts +10 -10
  58. package/dist/lib/resource-wrappers/record-resource.component.js +71 -70
  59. package/dist/lib/resource-wrappers/report-resource.component.d.ts +10 -10
  60. package/dist/lib/resource-wrappers/report-resource.component.js +55 -54
  61. package/dist/lib/resource-wrappers/resource-wrappers-loader.d.ts +1 -1
  62. package/dist/lib/resource-wrappers/resource-wrappers-loader.js +14 -12
  63. package/dist/lib/resource-wrappers/search-results-resource.component.d.ts +10 -10
  64. package/dist/lib/resource-wrappers/search-results-resource.component.js +52 -51
  65. package/dist/lib/resource-wrappers/view-resource.component.d.ts +8 -8
  66. package/dist/lib/resource-wrappers/view-resource.component.js +61 -60
  67. package/dist/lib/settings/settings.component.d.ts +5 -5
  68. package/dist/lib/settings/settings.component.js +15 -14
  69. package/dist/lib/single-application/single-application.component.d.ts +20 -20
  70. package/dist/lib/single-application/single-application.component.js +113 -113
  71. package/dist/lib/single-dashboard/Components/add-item/add-item.component.d.ts +28 -28
  72. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +210 -212
  73. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.d.ts +13 -13
  74. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js +60 -59
  75. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts +26 -26
  76. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js +170 -169
  77. package/dist/lib/single-dashboard/single-dashboard.component.d.ts +75 -75
  78. package/dist/lib/single-dashboard/single-dashboard.component.js +464 -456
  79. package/dist/lib/single-entity/single-entity.component.d.ts +33 -33
  80. package/dist/lib/single-entity/single-entity.component.js +258 -252
  81. package/dist/lib/single-query/single-query.component.d.ts +16 -0
  82. package/dist/lib/single-query/single-query.component.js +70 -0
  83. package/dist/lib/single-record/single-record.component.d.ts +21 -21
  84. package/dist/lib/single-record/single-record.component.js +95 -95
  85. package/dist/lib/single-report/single-report.component.d.ts +21 -22
  86. package/dist/lib/single-report/single-report.component.js +89 -87
  87. package/dist/lib/single-search-result/single-search-result.component.d.ts +15 -15
  88. package/dist/lib/single-search-result/single-search-result.component.js +61 -60
  89. package/dist/lib/single-view/single-view.component.d.ts +38 -38
  90. package/dist/lib/single-view/single-view.component.js +201 -201
  91. package/dist/lib/user-notifications/user-notifications.component.d.ts +32 -32
  92. package/dist/lib/user-notifications/user-notifications.component.js +282 -282
  93. package/dist/lib/user-profile/user-profile.component.d.ts +10 -10
  94. package/dist/lib/user-profile/user-profile.component.js +42 -41
  95. package/dist/lib/user-view-properties/view-properties-dialog.component.d.ts +71 -71
  96. package/dist/lib/user-view-properties/view-properties-dialog.component.js +594 -581
  97. package/dist/module.d.ts +65 -65
  98. package/dist/module.js +328 -338
  99. package/dist/public-api.d.ts +42 -47
  100. package/dist/public-api.js +45 -50
  101. package/dist/shared/shared.service.d.ts +94 -92
  102. package/dist/shared/shared.service.js +324 -318
  103. package/dist/shared/urlPipe.d.ts +7 -7
  104. package/dist/shared/urlPipe.js +16 -16
  105. package/package.json +24 -15
@@ -1,208 +1,220 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { Component, EventEmitter, Output, ViewChild, Input } from '@angular/core';
11
- import { MJEventType, MJGlobal } from '@memberjunction/global';
12
- import { EventCodes, SharedService } from '../../shared/shared.service';
13
- import { Metadata, RunView } from '@memberjunction/core';
14
- import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "@memberjunction/ng-auth-services";
17
- import * as i2 from "../../shared/shared.service";
18
- import * as i3 from "./MSFT_UserImageService";
19
- import * as i4 from "@angular/router";
20
- import * as i5 from "@angular/common";
21
- import * as i6 from "@angular/forms";
22
- import * as i7 from "@progress/kendo-angular-inputs";
23
- import * as i8 from "@progress/kendo-angular-layout";
24
- import * as i9 from "@progress/kendo-angular-dropdowns";
25
- const _c0 = ["searchInput"];
26
- function HeaderComponent_span_17_Template(rf, ctx) { if (rf & 1) {
27
- i0.ɵɵelementStart(0, "span", 21);
28
- i0.ɵɵtext(1);
29
- i0.ɵɵelementEnd();
30
- } if (rf & 2) {
31
- const ctx_r1 = i0.ɵɵnextContext();
32
- i0.ɵɵadvance(1);
33
- i0.ɵɵtextInterpolate(ctx_r1.UnreadNotificationCount);
34
- } }
35
- export class HeaderComponent {
36
- get UserNotifications() {
37
- return SharedService.UserNotifications;
38
- }
39
- get UnreadNotificationCount() {
40
- return SharedService.UnreadUserNotificationCount;
41
- }
42
- constructor(authBase, sharedService, msftUserImageService, router) {
43
- this.authBase = authBase;
44
- this.sharedService = sharedService;
45
- this.msftUserImageService = msftUserImageService;
46
- this.router = router;
47
- this.menuItems = [
48
- 'User Name', 'Logout'
49
- ];
50
- this.selectedMenuItem = 'User Name';
51
- this.userImageURL = 'assets/user.png';
52
- this.toggle = new EventEmitter();
53
- this.appName = '';
54
- this.selectedLanguage = { locale: 'English', localeId: 'en-US' };
55
- this.popupSettings = { width: '150' };
56
- this.themes = [
57
- {
58
- href: 'assets/kendo-theme-default/dist/all.css',
59
- text: 'Default'
60
- }
61
- ];
62
- this.selectedTheme = this.themes[0];
63
- this.searchableEntities = [];
64
- }
65
- changeTheme(theme) {
66
- this.selectedTheme = theme;
67
- const themeEl = document.getElementById('theme');
68
- themeEl.href = theme.href;
69
- }
70
- onButtonClick() {
71
- this.toggle.emit();
72
- }
73
- logout() {
74
- return __awaiter(this, void 0, void 0, function* () {
75
- this.authBase.logout();
76
- localStorage.removeItem('auth');
77
- localStorage.removeItem('claims');
78
- });
79
- }
80
- valueChange(event) {
81
- return __awaiter(this, void 0, void 0, function* () {
82
- if (event === 'Logout') {
83
- this.logout();
84
- }
85
- });
86
- }
87
- showNotifications(event) {
88
- return __awaiter(this, void 0, void 0, function* () {
89
- MJGlobal.Instance.RaiseEvent({
90
- event: MJEventType.ComponentEvent,
91
- component: this,
92
- eventCode: EventCodes.ViewNotifications,
93
- args: {}
94
- });
95
- this.router.navigate(['notifications']);
96
- });
97
- }
98
- ngOnInit() {
99
- return __awaiter(this, void 0, void 0, function* () {
100
- this.appName = `${this.applicationName} - ${this.applicationInstance}`;
101
- MJGlobal.Instance.GetEventListener(true).subscribe((event) => __awaiter(this, void 0, void 0, function* () {
102
- if (event.event === MJEventType.LoggedIn) {
103
- yield this.loadSearchableEntities();
104
- const md = new Metadata();
105
- this.menuItems[0] = md.CurrentUser.FirstLast;
106
- this.selectedMenuItem = this.menuItems[0];
107
- if (this.isMicrosoft(event.args))
108
- this.msftUserImageService.getPhoto(event.args.accessToken).subscribe((blob) => {
109
- this.userImageURL = URL.createObjectURL(blob);
110
- this.sharedService.CurrentUserImage = this.userImageURL;
111
- });
112
- }
113
- }));
114
- });
115
- }
116
- loadSearchableEntities() {
117
- return __awaiter(this, void 0, void 0, function* () {
118
- const rv = new RunView();
119
- const result = yield rv.RunView({
120
- EntityName: 'Entities',
121
- ExtraFilter: 'AllowUserSearchAPI = 1'
122
- });
123
- if (result && result.Success) {
124
- this.searchableEntities = result.Results;
125
- if (this.searchableEntities.length > 0) {
126
- this.selectedEntity = this.searchableEntities[0];
127
- }
128
- }
129
- });
130
- }
131
- isMicrosoft(claims) {
132
- return claims && claims.authority && (claims.authority.includes('microsoftonline.com') ||
133
- claims.authority.includes('microsoft.com'));
134
- }
135
- onSearch(event) {
136
- const inputValue = this.searchInput.nativeElement.value;
137
- if (inputValue && inputValue.length > 0 && inputValue.trim().length > 2 /* at least 3 characters to search*/) {
138
- this.searchInput.nativeElement.value = ''; // blank it out
139
- this.router.navigate(['resource', 'search', inputValue], { queryParams: { Entity: this.selectedEntity.Name } });
140
- }
141
- else {
142
- this.sharedService.CreateSimpleNotification('Please enter at least 3 characters to search', 'warning', 1500);
143
- }
144
- }
145
- }
146
- HeaderComponent.ɵfac = function HeaderComponent_Factory(t) { return new (t || HeaderComponent)(i0.ɵɵdirectiveInject(i1.MJAuthBase), i0.ɵɵdirectiveInject(i2.SharedService), i0.ɵɵdirectiveInject(i3.MSFTUserImageService), i0.ɵɵdirectiveInject(i4.Router)); };
147
- HeaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderComponent, selectors: [["app-header-component"]], viewQuery: function HeaderComponent_Query(rf, ctx) { if (rf & 1) {
148
- i0.ɵɵviewQuery(_c0, 5);
149
- i0.ɵɵviewQuery(DropDownListComponent, 5);
150
- } if (rf & 2) {
151
- let _t;
152
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.searchInput = _t.first);
153
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.entityDropdown = _t.first);
154
- } }, inputs: { applicationName: "applicationName", applicationInstance: "applicationInstance" }, outputs: { toggle: "toggle" }, decls: 22, vars: 7, consts: [[1, "header-wrap"], [1, "header", "header-bg"], [1, "nav-container"], [1, "menu-button"], [1, "k-icon", "hamburger-icon", 3, "click"], [1, "title"], ["kendoCardMedia", "", "src", "assets/MJ-Logo.png", "height", "45px", 1, "app-logo"], [1, "k-ml-2.5"], [1, "user-info-wrapper"], [1, "search-wrapper"], ["textField", "Name", "valueField", "ID", 1, "search-entity-list", 3, "data", "ngModel", "ngModelChange"], ["type", "text", "id", "txtSearch", "placeholder", "Search", "kendoTextBox", "", 3, "keydown.enter"], ["searchInput", ""], [1, "k-icon", "k-i-zoom", 3, "click"], [1, "icon-inbox", 3, "click"], [1, "k-icon", "k-i-inbox", 2, "cursor", "pointer"], ["class", "notification", 4, "ngIf"], ["shape", "circle", 1, "k-m-0", 2, "margin", "0", 3, "imageSrc"], [1, "user-info"], [1, "example-col"], [3, "data", "value", "valueChange"], [1, "notification"]], template: function HeaderComponent_Template(rf, ctx) { if (rf & 1) {
155
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "span", 4);
156
- i0.ɵɵlistener("click", function HeaderComponent_Template_span_click_4_listener() { return ctx.onButtonClick(); });
157
- i0.ɵɵelementEnd()();
158
- i0.ɵɵelementStart(5, "div", 5);
159
- i0.ɵɵelement(6, "img", 6);
160
- i0.ɵɵelementStart(7, "h1", 7);
161
- i0.ɵɵtext(8);
162
- i0.ɵɵelementEnd()();
163
- i0.ɵɵelementStart(9, "div", 8)(10, "div", 9)(11, "kendo-dropdownlist", 10);
164
- i0.ɵɵlistener("ngModelChange", function HeaderComponent_Template_kendo_dropdownlist_ngModelChange_11_listener($event) { return ctx.selectedEntity = $event; });
165
- i0.ɵɵelementEnd();
166
- i0.ɵɵelementStart(12, "input", 11, 12);
167
- i0.ɵɵlistener("keydown.enter", function HeaderComponent_Template_input_keydown_enter_12_listener($event) { return ctx.onSearch($event); });
168
- i0.ɵɵelementEnd();
169
- i0.ɵɵelementStart(14, "span", 13);
170
- i0.ɵɵlistener("click", function HeaderComponent_Template_span_click_14_listener($event) { return ctx.onSearch($event); });
171
- i0.ɵɵelementEnd()();
172
- i0.ɵɵelementStart(15, "div", 14);
173
- i0.ɵɵlistener("click", function HeaderComponent_Template_div_click_15_listener($event) { return ctx.showNotifications($event); });
174
- i0.ɵɵelement(16, "span", 15);
175
- i0.ɵɵtemplate(17, HeaderComponent_span_17_Template, 2, 1, "span", 16);
176
- i0.ɵɵelementEnd();
177
- i0.ɵɵelement(18, "kendo-avatar", 17);
178
- i0.ɵɵelementStart(19, "div", 18)(20, "div", 19)(21, "kendo-dropdownlist", 20);
179
- i0.ɵɵlistener("valueChange", function HeaderComponent_Template_kendo_dropdownlist_valueChange_21_listener($event) { return ctx.valueChange($event); });
180
- i0.ɵɵelementEnd()()()()()()();
181
- } if (rf & 2) {
182
- i0.ɵɵadvance(8);
183
- i0.ɵɵtextInterpolate(ctx.appName);
184
- i0.ɵɵadvance(3);
185
- i0.ɵɵproperty("data", ctx.searchableEntities)("ngModel", ctx.selectedEntity);
186
- i0.ɵɵadvance(6);
187
- i0.ɵɵproperty("ngIf", ctx.UnreadNotificationCount > 0);
188
- i0.ɵɵadvance(1);
189
- i0.ɵɵproperty("imageSrc", ctx.userImageURL);
190
- i0.ɵɵadvance(3);
191
- i0.ɵɵproperty("data", ctx.menuItems)("value", ctx.selectedMenuItem);
192
- } }, dependencies: [i5.NgIf, i6.NgControlStatus, i6.NgModel, i7.TextBoxDirective, i8.AvatarComponent, i8.CardMediaDirective, i9.DropDownListComponent], styles: [".header-wrap[_ngcontent-%COMP%] {\r\n flex: auto;\r\n}\r\n\r\n.title[_ngcontent-%COMP%] {\r\n font-size: x-large; \r\n}\r\n.app-logo[_ngcontent-%COMP%] {\r\n width: 100px;\r\n height: 50px;\r\n}\r\n\r\n.user-info[_ngcontent-%COMP%] kendo-dropdownlist[_ngcontent-%COMP%] {\r\n border: none;\r\n background: transparent;\r\n width: auto;\r\n color: #fff;\r\n}\r\n.user-info-wrapper[_ngcontent-%COMP%] {\r\n display: flex;\r\n align-items: center;\r\n}\r\n.icon-inbox[_ngcontent-%COMP%] {\r\n position: relative;\r\n margin: 0 26px 0 40px;\r\n}\r\n.icon-inbox[_ngcontent-%COMP%] .notification[_ngcontent-%COMP%] {\r\n position: absolute;\r\n top: -8px;\r\n right: -8px;\r\n width: 16px;\r\n height: 16px;\r\n min-width: 16px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n background: #ff6358;\r\n border-radius: 50%;\r\n color: #fff;\r\n font-size: 10px;\r\n}\r\n.user-info-wrapper[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .k-avatar[_ngcontent-%COMP%] {\r\n padding-left: 25px;\r\n border-left: 2px solid #fff;\r\n}\r\n.search-wrapper[_ngcontent-%COMP%] {\r\n display: flex;\r\n align-items: center;\r\n position: relative;\r\n width: 500px;\r\n}\r\n.search-entity-list[_ngcontent-%COMP%] {\r\n width: 200px; \r\n}\r\n .search-wrapper #txtSearch::placeholder, .search-wrapper input::placeholder {\r\n color: #fff;\r\n}\r\n.search-wrapper[_ngcontent-%COMP%] .k-input[_ngcontent-%COMP%], .search-wrapper[_ngcontent-%COMP%] .k-dropdownlist[_ngcontent-%COMP%] {\r\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\r\n background: transparent;\r\n border-radius: 0;\r\n color: #fff;\r\n}\r\n.search-wrapper[_ngcontent-%COMP%] .k-icon[_ngcontent-%COMP%] {\r\n position: absolute;\r\n right: 0;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n z-index: 9;\r\n cursor: pointer;\r\n margin-right: 2px;\r\n} \r\n.k-input[_ngcontent-%COMP%] {\r\n color: black;\r\n}\r\n\r\n\r\n\r\n@media (max-width: 1700px) {\r\n .title[_ngcontent-%COMP%] {\r\n font-size: x-small; \r\n }\r\n .app-logo[_ngcontent-%COMP%] {\r\n width: 50px;\r\n height: 25px;\r\n }\r\n}\r\n@media (max-width: 1200px) {\r\n .title[_ngcontent-%COMP%] {\r\n display: none;\r\n }\r\n .app-logo[_ngcontent-%COMP%] {\r\n display: none\r\n }\r\n\r\n .search-wrapper[_ngcontent-%COMP%] {\r\n width: 350px;\r\n } \r\n .search-entity-list[_ngcontent-%COMP%] {\r\n width: 150px; \r\n }\r\n}"] });
193
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HeaderComponent, [{
194
- type: Component,
195
- args: [{ selector: 'app-header-component', template: "<div class=\"header-wrap\">\r\n <div class=\"header header-bg\">\r\n <div class=\"nav-container\">\r\n <div class=\"menu-button\">\r\n <span class=\"k-icon hamburger-icon\" (click)=\"onButtonClick()\"></span>\r\n </div>\r\n\r\n <div class=\"title\">\r\n <img kendoCardMedia src=\"assets/MJ-Logo.png\" height=\"45px\" class=\"app-logo\" />\r\n <h1 class=\"k-ml-2.5\">{{appName}}</h1>\r\n </div>\r\n\r\n <div class=\"user-info-wrapper\">\r\n <div class=\"search-wrapper\">\r\n <kendo-dropdownlist\r\n [data]=\"searchableEntities\"\r\n textField=\"Name\"\r\n valueField=\"ID\"\r\n class = \"search-entity-list\"\r\n [(ngModel)]=\"selectedEntity\"\r\n >\r\n </kendo-dropdownlist>\r\n <input \r\n type=\"text\"\r\n id=\"txtSearch\"\r\n placeholder=\"Search\"\r\n kendoTextBox\r\n (keydown.enter)=\"onSearch($event)\"\r\n #searchInput\r\n />\r\n <span class=\"k-icon k-i-zoom\" (click)=\"onSearch($event)\"></span>\r\n </div>\r\n <div class=\"icon-inbox\" (click)=\"showNotifications($event)\">\r\n <span class=\"k-icon k-i-inbox\" style=\"cursor: pointer;\"></span>\r\n <span class=\"notification\" *ngIf=\"UnreadNotificationCount > 0\">{{UnreadNotificationCount}}</span>\r\n </div>\r\n <kendo-avatar class=\"k-m-0\" style=\"margin: 0;\" [imageSrc]=\"userImageURL\" shape=\"circle\"> </kendo-avatar>\r\n <div class=\"user-info\">\r\n <div class=\"example-col\">\r\n <kendo-dropdownlist [data]=\"menuItems\" [value]=\"selectedMenuItem\" (valueChange)=\"valueChange($event)\">\r\n </kendo-dropdownlist>\r\n \r\n </div>\r\n </div>\r\n \r\n\r\n \r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"nav-breadcrumb\">\r\n <kendo-breadcrumb (itemClick)=\"onBreadCrumbClick($event)\" [items]=\"breadCrumbItems\">\r\n </kendo-breadcrumb>\r\n </div> -->\r\n</div>\r\n", styles: [".header-wrap {\r\n flex: auto;\r\n}\r\n\r\n.title {\r\n font-size: x-large; \r\n}\r\n.app-logo {\r\n width: 100px;\r\n height: 50px;\r\n}\r\n\r\n.user-info kendo-dropdownlist {\r\n border: none;\r\n background: transparent;\r\n width: auto;\r\n color: #fff;\r\n}\r\n.user-info-wrapper {\r\n display: flex;\r\n align-items: center;\r\n}\r\n.icon-inbox {\r\n position: relative;\r\n margin: 0 26px 0 40px;\r\n}\r\n.icon-inbox .notification {\r\n position: absolute;\r\n top: -8px;\r\n right: -8px;\r\n width: 16px;\r\n height: 16px;\r\n min-width: 16px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n background: #ff6358;\r\n border-radius: 50%;\r\n color: #fff;\r\n font-size: 10px;\r\n}\r\n.user-info-wrapper .header .k-avatar {\r\n padding-left: 25px;\r\n border-left: 2px solid #fff;\r\n}\r\n.search-wrapper {\r\n display: flex;\r\n align-items: center;\r\n position: relative;\r\n width: 500px;\r\n}\r\n.search-entity-list {\r\n width: 200px; \r\n}\r\n::ng-deep .search-wrapper #txtSearch::placeholder, ::ng-deep .search-wrapper input::placeholder {\r\n color: #fff;\r\n}\r\n.search-wrapper .k-input, .search-wrapper .k-dropdownlist {\r\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\r\n background: transparent;\r\n border-radius: 0;\r\n color: #fff;\r\n}\r\n.search-wrapper .k-icon {\r\n position: absolute;\r\n right: 0;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n z-index: 9;\r\n cursor: pointer;\r\n margin-right: 2px;\r\n} \r\n.k-input {\r\n color: black;\r\n}\r\n\r\n\r\n/*RESPONSIVE STUFF HERE */\r\n@media (max-width: 1700px) {\r\n .title {\r\n font-size: x-small; /* or any other size you prefer */\r\n }\r\n .app-logo {\r\n width: 50px;\r\n height: 25px;\r\n }\r\n}\r\n@media (max-width: 1200px) {\r\n .title {\r\n display: none;\r\n }\r\n .app-logo {\r\n display: none\r\n }\r\n\r\n .search-wrapper {\r\n width: 350px;\r\n } \r\n .search-entity-list {\r\n width: 150px; \r\n }\r\n}\r\n"] }]
196
- }], function () { return [{ type: i1.MJAuthBase }, { type: i2.SharedService }, { type: i3.MSFTUserImageService }, { type: i4.Router }]; }, { applicationName: [{
197
- type: Input
198
- }], applicationInstance: [{
199
- type: Input
200
- }], toggle: [{
201
- type: Output
202
- }], searchInput: [{
203
- type: ViewChild,
204
- args: ['searchInput']
205
- }], entityDropdown: [{
206
- type: ViewChild,
207
- args: [DropDownListComponent]
208
- }] }); })();
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { Component, EventEmitter, Output, ViewChild, Input } from '@angular/core';
11
+ import { MJEventType, MJGlobal } from '@memberjunction/global';
12
+ import { EventCodes, SharedService } from '@memberjunction/ng-shared';
13
+ import { Metadata, RunView } from '@memberjunction/core';
14
+ import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
15
+ import * as i0 from "@angular/core";
16
+ import * as i1 from "@memberjunction/ng-auth-services";
17
+ import * as i2 from "@memberjunction/ng-shared";
18
+ import * as i3 from "./MSFT_UserImageService";
19
+ import * as i4 from "@angular/router";
20
+ import * as i5 from "@angular/common";
21
+ import * as i6 from "@angular/forms";
22
+ import * as i7 from "@progress/kendo-angular-inputs";
23
+ import * as i8 from "@progress/kendo-angular-icons";
24
+ import * as i9 from "@progress/kendo-angular-layout";
25
+ import * as i10 from "@progress/kendo-angular-dropdowns";
26
+ const _c0 = ["searchInput"];
27
+ function HeaderComponent_span_20_Template(rf, ctx) { if (rf & 1) {
28
+ i0.ɵɵelementStart(0, "span", 21);
29
+ i0.ɵɵtext(1);
30
+ i0.ɵɵelementEnd();
31
+ } if (rf & 2) {
32
+ const ctx_r1 = i0.ɵɵnextContext();
33
+ i0.ɵɵadvance();
34
+ i0.ɵɵtextInterpolate(ctx_r1.UnreadNotificationCount);
35
+ } }
36
+ export class HeaderComponent {
37
+ get UserNotifications() {
38
+ return SharedService.UserNotifications;
39
+ }
40
+ get UnreadNotificationCount() {
41
+ return SharedService.UnreadUserNotificationCount;
42
+ }
43
+ constructor(authBase, sharedService, msftUserImageService, router) {
44
+ this.authBase = authBase;
45
+ this.sharedService = sharedService;
46
+ this.msftUserImageService = msftUserImageService;
47
+ this.router = router;
48
+ this.menuItems = [
49
+ 'User Name', 'Logout'
50
+ ];
51
+ this.selectedMenuItem = 'User Name';
52
+ this.userImageURL = 'assets/user.png';
53
+ this.toggle = new EventEmitter();
54
+ this.appName = '';
55
+ this.selectedLanguage = { locale: 'English', localeId: 'en-US' };
56
+ this.popupSettings = { width: '150' };
57
+ this.themes = [
58
+ {
59
+ href: 'assets/kendo-theme-default/dist/all.css',
60
+ text: 'Default'
61
+ }
62
+ ];
63
+ this.selectedTheme = this.themes[0];
64
+ this.searchableEntities = [];
65
+ }
66
+ changeTheme(theme) {
67
+ this.selectedTheme = theme;
68
+ const themeEl = document.getElementById('theme');
69
+ themeEl.href = theme.href;
70
+ }
71
+ onButtonClick() {
72
+ this.toggle.emit();
73
+ }
74
+ logout() {
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ this.authBase.logout();
77
+ localStorage.removeItem('auth');
78
+ localStorage.removeItem('claims');
79
+ });
80
+ }
81
+ valueChange(event) {
82
+ return __awaiter(this, void 0, void 0, function* () {
83
+ if (event === 'Logout') {
84
+ this.logout();
85
+ }
86
+ });
87
+ }
88
+ showNotifications(event) {
89
+ return __awaiter(this, void 0, void 0, function* () {
90
+ MJGlobal.Instance.RaiseEvent({
91
+ event: MJEventType.ComponentEvent,
92
+ component: this,
93
+ eventCode: EventCodes.ViewNotifications,
94
+ args: {}
95
+ });
96
+ this.router.navigate(['notifications']);
97
+ });
98
+ }
99
+ ngOnInit() {
100
+ return __awaiter(this, void 0, void 0, function* () {
101
+ this.appName = `${this.applicationName} - ${this.applicationInstance}`;
102
+ MJGlobal.Instance.GetEventListener(true).subscribe((event) => __awaiter(this, void 0, void 0, function* () {
103
+ if (event.event === MJEventType.LoggedIn) {
104
+ yield this.loadSearchableEntities();
105
+ const md = new Metadata();
106
+ this.menuItems[0] = md.CurrentUser.FirstLast;
107
+ this.selectedMenuItem = this.menuItems[0];
108
+ if (this.isMicrosoft(event.args))
109
+ this.msftUserImageService.getPhoto(event.args.accessToken).subscribe((blob) => {
110
+ this.userImageURL = URL.createObjectURL(blob);
111
+ this.sharedService.CurrentUserImage = this.userImageURL;
112
+ });
113
+ }
114
+ }));
115
+ });
116
+ }
117
+ loadSearchableEntities() {
118
+ return __awaiter(this, void 0, void 0, function* () {
119
+ const rv = new RunView();
120
+ const result = yield rv.RunView({
121
+ EntityName: 'Entities',
122
+ ExtraFilter: 'AllowUserSearchAPI = 1'
123
+ });
124
+ if (result && result.Success) {
125
+ this.searchableEntities = result.Results;
126
+ if (this.searchableEntities.length > 0) {
127
+ this.selectedEntity = this.searchableEntities[0];
128
+ }
129
+ }
130
+ });
131
+ }
132
+ isMicrosoft(claims) {
133
+ return claims && claims.authority && (claims.authority.includes('microsoftonline.com') ||
134
+ claims.authority.includes('microsoft.com'));
135
+ }
136
+ onSearch(event) {
137
+ const inputValue = this.searchInput.nativeElement.value;
138
+ if (inputValue && inputValue.length > 0 && inputValue.trim().length > 2 /* at least 3 characters to search*/) {
139
+ this.searchInput.nativeElement.value = ''; // blank it out
140
+ this.router.navigate(['resource', 'search', inputValue], { queryParams: { Entity: this.selectedEntity.Name } });
141
+ }
142
+ else {
143
+ this.sharedService.CreateSimpleNotification('Please enter at least 3 characters to search', 'warning', 1500);
144
+ }
145
+ }
146
+ }
147
+ HeaderComponent.ɵfac = function HeaderComponent_Factory(t) { return new (t || HeaderComponent)(i0.ɵɵdirectiveInject(i1.MJAuthBase), i0.ɵɵdirectiveInject(i2.SharedService), i0.ɵɵdirectiveInject(i3.MSFTUserImageService), i0.ɵɵdirectiveInject(i4.Router)); };
148
+ HeaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderComponent, selectors: [["app-header-component"]], viewQuery: function HeaderComponent_Query(rf, ctx) { if (rf & 1) {
149
+ i0.ɵɵviewQuery(_c0, 5);
150
+ i0.ɵɵviewQuery(DropDownListComponent, 5);
151
+ } if (rf & 2) {
152
+ let _t;
153
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.searchInput = _t.first);
154
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.entityDropdown = _t.first);
155
+ } }, inputs: { applicationName: "applicationName", applicationInstance: "applicationInstance" }, outputs: { toggle: "toggle" }, decls: 25, vars: 10, consts: [[1, "header-wrap"], [1, "header", "header-bg"], [1, "nav-container"], [1, "menu-button"], [1, "k-icon", 3, "click"], [3, "icon"], [1, "title"], ["kendoCardMedia", "", "src", "assets/MJ-Logo.png", "height", "45px", 1, "app-logo"], [1, "k-ml-2.5"], [1, "user-info-wrapper"], [1, "search-wrapper"], ["textField", "Name", "valueField", "ID", 1, "search-entity-list", 3, "data", "ngModel", "ngModelChange"], ["type", "text", "id", "txtSearch", "placeholder", "Search", "kendoTextBox", "", 3, "keydown.enter"], ["searchInput", ""], [1, "icon-inbox", 3, "click"], [1, "k-icon", 2, "cursor", "pointer"], ["class", "notification", 4, "ngIf"], ["shape", "circle", 1, "k-m-0", 2, "margin", "0", 3, "imageSrc"], [1, "user-info"], [1, "example-col"], [3, "data", "value", "valueChange"], [1, "notification"]], template: function HeaderComponent_Template(rf, ctx) { if (rf & 1) {
156
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "span", 4);
157
+ i0.ɵɵlistener("click", function HeaderComponent_Template_span_click_4_listener() { return ctx.onButtonClick(); });
158
+ i0.ɵɵelement(5, "kendo-svgicon", 5);
159
+ i0.ɵɵelementEnd()();
160
+ i0.ɵɵelementStart(6, "div", 6);
161
+ i0.ɵɵelement(7, "img", 7);
162
+ i0.ɵɵelementStart(8, "h1", 8);
163
+ i0.ɵɵtext(9);
164
+ i0.ɵɵelementEnd()();
165
+ i0.ɵɵelementStart(10, "div", 9)(11, "div", 10)(12, "kendo-dropdownlist", 11);
166
+ i0.ɵɵlistener("ngModelChange", function HeaderComponent_Template_kendo_dropdownlist_ngModelChange_12_listener($event) { return ctx.selectedEntity = $event; });
167
+ i0.ɵɵelementEnd();
168
+ i0.ɵɵelementStart(13, "input", 12, 13);
169
+ i0.ɵɵlistener("keydown.enter", function HeaderComponent_Template_input_keydown_enter_13_listener($event) { return ctx.onSearch($event); });
170
+ i0.ɵɵelementEnd();
171
+ i0.ɵɵelementStart(15, "span", 4);
172
+ i0.ɵɵlistener("click", function HeaderComponent_Template_span_click_15_listener($event) { return ctx.onSearch($event); });
173
+ i0.ɵɵelement(16, "kendo-svgicon", 5);
174
+ i0.ɵɵelementEnd()();
175
+ i0.ɵɵelementStart(17, "div", 14);
176
+ i0.ɵɵlistener("click", function HeaderComponent_Template_div_click_17_listener($event) { return ctx.showNotifications($event); });
177
+ i0.ɵɵelementStart(18, "span", 15);
178
+ i0.ɵɵelement(19, "kendo-svgicon", 5);
179
+ i0.ɵɵelementEnd();
180
+ i0.ɵɵtemplate(20, HeaderComponent_span_20_Template, 2, 1, "span", 16);
181
+ i0.ɵɵelementEnd();
182
+ i0.ɵɵelement(21, "kendo-avatar", 17);
183
+ i0.ɵɵelementStart(22, "div", 18)(23, "div", 19)(24, "kendo-dropdownlist", 20);
184
+ i0.ɵɵlistener("valueChange", function HeaderComponent_Template_kendo_dropdownlist_valueChange_24_listener($event) { return ctx.valueChange($event); });
185
+ i0.ɵɵelementEnd()()()()()()();
186
+ } if (rf & 2) {
187
+ i0.ɵɵadvance(5);
188
+ i0.ɵɵproperty("icon", ctx.sharedService.kendoSVGIcon("menu"));
189
+ i0.ɵɵadvance(4);
190
+ i0.ɵɵtextInterpolate(ctx.appName);
191
+ i0.ɵɵadvance(3);
192
+ i0.ɵɵproperty("data", ctx.searchableEntities)("ngModel", ctx.selectedEntity);
193
+ i0.ɵɵadvance(4);
194
+ i0.ɵɵproperty("icon", ctx.sharedService.kendoSVGIcon("search"));
195
+ i0.ɵɵadvance(3);
196
+ i0.ɵɵproperty("icon", ctx.sharedService.kendoSVGIcon("inbox"));
197
+ i0.ɵɵadvance();
198
+ i0.ɵɵproperty("ngIf", ctx.UnreadNotificationCount > 0);
199
+ i0.ɵɵadvance();
200
+ i0.ɵɵproperty("imageSrc", ctx.userImageURL);
201
+ i0.ɵɵadvance(3);
202
+ i0.ɵɵproperty("data", ctx.menuItems)("value", ctx.selectedMenuItem);
203
+ } }, dependencies: [i5.NgIf, i6.NgControlStatus, i6.NgModel, i7.TextBoxDirective, i8.SVGIconComponent, i9.AvatarComponent, i9.CardMediaDirective, i10.DropDownListComponent], styles: [".header-wrap[_ngcontent-%COMP%] {\r\n flex: auto;\r\n}\r\n\r\n.title[_ngcontent-%COMP%] {\r\n font-size: x-large; \r\n}\r\n.app-logo[_ngcontent-%COMP%] {\r\n width: 100px;\r\n height: 50px;\r\n}\r\n\r\n.user-info[_ngcontent-%COMP%] kendo-dropdownlist[_ngcontent-%COMP%] {\r\n border: none;\r\n background: transparent;\r\n width: auto;\r\n color: #fff;\r\n}\r\n.user-info-wrapper[_ngcontent-%COMP%] {\r\n display: flex;\r\n align-items: center;\r\n}\r\n.icon-inbox[_ngcontent-%COMP%] {\r\n position: relative;\r\n margin: 0 26px 0 40px;\r\n}\r\n.icon-inbox[_ngcontent-%COMP%] .notification[_ngcontent-%COMP%] {\r\n position: absolute;\r\n top: -8px;\r\n right: -8px;\r\n width: 16px;\r\n height: 16px;\r\n min-width: 16px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n background: #ff6358;\r\n border-radius: 50%;\r\n color: #fff;\r\n font-size: 10px;\r\n}\r\n.user-info-wrapper[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .k-avatar[_ngcontent-%COMP%] {\r\n padding-left: 25px;\r\n border-left: 2px solid #fff;\r\n}\r\n.search-wrapper[_ngcontent-%COMP%] {\r\n display: flex;\r\n align-items: center;\r\n position: relative;\r\n width: 500px;\r\n}\r\n.search-entity-list[_ngcontent-%COMP%] {\r\n width: 200px; \r\n}\r\n .search-wrapper #txtSearch::placeholder, .search-wrapper input::placeholder {\r\n color: #fff;\r\n}\r\n.search-wrapper[_ngcontent-%COMP%] .k-input[_ngcontent-%COMP%], .search-wrapper[_ngcontent-%COMP%] .k-dropdownlist[_ngcontent-%COMP%] {\r\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\r\n background: transparent;\r\n border-radius: 0;\r\n color: #fff;\r\n}\r\n.search-wrapper[_ngcontent-%COMP%] .k-icon[_ngcontent-%COMP%] {\r\n position: absolute;\r\n right: 0;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n z-index: 9;\r\n cursor: pointer;\r\n margin-right: 2px;\r\n} \r\n.k-input[_ngcontent-%COMP%] {\r\n color: black;\r\n}\r\n\r\n\r\n\n\r\n@media (max-width: 1700px) {\r\n .title[_ngcontent-%COMP%] {\r\n font-size: x-small; \n\r\n }\r\n .app-logo[_ngcontent-%COMP%] {\r\n width: 50px;\r\n height: 25px;\r\n }\r\n}\r\n@media (max-width: 1200px) {\r\n .title[_ngcontent-%COMP%] {\r\n display: none;\r\n }\r\n .app-logo[_ngcontent-%COMP%] {\r\n display: none\r\n }\r\n\r\n .search-wrapper[_ngcontent-%COMP%] {\r\n width: 350px;\r\n } \r\n .search-entity-list[_ngcontent-%COMP%] {\r\n width: 150px; \r\n }\r\n}"] });
204
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HeaderComponent, [{
205
+ type: Component,
206
+ args: [{ selector: 'app-header-component', template: "<div class=\"header-wrap\">\r\n <div class=\"header header-bg\">\r\n <div class=\"nav-container\">\r\n <div class=\"menu-button\">\r\n <span class=\"k-icon\" (click)=\"onButtonClick()\"><kendo-svgicon [icon]=\"sharedService.kendoSVGIcon('menu')\" ></kendo-svgicon></span>\r\n </div>\r\n\r\n <div class=\"title\">\r\n <img kendoCardMedia src=\"assets/MJ-Logo.png\" height=\"45px\" class=\"app-logo\" />\r\n <h1 class=\"k-ml-2.5\">{{appName}}</h1>\r\n </div>\r\n\r\n <div class=\"user-info-wrapper\">\r\n <div class=\"search-wrapper\">\r\n <kendo-dropdownlist\r\n [data]=\"searchableEntities\"\r\n textField=\"Name\"\r\n valueField=\"ID\"\r\n class = \"search-entity-list\"\r\n [(ngModel)]=\"selectedEntity\"\r\n >\r\n </kendo-dropdownlist>\r\n <input \r\n type=\"text\"\r\n id=\"txtSearch\"\r\n placeholder=\"Search\"\r\n kendoTextBox\r\n (keydown.enter)=\"onSearch($event)\"\r\n #searchInput\r\n />\r\n <span class=\"k-icon\" (click)=\"onSearch($event)\"><kendo-svgicon [icon]=\"sharedService.kendoSVGIcon('search')\"></kendo-svgicon></span>\r\n </div>\r\n <div class=\"icon-inbox\" (click)=\"showNotifications($event)\">\r\n <span class=\"k-icon\" style=\"cursor: pointer;\"><kendo-svgicon [icon]=\"sharedService.kendoSVGIcon('inbox')\"></kendo-svgicon></span>\r\n <span class=\"notification\" *ngIf=\"UnreadNotificationCount > 0\">{{UnreadNotificationCount}}</span>\r\n </div>\r\n <kendo-avatar class=\"k-m-0\" style=\"margin: 0;\" [imageSrc]=\"userImageURL\" shape=\"circle\"> </kendo-avatar>\r\n <div class=\"user-info\">\r\n <div class=\"example-col\">\r\n <kendo-dropdownlist [data]=\"menuItems\" [value]=\"selectedMenuItem\" (valueChange)=\"valueChange($event)\">\r\n </kendo-dropdownlist>\r\n \r\n </div>\r\n </div>\r\n \r\n\r\n \r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"nav-breadcrumb\">\r\n <kendo-breadcrumb (itemClick)=\"onBreadCrumbClick($event)\" [items]=\"breadCrumbItems\">\r\n </kendo-breadcrumb>\r\n </div> -->\r\n</div>\r\n", styles: [".header-wrap {\r\n flex: auto;\r\n}\r\n\r\n.title {\r\n font-size: x-large; \r\n}\r\n.app-logo {\r\n width: 100px;\r\n height: 50px;\r\n}\r\n\r\n.user-info kendo-dropdownlist {\r\n border: none;\r\n background: transparent;\r\n width: auto;\r\n color: #fff;\r\n}\r\n.user-info-wrapper {\r\n display: flex;\r\n align-items: center;\r\n}\r\n.icon-inbox {\r\n position: relative;\r\n margin: 0 26px 0 40px;\r\n}\r\n.icon-inbox .notification {\r\n position: absolute;\r\n top: -8px;\r\n right: -8px;\r\n width: 16px;\r\n height: 16px;\r\n min-width: 16px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n background: #ff6358;\r\n border-radius: 50%;\r\n color: #fff;\r\n font-size: 10px;\r\n}\r\n.user-info-wrapper .header .k-avatar {\r\n padding-left: 25px;\r\n border-left: 2px solid #fff;\r\n}\r\n.search-wrapper {\r\n display: flex;\r\n align-items: center;\r\n position: relative;\r\n width: 500px;\r\n}\r\n.search-entity-list {\r\n width: 200px; \r\n}\r\n::ng-deep .search-wrapper #txtSearch::placeholder, ::ng-deep .search-wrapper input::placeholder {\r\n color: #fff;\r\n}\r\n.search-wrapper .k-input, .search-wrapper .k-dropdownlist {\r\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\r\n background: transparent;\r\n border-radius: 0;\r\n color: #fff;\r\n}\r\n.search-wrapper .k-icon {\r\n position: absolute;\r\n right: 0;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n z-index: 9;\r\n cursor: pointer;\r\n margin-right: 2px;\r\n} \r\n.k-input {\r\n color: black;\r\n}\r\n\r\n\r\n/*RESPONSIVE STUFF HERE */\r\n@media (max-width: 1700px) {\r\n .title {\r\n font-size: x-small; /* or any other size you prefer */\r\n }\r\n .app-logo {\r\n width: 50px;\r\n height: 25px;\r\n }\r\n}\r\n@media (max-width: 1200px) {\r\n .title {\r\n display: none;\r\n }\r\n .app-logo {\r\n display: none\r\n }\r\n\r\n .search-wrapper {\r\n width: 350px;\r\n } \r\n .search-entity-list {\r\n width: 150px; \r\n }\r\n}\r\n"] }]
207
+ }], () => [{ type: i1.MJAuthBase }, { type: i2.SharedService }, { type: i3.MSFTUserImageService }, { type: i4.Router }], { applicationName: [{
208
+ type: Input
209
+ }], applicationInstance: [{
210
+ type: Input
211
+ }], toggle: [{
212
+ type: Output
213
+ }], searchInput: [{
214
+ type: ViewChild,
215
+ args: ['searchInput']
216
+ }], entityDropdown: [{
217
+ type: ViewChild,
218
+ args: [DropDownListComponent]
219
+ }] }); })();
220
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(HeaderComponent, { className: "HeaderComponent", filePath: "src\\lib\\header\\header.component.ts", lineNumber: 17 }); })();
@@ -1,9 +1,11 @@
1
- import { Router } from '@angular/router';
2
- import * as i0 from "@angular/core";
3
- export declare class HomeComponent {
4
- private router;
5
- constructor(router: Router);
6
- navigate(route: string): void;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<HomeComponent, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<HomeComponent, "app-home", never, {}, {}, never, never, false, never>;
9
- }
1
+ import { Router } from '@angular/router';
2
+ import { SharedService } from '@memberjunction/ng-shared';
3
+ import * as i0 from "@angular/core";
4
+ export declare class HomeComponent {
5
+ sharedService: SharedService;
6
+ private router;
7
+ constructor(sharedService: SharedService, router: Router);
8
+ navigate(route: string): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<HomeComponent, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<HomeComponent, "app-home", never, {}, {}, never, never, false, never>;
11
+ }