@indice/ng-components 0.2.136-beta → 0.2.136
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/_styles.css +69 -72
- package/bundles/indice-ng-components.umd.js +217 -122
- package/bundles/indice-ng-components.umd.js.map +1 -1
- package/esm2015/lib/controls/nav-links-list/nav-links-list.component.js +40 -0
- package/esm2015/lib/controls/notifications-indicator/notifications-indicator.component.js +77 -0
- package/esm2015/lib/layouts/shell/shell-header/shell-header.component.js +70 -72
- 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/layouts/views/model-view-layout/model-view-layout.component.js +1 -3
- package/esm2015/lib/ng-components.module.js +7 -6
- package/esm2015/lib/pages/http-status/page-not-found/page-not-found.component.js +2 -2
- package/esm2015/lib/tokens.js +2 -1
- package/esm2015/lib/types.js +10 -7
- package/esm2015/public-api.js +2 -2
- package/fesm2015/indice-ng-components.js +194 -109
- package/fesm2015/indice-ng-components.js.map +1 -1
- package/lib/controls/nav-links-list/nav-links-list.component.d.ts +15 -0
- package/lib/controls/notifications-indicator/notifications-indicator.component.d.ts +23 -0
- package/lib/layouts/shell/shell-header/shell-header.component.d.ts +21 -25
- 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/ng-components.module.d.ts +6 -5
- package/lib/tokens.d.ts +1 -0
- package/lib/types.d.ts +18 -10
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/esm2015/lib/pipes/obs-with-status.pipe.js +0 -26
- package/lib/pipes/obs-with-status.pipe.d.ts +0 -13
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/router'), require('@angular/forms'), require('rxjs'), require('rxjs/operators'), require('@indice/ng-auth')) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define('@indice/ng-components', ['exports', '@angular/core', '@angular/common', '@angular/router', '@angular/forms', 'rxjs', 'rxjs/operators', '@indice/ng-auth'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.indice = global.indice || {}, global.indice[
|
|
5
|
-
}(this, (function (exports, i0, i1, i1$1, forms, rxjs, operators, i2) { 'use strict';
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.indice = global.indice || {}, global.indice["ng-components"] = {}), global.ng.core, global.ng.common, global.ng.router, global.ng.forms, global.rxjs, global.rxjs.operators, global.i2));
|
|
5
|
+
})(this, (function (exports, i0, i1, i1$1, forms, rxjs, operators, i2) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopNamespace(e) {
|
|
8
8
|
if (e && e.__esModule) return e;
|
|
@@ -13,14 +13,12 @@
|
|
|
13
13
|
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
14
|
Object.defineProperty(n, k, d.get ? d : {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function () {
|
|
17
|
-
return e[k];
|
|
18
|
-
}
|
|
16
|
+
get: function () { return e[k]; }
|
|
19
17
|
});
|
|
20
18
|
}
|
|
21
19
|
});
|
|
22
20
|
}
|
|
23
|
-
n[
|
|
21
|
+
n["default"] = e;
|
|
24
22
|
return Object.freeze(n);
|
|
25
23
|
}
|
|
26
24
|
|
|
@@ -255,10 +253,16 @@
|
|
|
255
253
|
r[k] = a[j];
|
|
256
254
|
return r;
|
|
257
255
|
}
|
|
258
|
-
function __spreadArray(to, from) {
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
256
|
+
function __spreadArray(to, from, pack) {
|
|
257
|
+
if (pack || arguments.length === 2)
|
|
258
|
+
for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
259
|
+
if (ar || !(i in from)) {
|
|
260
|
+
if (!ar)
|
|
261
|
+
ar = Array.prototype.slice.call(from, 0, i);
|
|
262
|
+
ar[i] = from[i];
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
262
266
|
}
|
|
263
267
|
function __await(v) {
|
|
264
268
|
return this instanceof __await ? (this.v = v, this) : new __await(v);
|
|
@@ -659,38 +663,44 @@
|
|
|
659
663
|
Icons.Details = ' ms-Icon ms-Icon--AccountActivity';
|
|
660
664
|
|
|
661
665
|
var NavLink = /** @class */ (function () {
|
|
662
|
-
function NavLink(text, path, exact, external, icon,
|
|
666
|
+
function NavLink(text, path, exact, external, icon, data) {
|
|
663
667
|
if (exact === void 0) { exact = false; }
|
|
664
668
|
if (external === void 0) { external = false; }
|
|
665
|
-
this.
|
|
669
|
+
this.type = 'router';
|
|
666
670
|
this.text = text;
|
|
667
671
|
this.path = path;
|
|
668
672
|
this.exact = exact;
|
|
669
673
|
this.external = external;
|
|
670
674
|
this.icon = icon;
|
|
671
|
-
this.
|
|
672
|
-
this.creationDate = creationDate;
|
|
675
|
+
this.data = data;
|
|
673
676
|
}
|
|
674
677
|
return NavLink;
|
|
675
678
|
}());
|
|
676
679
|
var ExternalNavLink = /** @class */ (function (_super) {
|
|
677
680
|
__extends(ExternalNavLink, _super);
|
|
678
681
|
function ExternalNavLink(text, path, openInNewTab, icon) {
|
|
679
|
-
|
|
682
|
+
var _this = _super.call(this, text, path, true, openInNewTab, icon) || this;
|
|
683
|
+
_this.type = 'external';
|
|
684
|
+
return _this;
|
|
680
685
|
}
|
|
681
686
|
return ExternalNavLink;
|
|
682
687
|
}(NavLink));
|
|
683
688
|
var FragmentNavLink = /** @class */ (function (_super) {
|
|
684
689
|
__extends(FragmentNavLink, _super);
|
|
685
690
|
function FragmentNavLink(text, path, icon) {
|
|
686
|
-
|
|
691
|
+
var _this = _super.call(this, text, path, true, true, icon) || this;
|
|
692
|
+
_this.type = 'fragment';
|
|
693
|
+
return _this;
|
|
687
694
|
}
|
|
688
695
|
return FragmentNavLink;
|
|
689
696
|
}(NavLink));
|
|
690
697
|
var NotificationNavLink = /** @class */ (function (_super) {
|
|
691
698
|
__extends(NotificationNavLink, _super);
|
|
692
699
|
function NotificationNavLink(text, path, isRead, creationDate) {
|
|
693
|
-
|
|
700
|
+
var _this = _super.call(this, text, path, true, false, undefined) || this;
|
|
701
|
+
_this.isRead = isRead;
|
|
702
|
+
_this.creationDate = creationDate;
|
|
703
|
+
return _this;
|
|
694
704
|
}
|
|
695
705
|
return NotificationNavLink;
|
|
696
706
|
}(NavLink));
|
|
@@ -756,7 +766,7 @@
|
|
|
756
766
|
this.appLogoAlt = 'your app name here';
|
|
757
767
|
this.showHeader = true;
|
|
758
768
|
this.showUserNameOnHeader = false;
|
|
759
|
-
this.
|
|
769
|
+
this.showAlertsOnHeader = false;
|
|
760
770
|
this.showFooter = true;
|
|
761
771
|
this.fluid = false;
|
|
762
772
|
}
|
|
@@ -1813,7 +1823,45 @@
|
|
|
1813
1823
|
type: i0.Output
|
|
1814
1824
|
}] } });
|
|
1815
1825
|
|
|
1826
|
+
var NavLinksListComponent = /** @class */ (function () {
|
|
1827
|
+
function NavLinksListComponent() {
|
|
1828
|
+
// tslint:disable-next-line:no-input-rename
|
|
1829
|
+
this.navLinkClass = 'nav-link';
|
|
1830
|
+
// tslint:disable-next-line:no-input-rename
|
|
1831
|
+
this.navLinkActiveClass = 'nav-link-active';
|
|
1832
|
+
// tslint:disable-next-line:no-input-rename
|
|
1833
|
+
this.containerClass = '';
|
|
1834
|
+
}
|
|
1835
|
+
NavLinksListComponent.prototype.ngOnInit = function () {
|
|
1836
|
+
};
|
|
1837
|
+
return NavLinksListComponent;
|
|
1838
|
+
}());
|
|
1839
|
+
NavLinksListComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: NavLinksListComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
1840
|
+
NavLinksListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.1", type: NavLinksListComponent, selector: "lib-nav-links-list", inputs: { links: "links", activeFragment: ["active-fragment", "activeFragment"], navLinkClass: ["link-class", "navLinkClass"], navLinkActiveClass: ["link-active-class", "navLinkActiveClass"], containerClass: ["container-class", "containerClass"] }, ngImport: i0__namespace, template: "<div [class]=\"containerClass\">\r\n <ng-container *ngFor=\"let link of links | async\">\r\n <ng-container [ngSwitch]=\"link.type\">\r\n <a *ngSwitchCase=\"'router'\"\r\n href=\"#\"\r\n [routerLink]=\"[link.path]\"\r\n [routerLinkActive]=\"navLinkActiveClass\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n [class]=\"navLinkClass\">\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 routerLink=\".\"\r\n [fragment]=\"link.path\"\r\n [class.active]=\"(activeFragment | async) === link.path\"\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", directives: [{ 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.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i1__namespace$1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], exportAs: ["routerLinkActive"] }], pipes: { "async": i1__namespace.AsyncPipe } });
|
|
1841
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: NavLinksListComponent, decorators: [{
|
|
1842
|
+
type: i0.Component,
|
|
1843
|
+
args: [{
|
|
1844
|
+
selector: 'lib-nav-links-list',
|
|
1845
|
+
templateUrl: './nav-links-list.component.html'
|
|
1846
|
+
}]
|
|
1847
|
+
}], ctorParameters: function () { return []; }, propDecorators: { links: [{
|
|
1848
|
+
type: i0.Input
|
|
1849
|
+
}], activeFragment: [{
|
|
1850
|
+
type: i0.Input,
|
|
1851
|
+
args: ['active-fragment']
|
|
1852
|
+
}], navLinkClass: [{
|
|
1853
|
+
type: i0.Input,
|
|
1854
|
+
args: ['link-class']
|
|
1855
|
+
}], navLinkActiveClass: [{
|
|
1856
|
+
type: i0.Input,
|
|
1857
|
+
args: ['link-active-class']
|
|
1858
|
+
}], containerClass: [{
|
|
1859
|
+
type: i0.Input,
|
|
1860
|
+
args: ['container-class']
|
|
1861
|
+
}] } });
|
|
1862
|
+
|
|
1816
1863
|
var APP_LINKS = new i0.InjectionToken('APP_LINKS');
|
|
1864
|
+
var APP_NOTIFICATIONS = new i0.InjectionToken('APP_NOTIFICATIONS');
|
|
1817
1865
|
var SHELL_CONFIG = new i0.InjectionToken('SHELL_CONFIG');
|
|
1818
1866
|
|
|
1819
1867
|
var DynamicComponentHostDirective = /** @class */ (function () {
|
|
@@ -2067,108 +2115,166 @@
|
|
|
2067
2115
|
args: [{ providedIn: 'root' }]
|
|
2068
2116
|
}], ctorParameters: function () { return [{ type: i0__namespace.ComponentFactoryResolver }, { type: i0__namespace.Injector }, { type: i0__namespace.ApplicationRef }]; } });
|
|
2069
2117
|
|
|
2118
|
+
var NotificationsIndicatorComponent = /** @class */ (function () {
|
|
2119
|
+
function NotificationsIndicatorComponent(notifications, links) {
|
|
2120
|
+
this.notifications = notifications;
|
|
2121
|
+
this.links = links;
|
|
2122
|
+
this.menuExpanded = false;
|
|
2123
|
+
this.unreadCount = 0;
|
|
2124
|
+
this.items = [];
|
|
2125
|
+
this.allNotificationsLink = rxjs.of([]);
|
|
2126
|
+
this.inboxAction = undefined;
|
|
2127
|
+
this.newArrival = false;
|
|
2128
|
+
}
|
|
2129
|
+
NotificationsIndicatorComponent.prototype.ngOnDestroy = function () {
|
|
2130
|
+
if (this.notificationsSub$) {
|
|
2131
|
+
this.notificationsSub$.unsubscribe();
|
|
2132
|
+
}
|
|
2133
|
+
};
|
|
2134
|
+
NotificationsIndicatorComponent.prototype.ngOnInit = function () {
|
|
2135
|
+
var _this = this;
|
|
2136
|
+
this.allNotificationsLink = this.links['notifications'];
|
|
2137
|
+
this.notificationsSub$ = this.notifications.messages.subscribe(function (result) {
|
|
2138
|
+
if (result.items) {
|
|
2139
|
+
_this.newArrival = true;
|
|
2140
|
+
_this.unreadCount = result.count;
|
|
2141
|
+
_this.items = result.items;
|
|
2142
|
+
setTimeout(function () { _this.newArrival = false; }, 1000);
|
|
2143
|
+
}
|
|
2144
|
+
});
|
|
2145
|
+
};
|
|
2146
|
+
NotificationsIndicatorComponent.prototype.toggleMenu = function () {
|
|
2147
|
+
this.menuExpanded = !this.menuExpanded;
|
|
2148
|
+
this.unreadCount = 0;
|
|
2149
|
+
};
|
|
2150
|
+
NotificationsIndicatorComponent.prototype.doInboxAction = function () {
|
|
2151
|
+
if (this.notifications.inboxAction) {
|
|
2152
|
+
this.notifications.inboxAction();
|
|
2153
|
+
}
|
|
2154
|
+
else {
|
|
2155
|
+
this.menuExpanded = true;
|
|
2156
|
+
}
|
|
2157
|
+
this.unreadCount = 0;
|
|
2158
|
+
};
|
|
2159
|
+
// this.notificationsSub$ = this.links.notifications?.pipe(map(result => {
|
|
2160
|
+
// this.allItemsLink = result.allNotifications;
|
|
2161
|
+
// this.items = result.items;
|
|
2162
|
+
// this.unreadCount = result.count;
|
|
2163
|
+
// }));
|
|
2164
|
+
// [this.notificationsLinksPath] as Observable<NotificationNavLink[]>;
|
|
2165
|
+
// this.allNotificationsLink = this.links[this.allNotificationsLinkPath] as Observable<NavLink>;
|
|
2166
|
+
// this.unreadNotificationsCountObs = this.links[this.notificationsCounterLinksPath] as Observable<number>;
|
|
2167
|
+
// this.getUnreadNotificationsCount();
|
|
2168
|
+
// tslint:disable-next-line:typedef
|
|
2169
|
+
NotificationsIndicatorComponent.prototype.onClickOutside = function ($event) {
|
|
2170
|
+
this.menuExpanded = false;
|
|
2171
|
+
};
|
|
2172
|
+
return NotificationsIndicatorComponent;
|
|
2173
|
+
}());
|
|
2174
|
+
NotificationsIndicatorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: NotificationsIndicatorComponent, deps: [{ token: APP_NOTIFICATIONS }, { token: APP_LINKS }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
2175
|
+
NotificationsIndicatorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.1", type: NotificationsIndicatorComponent, selector: "lib-notifications-indicator", ngImport: i0__namespace, template: "<div class=\"relative\"\r\n(clickOutside)=\"onClickOutside($event)\">\r\n <!-- Notifications Button -->\r\n <button type=\"button\"\r\n (click)=\"doInboxAction()\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">View notifications</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\">\r\n <i class=\"ms-Icon\"\r\n [class.ms-Icon--MessageFill]=\"unreadCount > 0\"\r\n [class.text-sky-400]=\"unreadCount > 0\"\r\n [class.animate-notification]=\"newArrival\"\r\n [class.ms-Icon--Message]=\"unreadCount === 0\">\r\n </i>\r\n </span>\r\n <span\r\n *ngIf=\"unreadCount > 0\"\r\n [class.animate-pulse]=\"newArrival\"\r\n class=\"absolute top-0 right-0 inline-flex items-center justify-center -mt-1 ml-1 text-xs leading-none text-gray-100 ordinal\">\r\n {{ unreadCount }}\r\n </span>\r\n </span>\r\n </button>\r\n\r\n <!-- Notifications dropdown -->\r\n <div *ngIf=\"menuExpanded\" class=\"header-notifications-dropdown-with-username\" role=\"menu\" aria-orientation=\"vertical\" aria-labelledby=\"messages-menu\">\r\n <div class=\"max-h-64 overflow-y-auto notification-messages min-h\">\r\n <ng-container *ngIf=\"!items; else messagesDropDown\" class=\"py-5\">\r\n <div class=\"notifications-nav-link hover:bg-transparent\">\u0394\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03BD\u03AD\u03B5\u03C2 \u03B5\u03B9\u03B4\u03BF\u03C0\u03BF\u03B9\u03AE\u03C3\u03B5\u03B9\u03C2</div>\r\n </ng-container>\r\n <ng-template #messagesDropDown>\r\n <ul class=\"pr-1.5\">\r\n <ng-container *ngIf=\"items; else loading\">\r\n <ng-container *ngIf=\"items.length <= 0\" class=\"py-5\">\r\n <div class=\"notifications-nav-link hover:bg-transparent\">\u0394\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03BD\u03AD\u03B5\u03C2 \u03B5\u03B9\u03B4\u03BF\u03C0\u03BF\u03B9\u03AE\u03C3\u03B5\u03B9\u03C2</div>\r\n </ng-container>\r\n <ng-container *ngFor=\"let message of items\">\r\n <li class=\"mb-2\" [ngClass]=\"{ 'border-l-2 border-blue-500 bg-blue-50 hover:bg-blue-50': !message.data.isRead }\">\r\n <div class=\"flex justify-between\">\r\n <div class=\"flex-grow\">\r\n <a\r\n [routerLink]=\"message.path\"\r\n class=\"notifications-nav-link grid\"\r\n [ngClass]=\"!message.data.isRead ? ' hover:bg-blue-50' : 'border-b border-gray-100'\"\r\n >\r\n <div class=\"flex flex-col\">\r\n <div class=\"font-thin tracking-tighter\">\r\n {{ message.data.creationDate | date: \"EEE, d MMMM\" }}\r\n </div>\r\n <div class=\"font-bold\">\r\n {{ message.data.text }}\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n </li>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-template #loading>\r\n <div class=\"h-32 flex items-center justify-center\">\r\n <div class=\"animate-pulse text-s text-gray-600\">Loading...</div>\r\n </div>\r\n </ng-template>\r\n </ul>\r\n </ng-template>\r\n </div>\r\n <div class=\"p-1 rounded-sm\">\r\n <a [routerLink]=\"allNotificationsLink | async\">\r\n <button type=\"button\" class=\"header-notifications-dropdown-view-all-button\">\u03A0\u03C1\u03BF\u03B2\u03BF\u03BB\u03AE \u03CC\u03BB\u03C9\u03BD</button>\r\n </a>\r\n </div>\r\n </div>\r\n</div>\r\n", directives: [{ 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.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1__namespace$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "date": i1__namespace.DatePipe, "async": i1__namespace.AsyncPipe } });
|
|
2176
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: NotificationsIndicatorComponent, decorators: [{
|
|
2177
|
+
type: i0.Component,
|
|
2178
|
+
args: [{
|
|
2179
|
+
selector: 'lib-notifications-indicator',
|
|
2180
|
+
templateUrl: './notifications-indicator.component.html'
|
|
2181
|
+
}]
|
|
2182
|
+
}], ctorParameters: function () {
|
|
2183
|
+
return [{ type: undefined, decorators: [{
|
|
2184
|
+
type: i0.Inject,
|
|
2185
|
+
args: [APP_NOTIFICATIONS]
|
|
2186
|
+
}] }, { type: undefined, decorators: [{
|
|
2187
|
+
type: i0.Inject,
|
|
2188
|
+
args: [APP_LINKS]
|
|
2189
|
+
}] }];
|
|
2190
|
+
} });
|
|
2191
|
+
|
|
2070
2192
|
var ShellHeaderComponent = /** @class */ (function () {
|
|
2071
|
-
function ShellHeaderComponent(authService, router, links) {
|
|
2193
|
+
function ShellHeaderComponent(authService, router, route, config, links) {
|
|
2072
2194
|
this.authService = authService;
|
|
2073
2195
|
this.router = router;
|
|
2196
|
+
this.route = route;
|
|
2197
|
+
this.config = config;
|
|
2074
2198
|
this.links = links;
|
|
2075
2199
|
// tslint:disable-next-line:no-input-rename
|
|
2076
2200
|
this.sectionLinksPath = 'main';
|
|
2077
|
-
|
|
2078
|
-
this.allNotificationsLinkPath = 'allNotifications';
|
|
2079
|
-
this.border = true;
|
|
2080
|
-
this.showNotifications = false;
|
|
2081
|
-
this.showUserNameOnHeader = false;
|
|
2082
|
-
this.notificationsMenuVisible = true;
|
|
2201
|
+
// tslint:disable-next-line:no-input-rename
|
|
2083
2202
|
this.profileMenuVisible = true;
|
|
2203
|
+
// tslint:disable-next-line:no-input-rename
|
|
2204
|
+
this.showUserNameOnHeader = false;
|
|
2205
|
+
// tslint:disable-next-line:no-input-rename
|
|
2206
|
+
this.showAlerts = false;
|
|
2207
|
+
this.border = true;
|
|
2084
2208
|
this.sectionLinks = rxjs.of([]);
|
|
2085
|
-
this.notificationLinks = rxjs.of([]);
|
|
2086
|
-
this.allNotificationsLink = rxjs.of();
|
|
2087
2209
|
this.mobileMenuExpanded = false;
|
|
2088
2210
|
this.userMenuExpanded = false;
|
|
2089
|
-
this.notificationsMenuExpanded = false;
|
|
2090
|
-
this.routeSubject = new rxjs.Observable();
|
|
2091
2211
|
this.routerSub$ = null;
|
|
2092
2212
|
this.userSub$ = null;
|
|
2093
2213
|
this.statusSub$ = null;
|
|
2094
2214
|
this.user = null;
|
|
2095
2215
|
this.avatarName = null;
|
|
2096
|
-
this.
|
|
2216
|
+
this.activeFragment = null;
|
|
2217
|
+
this.routeSubject = this.router.events.pipe(operators.filter(function (event) { return event instanceof i1$1.NavigationStart; }));
|
|
2097
2218
|
}
|
|
2098
|
-
ShellHeaderComponent.prototype.ngOnDestroy = function () {
|
|
2099
|
-
if (this.routerSub$) {
|
|
2100
|
-
this.routerSub$.unsubscribe();
|
|
2101
|
-
}
|
|
2102
|
-
// TODO: check authenticated user here before we start polling server status
|
|
2103
|
-
if (this.statusSub$) {
|
|
2104
|
-
this.statusSub$.unsubscribe();
|
|
2105
|
-
}
|
|
2106
|
-
if (this.userSub$) {
|
|
2107
|
-
this.userSub$.unsubscribe();
|
|
2108
|
-
}
|
|
2109
|
-
};
|
|
2110
2219
|
ShellHeaderComponent.prototype.ngOnInit = function () {
|
|
2111
2220
|
var _this = this;
|
|
2112
|
-
|
|
2113
|
-
this.showNotifications = (_a = this.config) === null || _a === void 0 ? void 0 : _a.showNotifications;
|
|
2114
|
-
this.showUserNameOnHeader = (_b = this.config) === null || _b === void 0 ? void 0 : _b.showUserNameOnHeader;
|
|
2221
|
+
this.activeFragment = this.route.fragment.pipe(operators.share());
|
|
2115
2222
|
this.sectionLinks = this.links[this.sectionLinksPath];
|
|
2116
|
-
this.
|
|
2117
|
-
this.allNotificationsLink = this.links[this.allNotificationsLinkPath];
|
|
2118
|
-
this.routerSub$ = this.router.events.pipe(operators.filter(function (event) { return event instanceof i1$1.NavigationStart; })).subscribe(function (event) {
|
|
2223
|
+
this.routerSub$ = this.routeSubject.subscribe(function (event) {
|
|
2119
2224
|
_this.mobileMenuExpanded = false;
|
|
2120
2225
|
_this.userMenuExpanded = false;
|
|
2121
|
-
_this.notificationsMenuExpanded = false;
|
|
2122
2226
|
});
|
|
2123
2227
|
this.authService.loadUser().subscribe(function (user) {
|
|
2124
|
-
console.log(user);
|
|
2125
2228
|
_this.setCurrentUser(user);
|
|
2126
2229
|
}, function (error) {
|
|
2127
|
-
console.
|
|
2230
|
+
console.error(error);
|
|
2128
2231
|
});
|
|
2129
2232
|
// Detect user changes and display / or not user info accordingly...
|
|
2130
2233
|
this.userSub$ = this.authService.user$.subscribe(function (user) {
|
|
2131
2234
|
// console.log('ShellHeaderComponent user subscription');
|
|
2132
2235
|
_this.setCurrentUser(user);
|
|
2133
2236
|
});
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2237
|
+
// set current lang if no current value from langs if any
|
|
2238
|
+
if (!this.currentLang && this.langs && this.langs.length > 0) {
|
|
2239
|
+
this.setCurrentLang(this.langs[0]);
|
|
2240
|
+
}
|
|
2137
2241
|
};
|
|
2138
|
-
ShellHeaderComponent.prototype.
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2242
|
+
ShellHeaderComponent.prototype.ngOnDestroy = function () {
|
|
2243
|
+
if (this.routerSub$) {
|
|
2244
|
+
this.routerSub$.unsubscribe();
|
|
2245
|
+
}
|
|
2246
|
+
// TODO: check authenticated user here before we start polling server status
|
|
2247
|
+
if (this.statusSub$) {
|
|
2248
|
+
this.statusSub$.unsubscribe();
|
|
2249
|
+
}
|
|
2250
|
+
if (this.userSub$) {
|
|
2251
|
+
this.userSub$.unsubscribe();
|
|
2144
2252
|
}
|
|
2145
2253
|
};
|
|
2146
2254
|
// tslint:disable-next-line:typedef
|
|
2147
|
-
ShellHeaderComponent.prototype.
|
|
2255
|
+
ShellHeaderComponent.prototype.onClickOutside = function ($event) {
|
|
2148
2256
|
this.userMenuExpanded = false;
|
|
2149
2257
|
};
|
|
2150
|
-
// tslint:disable-next-line:typedef
|
|
2151
|
-
ShellHeaderComponent.prototype.onClickOutsideNotifications = function ($event) {
|
|
2152
|
-
this.notificationsMenuExpanded = false;
|
|
2153
|
-
};
|
|
2154
2258
|
ShellHeaderComponent.prototype.signin = function (event) {
|
|
2155
2259
|
if (event) {
|
|
2156
2260
|
event.preventDefault();
|
|
2157
2261
|
}
|
|
2158
2262
|
this.authService.signinRedirect();
|
|
2159
2263
|
};
|
|
2160
|
-
ShellHeaderComponent.prototype.
|
|
2161
|
-
|
|
2162
|
-
this.
|
|
2264
|
+
ShellHeaderComponent.prototype.setCurrentUser = function (user) {
|
|
2265
|
+
var _a, _b;
|
|
2266
|
+
this.user = user;
|
|
2267
|
+
if (this.user && this.user.profile) {
|
|
2268
|
+
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();
|
|
2269
|
+
}
|
|
2163
2270
|
};
|
|
2164
|
-
ShellHeaderComponent.prototype.
|
|
2165
|
-
this.
|
|
2166
|
-
this.userMenuExpanded = false;
|
|
2271
|
+
ShellHeaderComponent.prototype.setCurrentLang = function (lang) {
|
|
2272
|
+
this.currentLang = lang;
|
|
2167
2273
|
};
|
|
2168
2274
|
return ShellHeaderComponent;
|
|
2169
2275
|
}());
|
|
2170
|
-
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 });
|
|
2171
|
-
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"], allNotificationsLinkPath: ["all-notifications", "allNotificationsLinkPath"], 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\"\r\n [src]=\"config.appLogo\"\r\n [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\"\r\n [routerLinkActive]=\"['nav-link-profile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n 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 <span class=\"relative inline-block\">\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 <span \r\n class=\"absolute top-0 right-0 inline-flex items-center justify-center px-2 py-1 text-xs font-bold leading-none text-gray-100 transform translate-x-1/2 -translate-y-1/2 bg-gray-500 rounded-full\">99</span>\r\n <!-- <span *ngIf=\"notificationsCount > 0\"\r\n class=\"absolute top-0 right-0 inline-flex items-center justify-center px-2 py-1 text-xs font-bold leading-none text-red-100 transform translate-x-1/2 -translate-y-1/2 bg-red-600 rounded-full\">{{notificationsCount}}</span> -->\r\n </span>\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 min-h\">\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-1.5\">\r\n <ng-container *ngIf=\"notificationLinks | async as obs; else loading\">\r\n <ng-container *ngIf=\"obs.length <= 0\"\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-container *ngFor=\"let link of obs\">\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 <div class=\"flex justify-between\">\r\n <div class=\"flex-grow\">\r\n <a [routerLink]=\"link.path\"\r\n class=\"nav-link-notifications grid\"\r\n [ngClass]=\"!link.isRead ? ' hover:bg-blue-50' : 'border-b border-gray-100'\">\r\n <div class=\"flex flex-col\">\r\n <div class=\"font-thin tracking-tighter\">\r\n {{ link.creationDate | date: 'EEE, d MMMM' }}\r\n </div>\r\n <div class=\"font-bold\">\r\n {{ link.text }}\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n <!-- <div class=\"flex-none font-thin tracking-tighter\">\r\n <button type=\"button\"\r\n title=\"\u0394\u03B9\u03B1\u03B3\u03C1\u03B1\u03C6\u03AE\"\r\n class=\"text-red-600 hover:text-red-900\">\r\n <span class=\"ms-Icon ms-Icon--Delete\"></span>\r\n </button>\r\n </div> -->\r\n </div>\r\n </li>\r\n\r\n\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-template #loading>\r\n <div class=\"h-32 flex items-center justify-center\">\r\n <div class=\"animate-pulse text-s text-gray-600\">Loading...</div>\r\n </div>\r\n </ng-template>\r\n\r\n\r\n </ul>\r\n </ng-template>\r\n </div>\r\n <div class=\"p-1 rounded-sm\">\r\n <a [routerLink]=\"(allNotificationsLink | async)?.path\">\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 </a>\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\"\r\n [attr.href]=\"link.path\"\r\n [attr.target]=\"'_blank'\"\r\n class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n <a *ngIf=\"!link.external\"\r\n [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 <ng-container *ngIf=\"!user\">\r\n <a href=\"#\"\r\n (click)=\"signin($event)\"\r\n 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\"\r\n *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 <a [routerLink]=\"(allNotificationsLink | async)?.path\">\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 </a>\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\"\r\n [attr.href]=\"link.path\"\r\n [attr.target]=\"'_blank'\"\r\n 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>", 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 } });
|
|
2276
|
+
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: i1$1.ActivatedRoute }, { token: SHELL_CONFIG }, { token: APP_LINKS }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
2277
|
+
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"], showAlerts: ["show-alerts", "showAlerts"], langs: "langs", currentLang: ["current-lang", "currentLang"], 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-logo-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 <div class=\"shell-header-link-container-inner\">\r\n <lib-nav-links-list\r\n [links]=\"sectionLinks\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link'\"\r\n [link-active-class]=\"'nav-link-active'\">\r\n </lib-nav-links-list>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"langs && langs.length > 1 && currentLang\" class=\"shell-header-links-far-container\">\r\n <button class=\"text-blue-300 hover:text-blue-500\">\r\n <span>{{currentLang}}</span>\r\n <i class=\"text-xs ml-1 ms-Icon ms-Icon--ChevronDown\"></i>\r\n </button>\r\n </div>\r\n\r\n <div class=\"shell-header-md-visible\">\r\n <div class=\"shell-header-links-far-container\" (clickOutside)=\"onClickOutside($event)\">\r\n\r\n <lib-nav-links-list\r\n [links]=\"links.profileActions\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'shell-header-menu-rounded-button'\"\r\n [link-active-class]=\"'shell-header-menu-rounded-button-active'\">\r\n </lib-nav-links-list>\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\" [class]=\"link.icon\"></i>\r\n </a>\r\n </ng-container> -->\r\n\r\n <!-- Username -->\r\n <div *ngIf=\"profileMenuVisible\" class=\"ml-2 relative\">\r\n <div [ngClass]=\"{'shell-header-profile': showUserNameOnHeader}\">\r\n <div *ngIf=\"user && showUserNameOnHeader\" class=\"shell-header-profile-userName\">\r\n {{ user.profile.name }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Notifications dropdown -->\r\n <div *ngIf=\"showAlerts && user\" class=\"ml-2\">\r\n <lib-notifications-indicator></lib-notifications-indicator>\r\n </div>\r\n\r\n <!-- Profile dropdown -->\r\n <div *ngIf=\"profileMenuVisible\" class=\"ml-2 relative\" (clickOutside)=\"onClickOutside($event)\">\r\n <div [ngClass]=\"{'shell-header-profile': showUserNameOnHeader}\">\r\n <button type=\"button\" *ngIf=\"user\" (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 <lib-nav-links-list\r\n [links]=\"links.profile\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link-profile'\"\r\n [link-active-class]=\"'nav-link-profile-active'\">\r\n </lib-nav-links-list>\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 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 [class]=\"mobileMenuExpanded ? 'hidden':'block h-6 w-6'\">\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 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 [class]=\"mobileMenuExpanded ? 'block h-6 w-6':'hidden'\">\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 <lib-nav-links-list\r\n [links]=\"sectionLinks\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link-mobile'\"\r\n [link-active-class]=\"'nav-link-mobile-active'\"\r\n [container-class]=\"'mobile-menu-link-container'\">\r\n </lib-nav-links-list>\r\n\r\n <div *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 </div>\r\n\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>\r\n\r\n <lib-nav-links-list\r\n [links]=\"links.profile\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link-mobile'\"\r\n [link-active-class]=\"'nav-link-mobile-active'\"\r\n [container-class]=\"'mobile-menu-link-container'\">\r\n </lib-nav-links-list>\r\n </div>\r\n</nav>\r\n", components: [{ type: NavLinksListComponent, selector: "lib-nav-links-list", inputs: ["links", "active-fragment", "link-class", "link-active-class", "container-class"] }, { type: NotificationsIndicatorComponent, selector: "lib-notifications-indicator" }], 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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { type: i1__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
2172
2278
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ShellHeaderComponent, decorators: [{
|
|
2173
2279
|
type: i0.Component,
|
|
2174
2280
|
args: [{
|
|
@@ -2183,6 +2289,12 @@
|
|
|
2183
2289
|
}] }, { type: i1__namespace$1.Router, decorators: [{
|
|
2184
2290
|
type: i0.Inject,
|
|
2185
2291
|
args: [i1$1.Router]
|
|
2292
|
+
}] }, { type: i1__namespace$1.ActivatedRoute, decorators: [{
|
|
2293
|
+
type: i0.Inject,
|
|
2294
|
+
args: [i1$1.ActivatedRoute]
|
|
2295
|
+
}] }, { type: undefined, decorators: [{
|
|
2296
|
+
type: i0.Inject,
|
|
2297
|
+
args: [SHELL_CONFIG]
|
|
2186
2298
|
}] }, { type: undefined, decorators: [{
|
|
2187
2299
|
type: i0.Inject,
|
|
2188
2300
|
args: [APP_LINKS]
|
|
@@ -2190,14 +2302,20 @@
|
|
|
2190
2302
|
}, propDecorators: { sectionLinksPath: [{
|
|
2191
2303
|
type: i0.Input,
|
|
2192
2304
|
args: ['section-links']
|
|
2193
|
-
}],
|
|
2305
|
+
}], profileMenuVisible: [{
|
|
2306
|
+
type: i0.Input,
|
|
2307
|
+
args: ['profile-menu']
|
|
2308
|
+
}], showUserNameOnHeader: [{
|
|
2194
2309
|
type: i0.Input,
|
|
2195
|
-
args: ['
|
|
2196
|
-
}],
|
|
2310
|
+
args: ['show-userName']
|
|
2311
|
+
}], showAlerts: [{
|
|
2197
2312
|
type: i0.Input,
|
|
2198
|
-
args: ['
|
|
2199
|
-
}],
|
|
2313
|
+
args: ['show-alerts']
|
|
2314
|
+
}], langs: [{
|
|
2200
2315
|
type: i0.Input
|
|
2316
|
+
}], currentLang: [{
|
|
2317
|
+
type: i0.Input,
|
|
2318
|
+
args: ['current-lang']
|
|
2201
2319
|
}], border: [{
|
|
2202
2320
|
type: i0.Input
|
|
2203
2321
|
}] } });
|
|
@@ -2224,14 +2342,15 @@
|
|
|
2224
2342
|
} });
|
|
2225
2343
|
|
|
2226
2344
|
var ShellLayoutComponent = /** @class */ (function () {
|
|
2227
|
-
function ShellLayoutComponent(router, location, config, componentLoaderFactory) {
|
|
2345
|
+
function ShellLayoutComponent(document, router, location, config, componentLoaderFactory) {
|
|
2346
|
+
this.document = document;
|
|
2228
2347
|
this.router = router;
|
|
2229
2348
|
this.location = location;
|
|
2230
2349
|
this.config = config;
|
|
2231
2350
|
this.componentLoaderFactory = componentLoaderFactory;
|
|
2232
2351
|
this.dynamicComponentHosts = null;
|
|
2233
|
-
this.routerSub$ = null;
|
|
2234
2352
|
this.showRightPaneSM = false;
|
|
2353
|
+
this.routerSub$ = null;
|
|
2235
2354
|
this.activeConfig = new DefaultShellConfig();
|
|
2236
2355
|
this.loaded = false;
|
|
2237
2356
|
if (!config) {
|
|
@@ -2295,8 +2414,8 @@
|
|
|
2295
2414
|
};
|
|
2296
2415
|
return ShellLayoutComponent;
|
|
2297
2416
|
}());
|
|
2298
|
-
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 });
|
|
2299
|
-
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\"
|
|
2417
|
+
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 });
|
|
2418
|
+
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 <ng-container *ngIf=\"activeConfig.customHeaderComponent\">\r\n <div appDynamicComponentHost =\"Header\"></div>\r\n </ng-container>\r\n <lib-shell-header *ngIf=\"!activeConfig.customHeaderComponent\"\r\n [langs]=\"activeConfig.langs\"\r\n [show-userName]=\"activeConfig.showUserNameOnHeader\"\r\n [show-alerts]=\"activeConfig.showAlertsOnHeader\"></lib-shell-header>\r\n </div>\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", components: [{ type: ShellHeaderComponent, selector: "lib-shell-header", inputs: ["section-links", "profile-menu", "show-userName", "show-alerts", "langs", "current-lang", "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"] }] });
|
|
2300
2419
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ShellLayoutComponent, decorators: [{
|
|
2301
2420
|
type: i0.Component,
|
|
2302
2421
|
args: [{
|
|
@@ -2305,7 +2424,10 @@
|
|
|
2305
2424
|
templateUrl: './shell-layout.component.html',
|
|
2306
2425
|
}]
|
|
2307
2426
|
}], ctorParameters: function () {
|
|
2308
|
-
return [{ type:
|
|
2427
|
+
return [{ type: undefined, decorators: [{
|
|
2428
|
+
type: i0.Inject,
|
|
2429
|
+
args: [i1.DOCUMENT]
|
|
2430
|
+
}] }, { type: i1__namespace$1.Router }, { type: i1__namespace.Location }, { type: undefined, decorators: [{
|
|
2309
2431
|
type: i0.Inject,
|
|
2310
2432
|
args: [SHELL_CONFIG]
|
|
2311
2433
|
}] }, { type: ComponentLoaderFactory }];
|
|
@@ -2436,11 +2558,9 @@
|
|
|
2436
2558
|
ModelViewLayoutComponent.prototype.ngOnInit = function () {
|
|
2437
2559
|
};
|
|
2438
2560
|
ModelViewLayoutComponent.prototype.onSidePaneActivated = function ($event) {
|
|
2439
|
-
//console.log('onSidePaneActivated', $event);
|
|
2440
2561
|
this.showRightPaneSM = true;
|
|
2441
2562
|
};
|
|
2442
2563
|
ModelViewLayoutComponent.prototype.onSidePaneDeactivated = function ($event) {
|
|
2443
|
-
//console.log('onSidePaneActivated', $event);
|
|
2444
2564
|
this.showRightPaneSM = false;
|
|
2445
2565
|
};
|
|
2446
2566
|
ModelViewLayoutComponent.prototype.closeSidePane = function () {
|
|
@@ -2570,8 +2690,8 @@
|
|
|
2570
2690
|
}] } });
|
|
2571
2691
|
|
|
2572
2692
|
var FormLayoutComponent = /** @class */ (function () {
|
|
2573
|
-
function FormLayoutComponent(
|
|
2574
|
-
this.
|
|
2693
|
+
function FormLayoutComponent(router$) {
|
|
2694
|
+
this.router$ = router$;
|
|
2575
2695
|
this.title = null;
|
|
2576
2696
|
// tslint:disable-next-line:no-input-rename
|
|
2577
2697
|
this.searchPlaceholder = 'αναζήτηση';
|
|
@@ -2583,7 +2703,6 @@
|
|
|
2583
2703
|
// tslint:disable-next-line:no-output-on-prefix
|
|
2584
2704
|
this.onSearch = new i0.EventEmitter();
|
|
2585
2705
|
this.onComplete = new i0.EventEmitter();
|
|
2586
|
-
this.showRightPaneSM = false;
|
|
2587
2706
|
}
|
|
2588
2707
|
FormLayoutComponent.prototype.ngOnInit = function () {
|
|
2589
2708
|
var _a;
|
|
@@ -2613,10 +2732,10 @@
|
|
|
2613
2732
|
FormLayoutComponent.prototype.routerLinkActionClick = function (action, relative) {
|
|
2614
2733
|
if (relative === void 0) { relative = false; }
|
|
2615
2734
|
if (action.outlet) {
|
|
2616
|
-
this.
|
|
2735
|
+
this.router$.navigate(['', { outlets: { formRightPane: action.link } }]);
|
|
2617
2736
|
}
|
|
2618
2737
|
else {
|
|
2619
|
-
this.
|
|
2738
|
+
this.router$.navigate([action.link]);
|
|
2620
2739
|
}
|
|
2621
2740
|
};
|
|
2622
2741
|
return FormLayoutComponent;
|
|
@@ -2769,7 +2888,7 @@
|
|
|
2769
2888
|
return PageNotFoundComponent;
|
|
2770
2889
|
}());
|
|
2771
2890
|
PageNotFoundComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: PageNotFoundComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
2772
|
-
PageNotFoundComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.1", type: PageNotFoundComponent, selector: "lib-page-not-found", ngImport: i0__namespace, template: "<lib-view-layout [show-header]=\"false\"
|
|
2891
|
+
PageNotFoundComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.1", type: PageNotFoundComponent, selector: "lib-page-not-found", ngImport: i0__namespace, template: "<lib-view-layout [show-header]=\"false\" title=\"404 - \u03B4\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B5!\">\r\n <div class=\"text-gray-900\">\r\n <div class=\"max-w-4xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold sm:text-4xl\">\r\n <span class=\"block\">404</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-800\">\u03B4\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B5 \u03B7 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1 \u03C0\u03BF\u03C5 \u03B6\u03B7\u03C4\u03AE\u03C3\u03B1\u03C4\u03B5!</p>\r\n <a href=\"/\"\r\n class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n \u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B5\u03B4\u03CE \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B5\u03C0\u03B9\u03C3\u03C4\u03C1\u03AD\u03C8\u03B5\u03C4\u03B5\r\n </a>\r\n </div>\r\n </div>\r\n</lib-view-layout>\r\n", components: [{ type: ViewLayoutComponent, selector: "lib-view-layout", inputs: ["show-header", "fluid", "title", "icon", "actions", "busy", "search-placeholder", "view", "meta-items"], outputs: ["onAction", "onSearch"] }] });
|
|
2773
2892
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: PageNotFoundComponent, decorators: [{
|
|
2774
2893
|
type: i0.Component,
|
|
2775
2894
|
args: [{
|
|
@@ -2881,31 +3000,6 @@
|
|
|
2881
3000
|
}]
|
|
2882
3001
|
}] });
|
|
2883
3002
|
|
|
2884
|
-
var defaultError = 'Something went wrong';
|
|
2885
|
-
var ObsWithStatusPipe = /** @class */ (function () {
|
|
2886
|
-
function ObsWithStatusPipe() {
|
|
2887
|
-
}
|
|
2888
|
-
ObsWithStatusPipe.prototype.transform = function (val) {
|
|
2889
|
-
return val.pipe(operators.map(function (value) {
|
|
2890
|
-
return {
|
|
2891
|
-
loading: value.type === 'start',
|
|
2892
|
-
error: value.type === 'error' ? defaultError : '',
|
|
2893
|
-
value: value.type ? value.value : value,
|
|
2894
|
-
};
|
|
2895
|
-
}), operators.startWith({ loading: true }), operators.catchError(function (error) { return rxjs.of({ loading: false, error: typeof error === 'string' ? error : defaultError }); }));
|
|
2896
|
-
};
|
|
2897
|
-
return ObsWithStatusPipe;
|
|
2898
|
-
}());
|
|
2899
|
-
ObsWithStatusPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ObsWithStatusPipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
|
|
2900
|
-
ObsWithStatusPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ObsWithStatusPipe, name: "obsWithStatus", pure: false });
|
|
2901
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ObsWithStatusPipe, decorators: [{
|
|
2902
|
-
type: i0.Pipe,
|
|
2903
|
-
args: [{
|
|
2904
|
-
name: 'obsWithStatus',
|
|
2905
|
-
pure: false
|
|
2906
|
-
}]
|
|
2907
|
-
}] });
|
|
2908
|
-
|
|
2909
3003
|
var BaseListComponent = /** @class */ (function () {
|
|
2910
3004
|
function BaseListComponent(route$, router$) {
|
|
2911
3005
|
this.route$ = route$;
|
|
@@ -3585,7 +3679,8 @@
|
|
|
3585
3679
|
// pipes
|
|
3586
3680
|
AddressPipe,
|
|
3587
3681
|
DurationFormatPipe,
|
|
3588
|
-
|
|
3682
|
+
NavLinksListComponent,
|
|
3683
|
+
NotificationsIndicatorComponent
|
|
3589
3684
|
], imports: [i1.CommonModule,
|
|
3590
3685
|
i1$1.RouterModule,
|
|
3591
3686
|
i2.IndiceAuthModule], exports: [ClickOutsideDirective,
|
|
@@ -3613,7 +3708,6 @@
|
|
|
3613
3708
|
UnauthorizedComponent,
|
|
3614
3709
|
AddressPipe,
|
|
3615
3710
|
DurationFormatPipe,
|
|
3616
|
-
ObsWithStatusPipe,
|
|
3617
3711
|
CollapsiblePanelComponent,
|
|
3618
3712
|
SidePaneComponent,
|
|
3619
3713
|
DatepickerComponent,
|
|
@@ -3670,7 +3764,8 @@
|
|
|
3670
3764
|
// pipes
|
|
3671
3765
|
AddressPipe,
|
|
3672
3766
|
DurationFormatPipe,
|
|
3673
|
-
|
|
3767
|
+
NavLinksListComponent,
|
|
3768
|
+
NotificationsIndicatorComponent
|
|
3674
3769
|
],
|
|
3675
3770
|
imports: [
|
|
3676
3771
|
i1.CommonModule,
|
|
@@ -3703,7 +3798,6 @@
|
|
|
3703
3798
|
UnauthorizedComponent,
|
|
3704
3799
|
AddressPipe,
|
|
3705
3800
|
DurationFormatPipe,
|
|
3706
|
-
ObsWithStatusPipe,
|
|
3707
3801
|
CollapsiblePanelComponent,
|
|
3708
3802
|
SidePaneComponent,
|
|
3709
3803
|
DatepickerComponent,
|
|
@@ -3722,6 +3816,7 @@
|
|
|
3722
3816
|
*/
|
|
3723
3817
|
|
|
3724
3818
|
exports.APP_LINKS = APP_LINKS;
|
|
3819
|
+
exports.APP_NOTIFICATIONS = APP_NOTIFICATIONS;
|
|
3725
3820
|
exports.AddressPipe = AddressPipe;
|
|
3726
3821
|
exports.AuthCallbackComponent = AuthCallbackComponent;
|
|
3727
3822
|
exports.AuthRenewComponent = AuthRenewComponent;
|
|
@@ -3757,8 +3852,8 @@
|
|
|
3757
3852
|
exports.ModelViewLayoutComponent = ModelViewLayoutComponent;
|
|
3758
3853
|
exports.NULL_TOAST = NULL_TOAST;
|
|
3759
3854
|
exports.NavLink = NavLink;
|
|
3855
|
+
exports.NavLinksListComponent = NavLinksListComponent;
|
|
3760
3856
|
exports.NotificationNavLink = NotificationNavLink;
|
|
3761
|
-
exports.ObsWithStatusPipe = ObsWithStatusPipe;
|
|
3762
3857
|
exports.PageNotFoundComponent = PageNotFoundComponent;
|
|
3763
3858
|
exports.PagerComponent = PagerComponent;
|
|
3764
3859
|
exports.RouterViewAction = RouterViewAction;
|
|
@@ -3780,5 +3875,5 @@
|
|
|
3780
3875
|
|
|
3781
3876
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
3782
3877
|
|
|
3783
|
-
}))
|
|
3878
|
+
}));
|
|
3784
3879
|
//# sourceMappingURL=indice-ng-components.umd.js.map
|