@indice/ng-components 0.2.133-beta → 0.2.134
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/_styles.css +25 -72
- package/bundles/indice-ng-components.umd.js +212 -119
- package/bundles/indice-ng-components.umd.js.map +1 -1
- package/esm2015/lib/controls/kpi-tile/kpi-tile.component.js +1 -1
- package/esm2015/lib/controls/list-view/list-column.component.js +1 -1
- package/esm2015/lib/controls/list-view/list-view-empty-state.component.js +2 -2
- package/esm2015/lib/controls/nav-links-list/nav-links-list.component.js +40 -0
- package/esm2015/lib/controls/notifications-indicator/notifications-indicator.component.js +68 -0
- package/esm2015/lib/controls/skeleton-loader/skeleton-loader.component.js +1 -1
- 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/services/toaster.service.js +1 -1
- 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 -106
- package/fesm2015/indice-ng-components.js.map +1 -1
- package/lib/controls/nav-links-list/nav-links-list.component.d.ts +15 -0
- package/lib/controls/notifications-indicator/notifications-indicator.component.d.ts +23 -0
- package/lib/layouts/shell/shell-header/shell-header.component.d.ts +21 -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 +27 -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
|
}
|
|
@@ -989,7 +999,7 @@
|
|
|
989
999
|
return ListViewEmptyStateComponent;
|
|
990
1000
|
}());
|
|
991
1001
|
ListViewEmptyStateComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ListViewEmptyStateComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
992
|
-
ListViewEmptyStateComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.1", type: ListViewEmptyStateComponent, selector: "lib-list-view-empty-state", inputs: { title: "title", subTitle: ["sub-title", "subTitle"], newItemLabel: ["new-item-label", "newItemLabel"] }, ngImport: i0__namespace, template: "<div class=\"p-20\">\
|
|
1002
|
+
ListViewEmptyStateComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.1", type: ListViewEmptyStateComponent, selector: "lib-list-view-empty-state", inputs: { title: "title", subTitle: ["sub-title", "subTitle"], newItemLabel: ["new-item-label", "newItemLabel"] }, ngImport: i0__namespace, template: "<div class=\"p-20\">\n <div class=\"text-center p-2\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"mx-auto h-12 w-12 text-gray-400\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4\" />\n </svg>\n <h3 class=\"mt-2 text-sm font-medium text-gray-900\">{{title}}</h3>\n <p class=\"mt-1 text-sm text-gray-500\">\n {{subTitle}}\n </p>\n <div class=\"mt-6\" *ngIf=\"false\">\n <button type=\"button\" class=\"inline-flex items-center px-4 py-2 border border-transparent shadow-sm text-sm font-medium rounded-md text-white bg-gray-600 hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-offset-1 focus:ring-gray-500\">\n <!-- Heroicon name: solid/plus -->\n <svg class=\"-ml-1 mr-2 h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" aria-hidden=\"true\">\n <path vector-effect=\"non-scaling-stroke\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 13h6m-3-3v6m-9 1V7a2 2 0 012-2h6l2 2h6a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2z\" />\n </svg>\n {{newItemLabel}}\n </button>\n </div>\n </div>\n</div>\n", directives: [{ type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
993
1003
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ListViewEmptyStateComponent, decorators: [{
|
|
994
1004
|
type: i0.Component,
|
|
995
1005
|
args: [{
|
|
@@ -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\">\n <ng-container *ngFor=\"let link of links | async\">\n <ng-container [ngSwitch]=\"link.type\">\n <a *ngSwitchCase=\"'router'\"\n href=\"#\"\n [routerLink]=\"[link.path]\"\n [routerLinkActive]=\"navLinkActiveClass\"\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\n [class]=\"navLinkClass\">\n {{ link.text }}\n </a>\n <a *ngSwitchCase=\"'external'\"\n [href]=\"link.path\"\n [attr.target]=\"link.external ? '_blank' : '_self'\"\n class=\"nav-link\">\n {{ link.text }}\n </a>\n <a *ngSwitchCase=\"'fragment'\"\n routerLink=\".\"\n [fragment]=\"link.path\"\n [class.active]=\"(activeFragment | async) === link.path\"\n class=\"nav-link\">\n {{ link.text }}\n </a>\n </ng-container>\n </ng-container>\n</div>\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,160 @@
|
|
|
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.notificationsMenuVisible = true;
|
|
2122
|
+
this.menuExpanded = false;
|
|
2123
|
+
this.showNotifications = true;
|
|
2124
|
+
this.showUserNameOnHeader = true;
|
|
2125
|
+
this.unreadCount = 0;
|
|
2126
|
+
this.items = [];
|
|
2127
|
+
this.inboxAction = undefined;
|
|
2128
|
+
this.newArrival = false;
|
|
2129
|
+
}
|
|
2130
|
+
NotificationsIndicatorComponent.prototype.ngOnDestroy = function () {
|
|
2131
|
+
if (this.notificationsSub$) {
|
|
2132
|
+
this.notificationsSub$.unsubscribe();
|
|
2133
|
+
}
|
|
2134
|
+
};
|
|
2135
|
+
NotificationsIndicatorComponent.prototype.ngOnInit = function () {
|
|
2136
|
+
var _this = this;
|
|
2137
|
+
this.notificationsSub$ = this.notifications.messages.subscribe(function (result) {
|
|
2138
|
+
if (result.items) {
|
|
2139
|
+
_this.newArrival = true;
|
|
2140
|
+
_this.unreadCount = result.count;
|
|
2141
|
+
_this.items = result.items;
|
|
2142
|
+
setTimeout(function () { _this.newArrival = false; }, 1000);
|
|
2143
|
+
}
|
|
2144
|
+
});
|
|
2145
|
+
};
|
|
2146
|
+
NotificationsIndicatorComponent.prototype.toggleMenu = function () {
|
|
2147
|
+
this.menuExpanded = !this.menuExpanded;
|
|
2148
|
+
this.unreadCount = 0;
|
|
2149
|
+
};
|
|
2150
|
+
NotificationsIndicatorComponent.prototype.doInboxAction = function () {
|
|
2151
|
+
if (this.notifications.inboxAction) {
|
|
2152
|
+
this.notifications.inboxAction();
|
|
2153
|
+
}
|
|
2154
|
+
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\">\n <!-- Notifications Button -->\n <button type=\"button\" (click)=\"doInboxAction()\" aria-expanded=\"false\" aria-haspopup=\"true\">\n <span class=\"sr-only\">View notifications</span>\n <span class=\"avatar-container\">\n <span class=\"avatar-text\">\n <i class=\"ms-Icon \"\n [class.ms-Icon--MessageFill]=\"unreadCount > 0\"\n [class.text-sky-400]=\"unreadCount > 0\"\n [class.animate-notification]=\"newArrival\"\n [class.ms-Icon--Message]=\"unreadCount === 0\"></i>\n </span>\n <span *ngIf=\"unreadCount > 0\"\n [class.animate-pulse]=\"newArrival\"\n class=\"absolute top-0 right-0 inline-flex items-center justify-center -mt-1 ml-1 text-xs leading-none text-gray-100\">\n {{unreadCount}}\n </span>\n </span>\n </button>\n</div>\n", directives: [{ type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
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
|
+
}]
|
|
2179
|
+
}], ctorParameters: function () {
|
|
2180
|
+
return [{ type: undefined, decorators: [{
|
|
2181
|
+
type: i0.Inject,
|
|
2182
|
+
args: [APP_NOTIFICATIONS]
|
|
2183
|
+
}] }];
|
|
2184
|
+
} });
|
|
2185
|
+
|
|
2070
2186
|
var ShellHeaderComponent = /** @class */ (function () {
|
|
2071
|
-
function ShellHeaderComponent(authService, router, links) {
|
|
2187
|
+
function ShellHeaderComponent(authService, router, route, config, links) {
|
|
2072
2188
|
this.authService = authService;
|
|
2073
2189
|
this.router = router;
|
|
2190
|
+
this.route = route;
|
|
2191
|
+
this.config = config;
|
|
2074
2192
|
this.links = links;
|
|
2075
2193
|
// tslint:disable-next-line:no-input-rename
|
|
2076
2194
|
this.sectionLinksPath = 'main';
|
|
2077
|
-
|
|
2078
|
-
this.allNotificationsLinkPath = 'allNotifications';
|
|
2079
|
-
this.border = true;
|
|
2080
|
-
this.showNotifications = false;
|
|
2081
|
-
this.showUserNameOnHeader = false;
|
|
2082
|
-
this.notificationsMenuVisible = true;
|
|
2195
|
+
// tslint:disable-next-line:no-input-rename
|
|
2083
2196
|
this.profileMenuVisible = true;
|
|
2197
|
+
// tslint:disable-next-line:no-input-rename
|
|
2198
|
+
this.showUserNameOnHeader = false;
|
|
2199
|
+
// tslint:disable-next-line:no-input-rename
|
|
2200
|
+
this.showAlerts = false;
|
|
2201
|
+
this.border = true;
|
|
2084
2202
|
this.sectionLinks = rxjs.of([]);
|
|
2085
|
-
this.notificationLinks = rxjs.of([]);
|
|
2086
|
-
this.allNotificationsLink = rxjs.of();
|
|
2087
2203
|
this.mobileMenuExpanded = false;
|
|
2088
2204
|
this.userMenuExpanded = false;
|
|
2089
|
-
this.notificationsMenuExpanded = false;
|
|
2090
|
-
this.routeSubject = new rxjs.Observable();
|
|
2091
2205
|
this.routerSub$ = null;
|
|
2092
2206
|
this.userSub$ = null;
|
|
2093
2207
|
this.statusSub$ = null;
|
|
2094
2208
|
this.user = null;
|
|
2095
2209
|
this.avatarName = null;
|
|
2210
|
+
this.activeFragment = null;
|
|
2211
|
+
this.routeSubject = this.router.events.pipe(operators.filter(function (event) { return event instanceof i1$1.NavigationStart; }));
|
|
2096
2212
|
}
|
|
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
2213
|
ShellHeaderComponent.prototype.ngOnInit = function () {
|
|
2110
2214
|
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;
|
|
2215
|
+
this.activeFragment = this.route.fragment.pipe(operators.share());
|
|
2114
2216
|
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) {
|
|
2217
|
+
this.routerSub$ = this.routeSubject.subscribe(function (event) {
|
|
2118
2218
|
_this.mobileMenuExpanded = false;
|
|
2119
2219
|
_this.userMenuExpanded = false;
|
|
2120
|
-
_this.notificationsMenuExpanded = false;
|
|
2121
2220
|
});
|
|
2122
2221
|
this.authService.loadUser().subscribe(function (user) {
|
|
2123
|
-
console.log(user);
|
|
2124
2222
|
_this.setCurrentUser(user);
|
|
2125
2223
|
}, function (error) {
|
|
2126
|
-
console.
|
|
2224
|
+
console.error(error);
|
|
2127
2225
|
});
|
|
2128
2226
|
// Detect user changes and display / or not user info accordingly...
|
|
2129
2227
|
this.userSub$ = this.authService.user$.subscribe(function (user) {
|
|
2130
2228
|
// console.log('ShellHeaderComponent user subscription');
|
|
2131
2229
|
_this.setCurrentUser(user);
|
|
2132
2230
|
});
|
|
2231
|
+
// set current lang if no current value from langs if any
|
|
2232
|
+
if (!this.currentLang && this.langs && this.langs.length > 0) {
|
|
2233
|
+
this.setCurrentLang(this.langs[0]);
|
|
2234
|
+
}
|
|
2133
2235
|
};
|
|
2134
|
-
ShellHeaderComponent.prototype.
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2236
|
+
ShellHeaderComponent.prototype.ngOnDestroy = function () {
|
|
2237
|
+
if (this.routerSub$) {
|
|
2238
|
+
this.routerSub$.unsubscribe();
|
|
2239
|
+
}
|
|
2240
|
+
// TODO: check authenticated user here before we start polling server status
|
|
2241
|
+
if (this.statusSub$) {
|
|
2242
|
+
this.statusSub$.unsubscribe();
|
|
2243
|
+
}
|
|
2244
|
+
if (this.userSub$) {
|
|
2245
|
+
this.userSub$.unsubscribe();
|
|
2140
2246
|
}
|
|
2141
2247
|
};
|
|
2142
2248
|
// tslint:disable-next-line:typedef
|
|
2143
|
-
ShellHeaderComponent.prototype.
|
|
2249
|
+
ShellHeaderComponent.prototype.onClickOutside = function ($event) {
|
|
2144
2250
|
this.userMenuExpanded = false;
|
|
2145
2251
|
};
|
|
2146
|
-
// tslint:disable-next-line:typedef
|
|
2147
|
-
ShellHeaderComponent.prototype.onClickOutsideNotifications = function ($event) {
|
|
2148
|
-
this.notificationsMenuExpanded = false;
|
|
2149
|
-
};
|
|
2150
2252
|
ShellHeaderComponent.prototype.signin = function (event) {
|
|
2151
2253
|
if (event) {
|
|
2152
2254
|
event.preventDefault();
|
|
2153
2255
|
}
|
|
2154
2256
|
this.authService.signinRedirect();
|
|
2155
2257
|
};
|
|
2156
|
-
ShellHeaderComponent.prototype.
|
|
2157
|
-
|
|
2158
|
-
this.
|
|
2258
|
+
ShellHeaderComponent.prototype.setCurrentUser = function (user) {
|
|
2259
|
+
var _a, _b;
|
|
2260
|
+
this.user = user;
|
|
2261
|
+
if (this.user && this.user.profile) {
|
|
2262
|
+
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();
|
|
2263
|
+
}
|
|
2159
2264
|
};
|
|
2160
|
-
ShellHeaderComponent.prototype.
|
|
2161
|
-
this.
|
|
2162
|
-
this.userMenuExpanded = false;
|
|
2265
|
+
ShellHeaderComponent.prototype.setCurrentLang = function (lang) {
|
|
2266
|
+
this.currentLang = lang;
|
|
2163
2267
|
};
|
|
2164
2268
|
return ShellHeaderComponent;
|
|
2165
2269
|
}());
|
|
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 <li class=\"mb-2\"\r\n [ngClass]=\"{'border-l-2 border-blue-500 bg-blue-50 hover:bg-blue-50': !link.isRead }\">\r\n <a [routerLink]=\"link.path\"\r\n class=\"nav-link-notifications grid grid-row\"\r\n [ngClass]=\"!link.isRead ? ' hover:bg-blue-50' : 'border-b border-gray-100'\">\r\n <span class=\"font-bold\">\r\n {{ link.text }}\r\n </span>\r\n <span class=\"font-thin tracking-tighter\">\r\n {{ link.creationDate | date: 'EEE, d MMMM' }}\r\n </span>\r\n </a>\r\n </li>\r\n </ng-container>\r\n </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 <button class=\"mobile-menu-rounded-button\">\r\n <span class=\"sr-only\">View notifications</span>\r\n <!-- Heroicon name: outline/bell -->\r\n <svg class=\"mobile-menu-rounded-button-icon-style\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"mobile-menu-link-container\">\r\n <ng-container *ngFor=\"let link of links.profile | async\">\r\n <a *ngIf=\"link.external\"\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 } });
|
|
2270
|
+
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 });
|
|
2271
|
+
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 <div *ngIf=\"showAlerts && user\" class=\"mr-2\">\r\n <lib-notifications-indicator></lib-notifications-indicator>\r\n </div>\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 <div *ngIf=\"user && showUserNameOnHeader\" class=\"shell-header-profile-userName\">\r\n {{ user.profile.name }}\r\n </div>\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
2272
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ShellHeaderComponent, decorators: [{
|
|
2169
2273
|
type: i0.Component,
|
|
2170
2274
|
args: [{
|
|
@@ -2179,6 +2283,12 @@
|
|
|
2179
2283
|
}] }, { type: i1__namespace$1.Router, decorators: [{
|
|
2180
2284
|
type: i0.Inject,
|
|
2181
2285
|
args: [i1$1.Router]
|
|
2286
|
+
}] }, { type: i1__namespace$1.ActivatedRoute, decorators: [{
|
|
2287
|
+
type: i0.Inject,
|
|
2288
|
+
args: [i1$1.ActivatedRoute]
|
|
2289
|
+
}] }, { type: undefined, decorators: [{
|
|
2290
|
+
type: i0.Inject,
|
|
2291
|
+
args: [SHELL_CONFIG]
|
|
2182
2292
|
}] }, { type: undefined, decorators: [{
|
|
2183
2293
|
type: i0.Inject,
|
|
2184
2294
|
args: [APP_LINKS]
|
|
@@ -2186,14 +2296,20 @@
|
|
|
2186
2296
|
}, propDecorators: { sectionLinksPath: [{
|
|
2187
2297
|
type: i0.Input,
|
|
2188
2298
|
args: ['section-links']
|
|
2189
|
-
}],
|
|
2299
|
+
}], profileMenuVisible: [{
|
|
2190
2300
|
type: i0.Input,
|
|
2191
|
-
args: ['
|
|
2192
|
-
}],
|
|
2301
|
+
args: ['profile-menu']
|
|
2302
|
+
}], showUserNameOnHeader: [{
|
|
2193
2303
|
type: i0.Input,
|
|
2194
|
-
args: ['
|
|
2195
|
-
}],
|
|
2304
|
+
args: ['show-userName']
|
|
2305
|
+
}], showAlerts: [{
|
|
2306
|
+
type: i0.Input,
|
|
2307
|
+
args: ['show-alerts']
|
|
2308
|
+
}], langs: [{
|
|
2196
2309
|
type: i0.Input
|
|
2310
|
+
}], currentLang: [{
|
|
2311
|
+
type: i0.Input,
|
|
2312
|
+
args: ['current-lang']
|
|
2197
2313
|
}], border: [{
|
|
2198
2314
|
type: i0.Input
|
|
2199
2315
|
}] } });
|
|
@@ -2220,14 +2336,15 @@
|
|
|
2220
2336
|
} });
|
|
2221
2337
|
|
|
2222
2338
|
var ShellLayoutComponent = /** @class */ (function () {
|
|
2223
|
-
function ShellLayoutComponent(router, location, config, componentLoaderFactory) {
|
|
2339
|
+
function ShellLayoutComponent(document, router, location, config, componentLoaderFactory) {
|
|
2340
|
+
this.document = document;
|
|
2224
2341
|
this.router = router;
|
|
2225
2342
|
this.location = location;
|
|
2226
2343
|
this.config = config;
|
|
2227
2344
|
this.componentLoaderFactory = componentLoaderFactory;
|
|
2228
2345
|
this.dynamicComponentHosts = null;
|
|
2229
|
-
this.routerSub$ = null;
|
|
2230
2346
|
this.showRightPaneSM = false;
|
|
2347
|
+
this.routerSub$ = null;
|
|
2231
2348
|
this.activeConfig = new DefaultShellConfig();
|
|
2232
2349
|
this.loaded = false;
|
|
2233
2350
|
if (!config) {
|
|
@@ -2291,8 +2408,8 @@
|
|
|
2291
2408
|
};
|
|
2292
2409
|
return ShellLayoutComponent;
|
|
2293
2410
|
}());
|
|
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\"
|
|
2411
|
+
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 });
|
|
2412
|
+
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
2413
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: ShellLayoutComponent, decorators: [{
|
|
2297
2414
|
type: i0.Component,
|
|
2298
2415
|
args: [{
|
|
@@ -2301,7 +2418,10 @@
|
|
|
2301
2418
|
templateUrl: './shell-layout.component.html',
|
|
2302
2419
|
}]
|
|
2303
2420
|
}], ctorParameters: function () {
|
|
2304
|
-
return [{ type:
|
|
2421
|
+
return [{ type: undefined, decorators: [{
|
|
2422
|
+
type: i0.Inject,
|
|
2423
|
+
args: [i1.DOCUMENT]
|
|
2424
|
+
}] }, { type: i1__namespace$1.Router }, { type: i1__namespace.Location }, { type: undefined, decorators: [{
|
|
2305
2425
|
type: i0.Inject,
|
|
2306
2426
|
args: [SHELL_CONFIG]
|
|
2307
2427
|
}] }, { type: ComponentLoaderFactory }];
|
|
@@ -2432,11 +2552,9 @@
|
|
|
2432
2552
|
ModelViewLayoutComponent.prototype.ngOnInit = function () {
|
|
2433
2553
|
};
|
|
2434
2554
|
ModelViewLayoutComponent.prototype.onSidePaneActivated = function ($event) {
|
|
2435
|
-
//console.log('onSidePaneActivated', $event);
|
|
2436
2555
|
this.showRightPaneSM = true;
|
|
2437
2556
|
};
|
|
2438
2557
|
ModelViewLayoutComponent.prototype.onSidePaneDeactivated = function ($event) {
|
|
2439
|
-
//console.log('onSidePaneActivated', $event);
|
|
2440
2558
|
this.showRightPaneSM = false;
|
|
2441
2559
|
};
|
|
2442
2560
|
ModelViewLayoutComponent.prototype.closeSidePane = function () {
|
|
@@ -2566,8 +2684,8 @@
|
|
|
2566
2684
|
}] } });
|
|
2567
2685
|
|
|
2568
2686
|
var FormLayoutComponent = /** @class */ (function () {
|
|
2569
|
-
function FormLayoutComponent(
|
|
2570
|
-
this.
|
|
2687
|
+
function FormLayoutComponent(router$) {
|
|
2688
|
+
this.router$ = router$;
|
|
2571
2689
|
this.title = null;
|
|
2572
2690
|
// tslint:disable-next-line:no-input-rename
|
|
2573
2691
|
this.searchPlaceholder = 'αναζήτηση';
|
|
@@ -2579,7 +2697,6 @@
|
|
|
2579
2697
|
// tslint:disable-next-line:no-output-on-prefix
|
|
2580
2698
|
this.onSearch = new i0.EventEmitter();
|
|
2581
2699
|
this.onComplete = new i0.EventEmitter();
|
|
2582
|
-
this.showRightPaneSM = false;
|
|
2583
2700
|
}
|
|
2584
2701
|
FormLayoutComponent.prototype.ngOnInit = function () {
|
|
2585
2702
|
var _a;
|
|
@@ -2609,10 +2726,10 @@
|
|
|
2609
2726
|
FormLayoutComponent.prototype.routerLinkActionClick = function (action, relative) {
|
|
2610
2727
|
if (relative === void 0) { relative = false; }
|
|
2611
2728
|
if (action.outlet) {
|
|
2612
|
-
this.
|
|
2729
|
+
this.router$.navigate(['', { outlets: { formRightPane: action.link } }]);
|
|
2613
2730
|
}
|
|
2614
2731
|
else {
|
|
2615
|
-
this.
|
|
2732
|
+
this.router$.navigate([action.link]);
|
|
2616
2733
|
}
|
|
2617
2734
|
};
|
|
2618
2735
|
return FormLayoutComponent;
|
|
@@ -2765,7 +2882,7 @@
|
|
|
2765
2882
|
return PageNotFoundComponent;
|
|
2766
2883
|
}());
|
|
2767
2884
|
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\"
|
|
2885
|
+
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
2886
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0__namespace, type: PageNotFoundComponent, decorators: [{
|
|
2770
2887
|
type: i0.Component,
|
|
2771
2888
|
args: [{
|
|
@@ -2877,31 +2994,6 @@
|
|
|
2877
2994
|
}]
|
|
2878
2995
|
}] });
|
|
2879
2996
|
|
|
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
2997
|
var BaseListComponent = /** @class */ (function () {
|
|
2906
2998
|
function BaseListComponent(route$, router$) {
|
|
2907
2999
|
this.route$ = route$;
|
|
@@ -3581,7 +3673,8 @@
|
|
|
3581
3673
|
// pipes
|
|
3582
3674
|
AddressPipe,
|
|
3583
3675
|
DurationFormatPipe,
|
|
3584
|
-
|
|
3676
|
+
NavLinksListComponent,
|
|
3677
|
+
NotificationsIndicatorComponent
|
|
3585
3678
|
], imports: [i1.CommonModule,
|
|
3586
3679
|
i1$1.RouterModule,
|
|
3587
3680
|
i2.IndiceAuthModule], exports: [ClickOutsideDirective,
|
|
@@ -3609,7 +3702,6 @@
|
|
|
3609
3702
|
UnauthorizedComponent,
|
|
3610
3703
|
AddressPipe,
|
|
3611
3704
|
DurationFormatPipe,
|
|
3612
|
-
ObsWithStatusPipe,
|
|
3613
3705
|
CollapsiblePanelComponent,
|
|
3614
3706
|
SidePaneComponent,
|
|
3615
3707
|
DatepickerComponent,
|
|
@@ -3666,7 +3758,8 @@
|
|
|
3666
3758
|
// pipes
|
|
3667
3759
|
AddressPipe,
|
|
3668
3760
|
DurationFormatPipe,
|
|
3669
|
-
|
|
3761
|
+
NavLinksListComponent,
|
|
3762
|
+
NotificationsIndicatorComponent
|
|
3670
3763
|
],
|
|
3671
3764
|
imports: [
|
|
3672
3765
|
i1.CommonModule,
|
|
@@ -3699,7 +3792,6 @@
|
|
|
3699
3792
|
UnauthorizedComponent,
|
|
3700
3793
|
AddressPipe,
|
|
3701
3794
|
DurationFormatPipe,
|
|
3702
|
-
ObsWithStatusPipe,
|
|
3703
3795
|
CollapsiblePanelComponent,
|
|
3704
3796
|
SidePaneComponent,
|
|
3705
3797
|
DatepickerComponent,
|
|
@@ -3718,6 +3810,7 @@
|
|
|
3718
3810
|
*/
|
|
3719
3811
|
|
|
3720
3812
|
exports.APP_LINKS = APP_LINKS;
|
|
3813
|
+
exports.APP_NOTIFICATIONS = APP_NOTIFICATIONS;
|
|
3721
3814
|
exports.AddressPipe = AddressPipe;
|
|
3722
3815
|
exports.AuthCallbackComponent = AuthCallbackComponent;
|
|
3723
3816
|
exports.AuthRenewComponent = AuthRenewComponent;
|
|
@@ -3753,8 +3846,8 @@
|
|
|
3753
3846
|
exports.ModelViewLayoutComponent = ModelViewLayoutComponent;
|
|
3754
3847
|
exports.NULL_TOAST = NULL_TOAST;
|
|
3755
3848
|
exports.NavLink = NavLink;
|
|
3849
|
+
exports.NavLinksListComponent = NavLinksListComponent;
|
|
3756
3850
|
exports.NotificationNavLink = NotificationNavLink;
|
|
3757
|
-
exports.ObsWithStatusPipe = ObsWithStatusPipe;
|
|
3758
3851
|
exports.PageNotFoundComponent = PageNotFoundComponent;
|
|
3759
3852
|
exports.PagerComponent = PagerComponent;
|
|
3760
3853
|
exports.RouterViewAction = RouterViewAction;
|
|
@@ -3776,5 +3869,5 @@
|
|
|
3776
3869
|
|
|
3777
3870
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
3778
3871
|
|
|
3779
|
-
}))
|
|
3872
|
+
}));
|
|
3780
3873
|
//# sourceMappingURL=indice-ng-components.umd.js.map
|