@indice/ng-components 0.2.134-beta → 0.2.135
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 +25 -72
- package/bundles/indice-ng-components.umd.js +212 -118
- 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 +71 -0
- package/esm2015/lib/layouts/shell/shell-header/shell-header.component.js +70 -68
- 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 +189 -105
- 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 +20 -0
- package/lib/layouts/shell/shell-header/shell-header.component.d.ts +21 -24
- 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 +17 -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,104 +2115,161 @@
|
|
|
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) {
|
|
2120
|
+
this.notifications = notifications;
|
|
2121
|
+
this.menuExpanded = false;
|
|
2122
|
+
this.unreadCount = 0;
|
|
2123
|
+
this.items = [];
|
|
2124
|
+
this.inboxAction = undefined;
|
|
2125
|
+
this.newArrival = false;
|
|
2126
|
+
}
|
|
2127
|
+
NotificationsIndicatorComponent.prototype.ngOnDestroy = function () {
|
|
2128
|
+
if (this.notificationsSub$) {
|
|
2129
|
+
this.notificationsSub$.unsubscribe();
|
|
2130
|
+
}
|
|
2131
|
+
};
|
|
2132
|
+
NotificationsIndicatorComponent.prototype.ngOnInit = function () {
|
|
2133
|
+
var _this = this;
|
|
2134
|
+
this.notificationsSub$ = this.notifications.messages.subscribe(function (result) {
|
|
2135
|
+
if (result.items) {
|
|
2136
|
+
_this.newArrival = true;
|
|
2137
|
+
_this.unreadCount = result.count;
|
|
2138
|
+
_this.items = result.items;
|
|
2139
|
+
setTimeout(function () { _this.newArrival = false; }, 1000);
|
|
2140
|
+
}
|
|
2141
|
+
});
|
|
2142
|
+
};
|
|
2143
|
+
NotificationsIndicatorComponent.prototype.toggleMenu = function () {
|
|
2144
|
+
this.menuExpanded = !this.menuExpanded;
|
|
2145
|
+
this.unreadCount = 0;
|
|
2146
|
+
};
|
|
2147
|
+
NotificationsIndicatorComponent.prototype.doInboxAction = function () {
|
|
2148
|
+
if (this.notifications.inboxAction) {
|
|
2149
|
+
this.notifications.inboxAction();
|
|
2150
|
+
}
|
|
2151
|
+
else {
|
|
2152
|
+
this.menuExpanded = true;
|
|
2153
|
+
}
|
|
2154
|
+
this.unreadCount = 0;
|
|
2155
|
+
};
|
|
2156
|
+
// this.notificationsSub$ = this.links.notifications?.pipe(map(result => {
|
|
2157
|
+
// this.allItemsLink = result.allNotifications;
|
|
2158
|
+
// this.items = result.items;
|
|
2159
|
+
// this.unreadCount = result.count;
|
|
2160
|
+
// }));
|
|
2161
|
+
// [this.notificationsLinksPath] as Observable<NotificationNavLink[]>;
|
|
2162
|
+
// this.allNotificationsLink = this.links[this.allNotificationsLinkPath] as Observable<NavLink>;
|
|
2163
|
+
// this.unreadNotificationsCountObs = this.links[this.notificationsCounterLinksPath] as Observable<number>;
|
|
2164
|
+
// this.getUnreadNotificationsCount();
|
|
2165
|
+
// tslint:disable-next-line:typedef
|
|
2166
|
+
NotificationsIndicatorComponent.prototype.onClickOutside = function ($event) {
|
|
2167
|
+
this.menuExpanded = false;
|
|
2168
|
+
};
|
|
2169
|
+
return NotificationsIndicatorComponent;
|
|
2170
|
+
}());
|
|
2171
|
+
NotificationsIndicatorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: NotificationsIndicatorComponent, deps: [{ token: APP_NOTIFICATIONS }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
2172
|
+
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]=\"'/messages'\">\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", styles: [".notifications-nav-link{@apply block py-3 pl-3 pr-2 text-xs text-gray-700 hover:bg-gray-50;}.header-notifications{@apply flex gap-3 items-center;}.header-notifications-dropdown-button{@apply max-w-xs focus:outline-none rounded-full flex items-center text-sm ring-1 ring-blue-300 focus:ring-offset-1 focus:ring-offset-blue-800 focus:ring-blue-400 transition ease-in duration-100;}.header-notifications-dropdown{@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;}.header-notifications-dropdown-with-username{@apply z-50 origin-top-right absolute right-0 pt-3 pl-1.5 mt-1 w-80 rounded-sm shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none;}.header-notifications-dropdown-view-all-button{@apply items-center align-text-bottom font-medium w-full px-2.5 py-2.5 text-xs text-gray-600 focus:outline-none;}.notification-messages::-webkit-scrollbar{width:7px;height:7px;background:transparent;cursor:pointer}.notification-messages::-webkit-scrollbar-thumb{@apply bg-gray-600;}.notification-messages::-webkit-scrollbar-thumb:hover{@apply bg-gray-700;}\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 } });
|
|
2173
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: NotificationsIndicatorComponent, decorators: [{
|
|
2174
|
+
type: i0.Component,
|
|
2175
|
+
args: [{
|
|
2176
|
+
selector: 'lib-notifications-indicator',
|
|
2177
|
+
templateUrl: './notifications-indicator.component.html',
|
|
2178
|
+
styleUrls: ['./notifications-indicator.component.scss']
|
|
2179
|
+
}]
|
|
2180
|
+
}], ctorParameters: function () {
|
|
2181
|
+
return [{ type: undefined, decorators: [{
|
|
2182
|
+
type: i0.Inject,
|
|
2183
|
+
args: [APP_NOTIFICATIONS]
|
|
2184
|
+
}] }];
|
|
2185
|
+
} });
|
|
2186
|
+
|
|
2070
2187
|
var ShellHeaderComponent = /** @class */ (function () {
|
|
2071
|
-
function ShellHeaderComponent(authService, router, links) {
|
|
2188
|
+
function ShellHeaderComponent(authService, router, route, config, links) {
|
|
2072
2189
|
this.authService = authService;
|
|
2073
2190
|
this.router = router;
|
|
2191
|
+
this.route = route;
|
|
2192
|
+
this.config = config;
|
|
2074
2193
|
this.links = links;
|
|
2075
2194
|
// tslint:disable-next-line:no-input-rename
|
|
2076
2195
|
this.sectionLinksPath = 'main';
|
|
2077
|
-
|
|
2078
|
-
this.allNotificationsLinkPath = 'allNotifications';
|
|
2079
|
-
this.border = true;
|
|
2080
|
-
this.showNotifications = false;
|
|
2081
|
-
this.showUserNameOnHeader = false;
|
|
2082
|
-
this.notificationsMenuVisible = true;
|
|
2196
|
+
// tslint:disable-next-line:no-input-rename
|
|
2083
2197
|
this.profileMenuVisible = true;
|
|
2198
|
+
// tslint:disable-next-line:no-input-rename
|
|
2199
|
+
this.showUserNameOnHeader = false;
|
|
2200
|
+
// tslint:disable-next-line:no-input-rename
|
|
2201
|
+
this.showAlerts = false;
|
|
2202
|
+
this.border = true;
|
|
2084
2203
|
this.sectionLinks = rxjs.of([]);
|
|
2085
|
-
this.notificationLinks = rxjs.of([]);
|
|
2086
|
-
this.allNotificationsLink = rxjs.of();
|
|
2087
2204
|
this.mobileMenuExpanded = false;
|
|
2088
2205
|
this.userMenuExpanded = false;
|
|
2089
|
-
this.notificationsMenuExpanded = false;
|
|
2090
|
-
this.routeSubject = new rxjs.Observable();
|
|
2091
2206
|
this.routerSub$ = null;
|
|
2092
2207
|
this.userSub$ = null;
|
|
2093
2208
|
this.statusSub$ = null;
|
|
2094
2209
|
this.user = null;
|
|
2095
2210
|
this.avatarName = null;
|
|
2211
|
+
this.activeFragment = null;
|
|
2212
|
+
this.routeSubject = this.router.events.pipe(operators.filter(function (event) { return event instanceof i1$1.NavigationStart; }));
|
|
2096
2213
|
}
|
|
2097
|
-
ShellHeaderComponent.prototype.ngOnDestroy = function () {
|
|
2098
|
-
if (this.routerSub$) {
|
|
2099
|
-
this.routerSub$.unsubscribe();
|
|
2100
|
-
}
|
|
2101
|
-
// TODO: check authenticated user here before we start polling server status
|
|
2102
|
-
if (this.statusSub$) {
|
|
2103
|
-
this.statusSub$.unsubscribe();
|
|
2104
|
-
}
|
|
2105
|
-
if (this.userSub$) {
|
|
2106
|
-
this.userSub$.unsubscribe();
|
|
2107
|
-
}
|
|
2108
|
-
};
|
|
2109
2214
|
ShellHeaderComponent.prototype.ngOnInit = function () {
|
|
2110
2215
|
var _this = this;
|
|
2111
|
-
|
|
2112
|
-
this.showNotifications = (_a = this.config) === null || _a === void 0 ? void 0 : _a.showNotifications;
|
|
2113
|
-
this.showUserNameOnHeader = (_b = this.config) === null || _b === void 0 ? void 0 : _b.showUserNameOnHeader;
|
|
2216
|
+
this.activeFragment = this.route.fragment.pipe(operators.share());
|
|
2114
2217
|
this.sectionLinks = this.links[this.sectionLinksPath];
|
|
2115
|
-
this.
|
|
2116
|
-
this.allNotificationsLink = this.links[this.allNotificationsLinkPath];
|
|
2117
|
-
this.routerSub$ = this.router.events.pipe(operators.filter(function (event) { return event instanceof i1$1.NavigationStart; })).subscribe(function (event) {
|
|
2218
|
+
this.routerSub$ = this.routeSubject.subscribe(function (event) {
|
|
2118
2219
|
_this.mobileMenuExpanded = false;
|
|
2119
2220
|
_this.userMenuExpanded = false;
|
|
2120
|
-
_this.notificationsMenuExpanded = false;
|
|
2121
2221
|
});
|
|
2122
2222
|
this.authService.loadUser().subscribe(function (user) {
|
|
2123
|
-
console.log(user);
|
|
2124
2223
|
_this.setCurrentUser(user);
|
|
2125
2224
|
}, function (error) {
|
|
2126
|
-
console.
|
|
2225
|
+
console.error(error);
|
|
2127
2226
|
});
|
|
2128
2227
|
// Detect user changes and display / or not user info accordingly...
|
|
2129
2228
|
this.userSub$ = this.authService.user$.subscribe(function (user) {
|
|
2130
2229
|
// console.log('ShellHeaderComponent user subscription');
|
|
2131
2230
|
_this.setCurrentUser(user);
|
|
2132
2231
|
});
|
|
2232
|
+
// set current lang if no current value from langs if any
|
|
2233
|
+
if (!this.currentLang && this.langs && this.langs.length > 0) {
|
|
2234
|
+
this.setCurrentLang(this.langs[0]);
|
|
2235
|
+
}
|
|
2133
2236
|
};
|
|
2134
|
-
ShellHeaderComponent.prototype.
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2237
|
+
ShellHeaderComponent.prototype.ngOnDestroy = function () {
|
|
2238
|
+
if (this.routerSub$) {
|
|
2239
|
+
this.routerSub$.unsubscribe();
|
|
2240
|
+
}
|
|
2241
|
+
// TODO: check authenticated user here before we start polling server status
|
|
2242
|
+
if (this.statusSub$) {
|
|
2243
|
+
this.statusSub$.unsubscribe();
|
|
2244
|
+
}
|
|
2245
|
+
if (this.userSub$) {
|
|
2246
|
+
this.userSub$.unsubscribe();
|
|
2140
2247
|
}
|
|
2141
2248
|
};
|
|
2142
2249
|
// tslint:disable-next-line:typedef
|
|
2143
|
-
ShellHeaderComponent.prototype.
|
|
2250
|
+
ShellHeaderComponent.prototype.onClickOutside = function ($event) {
|
|
2144
2251
|
this.userMenuExpanded = false;
|
|
2145
2252
|
};
|
|
2146
|
-
// tslint:disable-next-line:typedef
|
|
2147
|
-
ShellHeaderComponent.prototype.onClickOutsideNotifications = function ($event) {
|
|
2148
|
-
this.notificationsMenuExpanded = false;
|
|
2149
|
-
};
|
|
2150
2253
|
ShellHeaderComponent.prototype.signin = function (event) {
|
|
2151
2254
|
if (event) {
|
|
2152
2255
|
event.preventDefault();
|
|
2153
2256
|
}
|
|
2154
2257
|
this.authService.signinRedirect();
|
|
2155
2258
|
};
|
|
2156
|
-
ShellHeaderComponent.prototype.
|
|
2157
|
-
|
|
2158
|
-
this.
|
|
2259
|
+
ShellHeaderComponent.prototype.setCurrentUser = function (user) {
|
|
2260
|
+
var _a, _b;
|
|
2261
|
+
this.user = user;
|
|
2262
|
+
if (this.user && this.user.profile) {
|
|
2263
|
+
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();
|
|
2264
|
+
}
|
|
2159
2265
|
};
|
|
2160
|
-
ShellHeaderComponent.prototype.
|
|
2161
|
-
this.
|
|
2162
|
-
this.userMenuExpanded = false;
|
|
2266
|
+
ShellHeaderComponent.prototype.setCurrentLang = function (lang) {
|
|
2267
|
+
this.currentLang = lang;
|
|
2163
2268
|
};
|
|
2164
2269
|
return ShellHeaderComponent;
|
|
2165
2270
|
}());
|
|
2166
|
-
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 });
|
|
2167
|
-
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 <!-- 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 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 *ngFor=\"let link of obs\">\r\n\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 } });
|
|
2271
|
+
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 });
|
|
2272
|
+
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"] }] });
|
|
2168
2273
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ShellHeaderComponent, decorators: [{
|
|
2169
2274
|
type: i0.Component,
|
|
2170
2275
|
args: [{
|
|
@@ -2179,6 +2284,12 @@
|
|
|
2179
2284
|
}] }, { type: i1__namespace$1.Router, decorators: [{
|
|
2180
2285
|
type: i0.Inject,
|
|
2181
2286
|
args: [i1$1.Router]
|
|
2287
|
+
}] }, { type: i1__namespace$1.ActivatedRoute, decorators: [{
|
|
2288
|
+
type: i0.Inject,
|
|
2289
|
+
args: [i1$1.ActivatedRoute]
|
|
2290
|
+
}] }, { type: undefined, decorators: [{
|
|
2291
|
+
type: i0.Inject,
|
|
2292
|
+
args: [SHELL_CONFIG]
|
|
2182
2293
|
}] }, { type: undefined, decorators: [{
|
|
2183
2294
|
type: i0.Inject,
|
|
2184
2295
|
args: [APP_LINKS]
|
|
@@ -2186,14 +2297,20 @@
|
|
|
2186
2297
|
}, propDecorators: { sectionLinksPath: [{
|
|
2187
2298
|
type: i0.Input,
|
|
2188
2299
|
args: ['section-links']
|
|
2189
|
-
}],
|
|
2300
|
+
}], profileMenuVisible: [{
|
|
2190
2301
|
type: i0.Input,
|
|
2191
|
-
args: ['
|
|
2192
|
-
}],
|
|
2302
|
+
args: ['profile-menu']
|
|
2303
|
+
}], showUserNameOnHeader: [{
|
|
2193
2304
|
type: i0.Input,
|
|
2194
|
-
args: ['
|
|
2195
|
-
}],
|
|
2305
|
+
args: ['show-userName']
|
|
2306
|
+
}], showAlerts: [{
|
|
2307
|
+
type: i0.Input,
|
|
2308
|
+
args: ['show-alerts']
|
|
2309
|
+
}], langs: [{
|
|
2196
2310
|
type: i0.Input
|
|
2311
|
+
}], currentLang: [{
|
|
2312
|
+
type: i0.Input,
|
|
2313
|
+
args: ['current-lang']
|
|
2197
2314
|
}], border: [{
|
|
2198
2315
|
type: i0.Input
|
|
2199
2316
|
}] } });
|
|
@@ -2220,14 +2337,15 @@
|
|
|
2220
2337
|
} });
|
|
2221
2338
|
|
|
2222
2339
|
var ShellLayoutComponent = /** @class */ (function () {
|
|
2223
|
-
function ShellLayoutComponent(router, location, config, componentLoaderFactory) {
|
|
2340
|
+
function ShellLayoutComponent(document, router, location, config, componentLoaderFactory) {
|
|
2341
|
+
this.document = document;
|
|
2224
2342
|
this.router = router;
|
|
2225
2343
|
this.location = location;
|
|
2226
2344
|
this.config = config;
|
|
2227
2345
|
this.componentLoaderFactory = componentLoaderFactory;
|
|
2228
2346
|
this.dynamicComponentHosts = null;
|
|
2229
|
-
this.routerSub$ = null;
|
|
2230
2347
|
this.showRightPaneSM = false;
|
|
2348
|
+
this.routerSub$ = null;
|
|
2231
2349
|
this.activeConfig = new DefaultShellConfig();
|
|
2232
2350
|
this.loaded = false;
|
|
2233
2351
|
if (!config) {
|
|
@@ -2291,8 +2409,8 @@
|
|
|
2291
2409
|
};
|
|
2292
2410
|
return ShellLayoutComponent;
|
|
2293
2411
|
}());
|
|
2294
|
-
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 });
|
|
2295
|
-
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\"
|
|
2412
|
+
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 });
|
|
2413
|
+
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"] }] });
|
|
2296
2414
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ShellLayoutComponent, decorators: [{
|
|
2297
2415
|
type: i0.Component,
|
|
2298
2416
|
args: [{
|
|
@@ -2301,7 +2419,10 @@
|
|
|
2301
2419
|
templateUrl: './shell-layout.component.html',
|
|
2302
2420
|
}]
|
|
2303
2421
|
}], ctorParameters: function () {
|
|
2304
|
-
return [{ type:
|
|
2422
|
+
return [{ type: undefined, decorators: [{
|
|
2423
|
+
type: i0.Inject,
|
|
2424
|
+
args: [i1.DOCUMENT]
|
|
2425
|
+
}] }, { type: i1__namespace$1.Router }, { type: i1__namespace.Location }, { type: undefined, decorators: [{
|
|
2305
2426
|
type: i0.Inject,
|
|
2306
2427
|
args: [SHELL_CONFIG]
|
|
2307
2428
|
}] }, { type: ComponentLoaderFactory }];
|
|
@@ -2432,11 +2553,9 @@
|
|
|
2432
2553
|
ModelViewLayoutComponent.prototype.ngOnInit = function () {
|
|
2433
2554
|
};
|
|
2434
2555
|
ModelViewLayoutComponent.prototype.onSidePaneActivated = function ($event) {
|
|
2435
|
-
//console.log('onSidePaneActivated', $event);
|
|
2436
2556
|
this.showRightPaneSM = true;
|
|
2437
2557
|
};
|
|
2438
2558
|
ModelViewLayoutComponent.prototype.onSidePaneDeactivated = function ($event) {
|
|
2439
|
-
//console.log('onSidePaneActivated', $event);
|
|
2440
2559
|
this.showRightPaneSM = false;
|
|
2441
2560
|
};
|
|
2442
2561
|
ModelViewLayoutComponent.prototype.closeSidePane = function () {
|
|
@@ -2566,8 +2685,8 @@
|
|
|
2566
2685
|
}] } });
|
|
2567
2686
|
|
|
2568
2687
|
var FormLayoutComponent = /** @class */ (function () {
|
|
2569
|
-
function FormLayoutComponent(
|
|
2570
|
-
this.
|
|
2688
|
+
function FormLayoutComponent(router$) {
|
|
2689
|
+
this.router$ = router$;
|
|
2571
2690
|
this.title = null;
|
|
2572
2691
|
// tslint:disable-next-line:no-input-rename
|
|
2573
2692
|
this.searchPlaceholder = 'αναζήτηση';
|
|
@@ -2579,7 +2698,6 @@
|
|
|
2579
2698
|
// tslint:disable-next-line:no-output-on-prefix
|
|
2580
2699
|
this.onSearch = new i0.EventEmitter();
|
|
2581
2700
|
this.onComplete = new i0.EventEmitter();
|
|
2582
|
-
this.showRightPaneSM = false;
|
|
2583
2701
|
}
|
|
2584
2702
|
FormLayoutComponent.prototype.ngOnInit = function () {
|
|
2585
2703
|
var _a;
|
|
@@ -2609,10 +2727,10 @@
|
|
|
2609
2727
|
FormLayoutComponent.prototype.routerLinkActionClick = function (action, relative) {
|
|
2610
2728
|
if (relative === void 0) { relative = false; }
|
|
2611
2729
|
if (action.outlet) {
|
|
2612
|
-
this.
|
|
2730
|
+
this.router$.navigate(['', { outlets: { formRightPane: action.link } }]);
|
|
2613
2731
|
}
|
|
2614
2732
|
else {
|
|
2615
|
-
this.
|
|
2733
|
+
this.router$.navigate([action.link]);
|
|
2616
2734
|
}
|
|
2617
2735
|
};
|
|
2618
2736
|
return FormLayoutComponent;
|
|
@@ -2765,7 +2883,7 @@
|
|
|
2765
2883
|
return PageNotFoundComponent;
|
|
2766
2884
|
}());
|
|
2767
2885
|
PageNotFoundComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: PageNotFoundComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
2768
|
-
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\"
|
|
2886
|
+
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"] }] });
|
|
2769
2887
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: PageNotFoundComponent, decorators: [{
|
|
2770
2888
|
type: i0.Component,
|
|
2771
2889
|
args: [{
|
|
@@ -2877,31 +2995,6 @@
|
|
|
2877
2995
|
}]
|
|
2878
2996
|
}] });
|
|
2879
2997
|
|
|
2880
|
-
var defaultError = 'Something went wrong';
|
|
2881
|
-
var ObsWithStatusPipe = /** @class */ (function () {
|
|
2882
|
-
function ObsWithStatusPipe() {
|
|
2883
|
-
}
|
|
2884
|
-
ObsWithStatusPipe.prototype.transform = function (val) {
|
|
2885
|
-
return val.pipe(operators.map(function (value) {
|
|
2886
|
-
return {
|
|
2887
|
-
loading: value.type === 'start',
|
|
2888
|
-
error: value.type === 'error' ? defaultError : '',
|
|
2889
|
-
value: value.type ? value.value : value,
|
|
2890
|
-
};
|
|
2891
|
-
}), operators.startWith({ loading: true }), operators.catchError(function (error) { return rxjs.of({ loading: false, error: typeof error === 'string' ? error : defaultError }); }));
|
|
2892
|
-
};
|
|
2893
|
-
return ObsWithStatusPipe;
|
|
2894
|
-
}());
|
|
2895
|
-
ObsWithStatusPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ObsWithStatusPipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
|
|
2896
|
-
ObsWithStatusPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ObsWithStatusPipe, name: "obsWithStatus", pure: false });
|
|
2897
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ObsWithStatusPipe, decorators: [{
|
|
2898
|
-
type: i0.Pipe,
|
|
2899
|
-
args: [{
|
|
2900
|
-
name: 'obsWithStatus',
|
|
2901
|
-
pure: false
|
|
2902
|
-
}]
|
|
2903
|
-
}] });
|
|
2904
|
-
|
|
2905
2998
|
var BaseListComponent = /** @class */ (function () {
|
|
2906
2999
|
function BaseListComponent(route$, router$) {
|
|
2907
3000
|
this.route$ = route$;
|
|
@@ -3581,7 +3674,8 @@
|
|
|
3581
3674
|
// pipes
|
|
3582
3675
|
AddressPipe,
|
|
3583
3676
|
DurationFormatPipe,
|
|
3584
|
-
|
|
3677
|
+
NavLinksListComponent,
|
|
3678
|
+
NotificationsIndicatorComponent
|
|
3585
3679
|
], imports: [i1.CommonModule,
|
|
3586
3680
|
i1$1.RouterModule,
|
|
3587
3681
|
i2.IndiceAuthModule], exports: [ClickOutsideDirective,
|
|
@@ -3609,7 +3703,6 @@
|
|
|
3609
3703
|
UnauthorizedComponent,
|
|
3610
3704
|
AddressPipe,
|
|
3611
3705
|
DurationFormatPipe,
|
|
3612
|
-
ObsWithStatusPipe,
|
|
3613
3706
|
CollapsiblePanelComponent,
|
|
3614
3707
|
SidePaneComponent,
|
|
3615
3708
|
DatepickerComponent,
|
|
@@ -3666,7 +3759,8 @@
|
|
|
3666
3759
|
// pipes
|
|
3667
3760
|
AddressPipe,
|
|
3668
3761
|
DurationFormatPipe,
|
|
3669
|
-
|
|
3762
|
+
NavLinksListComponent,
|
|
3763
|
+
NotificationsIndicatorComponent
|
|
3670
3764
|
],
|
|
3671
3765
|
imports: [
|
|
3672
3766
|
i1.CommonModule,
|
|
@@ -3699,7 +3793,6 @@
|
|
|
3699
3793
|
UnauthorizedComponent,
|
|
3700
3794
|
AddressPipe,
|
|
3701
3795
|
DurationFormatPipe,
|
|
3702
|
-
ObsWithStatusPipe,
|
|
3703
3796
|
CollapsiblePanelComponent,
|
|
3704
3797
|
SidePaneComponent,
|
|
3705
3798
|
DatepickerComponent,
|
|
@@ -3718,6 +3811,7 @@
|
|
|
3718
3811
|
*/
|
|
3719
3812
|
|
|
3720
3813
|
exports.APP_LINKS = APP_LINKS;
|
|
3814
|
+
exports.APP_NOTIFICATIONS = APP_NOTIFICATIONS;
|
|
3721
3815
|
exports.AddressPipe = AddressPipe;
|
|
3722
3816
|
exports.AuthCallbackComponent = AuthCallbackComponent;
|
|
3723
3817
|
exports.AuthRenewComponent = AuthRenewComponent;
|
|
@@ -3753,8 +3847,8 @@
|
|
|
3753
3847
|
exports.ModelViewLayoutComponent = ModelViewLayoutComponent;
|
|
3754
3848
|
exports.NULL_TOAST = NULL_TOAST;
|
|
3755
3849
|
exports.NavLink = NavLink;
|
|
3850
|
+
exports.NavLinksListComponent = NavLinksListComponent;
|
|
3756
3851
|
exports.NotificationNavLink = NotificationNavLink;
|
|
3757
|
-
exports.ObsWithStatusPipe = ObsWithStatusPipe;
|
|
3758
3852
|
exports.PageNotFoundComponent = PageNotFoundComponent;
|
|
3759
3853
|
exports.PagerComponent = PagerComponent;
|
|
3760
3854
|
exports.RouterViewAction = RouterViewAction;
|
|
@@ -3776,5 +3870,5 @@
|
|
|
3776
3870
|
|
|
3777
3871
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
3778
3872
|
|
|
3779
|
-
}))
|
|
3873
|
+
}));
|
|
3780
3874
|
//# sourceMappingURL=indice-ng-components.umd.js.map
|