@indice/ng-components 0.2.138-beta → 0.2.138
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 +218 -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 +195 -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 +22 -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,167 @@
|
|
|
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.inboxAction = undefined;
|
|
2126
|
+
this.newArrival = false;
|
|
2127
|
+
}
|
|
2128
|
+
NotificationsIndicatorComponent.prototype.ngOnDestroy = function () {
|
|
2129
|
+
if (this.notificationsSub$) {
|
|
2130
|
+
this.notificationsSub$.unsubscribe();
|
|
2131
|
+
}
|
|
2132
|
+
};
|
|
2133
|
+
NotificationsIndicatorComponent.prototype.ngOnInit = function () {
|
|
2134
|
+
var _this = this;
|
|
2135
|
+
this.links['notifications'].subscribe(function (notificationsLink) {
|
|
2136
|
+
_this.allNotificationsLink = notificationsLink;
|
|
2137
|
+
});
|
|
2138
|
+
this.notificationsSub$ = this.notifications.messages.subscribe(function (result) {
|
|
2139
|
+
if (result.items) {
|
|
2140
|
+
_this.newArrival = true;
|
|
2141
|
+
_this.unreadCount = result.count;
|
|
2142
|
+
_this.items = result.items;
|
|
2143
|
+
setTimeout(function () { _this.newArrival = false; }, 1000);
|
|
2144
|
+
}
|
|
2145
|
+
});
|
|
2146
|
+
};
|
|
2147
|
+
NotificationsIndicatorComponent.prototype.toggleMenu = function () {
|
|
2148
|
+
this.menuExpanded = !this.menuExpanded;
|
|
2149
|
+
this.unreadCount = 0;
|
|
2150
|
+
};
|
|
2151
|
+
NotificationsIndicatorComponent.prototype.doInboxAction = function () {
|
|
2152
|
+
if (this.notifications.inboxAction) {
|
|
2153
|
+
this.notifications.inboxAction();
|
|
2154
|
+
}
|
|
2155
|
+
else {
|
|
2156
|
+
this.menuExpanded = true;
|
|
2157
|
+
}
|
|
2158
|
+
this.unreadCount = 0;
|
|
2159
|
+
};
|
|
2160
|
+
// this.notificationsSub$ = this.links.notifications?.pipe(map(result => {
|
|
2161
|
+
// this.allItemsLink = result.allNotifications;
|
|
2162
|
+
// this.items = result.items;
|
|
2163
|
+
// this.unreadCount = result.count;
|
|
2164
|
+
// }));
|
|
2165
|
+
// [this.notificationsLinksPath] as Observable<NotificationNavLink[]>;
|
|
2166
|
+
// this.allNotificationsLink = this.links[this.allNotificationsLinkPath] as Observable<NavLink>;
|
|
2167
|
+
// this.unreadNotificationsCountObs = this.links[this.notificationsCounterLinksPath] as Observable<number>;
|
|
2168
|
+
// this.getUnreadNotificationsCount();
|
|
2169
|
+
// tslint:disable-next-line:typedef
|
|
2170
|
+
NotificationsIndicatorComponent.prototype.onClickOutside = function ($event) {
|
|
2171
|
+
this.menuExpanded = false;
|
|
2172
|
+
};
|
|
2173
|
+
return NotificationsIndicatorComponent;
|
|
2174
|
+
}());
|
|
2175
|
+
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 });
|
|
2176
|
+
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!.path\">\r\n <button type=\"button\" class=\"header-notifications-dropdown-view-all-button\">{{allNotificationsLink!.text}}</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 } });
|
|
2177
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: NotificationsIndicatorComponent, decorators: [{
|
|
2178
|
+
type: i0.Component,
|
|
2179
|
+
args: [{
|
|
2180
|
+
selector: 'lib-notifications-indicator',
|
|
2181
|
+
templateUrl: './notifications-indicator.component.html'
|
|
2182
|
+
}]
|
|
2183
|
+
}], ctorParameters: function () {
|
|
2184
|
+
return [{ type: undefined, decorators: [{
|
|
2185
|
+
type: i0.Inject,
|
|
2186
|
+
args: [APP_NOTIFICATIONS]
|
|
2187
|
+
}] }, { type: undefined, decorators: [{
|
|
2188
|
+
type: i0.Inject,
|
|
2189
|
+
args: [APP_LINKS]
|
|
2190
|
+
}] }];
|
|
2191
|
+
} });
|
|
2192
|
+
|
|
2070
2193
|
var ShellHeaderComponent = /** @class */ (function () {
|
|
2071
|
-
function ShellHeaderComponent(authService, router, links) {
|
|
2194
|
+
function ShellHeaderComponent(authService, router, route, config, links) {
|
|
2072
2195
|
this.authService = authService;
|
|
2073
2196
|
this.router = router;
|
|
2197
|
+
this.route = route;
|
|
2198
|
+
this.config = config;
|
|
2074
2199
|
this.links = links;
|
|
2075
2200
|
// tslint:disable-next-line:no-input-rename
|
|
2076
2201
|
this.sectionLinksPath = 'main';
|
|
2077
|
-
|
|
2078
|
-
this.allNotificationsLinkPath = 'allNotifications';
|
|
2079
|
-
this.border = true;
|
|
2080
|
-
this.showNotifications = false;
|
|
2081
|
-
this.showUserNameOnHeader = false;
|
|
2082
|
-
this.notificationsMenuVisible = true;
|
|
2202
|
+
// tslint:disable-next-line:no-input-rename
|
|
2083
2203
|
this.profileMenuVisible = true;
|
|
2204
|
+
// tslint:disable-next-line:no-input-rename
|
|
2205
|
+
this.showUserNameOnHeader = false;
|
|
2206
|
+
// tslint:disable-next-line:no-input-rename
|
|
2207
|
+
this.showAlerts = false;
|
|
2208
|
+
this.border = true;
|
|
2084
2209
|
this.sectionLinks = rxjs.of([]);
|
|
2085
|
-
this.notificationLinks = rxjs.of([]);
|
|
2086
|
-
this.allNotificationsLink = rxjs.of();
|
|
2087
2210
|
this.mobileMenuExpanded = false;
|
|
2088
2211
|
this.userMenuExpanded = false;
|
|
2089
|
-
this.notificationsMenuExpanded = false;
|
|
2090
|
-
this.routeSubject = new rxjs.Observable();
|
|
2091
2212
|
this.routerSub$ = null;
|
|
2092
2213
|
this.userSub$ = null;
|
|
2093
2214
|
this.statusSub$ = null;
|
|
2094
2215
|
this.user = null;
|
|
2095
2216
|
this.avatarName = null;
|
|
2096
|
-
this.
|
|
2217
|
+
this.activeFragment = null;
|
|
2218
|
+
this.routeSubject = this.router.events.pipe(operators.filter(function (event) { return event instanceof i1$1.NavigationStart; }));
|
|
2097
2219
|
}
|
|
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
2220
|
ShellHeaderComponent.prototype.ngOnInit = function () {
|
|
2111
2221
|
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;
|
|
2222
|
+
this.activeFragment = this.route.fragment.pipe(operators.share());
|
|
2115
2223
|
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) {
|
|
2224
|
+
this.routerSub$ = this.routeSubject.subscribe(function (event) {
|
|
2119
2225
|
_this.mobileMenuExpanded = false;
|
|
2120
2226
|
_this.userMenuExpanded = false;
|
|
2121
|
-
_this.notificationsMenuExpanded = false;
|
|
2122
2227
|
});
|
|
2123
2228
|
this.authService.loadUser().subscribe(function (user) {
|
|
2124
|
-
console.log(user);
|
|
2125
2229
|
_this.setCurrentUser(user);
|
|
2126
2230
|
}, function (error) {
|
|
2127
|
-
console.
|
|
2231
|
+
console.error(error);
|
|
2128
2232
|
});
|
|
2129
2233
|
// Detect user changes and display / or not user info accordingly...
|
|
2130
2234
|
this.userSub$ = this.authService.user$.subscribe(function (user) {
|
|
2131
2235
|
// console.log('ShellHeaderComponent user subscription');
|
|
2132
2236
|
_this.setCurrentUser(user);
|
|
2133
2237
|
});
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2238
|
+
// set current lang if no current value from langs if any
|
|
2239
|
+
if (!this.currentLang && this.langs && this.langs.length > 0) {
|
|
2240
|
+
this.setCurrentLang(this.langs[0]);
|
|
2241
|
+
}
|
|
2137
2242
|
};
|
|
2138
|
-
ShellHeaderComponent.prototype.
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2243
|
+
ShellHeaderComponent.prototype.ngOnDestroy = function () {
|
|
2244
|
+
if (this.routerSub$) {
|
|
2245
|
+
this.routerSub$.unsubscribe();
|
|
2246
|
+
}
|
|
2247
|
+
// TODO: check authenticated user here before we start polling server status
|
|
2248
|
+
if (this.statusSub$) {
|
|
2249
|
+
this.statusSub$.unsubscribe();
|
|
2250
|
+
}
|
|
2251
|
+
if (this.userSub$) {
|
|
2252
|
+
this.userSub$.unsubscribe();
|
|
2144
2253
|
}
|
|
2145
2254
|
};
|
|
2146
2255
|
// tslint:disable-next-line:typedef
|
|
2147
|
-
ShellHeaderComponent.prototype.
|
|
2256
|
+
ShellHeaderComponent.prototype.onClickOutside = function ($event) {
|
|
2148
2257
|
this.userMenuExpanded = false;
|
|
2149
2258
|
};
|
|
2150
|
-
// tslint:disable-next-line:typedef
|
|
2151
|
-
ShellHeaderComponent.prototype.onClickOutsideNotifications = function ($event) {
|
|
2152
|
-
this.notificationsMenuExpanded = false;
|
|
2153
|
-
};
|
|
2154
2259
|
ShellHeaderComponent.prototype.signin = function (event) {
|
|
2155
2260
|
if (event) {
|
|
2156
2261
|
event.preventDefault();
|
|
2157
2262
|
}
|
|
2158
2263
|
this.authService.signinRedirect();
|
|
2159
2264
|
};
|
|
2160
|
-
ShellHeaderComponent.prototype.
|
|
2161
|
-
|
|
2162
|
-
this.
|
|
2265
|
+
ShellHeaderComponent.prototype.setCurrentUser = function (user) {
|
|
2266
|
+
var _a, _b;
|
|
2267
|
+
this.user = user;
|
|
2268
|
+
if (this.user && this.user.profile) {
|
|
2269
|
+
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();
|
|
2270
|
+
}
|
|
2163
2271
|
};
|
|
2164
|
-
ShellHeaderComponent.prototype.
|
|
2165
|
-
this.
|
|
2166
|
-
this.userMenuExpanded = false;
|
|
2272
|
+
ShellHeaderComponent.prototype.setCurrentLang = function (lang) {
|
|
2273
|
+
this.currentLang = lang;
|
|
2167
2274
|
};
|
|
2168
2275
|
return ShellHeaderComponent;
|
|
2169
2276
|
}());
|
|
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 type=\"button\"\r\n 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 *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-gray-100 transform translate-x-1/2 -translate-y-1/2 bg-gray-500 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 } });
|
|
2277
|
+
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 });
|
|
2278
|
+
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
2279
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ShellHeaderComponent, decorators: [{
|
|
2173
2280
|
type: i0.Component,
|
|
2174
2281
|
args: [{
|
|
@@ -2183,6 +2290,12 @@
|
|
|
2183
2290
|
}] }, { type: i1__namespace$1.Router, decorators: [{
|
|
2184
2291
|
type: i0.Inject,
|
|
2185
2292
|
args: [i1$1.Router]
|
|
2293
|
+
}] }, { type: i1__namespace$1.ActivatedRoute, decorators: [{
|
|
2294
|
+
type: i0.Inject,
|
|
2295
|
+
args: [i1$1.ActivatedRoute]
|
|
2296
|
+
}] }, { type: undefined, decorators: [{
|
|
2297
|
+
type: i0.Inject,
|
|
2298
|
+
args: [SHELL_CONFIG]
|
|
2186
2299
|
}] }, { type: undefined, decorators: [{
|
|
2187
2300
|
type: i0.Inject,
|
|
2188
2301
|
args: [APP_LINKS]
|
|
@@ -2190,14 +2303,20 @@
|
|
|
2190
2303
|
}, propDecorators: { sectionLinksPath: [{
|
|
2191
2304
|
type: i0.Input,
|
|
2192
2305
|
args: ['section-links']
|
|
2193
|
-
}],
|
|
2306
|
+
}], profileMenuVisible: [{
|
|
2307
|
+
type: i0.Input,
|
|
2308
|
+
args: ['profile-menu']
|
|
2309
|
+
}], showUserNameOnHeader: [{
|
|
2194
2310
|
type: i0.Input,
|
|
2195
|
-
args: ['
|
|
2196
|
-
}],
|
|
2311
|
+
args: ['show-userName']
|
|
2312
|
+
}], showAlerts: [{
|
|
2197
2313
|
type: i0.Input,
|
|
2198
|
-
args: ['
|
|
2199
|
-
}],
|
|
2314
|
+
args: ['show-alerts']
|
|
2315
|
+
}], langs: [{
|
|
2200
2316
|
type: i0.Input
|
|
2317
|
+
}], currentLang: [{
|
|
2318
|
+
type: i0.Input,
|
|
2319
|
+
args: ['current-lang']
|
|
2201
2320
|
}], border: [{
|
|
2202
2321
|
type: i0.Input
|
|
2203
2322
|
}] } });
|
|
@@ -2224,14 +2343,15 @@
|
|
|
2224
2343
|
} });
|
|
2225
2344
|
|
|
2226
2345
|
var ShellLayoutComponent = /** @class */ (function () {
|
|
2227
|
-
function ShellLayoutComponent(router, location, config, componentLoaderFactory) {
|
|
2346
|
+
function ShellLayoutComponent(document, router, location, config, componentLoaderFactory) {
|
|
2347
|
+
this.document = document;
|
|
2228
2348
|
this.router = router;
|
|
2229
2349
|
this.location = location;
|
|
2230
2350
|
this.config = config;
|
|
2231
2351
|
this.componentLoaderFactory = componentLoaderFactory;
|
|
2232
2352
|
this.dynamicComponentHosts = null;
|
|
2233
|
-
this.routerSub$ = null;
|
|
2234
2353
|
this.showRightPaneSM = false;
|
|
2354
|
+
this.routerSub$ = null;
|
|
2235
2355
|
this.activeConfig = new DefaultShellConfig();
|
|
2236
2356
|
this.loaded = false;
|
|
2237
2357
|
if (!config) {
|
|
@@ -2295,8 +2415,8 @@
|
|
|
2295
2415
|
};
|
|
2296
2416
|
return ShellLayoutComponent;
|
|
2297
2417
|
}());
|
|
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\"
|
|
2418
|
+
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 });
|
|
2419
|
+
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
2420
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ShellLayoutComponent, decorators: [{
|
|
2301
2421
|
type: i0.Component,
|
|
2302
2422
|
args: [{
|
|
@@ -2305,7 +2425,10 @@
|
|
|
2305
2425
|
templateUrl: './shell-layout.component.html',
|
|
2306
2426
|
}]
|
|
2307
2427
|
}], ctorParameters: function () {
|
|
2308
|
-
return [{ type:
|
|
2428
|
+
return [{ type: undefined, decorators: [{
|
|
2429
|
+
type: i0.Inject,
|
|
2430
|
+
args: [i1.DOCUMENT]
|
|
2431
|
+
}] }, { type: i1__namespace$1.Router }, { type: i1__namespace.Location }, { type: undefined, decorators: [{
|
|
2309
2432
|
type: i0.Inject,
|
|
2310
2433
|
args: [SHELL_CONFIG]
|
|
2311
2434
|
}] }, { type: ComponentLoaderFactory }];
|
|
@@ -2436,11 +2559,9 @@
|
|
|
2436
2559
|
ModelViewLayoutComponent.prototype.ngOnInit = function () {
|
|
2437
2560
|
};
|
|
2438
2561
|
ModelViewLayoutComponent.prototype.onSidePaneActivated = function ($event) {
|
|
2439
|
-
//console.log('onSidePaneActivated', $event);
|
|
2440
2562
|
this.showRightPaneSM = true;
|
|
2441
2563
|
};
|
|
2442
2564
|
ModelViewLayoutComponent.prototype.onSidePaneDeactivated = function ($event) {
|
|
2443
|
-
//console.log('onSidePaneActivated', $event);
|
|
2444
2565
|
this.showRightPaneSM = false;
|
|
2445
2566
|
};
|
|
2446
2567
|
ModelViewLayoutComponent.prototype.closeSidePane = function () {
|
|
@@ -2570,8 +2691,8 @@
|
|
|
2570
2691
|
}] } });
|
|
2571
2692
|
|
|
2572
2693
|
var FormLayoutComponent = /** @class */ (function () {
|
|
2573
|
-
function FormLayoutComponent(
|
|
2574
|
-
this.
|
|
2694
|
+
function FormLayoutComponent(router$) {
|
|
2695
|
+
this.router$ = router$;
|
|
2575
2696
|
this.title = null;
|
|
2576
2697
|
// tslint:disable-next-line:no-input-rename
|
|
2577
2698
|
this.searchPlaceholder = 'αναζήτηση';
|
|
@@ -2583,7 +2704,6 @@
|
|
|
2583
2704
|
// tslint:disable-next-line:no-output-on-prefix
|
|
2584
2705
|
this.onSearch = new i0.EventEmitter();
|
|
2585
2706
|
this.onComplete = new i0.EventEmitter();
|
|
2586
|
-
this.showRightPaneSM = false;
|
|
2587
2707
|
}
|
|
2588
2708
|
FormLayoutComponent.prototype.ngOnInit = function () {
|
|
2589
2709
|
var _a;
|
|
@@ -2613,10 +2733,10 @@
|
|
|
2613
2733
|
FormLayoutComponent.prototype.routerLinkActionClick = function (action, relative) {
|
|
2614
2734
|
if (relative === void 0) { relative = false; }
|
|
2615
2735
|
if (action.outlet) {
|
|
2616
|
-
this.
|
|
2736
|
+
this.router$.navigate(['', { outlets: { formRightPane: action.link } }]);
|
|
2617
2737
|
}
|
|
2618
2738
|
else {
|
|
2619
|
-
this.
|
|
2739
|
+
this.router$.navigate([action.link]);
|
|
2620
2740
|
}
|
|
2621
2741
|
};
|
|
2622
2742
|
return FormLayoutComponent;
|
|
@@ -2769,7 +2889,7 @@
|
|
|
2769
2889
|
return PageNotFoundComponent;
|
|
2770
2890
|
}());
|
|
2771
2891
|
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\"
|
|
2892
|
+
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
2893
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: PageNotFoundComponent, decorators: [{
|
|
2774
2894
|
type: i0.Component,
|
|
2775
2895
|
args: [{
|
|
@@ -2881,31 +3001,6 @@
|
|
|
2881
3001
|
}]
|
|
2882
3002
|
}] });
|
|
2883
3003
|
|
|
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
3004
|
var BaseListComponent = /** @class */ (function () {
|
|
2910
3005
|
function BaseListComponent(route$, router$) {
|
|
2911
3006
|
this.route$ = route$;
|
|
@@ -3585,7 +3680,8 @@
|
|
|
3585
3680
|
// pipes
|
|
3586
3681
|
AddressPipe,
|
|
3587
3682
|
DurationFormatPipe,
|
|
3588
|
-
|
|
3683
|
+
NavLinksListComponent,
|
|
3684
|
+
NotificationsIndicatorComponent
|
|
3589
3685
|
], imports: [i1.CommonModule,
|
|
3590
3686
|
i1$1.RouterModule,
|
|
3591
3687
|
i2.IndiceAuthModule], exports: [ClickOutsideDirective,
|
|
@@ -3613,7 +3709,6 @@
|
|
|
3613
3709
|
UnauthorizedComponent,
|
|
3614
3710
|
AddressPipe,
|
|
3615
3711
|
DurationFormatPipe,
|
|
3616
|
-
ObsWithStatusPipe,
|
|
3617
3712
|
CollapsiblePanelComponent,
|
|
3618
3713
|
SidePaneComponent,
|
|
3619
3714
|
DatepickerComponent,
|
|
@@ -3670,7 +3765,8 @@
|
|
|
3670
3765
|
// pipes
|
|
3671
3766
|
AddressPipe,
|
|
3672
3767
|
DurationFormatPipe,
|
|
3673
|
-
|
|
3768
|
+
NavLinksListComponent,
|
|
3769
|
+
NotificationsIndicatorComponent
|
|
3674
3770
|
],
|
|
3675
3771
|
imports: [
|
|
3676
3772
|
i1.CommonModule,
|
|
@@ -3703,7 +3799,6 @@
|
|
|
3703
3799
|
UnauthorizedComponent,
|
|
3704
3800
|
AddressPipe,
|
|
3705
3801
|
DurationFormatPipe,
|
|
3706
|
-
ObsWithStatusPipe,
|
|
3707
3802
|
CollapsiblePanelComponent,
|
|
3708
3803
|
SidePaneComponent,
|
|
3709
3804
|
DatepickerComponent,
|
|
@@ -3722,6 +3817,7 @@
|
|
|
3722
3817
|
*/
|
|
3723
3818
|
|
|
3724
3819
|
exports.APP_LINKS = APP_LINKS;
|
|
3820
|
+
exports.APP_NOTIFICATIONS = APP_NOTIFICATIONS;
|
|
3725
3821
|
exports.AddressPipe = AddressPipe;
|
|
3726
3822
|
exports.AuthCallbackComponent = AuthCallbackComponent;
|
|
3727
3823
|
exports.AuthRenewComponent = AuthRenewComponent;
|
|
@@ -3757,8 +3853,8 @@
|
|
|
3757
3853
|
exports.ModelViewLayoutComponent = ModelViewLayoutComponent;
|
|
3758
3854
|
exports.NULL_TOAST = NULL_TOAST;
|
|
3759
3855
|
exports.NavLink = NavLink;
|
|
3856
|
+
exports.NavLinksListComponent = NavLinksListComponent;
|
|
3760
3857
|
exports.NotificationNavLink = NotificationNavLink;
|
|
3761
|
-
exports.ObsWithStatusPipe = ObsWithStatusPipe;
|
|
3762
3858
|
exports.PageNotFoundComponent = PageNotFoundComponent;
|
|
3763
3859
|
exports.PagerComponent = PagerComponent;
|
|
3764
3860
|
exports.RouterViewAction = RouterViewAction;
|
|
@@ -3780,5 +3876,5 @@
|
|
|
3780
3876
|
|
|
3781
3877
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
3782
3878
|
|
|
3783
|
-
}))
|
|
3879
|
+
}));
|
|
3784
3880
|
//# sourceMappingURL=indice-ng-components.umd.js.map
|