@indice/ng-components 0.2.121-beta → 0.2.121
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.
- package/README.md +4 -4
- package/_styles.css +4 -53
- package/bundles/indice-ng-components.umd.js +52 -68
- package/bundles/indice-ng-components.umd.js.map +1 -1
- package/esm2015/lib/controls/kpi-tile/kpi-tile.component.js +1 -1
- package/esm2015/lib/controls/list-view/list-column.component.js +1 -1
- package/esm2015/lib/controls/list-view/list-view-empty-state.component.js +2 -2
- package/esm2015/lib/controls/skeleton-loader/skeleton-loader.component.js +1 -1
- package/esm2015/lib/layouts/shell/shell-header/shell-header.component.js +34 -46
- package/esm2015/lib/layouts/shell/shell-layout/shell-layout.component.js +11 -6
- package/esm2015/lib/layouts/views/form-layout/form-layout.component.js +5 -6
- package/esm2015/lib/services/toaster.service.js +1 -1
- package/esm2015/lib/types.js +5 -11
- package/fesm2015/indice-ng-components.js +50 -65
- package/fesm2015/indice-ng-components.js.map +1 -1
- package/lib/layouts/shell/shell-header/shell-header.component.d.ts +15 -21
- package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +3 -2
- package/lib/layouts/views/form-layout/form-layout.component.d.ts +2 -3
- package/lib/types.d.ts +6 -11
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# INDICE ANGULAR Components
|
|
2
|
-
|
|
3
|
-
Indice common components for Angular 2+
|
|
4
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.2.14.
|
|
1
|
+
# INDICE ANGULAR Components
|
|
2
|
+
|
|
3
|
+
Indice common components for Angular 2+
|
|
4
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.2.14.
|
package/_styles.css
CHANGED
|
@@ -105,14 +105,6 @@
|
|
|
105
105
|
@apply block px-4 py-2 text-xs text-blue-300 shadow-sm whitespace-nowrap overflow-ellipsis overflow-hidden;
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
-
.nav-link-notifications {
|
|
109
|
-
@apply block py-3 pl-3 pr-2 text-xs text-gray-700 hover:bg-gray-50;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
.nav-link-notifications-active {
|
|
113
|
-
@apply block py-3 pl-3 pr-2 text-xs text-blue-300 shadow-sm;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
108
|
.nav-link-mobile-active {
|
|
117
109
|
@apply bg-gray-900 text-blue-300 block px-3 py-2 rounded-sm text-xs whitespace-nowrap overflow-ellipsis overflow-hidden;
|
|
118
110
|
}
|
|
@@ -151,7 +143,7 @@
|
|
|
151
143
|
}
|
|
152
144
|
|
|
153
145
|
.shell-content-container {
|
|
154
|
-
@apply -
|
|
146
|
+
@apply bg-gray-900 text-white;
|
|
155
147
|
}
|
|
156
148
|
|
|
157
149
|
.shell-content-container-no-header {
|
|
@@ -221,47 +213,6 @@
|
|
|
221
213
|
@apply z-50 origin-top-right absolute right-0 mt-24 w-48 rounded-sm shadow-lg py-1 bg-white ring-1 ring-black ring-opacity-5 focus:outline-none;
|
|
222
214
|
}
|
|
223
215
|
|
|
224
|
-
.shell-header-profile-dropdown-with-username {
|
|
225
|
-
@apply z-50 origin-top-right absolute right-0 mt-36 w-48 rounded-sm shadow-lg py-1 bg-white ring-1 ring-black ring-opacity-5 focus:outline-none;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
.shell-header-notifications {
|
|
229
|
-
@apply flex gap-3 items-center;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
.shell-header-notifications-dropdown-button {
|
|
233
|
-
@apply max-w-xs focus:outline-none rounded-full flex items-center text-sm ring-1 ring-blue-300 focus:ring-offset-1
|
|
234
|
-
focus:ring-offset-blue-800 focus:ring-blue-400 transition ease-in duration-100;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
.shell-header-notifications-dropdown {
|
|
238
|
-
@apply z-50 origin-top-right absolute right-0 pt-3 pl-2 mt-2 w-80 rounded-sm shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
.shell-header-notifications-dropdown-with-username {
|
|
242
|
-
@apply z-50 origin-top-right absolute right-0 pt-3 pl-2 mt-1 w-80 rounded-sm shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none;
|
|
243
|
-
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
.shell-header-notifications-dropdown-view-all-button{
|
|
247
|
-
@apply items-center align-text-bottom font-medium w-full px-2.5 py-2.5 text-xs text-gray-600 focus:outline-none;
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
.notification-messages::-webkit-scrollbar {
|
|
251
|
-
width: 7px;
|
|
252
|
-
height: 7px;
|
|
253
|
-
background: transparent;
|
|
254
|
-
cursor: pointer;
|
|
255
|
-
/* or add it to the track */
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
.notification-messages::-webkit-scrollbar-thumb {
|
|
259
|
-
@apply bg-gray-600;
|
|
260
|
-
|
|
261
|
-
&:hover {
|
|
262
|
-
@apply bg-gray-700;
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
216
|
|
|
266
217
|
.mobile-menu-button-container {
|
|
267
218
|
@apply -mr-2 flex sm:hidden;
|
|
@@ -304,7 +255,7 @@
|
|
|
304
255
|
}
|
|
305
256
|
|
|
306
257
|
.mobile-menu-rounded-button {
|
|
307
|
-
@apply ml-auto bg-gray-800 flex-shrink-0 p-1 text-gray-400 rounded-full hover:text-white focus:outline-none focus:ring-2 focus:ring-offset-
|
|
258
|
+
@apply ml-auto bg-gray-800 flex-shrink-0 p-1 text-gray-400 rounded-full hover:text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white;
|
|
308
259
|
}
|
|
309
260
|
|
|
310
261
|
.mobile-menu-rounded-button-icon-style {
|
|
@@ -404,7 +355,7 @@
|
|
|
404
355
|
}
|
|
405
356
|
|
|
406
357
|
.view-container-fluid {
|
|
407
|
-
@apply sm:px-0;
|
|
358
|
+
@apply sm:px-0 ;
|
|
408
359
|
}
|
|
409
360
|
|
|
410
361
|
.view-layout-paddings {
|
|
@@ -412,7 +363,7 @@
|
|
|
412
363
|
}
|
|
413
364
|
|
|
414
365
|
.view-layout-title-container {
|
|
415
|
-
@apply flex flex-row justify-start ;
|
|
366
|
+
@apply flex bg-gray-900 text-white flex-row justify-start ;
|
|
416
367
|
}
|
|
417
368
|
|
|
418
369
|
.view-layout-title-container-inner {
|
|
@@ -663,41 +663,36 @@
|
|
|
663
663
|
Icons.Details = ' ms-Icon ms-Icon--AccountActivity';
|
|
664
664
|
|
|
665
665
|
var NavLink = /** @class */ (function () {
|
|
666
|
-
function NavLink(text, path, exact, external, icon
|
|
666
|
+
function NavLink(text, path, exact, external, icon) {
|
|
667
667
|
if (exact === void 0) { exact = false; }
|
|
668
668
|
if (external === void 0) { external = false; }
|
|
669
|
-
this.
|
|
669
|
+
this.type = 'router';
|
|
670
670
|
this.text = text;
|
|
671
671
|
this.path = path;
|
|
672
672
|
this.exact = exact;
|
|
673
673
|
this.external = external;
|
|
674
674
|
this.icon = icon;
|
|
675
|
-
this.isRead = isRead;
|
|
676
|
-
this.creationDate = creationDate;
|
|
677
675
|
}
|
|
678
676
|
return NavLink;
|
|
679
677
|
}());
|
|
680
678
|
var ExternalNavLink = /** @class */ (function (_super) {
|
|
681
679
|
__extends(ExternalNavLink, _super);
|
|
682
680
|
function ExternalNavLink(text, path, openInNewTab, icon) {
|
|
683
|
-
|
|
681
|
+
var _this = _super.call(this, text, path, true, openInNewTab, icon) || this;
|
|
682
|
+
_this.type = 'external';
|
|
683
|
+
return _this;
|
|
684
684
|
}
|
|
685
685
|
return ExternalNavLink;
|
|
686
686
|
}(NavLink));
|
|
687
687
|
var FragmentNavLink = /** @class */ (function (_super) {
|
|
688
688
|
__extends(FragmentNavLink, _super);
|
|
689
689
|
function FragmentNavLink(text, path, icon) {
|
|
690
|
-
|
|
690
|
+
var _this = _super.call(this, text, path, true, true, icon) || this;
|
|
691
|
+
_this.type = 'fragment';
|
|
692
|
+
return _this;
|
|
691
693
|
}
|
|
692
694
|
return FragmentNavLink;
|
|
693
695
|
}(NavLink));
|
|
694
|
-
var NotificationNavLink = /** @class */ (function (_super) {
|
|
695
|
-
__extends(NotificationNavLink, _super);
|
|
696
|
-
function NotificationNavLink(text, path, isRead, creationDate) {
|
|
697
|
-
return _super.call(this, text, path, true, false, undefined, isRead, creationDate) || this;
|
|
698
|
-
}
|
|
699
|
-
return NotificationNavLink;
|
|
700
|
-
}(NavLink));
|
|
701
696
|
var ViewAction = /** @class */ (function () {
|
|
702
697
|
function ViewAction(type, key, param, icon, tooltip) {
|
|
703
698
|
this.type = type;
|
|
@@ -760,7 +755,6 @@
|
|
|
760
755
|
this.appLogoAlt = 'your app name here';
|
|
761
756
|
this.showHeader = true;
|
|
762
757
|
this.showUserNameOnHeader = false;
|
|
763
|
-
this.showNotifications = false;
|
|
764
758
|
this.showFooter = true;
|
|
765
759
|
this.fluid = false;
|
|
766
760
|
}
|
|
@@ -993,7 +987,7 @@
|
|
|
993
987
|
return ListViewEmptyStateComponent;
|
|
994
988
|
}());
|
|
995
989
|
ListViewEmptyStateComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ListViewEmptyStateComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
996
|
-
ListViewEmptyStateComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.1", type: ListViewEmptyStateComponent, selector: "lib-list-view-empty-state", inputs: { title: "title", subTitle: ["sub-title", "subTitle"], newItemLabel: ["new-item-label", "newItemLabel"] }, ngImport: i0__namespace, template: "<div class=\"p-20\">\
|
|
990
|
+
ListViewEmptyStateComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.1", type: ListViewEmptyStateComponent, selector: "lib-list-view-empty-state", inputs: { title: "title", subTitle: ["sub-title", "subTitle"], newItemLabel: ["new-item-label", "newItemLabel"] }, ngImport: i0__namespace, template: "<div class=\"p-20\">\n <div class=\"text-center p-2\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"mx-auto h-12 w-12 text-gray-400\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4\" />\n </svg>\n <h3 class=\"mt-2 text-sm font-medium text-gray-900\">{{title}}</h3>\n <p class=\"mt-1 text-sm text-gray-500\">\n {{subTitle}}\n </p>\n <div class=\"mt-6\" *ngIf=\"false\">\n <button type=\"button\" class=\"inline-flex items-center px-4 py-2 border border-transparent shadow-sm text-sm font-medium rounded-md text-white bg-gray-600 hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-offset-1 focus:ring-gray-500\">\n <!-- Heroicon name: solid/plus -->\n <svg class=\"-ml-1 mr-2 h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" aria-hidden=\"true\">\n <path vector-effect=\"non-scaling-stroke\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 13h6m-3-3v6m-9 1V7a2 2 0 012-2h6l2 2h6a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2z\" />\n </svg>\n {{newItemLabel}}\n </button>\n </div>\n </div>\n</div>\n", directives: [{ type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
997
991
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ListViewEmptyStateComponent, decorators: [{
|
|
998
992
|
type: i0.Component,
|
|
999
993
|
args: [{
|
|
@@ -2072,29 +2066,27 @@
|
|
|
2072
2066
|
}], ctorParameters: function () { return [{ type: i0__namespace.ComponentFactoryResolver }, { type: i0__namespace.Injector }, { type: i0__namespace.ApplicationRef }]; } });
|
|
2073
2067
|
|
|
2074
2068
|
var ShellHeaderComponent = /** @class */ (function () {
|
|
2075
|
-
function ShellHeaderComponent(authService, router, links) {
|
|
2069
|
+
function ShellHeaderComponent(authService, router, config, links) {
|
|
2076
2070
|
this.authService = authService;
|
|
2077
2071
|
this.router = router;
|
|
2072
|
+
this.config = config;
|
|
2078
2073
|
this.links = links;
|
|
2079
2074
|
// tslint:disable-next-line:no-input-rename
|
|
2080
2075
|
this.sectionLinksPath = 'main';
|
|
2081
|
-
|
|
2082
|
-
this.border = true;
|
|
2083
|
-
this.showNotifications = false;
|
|
2084
|
-
this.showUserNameOnHeader = false;
|
|
2085
|
-
this.notificationsMenuVisible = true;
|
|
2076
|
+
// tslint:disable-next-line:no-input-rename
|
|
2086
2077
|
this.profileMenuVisible = true;
|
|
2078
|
+
// tslint:disable-next-line:no-input-rename
|
|
2079
|
+
this.showUserNameOnHeader = false;
|
|
2080
|
+
this.border = true;
|
|
2087
2081
|
this.sectionLinks = rxjs.of([]);
|
|
2088
|
-
this.notificationLinks = rxjs.of([]);
|
|
2089
2082
|
this.mobileMenuExpanded = false;
|
|
2090
2083
|
this.userMenuExpanded = false;
|
|
2091
|
-
this.notificationsMenuExpanded = false;
|
|
2092
|
-
this.routeSubject = new rxjs.Observable();
|
|
2093
2084
|
this.routerSub$ = null;
|
|
2094
2085
|
this.userSub$ = null;
|
|
2095
2086
|
this.statusSub$ = null;
|
|
2096
2087
|
this.user = null;
|
|
2097
2088
|
this.avatarName = null;
|
|
2089
|
+
this.routeSubject = this.router.events.pipe(operators.filter(function (event) { return event instanceof i1$1.NavigationStart; }));
|
|
2098
2090
|
}
|
|
2099
2091
|
ShellHeaderComponent.prototype.ngOnDestroy = function () {
|
|
2100
2092
|
console.log(this.showUserNameOnHeader);
|
|
@@ -2109,23 +2101,21 @@
|
|
|
2109
2101
|
this.userSub$.unsubscribe();
|
|
2110
2102
|
}
|
|
2111
2103
|
};
|
|
2104
|
+
ShellHeaderComponent.prototype.scroll = function (el) {
|
|
2105
|
+
el.scrollIntoView({ behavior: 'smooth' });
|
|
2106
|
+
};
|
|
2112
2107
|
ShellHeaderComponent.prototype.ngOnInit = function () {
|
|
2113
2108
|
var _this = this;
|
|
2114
|
-
var _a, _b;
|
|
2115
|
-
this.showNotifications = (_a = this.config) === null || _a === void 0 ? void 0 : _a.showNotifications;
|
|
2116
|
-
this.showUserNameOnHeader = (_b = this.config) === null || _b === void 0 ? void 0 : _b.showUserNameOnHeader;
|
|
2117
2109
|
this.sectionLinks = this.links[this.sectionLinksPath];
|
|
2118
|
-
this.
|
|
2119
|
-
this.routerSub$ = this.router.events.pipe(operators.filter(function (event) { return event instanceof i1$1.NavigationStart; })).subscribe(function (event) {
|
|
2110
|
+
this.routerSub$ = this.routeSubject.subscribe(function (event) {
|
|
2120
2111
|
_this.mobileMenuExpanded = false;
|
|
2121
2112
|
_this.userMenuExpanded = false;
|
|
2122
|
-
_this.notificationsMenuExpanded = false;
|
|
2123
2113
|
});
|
|
2124
2114
|
this.authService.loadUser().subscribe(function (user) {
|
|
2125
2115
|
console.log(user);
|
|
2126
2116
|
_this.setCurrentUser(user);
|
|
2127
2117
|
}, function (error) {
|
|
2128
|
-
console.
|
|
2118
|
+
console.error(error);
|
|
2129
2119
|
});
|
|
2130
2120
|
// Detect user changes and display / or not user info accordingly...
|
|
2131
2121
|
this.userSub$ = this.authService.user$.subscribe(function (user) {
|
|
@@ -2133,40 +2123,28 @@
|
|
|
2133
2123
|
_this.setCurrentUser(user);
|
|
2134
2124
|
});
|
|
2135
2125
|
};
|
|
2136
|
-
ShellHeaderComponent.prototype.setCurrentUser = function (user) {
|
|
2137
|
-
var _a, _b;
|
|
2138
|
-
this.user = user;
|
|
2139
|
-
if (this.user && this.user.profile) {
|
|
2140
|
-
this.avatarName = "" + ((_a = this.user.profile.given_name) === null || _a === void 0 ? void 0 : _a.charAt(0)) + ((_b = this.user.profile.family_name) === null || _b === void 0 ? void 0 : _b.charAt(0));
|
|
2141
|
-
console.log('load user', this.avatarName);
|
|
2142
|
-
}
|
|
2143
|
-
};
|
|
2144
2126
|
// tslint:disable-next-line:typedef
|
|
2145
|
-
ShellHeaderComponent.prototype.
|
|
2127
|
+
ShellHeaderComponent.prototype.onClickOutside = function ($event) {
|
|
2146
2128
|
this.userMenuExpanded = false;
|
|
2147
2129
|
};
|
|
2148
|
-
// tslint:disable-next-line:typedef
|
|
2149
|
-
ShellHeaderComponent.prototype.onClickOutsideNotifications = function ($event) {
|
|
2150
|
-
this.notificationsMenuExpanded = false;
|
|
2151
|
-
};
|
|
2152
2130
|
ShellHeaderComponent.prototype.signin = function (event) {
|
|
2153
2131
|
if (event) {
|
|
2154
2132
|
event.preventDefault();
|
|
2155
2133
|
}
|
|
2156
2134
|
this.authService.signinRedirect();
|
|
2157
2135
|
};
|
|
2158
|
-
ShellHeaderComponent.prototype.
|
|
2159
|
-
|
|
2160
|
-
this.
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2136
|
+
ShellHeaderComponent.prototype.setCurrentUser = function (user) {
|
|
2137
|
+
var _a, _b;
|
|
2138
|
+
this.user = user;
|
|
2139
|
+
if (this.user && this.user.profile) {
|
|
2140
|
+
this.avatarName = ("" + ((_a = this.user.profile.given_name) === null || _a === void 0 ? void 0 : _a.charAt(0)) + ((_b = this.user.profile.family_name) === null || _b === void 0 ? void 0 : _b.charAt(0))).toUpperCase();
|
|
2141
|
+
// console.log('load user', this.avatarName);
|
|
2142
|
+
}
|
|
2165
2143
|
};
|
|
2166
2144
|
return ShellHeaderComponent;
|
|
2167
2145
|
}());
|
|
2168
|
-
ShellHeaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ShellHeaderComponent, deps: [{ token: i2.AuthService }, { token: i1$1.Router }, { token: APP_LINKS }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
2169
|
-
ShellHeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.1", type: ShellHeaderComponent, selector: "lib-shell-header", inputs: { sectionLinksPath: ["section-links", "sectionLinksPath"], notificationLinksPath: ["notification-links", "notificationLinksPath"], config: "config", border: "border" }, ngImport: i0__namespace, template: "<nav>\r\n <div class=\"shell-header-paddings\">\r\n <div [class]=\"border ? 'shell-header-border' : ''\">\r\n <div class=\"shell-header-menu-container\">\r\n <div class=\"shell-header-links-no-grow-container\">\r\n <div>\r\n <a href=\"#\"\r\n [routerLink]=\"['/']\"><img class=\"app-logo\" [src]=\"config.appLogo\" [alt]=\"config.appLogoAlt\" /></a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-link-container\">\r\n <ng-container *ngFor=\"let link of sectionLinks | async\">\r\n <a href=\"#\"\r\n [routerLink]=\"[link.path]\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"shell-header-md-visible\">\r\n <div class=\"shell-header-links-no-grow-container\">\r\n\r\n <ng-container *ngFor=\"let link of links.profileActions | async\">\r\n <a class=\"shell-header-menu-rounded-button\"\r\n (clickOutside)=\"onClickOutsideProfile($event)\"\r\n [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\">\r\n <span class=\"sr-only\">{{ link.text }}</span>\r\n <i *ngIf=\"link.icon\"\r\n [class]=\"link.icon\"></i>\r\n </a>\r\n </ng-container>\r\n\r\n <!-- Profile dropdown -->\r\n <div class=\"ml-2 relative\"\r\n (clickOutside)=\"onClickOutsideProfile($event)\"\r\n *ngIf=\"profileMenuVisible\">\r\n <div [ngClass]=\"{'shell-header-profile': showUserNameOnHeader}\">\r\n <div *ngIf=\"user && showUserNameOnHeader\"\r\n class=\"shell-header-profile-userName\">\r\n {{ user.profile.name }}\r\n </div>\r\n <button type=\"button\"\r\n *ngIf=\"user\"\r\n (click)=\"userMenuExpanded = !userMenuExpanded\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">Open user menu</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\">{{this.avatarName}}</span>\r\n </span>\r\n </button>\r\n\r\n <button type=\"button\"\r\n *ngIf=\"!user\"\r\n (click)=\"signin(null)\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">sign in</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\"><i class=\"ms-Icon ms-Icon--Signin\"></i></span>\r\n </span>\r\n </button>\r\n\r\n <div *ngIf=\"userMenuExpanded\"\r\n [ngClass]=\"showUserNameOnHeader ? 'shell-header-profile-dropdown-with-username' : 'shell-header-profile-dropdown'\"\r\n role=\"menu\"\r\n aria-orientation=\"vertical\"\r\n aria-labelledby=\"user-menu\">\r\n <!-- <a href=\"#\" class=\"block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100\" role=\"menuitem\">\u0391\u03C0\u03BF\u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7</a> -->\r\n <ng-container *ngFor=\"let link of links.profile | async\">\r\n <!-- <a *ngIf=\"link.external\" [attr.href]=\"link.path\" [attr.target]=\"'_blank'\" class=\"nav-link-profile\">\r\n {{ link.text }}\r\n </a> -->\r\n <a [routerLink]=\"link.path\" [routerLinkActive]=\"['nav-link-profile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\" class=\"nav-link-profile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Notifications dropdown -->\r\n <div class=\"ml-2 relative\"\r\n (clickOutside)=\"onClickOutsideNotifications($event)\"\r\n *ngIf=\"notificationsMenuVisible\">\r\n <!-- Notifications Button -->\r\n <button class=\"mobile-menu-rounded-button bg-transparent\"\r\n *ngIf=\"showNotifications\"\r\n (click)=\"expandNotificationsMenu()\"\r\n id=\"notifications-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">View notifications</span>\r\n <!-- Heroicon name: outline/bell -->\r\n <svg class=\"mobile-menu-rounded-button-icon-style\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\" />\r\n </svg>\r\n </button>\r\n\r\n <div *ngIf=\"notificationsMenuExpanded\"\r\n [ngClass]=\"showUserNameOnHeader ? 'shell-header-notifications-dropdown-with-username' : 'shell-header-notifications-dropdown'\"\r\n role=\"menu\"\r\n aria-orientation=\"vertical\"\r\n aria-labelledby=\"notifications-menu\">\r\n <div class=\"max-h-64 overflow-y-auto notification-messages\">\r\n <ng-container *ngIf=\"!notificationLinks; else notificationsDropDown\"\r\n class=\"py-5\">\r\n <div class=\"nav-link-notifications hover:bg-transparent\">\r\n \u0394\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03BD\u03AD\u03B5\u03C2 \u03B5\u03B9\u03B4\u03BF\u03C0\u03BF\u03B9\u03AE\u03C3\u03B5\u03B9\u03C2\r\n </div>\r\n </ng-container>\r\n <ng-template #notificationsDropDown>\r\n <ul class=\"pr-2\">\r\n <ng-container #notificationsDropDown\r\n *ngFor=\"let link of notificationLinks | async\">\r\n <li class=\"mb-2\"\r\n [ngClass]=\"{'border-l-2 border-blue-500 bg-blue-50 hover:bg-blue-50': !link.isRead }\">\r\n <a [routerLink]=\"link.path\"\r\n [routerLinkActive]=\"['nav-link-notifications-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link-notifications grid grid-row\"\r\n [ngClass]=\"!link.isRead ? ' hover:bg-blue-50' : 'border-b border-gray-100'\">\r\n <span class=\"font-bold\">\r\n {{ link.text }}\r\n </span>\r\n <span class=\"font-thin tracking-tighter\">\r\n {{ link.creationDate | date: 'EEE, d MMMM' }}\r\n </span>\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </ng-template>\r\n </div>\r\n <div class=\"p-1 rounded-sm\">\r\n <button type=\"button\"\r\n class=\"shell-header-notifications-dropdown-view-all-button\">\u03A0\u03C1\u03BF\u03B2\u03BF\u03BB\u03AE \u03CC\u03BB\u03C9\u03BD</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mobile-menu-button-container\">\r\n <!-- Mobile menu button -->\r\n <button type=\"button\"\r\n (click)=\"mobileMenuExpanded = !mobileMenuExpanded\"\r\n class=\"mobile-menu-button\"\r\n aria-controls=\"mobile-menu\"\r\n [attr.aria-expanded]=\"mobileMenuExpanded\">\r\n <span class=\"sr-only\">Open main menu</span>\r\n <!--Heroicon name: outline/menu Menu open: \"hidden\", Menu closed: \"block\"-->\r\n <svg class=\"block h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M4 6h16M4 12h16M4 18h16\" />\r\n </svg>\r\n <!--Heroicon name: outline/x Menu open: \"block\", Menu closed: \"hidden\"-->\r\n <svg class=\"hidden h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Mobile menu, show/hide based on menu state. -->\r\n <div class=\"mobile-menu-container\"\r\n *ngIf=\"mobileMenuExpanded\"\r\n id=\"mobile-menu\">\r\n <div class=\"mobile-menu-link-container\">\r\n <ng-container *ngFor=\"let link of sectionLinks | async\">\r\n <a *ngIf=\"link.external\" [attr.href]=\"link.path\" [attr.target]=\"'_blank'\" class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n <a *ngIf=\"!link.external\" [routerLink]=\"link.path\" [routerLinkActive]=\"['nav-link-mobile-active']\" [routerLinkActiveOptions]=\"{ exact: link.exact }\" class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"!user\">\r\n <a href=\"#\" (click)=\"signin($event)\" class=\"nav-link-mobile\">\r\n <i class=\"ms-Icon ms-Icon--Signin mr-2\"></i>\u03A3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\r\n </a>\r\n </ng-container>\r\n </div>\r\n <div class=\"mobile-menu-user-info-container\" *ngIf=\"user\">\r\n <div class=\"mobile-menu-user-info-container-inner\">\r\n <div class=\"flex-shrink-0\">\r\n <span class=\"mobile-menu-avatar-container\">\r\n <span class=\"mobile-menu-avatar-name\">{{ this.avatarName }}</span>\r\n </span>\r\n </div>\r\n <div class=\"ml-3\">\r\n <div class=\"mobile-menu-user-name\">{{ user.profile.name }}</div>\r\n <div class=\"mobile-menu-user-email\">{{ user.profile.email }}</div>\r\n </div>\r\n <button class=\"mobile-menu-rounded-button\">\r\n <span class=\"sr-only\">View notifications</span>\r\n <!-- Heroicon name: outline/bell -->\r\n <svg class=\"mobile-menu-rounded-button-icon-style\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"mobile-menu-link-container\">\r\n <ng-container *ngFor=\"let link of links.profile | async\">\r\n <a *ngIf=\"link.external\" [attr.href]=\"link.path\" [attr.target]=\"'_blank'\" class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n <a [routerLink]=\"link.path\"\r\n [routerLinkActive]=\"['nav-link-mobile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n <!-- <a href=\"#\" class=\"block px-3 py-2 rounded-sm text-base font-medium text-gray-400 hover:text-white hover:bg-gray-700\">\u0391\u03C0\u03BF\u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7</a> -->\r\n </div>\r\n </div>\r\n </div>\r\n</nav>\r\n", directives: [{ type: i1__namespace$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i1__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace$1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], exportAs: ["routerLinkActive"] }, { type: ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i1__namespace.AsyncPipe, "date": i1__namespace.DatePipe } });
|
|
2146
|
+
ShellHeaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ShellHeaderComponent, deps: [{ token: i2.AuthService }, { token: i1$1.Router }, { token: SHELL_CONFIG }, { token: APP_LINKS }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
2147
|
+
ShellHeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.1", type: ShellHeaderComponent, selector: "lib-shell-header", inputs: { sectionLinksPath: ["section-links", "sectionLinksPath"], profileMenuVisible: ["profile-menu", "profileMenuVisible"], showUserNameOnHeader: ["show-userName", "showUserNameOnHeader"], border: "border" }, ngImport: i0__namespace, template: "<nav>\r\n <div class=\"shell-header-paddings\">\r\n <div [class]=\"border ? 'shell-header-border' : ''\">\r\n <div class=\"shell-header-menu-container\">\r\n <div class=\"shell-header-links-no-grow-container\">\r\n <div>\r\n <a href=\"#\" [routerLink]=\"['/']\"><img class=\"app-logo\" [src]=\"config.appLogo\" [alt]=\"config.appLogoAlt\" /></a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-link-container\">\r\n <ng-container *ngFor=\"let link of sectionLinks | async\">\r\n <ng-container [ngSwitch]=\"link.type\">\r\n <a *ngSwitchCase=\"'router'\"\r\n href=\"#\"\r\n [routerLink]=\"[link.path]\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link\">\r\n {{ link.text }}\r\n </a>\r\n <a *ngSwitchCase=\"'external'\"\r\n [href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n class=\"nav-link\">\r\n {{ link.text }}\r\n </a>\r\n <a *ngSwitchCase=\"'fragment'\"\r\n href=\"#\"\r\n [routerLink]=\"['/']\"\r\n [fragment]=\"link.path\"\r\n [routerLinkActive]=\"['nav-link-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"shell-header-md-visible\">\r\n <div class=\"shell-header-links-no-grow-container\">\r\n\r\n <ng-container *ngFor=\"let link of links.profileActions | async\">\r\n <a class=\"shell-header-menu-rounded-button\"\r\n (clickOutside)=\"onClickOutside($event)\"\r\n [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\">\r\n <span class=\"sr-only\">{{ link.text }}</span>\r\n <i *ngIf=\"link.icon\"\r\n [class]=\"link.icon\"></i>\r\n </a>\r\n </ng-container>\r\n\r\n <!-- Profile dropdown -->\r\n <div class=\"ml-2 relative\"\r\n (clickOutside)=\"onClickOutside($event)\"\r\n *ngIf=\"profileMenuVisible\">\r\n <div [ngClass]=\"{'shell-header-profile': showUserNameOnHeader}\">\r\n <div *ngIf=\"user && showUserNameOnHeader\"\r\n class=\"shell-header-profile-userName\">\r\n {{ user.profile.name }}\r\n </div>\r\n <button type=\"button\"\r\n *ngIf=\"user\"\r\n (click)=\"userMenuExpanded = !userMenuExpanded\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">Open user menu</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\">{{this.avatarName}}</span>\r\n </span>\r\n </button>\r\n\r\n <button type=\"button\"\r\n *ngIf=\"!user\"\r\n (click)=\"signin(null)\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">sign in</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\"><i class=\"ms-Icon ms-Icon--Signin\"></i></span>\r\n </span>\r\n </button>\r\n\r\n <div *ngIf=\"userMenuExpanded\"\r\n [ngClass]=\"showUserNameOnHeader ? 'shell-header-profile-dropdown-with-username' : 'shell-header-profile-dropdown'\"\r\n role=\"menu\"\r\n aria-orientation=\"vertical\"\r\n aria-labelledby=\"user-menu\">\r\n <ng-container *ngFor=\"let link of links.profile | async\">\r\n <a [routerLink]=\"link.path\" [routerLinkActive]=\"['nav-link-profile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\" class=\"nav-link-profile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mobile-menu-button-container\">\r\n <!-- Mobile menu button -->\r\n <button type=\"button\"\r\n (click)=\"mobileMenuExpanded = !mobileMenuExpanded\"\r\n class=\"mobile-menu-button\"\r\n aria-controls=\"mobile-menu\"\r\n [attr.aria-expanded]=\"mobileMenuExpanded\">\r\n <span class=\"sr-only\">Open main menu</span>\r\n <!--Heroicon name: outline/menu Menu open: \"hidden\", Menu closed: \"block\"-->\r\n <svg class=\"block h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M4 6h16M4 12h16M4 18h16\" />\r\n </svg>\r\n <!--Heroicon name: outline/x Menu open: \"block\", Menu closed: \"hidden\"-->\r\n <svg class=\"hidden h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Mobile menu, show/hide based on menu state. -->\r\n <div class=\"mobile-menu-container\" *ngIf=\"mobileMenuExpanded\" id=\"mobile-menu\">\r\n <div class=\"mobile-menu-link-container\">\r\n <ng-container *ngFor=\"let link of sectionLinks | async\">\r\n <a *ngIf=\"link.external\" [attr.href]=\"link.path\" [attr.target]=\"'_blank'\" class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n <a *ngIf=\"!link.external\" [routerLink]=\"link.path\" [routerLinkActive]=\"['nav-link-mobile-active']\" [routerLinkActiveOptions]=\"{ exact: link.exact }\" class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"!user\">\r\n <a href=\"#\" (click)=\"signin($event)\" class=\"nav-link-mobile\">\r\n <i class=\"ms-Icon ms-Icon--Signin mr-2\"></i>\u03A3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\r\n </a>\r\n </ng-container>\r\n </div>\r\n <div class=\"mobile-menu-user-info-container\" *ngIf=\"user\">\r\n <div class=\"mobile-menu-user-info-container-inner\">\r\n <div class=\"flex-shrink-0\">\r\n <span class=\"mobile-menu-avatar-container\">\r\n <span class=\"mobile-menu-avatar-name\">{{ this.avatarName }}</span>\r\n </span>\r\n </div>\r\n <div class=\"ml-3\">\r\n <div class=\"mobile-menu-user-name\">{{ user.profile.name }}</div>\r\n <div class=\"mobile-menu-user-email\">{{ user.profile.email }}</div>\r\n </div>\r\n <button class=\"mobile-menu-rounded-button\">\r\n <span class=\"sr-only\">View notifications</span>\r\n <!-- Heroicon name: outline/bell -->\r\n <svg class=\"mobile-menu-rounded-button-icon-style\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"mobile-menu-link-container\">\r\n <ng-container *ngFor=\"let link of links.profile | async\">\r\n <a *ngIf=\"link.external\" [attr.href]=\"link.path\" [attr.target]=\"'_blank'\" class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n <a [routerLink]=\"link.path\"\r\n [routerLinkActive]=\"['nav-link-mobile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</nav>\r\n", directives: [{ type: i1__namespace$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i1__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1__namespace$1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], exportAs: ["routerLinkActive"] }, { type: ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i1__namespace.AsyncPipe } });
|
|
2170
2148
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ShellHeaderComponent, decorators: [{
|
|
2171
2149
|
type: i0.Component,
|
|
2172
2150
|
args: [{
|
|
@@ -2181,6 +2159,9 @@
|
|
|
2181
2159
|
}] }, { type: i1__namespace$1.Router, decorators: [{
|
|
2182
2160
|
type: i0.Inject,
|
|
2183
2161
|
args: [i1$1.Router]
|
|
2162
|
+
}] }, { type: undefined, decorators: [{
|
|
2163
|
+
type: i0.Inject,
|
|
2164
|
+
args: [SHELL_CONFIG]
|
|
2184
2165
|
}] }, { type: undefined, decorators: [{
|
|
2185
2166
|
type: i0.Inject,
|
|
2186
2167
|
args: [APP_LINKS]
|
|
@@ -2188,11 +2169,12 @@
|
|
|
2188
2169
|
}, propDecorators: { sectionLinksPath: [{
|
|
2189
2170
|
type: i0.Input,
|
|
2190
2171
|
args: ['section-links']
|
|
2191
|
-
}],
|
|
2172
|
+
}], profileMenuVisible: [{
|
|
2192
2173
|
type: i0.Input,
|
|
2193
|
-
args: ['
|
|
2194
|
-
}],
|
|
2195
|
-
type: i0.Input
|
|
2174
|
+
args: ['profile-menu']
|
|
2175
|
+
}], showUserNameOnHeader: [{
|
|
2176
|
+
type: i0.Input,
|
|
2177
|
+
args: ['show-userName']
|
|
2196
2178
|
}], border: [{
|
|
2197
2179
|
type: i0.Input
|
|
2198
2180
|
}] } });
|
|
@@ -2219,14 +2201,15 @@
|
|
|
2219
2201
|
} });
|
|
2220
2202
|
|
|
2221
2203
|
var ShellLayoutComponent = /** @class */ (function () {
|
|
2222
|
-
function ShellLayoutComponent(router, location, config, componentLoaderFactory) {
|
|
2204
|
+
function ShellLayoutComponent(document, router, location, config, componentLoaderFactory) {
|
|
2205
|
+
this.document = document;
|
|
2223
2206
|
this.router = router;
|
|
2224
2207
|
this.location = location;
|
|
2225
2208
|
this.config = config;
|
|
2226
2209
|
this.componentLoaderFactory = componentLoaderFactory;
|
|
2227
2210
|
this.dynamicComponentHosts = null;
|
|
2228
|
-
this.routerSub$ = null;
|
|
2229
2211
|
this.showRightPaneSM = false;
|
|
2212
|
+
this.routerSub$ = null;
|
|
2230
2213
|
this.activeConfig = new DefaultShellConfig();
|
|
2231
2214
|
this.loaded = false;
|
|
2232
2215
|
if (!config) {
|
|
@@ -2290,8 +2273,8 @@
|
|
|
2290
2273
|
};
|
|
2291
2274
|
return ShellLayoutComponent;
|
|
2292
2275
|
}());
|
|
2293
|
-
ShellLayoutComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ShellLayoutComponent, deps: [{ token: i1__namespace$1.Router }, { token: i1__namespace.Location }, { token: SHELL_CONFIG }, { token: ComponentLoaderFactory }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
2294
|
-
ShellLayoutComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.1", type: ShellLayoutComponent, selector: "lib-shell-layout", viewQueries: [{ propertyName: "dynamicComponentHosts", predicate: DynamicComponentHostDirective, descendants: true }], ngImport: i0__namespace, template: "<div *ngIf=\"loaded\"
|
|
2276
|
+
ShellLayoutComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ShellLayoutComponent, deps: [{ token: i1.DOCUMENT }, { token: i1__namespace$1.Router }, { token: i1__namespace.Location }, { token: SHELL_CONFIG }, { token: ComponentLoaderFactory }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
2277
|
+
ShellLayoutComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.1", type: ShellLayoutComponent, selector: "lib-shell-layout", viewQueries: [{ propertyName: "dynamicComponentHosts", predicate: DynamicComponentHostDirective, descendants: true }], ngImport: i0__namespace, template: "<div *ngIf=\"loaded\" [style.display]=\"!loaded ? 'none':'block'\" class=\"shell-container active-side-pane\">\r\n\r\n <div class=\"shell-header-container\" *ngIf=\"activeConfig.showHeader\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-header-container-inner-fluid' : 'shell-header-container-inner'\">\r\n\r\n <ng-container *ngIf=\"activeConfig.customHeaderComponent\">\r\n <div appDynamicComponentHost =\"Header\"></div>\r\n </ng-container>\r\n\r\n <lib-shell-header *ngIf=\"!activeConfig.customHeaderComponent\" [show-userName]=\"activeConfig.showUserNameOnHeader\"></lib-shell-header>\r\n </div>\r\n\r\n <main [class]=\"activeConfig.showHeader ? 'shell-content-container' : 'shell-content-container-no-header'\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-content-container-inner-fluid' : 'shell-content-container-inner'\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n </main>\r\n\r\n <div class=\"shell-footer-container\" *ngIf=\"activeConfig.showFooter\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-footer-container-inner-fluid' : 'shell-footer-container-inner'\">\r\n <ng-container *ngIf=\"activeConfig.customFooterComponent\">\r\n <div appDynamicComponentHost hostName=\"Footer\"></div>\r\n </ng-container>\r\n <lib-shell-footer *ngIf=\"!activeConfig.customFooterComponent\"></lib-shell-footer>\r\n </div>\r\n </div>\r\n\r\n <lib-side-pane #rightPane>\r\n <router-outlet name=\"rightpane\" (activate)=\"rightPane.onSidePaneActivated($event)\" (deactivate)=\"rightPane.onSidePaneDeactivated($event)\"></router-outlet>\r\n </lib-side-pane>\r\n\r\n <lib-toaster-container></lib-toaster-container>\r\n\r\n</div>\r\n\r\n</div>\r\n", components: [{ type: ShellHeaderComponent, selector: "lib-shell-header", inputs: ["section-links", "profile-menu", "show-userName", "border"] }, { type: ShellFooterComponent, selector: "lib-shell-footer" }, { type: SidePaneComponent, selector: "lib-side-pane", inputs: ["visible"], outputs: ["onComplete"] }, { type: ToasterContainerComponent, selector: "lib-toaster-container" }], directives: [{ type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentHostDirective, selector: "[appDynamicComponentHost]", inputs: ["hostName"] }, { type: i1__namespace$1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate"], exportAs: ["outlet"] }] });
|
|
2295
2278
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ShellLayoutComponent, decorators: [{
|
|
2296
2279
|
type: i0.Component,
|
|
2297
2280
|
args: [{
|
|
@@ -2300,7 +2283,10 @@
|
|
|
2300
2283
|
templateUrl: './shell-layout.component.html',
|
|
2301
2284
|
}]
|
|
2302
2285
|
}], ctorParameters: function () {
|
|
2303
|
-
return [{ type:
|
|
2286
|
+
return [{ type: undefined, decorators: [{
|
|
2287
|
+
type: i0.Inject,
|
|
2288
|
+
args: [i1.DOCUMENT]
|
|
2289
|
+
}] }, { type: i1__namespace$1.Router }, { type: i1__namespace.Location }, { type: undefined, decorators: [{
|
|
2304
2290
|
type: i0.Inject,
|
|
2305
2291
|
args: [SHELL_CONFIG]
|
|
2306
2292
|
}] }, { type: ComponentLoaderFactory }];
|
|
@@ -2565,8 +2551,8 @@
|
|
|
2565
2551
|
}] } });
|
|
2566
2552
|
|
|
2567
2553
|
var FormLayoutComponent = /** @class */ (function () {
|
|
2568
|
-
function FormLayoutComponent(
|
|
2569
|
-
this.
|
|
2554
|
+
function FormLayoutComponent(router$) {
|
|
2555
|
+
this.router$ = router$;
|
|
2570
2556
|
this.title = null;
|
|
2571
2557
|
// tslint:disable-next-line:no-input-rename
|
|
2572
2558
|
this.searchPlaceholder = 'αναζήτηση';
|
|
@@ -2578,7 +2564,6 @@
|
|
|
2578
2564
|
// tslint:disable-next-line:no-output-on-prefix
|
|
2579
2565
|
this.onSearch = new i0.EventEmitter();
|
|
2580
2566
|
this.onComplete = new i0.EventEmitter();
|
|
2581
|
-
this.showRightPaneSM = false;
|
|
2582
2567
|
}
|
|
2583
2568
|
FormLayoutComponent.prototype.ngOnInit = function () {
|
|
2584
2569
|
var _a;
|
|
@@ -2608,10 +2593,10 @@
|
|
|
2608
2593
|
FormLayoutComponent.prototype.routerLinkActionClick = function (action, relative) {
|
|
2609
2594
|
if (relative === void 0) { relative = false; }
|
|
2610
2595
|
if (action.outlet) {
|
|
2611
|
-
this.
|
|
2596
|
+
this.router$.navigate(['', { outlets: { formRightPane: action.link } }]);
|
|
2612
2597
|
}
|
|
2613
2598
|
else {
|
|
2614
|
-
this.
|
|
2599
|
+
this.router$.navigate([action.link]);
|
|
2615
2600
|
}
|
|
2616
2601
|
};
|
|
2617
2602
|
return FormLayoutComponent;
|
|
@@ -3723,7 +3708,6 @@
|
|
|
3723
3708
|
exports.ModelViewLayoutComponent = ModelViewLayoutComponent;
|
|
3724
3709
|
exports.NULL_TOAST = NULL_TOAST;
|
|
3725
3710
|
exports.NavLink = NavLink;
|
|
3726
|
-
exports.NotificationNavLink = NotificationNavLink;
|
|
3727
3711
|
exports.PageNotFoundComponent = PageNotFoundComponent;
|
|
3728
3712
|
exports.PagerComponent = PagerComponent;
|
|
3729
3713
|
exports.RouterViewAction = RouterViewAction;
|