@indice/ng-components 0.2.112 → 0.2.113
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/esm2020/indice-ng-components.mjs +5 -0
- package/esm2020/lib/controls/avatar-initials/avatar-initials.component.mjs +48 -0
- package/esm2020/lib/controls/collapsible-panel/collapsible-panel.component.mjs +20 -0
- package/esm2020/lib/controls/date-picker/date-picker.component.mjs +260 -0
- package/esm2020/lib/controls/drop-down-menu/drop-down-menu.component.mjs +68 -0
- package/esm2020/lib/controls/kpi-tile/kpi-tile.component.mjs +36 -0
- package/esm2020/lib/controls/list-view/list-column.component.mjs +25 -0
- package/esm2020/lib/controls/list-view/list-details-section.component.mjs +17 -0
- package/esm2020/lib/controls/list-view/list-tile.component.mjs +17 -0
- package/esm2020/lib/controls/list-view/list-view-empty-state.component.mjs +29 -0
- package/esm2020/lib/controls/list-view/list-view.component.mjs +184 -0
- package/esm2020/lib/controls/pager/pager.component.mjs +130 -0
- package/esm2020/lib/controls/side-pane/side-pane.component.mjs +72 -0
- package/esm2020/lib/controls/skeleton-loader/skeleton-loader.component.mjs +25 -0
- package/esm2020/lib/controls/toaster/toaster-container.component.mjs +28 -0
- package/esm2020/lib/controls/toaster/toaster.component.mjs +31 -0
- package/esm2020/lib/controls/toggle/toggle.component.mjs +64 -0
- package/esm2020/lib/directives/click-outside.directive.mjs +189 -0
- package/esm2020/lib/directives/dynamic-component-host.directive.mjs +17 -0
- package/esm2020/lib/helpers/base-list.component.mjs +181 -0
- package/{esm2015/lib/icons.js → esm2020/lib/icons.mjs} +0 -0
- package/esm2020/lib/layouts/shell/shell-footer/shell-footer.component.mjs +19 -0
- package/esm2020/lib/layouts/shell/shell-header/shell-header.component.mjs +113 -0
- package/esm2020/lib/layouts/shell/shell-layout/shell-layout.component.mjs +101 -0
- package/esm2020/lib/layouts/views/form-layout/form-layout.component.mjs +80 -0
- package/esm2020/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +51 -0
- package/esm2020/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +98 -0
- package/esm2020/lib/layouts/views/view-layout/view-layout.component.mjs +104 -0
- package/esm2020/lib/ng-components.module.mjs +215 -0
- package/esm2020/lib/pages/auth/auth-callback/auth-callback.component.mjs +30 -0
- package/esm2020/lib/pages/auth/auth-renew/auth-renew.component.mjs +31 -0
- package/esm2020/lib/pages/auth/logged-out/logged-out.component.mjs +28 -0
- package/esm2020/lib/pages/http-status/error/error.component.mjs +17 -0
- package/esm2020/lib/pages/http-status/page-not-found/page-not-found.component.mjs +15 -0
- package/esm2020/lib/pages/http-status/unauthorized/unauthorized.component.mjs +14 -0
- package/esm2020/lib/pipes/address.pipe.mjs +21 -0
- package/esm2020/lib/pipes/duration-format.pipe.mjs +64 -0
- package/{esm2015/lib/services/component-loader/component-loader-options.class.js → esm2020/lib/services/component-loader/component-loader-options.class.mjs} +0 -0
- package/esm2020/lib/services/component-loader/component-loader.class.mjs +188 -0
- package/esm2020/lib/services/component-loader/component-loader.factory.mjs +32 -0
- package/{esm2015/lib/services/component-loader/content-ref.class.js → esm2020/lib/services/component-loader/content-ref.class.mjs} +0 -0
- package/esm2020/lib/services/modal-service/modal-backdrop-component.mjs +44 -0
- package/esm2020/lib/services/modal-service/modal-container-component.mjs +126 -0
- package/esm2020/lib/services/modal-service/modal-options.class.mjs +34 -0
- package/esm2020/lib/services/modal-service/modal-service.mjs +219 -0
- package/{esm2015/lib/services/modal-service/modal-styles.class.js → esm2020/lib/services/modal-service/modal-styles.class.mjs} +0 -0
- package/esm2020/lib/services/modal-service/modal.class.mjs +27 -0
- package/esm2020/lib/services/toaster.service.mjs +24 -0
- package/{esm2015/lib/tokens.js → esm2020/lib/tokens.mjs} +0 -0
- package/{esm2015/lib/types.js → esm2020/lib/types.mjs} +0 -0
- package/esm2020/public-api.mjs +54 -0
- package/fesm2015/indice-ng-components.mjs +3129 -0
- package/fesm2015/indice-ng-components.mjs.map +1 -0
- package/fesm2020/indice-ng-components.mjs +3088 -0
- package/fesm2020/indice-ng-components.mjs.map +1 -0
- package/indice-ng-components.d.ts +1 -2
- package/lib/controls/avatar-initials/avatar-initials.component.d.ts +3 -0
- package/lib/controls/collapsible-panel/collapsible-panel.component.d.ts +3 -0
- package/lib/controls/date-picker/date-picker.component.d.ts +3 -0
- package/lib/controls/drop-down-menu/drop-down-menu.component.d.ts +3 -0
- package/lib/controls/kpi-tile/kpi-tile.component.d.ts +3 -0
- package/lib/controls/list-view/list-column.component.d.ts +3 -0
- package/lib/controls/list-view/list-details-section.component.d.ts +3 -0
- package/lib/controls/list-view/list-tile.component.d.ts +3 -0
- package/lib/controls/list-view/list-view-empty-state.component.d.ts +3 -0
- package/lib/controls/list-view/list-view.component.d.ts +3 -0
- package/lib/controls/pager/pager.component.d.ts +3 -0
- package/lib/controls/side-pane/side-pane.component.d.ts +3 -0
- package/lib/controls/skeleton-loader/skeleton-loader.component.d.ts +3 -0
- package/lib/controls/toaster/toaster-container.component.d.ts +3 -0
- package/lib/controls/toaster/toaster.component.d.ts +3 -0
- package/lib/controls/toggle/toggle.component.d.ts +3 -0
- package/lib/directives/click-outside.directive.d.ts +3 -0
- package/lib/directives/dynamic-component-host.directive.d.ts +3 -0
- package/lib/helpers/base-list.component.d.ts +3 -0
- package/lib/layouts/shell/shell-footer/shell-footer.component.d.ts +3 -0
- package/lib/layouts/shell/shell-header/shell-header.component.d.ts +3 -0
- package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +3 -0
- package/lib/layouts/views/form-layout/form-layout.component.d.ts +3 -0
- package/lib/layouts/views/model-view-layout/model-view-layout.component.d.ts +3 -0
- package/lib/layouts/views/side-view-layout/side-view-layout.component.d.ts +3 -0
- package/lib/layouts/views/view-layout/view-layout.component.d.ts +3 -0
- package/lib/ng-components.module.d.ts +40 -0
- package/lib/pages/auth/auth-callback/auth-callback.component.d.ts +3 -0
- package/lib/pages/auth/auth-renew/auth-renew.component.d.ts +3 -0
- package/lib/pages/auth/logged-out/logged-out.component.d.ts +3 -0
- package/lib/pages/http-status/error/error.component.d.ts +3 -0
- package/lib/pages/http-status/page-not-found/page-not-found.component.d.ts +3 -0
- package/lib/pages/http-status/unauthorized/unauthorized.component.d.ts +3 -0
- package/lib/pipes/address.pipe.d.ts +3 -0
- package/lib/pipes/duration-format.pipe.d.ts +3 -0
- package/lib/services/component-loader/component-loader.factory.d.ts +3 -0
- package/lib/services/modal-service/modal-backdrop-component.d.ts +3 -0
- package/lib/services/modal-service/modal-container-component.d.ts +3 -0
- package/lib/services/modal-service/modal-options.class.d.ts +3 -0
- package/lib/services/modal-service/modal-service.d.ts +3 -0
- package/lib/services/modal-service/modal.class.d.ts +3 -0
- package/lib/services/toaster.service.d.ts +3 -0
- package/package.json +19 -7
- package/public-api.d.ts +1 -0
- package/bundles/indice-ng-components.umd.js +0 -3417
- package/bundles/indice-ng-components.umd.js.map +0 -1
- package/esm2015/indice-ng-components.js +0 -7
- package/esm2015/lib/controls/avatar-initials/avatar-initials.component.js +0 -47
- package/esm2015/lib/controls/collapsible-panel/collapsible-panel.component.js +0 -20
- package/esm2015/lib/controls/date-picker/date-picker.component.js +0 -251
- package/esm2015/lib/controls/drop-down-menu/drop-down-menu.component.js +0 -62
- package/esm2015/lib/controls/kpi-tile/kpi-tile.component.js +0 -32
- package/esm2015/lib/controls/list-view/list-column.component.js +0 -19
- package/esm2015/lib/controls/list-view/list-details-section.component.js +0 -14
- package/esm2015/lib/controls/list-view/list-tile.component.js +0 -14
- package/esm2015/lib/controls/list-view/list-view-empty-state.component.js +0 -25
- package/esm2015/lib/controls/list-view/list-view.component.js +0 -150
- package/esm2015/lib/controls/pager/pager.component.js +0 -115
- package/esm2015/lib/controls/side-pane/side-pane.component.js +0 -71
- package/esm2015/lib/controls/skeleton-loader/skeleton-loader.component.js +0 -25
- package/esm2015/lib/controls/toaster/toaster-container.component.js +0 -28
- package/esm2015/lib/controls/toaster/toaster.component.js +0 -29
- package/esm2015/lib/controls/toggle/toggle.component.js +0 -57
- package/esm2015/lib/directives/click-outside.directive.js +0 -181
- package/esm2015/lib/directives/dynamic-component-host.directive.js +0 -17
- package/esm2015/lib/helpers/base-list.component.js +0 -182
- package/esm2015/lib/layouts/shell/shell-footer/shell-footer.component.js +0 -17
- package/esm2015/lib/layouts/shell/shell-header/shell-header.component.js +0 -99
- package/esm2015/lib/layouts/shell/shell-layout/shell-layout.component.js +0 -96
- package/esm2015/lib/layouts/views/form-layout/form-layout.component.js +0 -73
- package/esm2015/lib/layouts/views/model-view-layout/model-view-layout.component.js +0 -47
- package/esm2015/lib/layouts/views/side-view-layout/side-view-layout.component.js +0 -84
- package/esm2015/lib/layouts/views/view-layout/view-layout.component.js +0 -95
- package/esm2015/lib/ng-components.module.js +0 -133
- package/esm2015/lib/pages/auth/auth-callback/auth-callback.component.js +0 -29
- package/esm2015/lib/pages/auth/auth-renew/auth-renew.component.js +0 -27
- package/esm2015/lib/pages/auth/logged-out/logged-out.component.js +0 -26
- package/esm2015/lib/pages/http-status/error/error.component.js +0 -15
- package/esm2015/lib/pages/http-status/page-not-found/page-not-found.component.js +0 -14
- package/esm2015/lib/pages/http-status/unauthorized/unauthorized.component.js +0 -13
- package/esm2015/lib/pipes/address.pipe.js +0 -17
- package/esm2015/lib/pipes/duration-format.pipe.js +0 -60
- package/esm2015/lib/services/component-loader/component-loader.class.js +0 -192
- package/esm2015/lib/services/component-loader/component-loader.factory.js +0 -35
- package/esm2015/lib/services/modal-service/modal-backdrop-component.js +0 -44
- package/esm2015/lib/services/modal-service/modal-container-component.js +0 -117
- package/esm2015/lib/services/modal-service/modal-options.class.js +0 -31
- package/esm2015/lib/services/modal-service/modal-service.js +0 -214
- package/esm2015/lib/services/modal-service/modal.class.js +0 -24
- package/esm2015/lib/services/toaster.service.js +0 -23
- package/esm2015/public-api.js +0 -53
- package/fesm2015/indice-ng-components.js +0 -2899
- package/fesm2015/indice-ng-components.js.map +0 -1
- package/indice-ng-components.metadata.json +0 -1
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { SHELL_CONFIG } from './../../../tokens';
|
|
2
|
-
import { DefaultShellConfig } from './../../../types';
|
|
3
|
-
import { Component, Inject, ViewChildren } from '@angular/core';
|
|
4
|
-
import { DOCUMENT, Location } from '@angular/common';
|
|
5
|
-
import { ActivationStart, Router } from '@angular/router';
|
|
6
|
-
import { filter } from 'rxjs/operators';
|
|
7
|
-
import { DynamicComponentHostDirective } from '../../../directives/dynamic-component-host.directive';
|
|
8
|
-
import { ComponentLoaderFactory } from '../../../services/component-loader/component-loader.factory';
|
|
9
|
-
export class ShellLayoutComponent {
|
|
10
|
-
constructor(document, router, location, config, componentLoaderFactory) {
|
|
11
|
-
this.document = document;
|
|
12
|
-
this.router = router;
|
|
13
|
-
this.location = location;
|
|
14
|
-
this.config = config;
|
|
15
|
-
this.componentLoaderFactory = componentLoaderFactory;
|
|
16
|
-
this.dynamicComponentHosts = null;
|
|
17
|
-
this.showRightPaneSM = false;
|
|
18
|
-
this.routerSub$ = null;
|
|
19
|
-
this.activeConfig = new DefaultShellConfig();
|
|
20
|
-
this.loaded = false;
|
|
21
|
-
if (!config) {
|
|
22
|
-
config = new DefaultShellConfig();
|
|
23
|
-
}
|
|
24
|
-
this.activeConfig = config;
|
|
25
|
-
}
|
|
26
|
-
ngAfterViewChecked() {
|
|
27
|
-
setTimeout(() => { this.loaded = true; }, 200);
|
|
28
|
-
}
|
|
29
|
-
ngOnInit() {
|
|
30
|
-
this.routerSub$ = this.router.events.pipe(filter((event) => event instanceof ActivationStart)).subscribe((e) => {
|
|
31
|
-
var _a, _b, _c, _d, _e, _f;
|
|
32
|
-
// console.log('ShellLayoutComponent ActivationStart', e);
|
|
33
|
-
if ((_a = e) === null || _a === void 0 ? void 0 : _a.snapshot) {
|
|
34
|
-
// console.log('ShellLayoutComponent ActivationStart snapshot', (e as ActivationStart)?.snapshot);
|
|
35
|
-
if ((_c = (_b = e) === null || _b === void 0 ? void 0 : _b.snapshot) === null || _c === void 0 ? void 0 : _c.data) {
|
|
36
|
-
// console.log('ShellLayoutComponent ActivationStart snapshot data', (e as ActivationStart)?.snapshot.data);
|
|
37
|
-
if ((_e = (_d = e) === null || _d === void 0 ? void 0 : _d.snapshot) === null || _e === void 0 ? void 0 : _e.data.shell) {
|
|
38
|
-
// console.log('ShellLayoutComponent ActivationStart snapshot data shell params',
|
|
39
|
-
// (e as ActivationStart)?.snapshot.data.shell);
|
|
40
|
-
this.activeConfig = (_f = e) === null || _f === void 0 ? void 0 : _f.snapshot.data.shell;
|
|
41
|
-
// console.log('ShellLayoutComponent activeConfig from route: ', this.activeConfig);
|
|
42
|
-
if (this.activeConfig.customHeaderComponent) {
|
|
43
|
-
this.initCustomComponents();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
this.activeConfig = this.config ? this.config : new DefaultShellConfig();
|
|
48
|
-
// console.log('ShellLayoutComponent default activeConfig: ', this.activeConfig);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
ngAfterViewInit() {
|
|
55
|
-
this.initCustomComponents();
|
|
56
|
-
}
|
|
57
|
-
initCustomComponents() {
|
|
58
|
-
if (this.dynamicComponentHosts && this.dynamicComponentHosts.length > 0) {
|
|
59
|
-
this.loadCustomComponent(this.dynamicComponentHosts.find((_) => _.hostName === 'Header'));
|
|
60
|
-
// since you're not using it...
|
|
61
|
-
// this.loadCustomComponent(this.dynamicComponentHosts.find(_ => _.hostName === 'Footer'));
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
ngOnDestroy() {
|
|
65
|
-
if (this.routerSub$) {
|
|
66
|
-
this.routerSub$.unsubscribe();
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
loadCustomComponent(host) {
|
|
70
|
-
if (host) {
|
|
71
|
-
const viewContainerRef = host.viewContainerRef;
|
|
72
|
-
if (viewContainerRef && this.activeConfig.customHeaderComponent) {
|
|
73
|
-
const clf = this.componentLoaderFactory.createLoader(viewContainerRef);
|
|
74
|
-
const headerCompRef = clf.attach(this.activeConfig.customHeaderComponent).to(viewContainerRef.element).show();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
ShellLayoutComponent.decorators = [
|
|
80
|
-
{ type: Component, args: [{
|
|
81
|
-
// tslint:disable-next-line:component-selector
|
|
82
|
-
selector: 'lib-shell-layout',
|
|
83
|
-
template: "<div *ngIf=\"loaded\" [style.display]=\"!loaded ? 'none':'block'\" class=\"shell-container active-side-pane\">\r\n <div class=\"shell-header-container\" *ngIf=\"activeConfig.showHeader\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-header-container-inner-fluid' : 'shell-header-container-inner'\">\r\n\r\n <ng-container *ngIf=\"activeConfig.customHeaderComponent\">\r\n <div appDynamicComponentHost =\"Header\"></div>\r\n </ng-container>\r\n\r\n <lib-shell-header *ngIf=\"!activeConfig.customHeaderComponent\" [show-userName]=\"activeConfig.showUserNameOnHeader\"></lib-shell-header>\r\n </div>\r\n </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"
|
|
84
|
-
},] }
|
|
85
|
-
];
|
|
86
|
-
ShellLayoutComponent.ctorParameters = () => [
|
|
87
|
-
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
|
88
|
-
{ type: Router },
|
|
89
|
-
{ type: Location },
|
|
90
|
-
{ type: undefined, decorators: [{ type: Inject, args: [SHELL_CONFIG,] }] },
|
|
91
|
-
{ type: ComponentLoaderFactory }
|
|
92
|
-
];
|
|
93
|
-
ShellLayoutComponent.propDecorators = {
|
|
94
|
-
dynamicComponentHosts: [{ type: ViewChildren, args: [DynamicComponentHostDirective,] }]
|
|
95
|
-
};
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9sYXlvdXRzL3NoZWxsL3NoZWxsLWxheW91dC9zaGVsbC1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQWdCLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEUsT0FBTyxFQUFpQixTQUFTLEVBQXFCLE1BQU0sRUFBRSxZQUFZLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBQy9ILE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDckcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFPckcsTUFBTSxPQUFPLG9CQUFvQjtJQU8vQixZQUM0QixRQUFhLEVBQy9CLE1BQWMsRUFDZCxRQUFrQixFQUNJLE1BQTJCLEVBQ2pELHNCQUE4QztRQUo1QixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQy9CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ0ksV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDakQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQVZ4RCwwQkFBcUIsR0FBb0QsSUFBSSxDQUFDO1FBQ3ZFLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLGVBQVUsR0FBd0IsSUFBSSxDQUFD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QUMvRztTQUNGO0lBQ0gsQ0FBQzs7O1lBL0VGLFNBQVMsU0FBQztnQkFDVCw4Q0FBOEM7Z0JBQzlDLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLHVzREFBNEM7YUFDN0M7Ozs0Q0FTSSxNQUFNLFNBQUMsUUFBUTtZQW5CTSxNQUFNO1lBRGIsUUFBUTs0Q0F1QnRCLE1BQU0sU0FBQyxZQUFZO1lBbEJmLHNCQUFzQjs7O29DQVE1QixZQUFZLFNBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU0hFTExfQ09ORklHIH0gZnJvbSAnLi8uLi8uLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBJU2hlbGxDb25maWcsIERlZmF1bHRTaGVsbENvbmZpZyB9IGZyb20gJy4vLi4vLi4vLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBJbmplY3QsIFZpZXdDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlclZpZXdDaGVja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5ULCBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFjdGl2YXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRIb3N0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9keW5hbWljLWNvbXBvbmVudC1ob3N0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudExvYWRlckZhY3RvcnkgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jb21wb25lbnQtbG9hZGVyL2NvbXBvbmVudC1sb2FkZXIuZmFjdG9yeSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdsaWItc2hlbGwtbGF5b3V0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2hlbGwtbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNoZWxsTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIEFmdGVyVmlld0NoZWNrZWQge1xyXG4gIEBWaWV3Q2hpbGRyZW4oRHluYW1pY0NvbXBvbmVudEhvc3REaXJlY3RpdmUpXHJcbiAgZHluYW1pY0NvbXBvbmVudEhvc3RzOiBRdWVyeUxpc3Q8RHluYW1pY0NvbXBvbmVudEhvc3REaXJlY3RpdmU+IHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIHNob3dSaWdodFBhbmVTTSA9IGZhbHNlO1xyXG4gIHByaXZhdGUgcm91dGVyU3ViJDogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIGFjdGl2ZUNvbmZpZzogSVNoZWxsQ29uZmlnID0gbmV3IERlZmF1bHRTaGVsbENvbmZpZygpO1xyXG4gIHB1YmxpYyBsb2FkZWQgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcclxuICAgIEBJbmplY3QoU0hFTExfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogSVNoZWxsQ29uZmlnIHwgbnVsbCxcclxuICAgIHByaXZhdGUgY29tcG9uZW50TG9hZGVyRmFjdG9yeTogQ29tcG9uZW50TG9hZGVyRmFjdG9yeVxyXG4gICkge1xyXG4gICAgaWYgKCFjb25maWcpIHtcclxuICAgICAgY29uZmlnID0gbmV3IERlZmF1bHRTaGVsbENvbmZpZygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmVDb25maWcgPSBjb25maWc7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5sb2FkZWQgPSB0cnVlOyB9LCAyMDApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvdXRlclN1YiQgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIEFjdGl2YXRpb25TdGFydCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygnU2hlbGxMYXlvdXRDb21wb25lbnQgQWN0aXZhdGlvblN0YXJ0JywgZSk7XHJcbiAgICAgIGlmICgoZSBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdCkge1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdTaGVsbExheW91dENvbXBvbmVudCBBY3RpdmF0aW9uU3RhcnQgc25hcHNob3QnLCAoZSBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdCk7XHJcbiAgICAgICAgaWYgKChlIGFzIEFjdGl2YXRpb25TdGFydCk/LnNuYXBzaG90Py5kYXRhKSB7XHJcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZygnU2hlbGxMYXlvdXRDb21wb25lbnQgQWN0aXZhdGlvblN0YXJ0IHNuYXBzaG90IGRhdGEnLCAoZSBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdC5kYXRhKTtcclxuICAgICAgICAgIGlmICgoZSBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdD8uZGF0YS5zaGVsbCkge1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnU2hlbGxMYXlvdXRDb21wb25lbnQgQWN0aXZhdGlvblN0YXJ0IHNuYXBzaG90IGRhdGEgc2hlbGwgcGFyYW1zJyxcclxuICAgICAgICAgICAgLy8gKGUgYXMgQWN0aXZhdGlvblN0YXJ0KT8uc25hcHNob3QuZGF0YS5zaGVsbCk7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlQ29uZmlnID0gKGUgYXMgQWN0aXZhdGlvblN0YXJ0KT8uc25hcHNob3QuZGF0YS5zaGVsbCBhcyBJU2hlbGxDb25maWc7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdTaGVsbExheW91dENvbXBvbmVudCBhY3RpdmVDb25maWcgZnJvbSByb3V0ZTogJywgdGhpcy5hY3RpdmVDb25maWcpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hY3RpdmVDb25maWcuY3VzdG9tSGVhZGVyQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5pbml0Q3VzdG9tQ29tcG9uZW50cygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUNvbmZpZyA9IHRoaXMuY29uZmlnID8gdGhpcy5jb25maWcgOiBuZXcgRGVmYXVsdFNoZWxsQ29uZmlnKCk7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdTaGVsbExheW91dENvbXBvbmVudCBkZWZhdWx0IGFjdGl2ZUNvbmZpZzogJywgdGhpcy5hY3RpdmVDb25maWcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXRDdXN0b21Db21wb25lbnRzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRDdXN0b21Db21wb25lbnRzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZHluYW1pY0NvbXBvbmVudEhvc3RzICYmIHRoaXMuZHluYW1pY0NvbXBvbmVudEhvc3RzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5sb2FkQ3VzdG9tQ29tcG9uZW50KHRoaXMuZHluYW1pY0NvbXBvbmVudEhvc3RzLmZpbmQoKF8pID0+IF8uaG9zdE5hbWUgPT09ICdIZWFkZXInKSk7XHJcbiAgICAgIC8vIHNpbmNlIHlvdSdyZSBub3QgdXNpbmcgaXQuLi5cclxuICAgICAgLy8gdGhpcy5sb2FkQ3VzdG9tQ29tcG9uZW50KHRoaXMuZHluYW1pY0NvbXBvbmVudEhvc3RzLmZpbmQoXyA9PiBfLmhvc3ROYW1lID09PSAnRm9vdGVyJykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yb3V0ZXJTdWIkKSB7XHJcbiAgICAgIHRoaXMucm91dGVyU3ViJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkQ3VzdG9tQ29tcG9uZW50KGhvc3Q6IER5bmFtaWNDb21wb25lbnRIb3N0RGlyZWN0aXZlIHwgdW5kZWZpbmVkKTogdm9pZCB7XHJcbiAgICBpZiAoaG9zdCkge1xyXG4gICAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmID0gaG9zdC52aWV3Q29udGFpbmVyUmVmO1xyXG4gICAgICBpZiAodmlld0NvbnRhaW5lclJlZiAmJiB0aGlzLmFjdGl2ZUNvbmZpZy5jdXN0b21IZWFkZXJDb21wb25lbnQpIHtcclxuICAgICAgICBjb25zdCBjbGYgPSB0aGlzLmNvbXBvbmVudExvYWRlckZhY3RvcnkuY3JlYXRlTG9hZGVyKHZpZXdDb250YWluZXJSZWYpO1xyXG4gICAgICAgIGNvbnN0IGhlYWRlckNvbXBSZWYgPSBjbGYuYXR0YWNoKHRoaXMuYWN0aXZlQ29uZmlnLmN1c3RvbUhlYWRlckNvbXBvbmVudCkudG8odmlld0NvbnRhaW5lclJlZi5lbGVtZW50KS5zaG93KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import { Router } from '@angular/router';
|
|
3
|
-
import { fromEvent } from 'rxjs';
|
|
4
|
-
import { map, filter, debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
|
5
|
-
export class FormLayoutComponent {
|
|
6
|
-
constructor(router$) {
|
|
7
|
-
this.router$ = router$;
|
|
8
|
-
this.title = null;
|
|
9
|
-
// tslint:disable-next-line:no-input-rename
|
|
10
|
-
this.searchPlaceholder = 'αναζήτηση';
|
|
11
|
-
this.actions = null;
|
|
12
|
-
// tslint:disable-next-line:no-input-rename
|
|
13
|
-
this.subTitle = null;
|
|
14
|
-
// tslint:disable-next-line:no-output-on-prefix
|
|
15
|
-
this.onAction = new EventEmitter();
|
|
16
|
-
// tslint:disable-next-line:no-output-on-prefix
|
|
17
|
-
this.onSearch = new EventEmitter();
|
|
18
|
-
this.onComplete = new EventEmitter();
|
|
19
|
-
}
|
|
20
|
-
ngOnInit() {
|
|
21
|
-
var _a;
|
|
22
|
-
if ((_a = this.searchInput$) === null || _a === void 0 ? void 0 : _a.nativeElement) {
|
|
23
|
-
fromEvent(this.searchInput$.nativeElement, 'keyup').pipe(map((event) => {
|
|
24
|
-
return event.target.value; // Get input value.
|
|
25
|
-
}), filter(inputValue => inputValue.length >= 3 || inputValue.length === 0),
|
|
26
|
-
// If character length greater than minimumSearchCharacters setting.
|
|
27
|
-
debounceTime(1000), // Time in milliseconds between key events.
|
|
28
|
-
distinctUntilChanged() // If previous query is different from current.
|
|
29
|
-
).subscribe();
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
onSidePaneDeactivated($event) {
|
|
33
|
-
this.onComplete.emit(true);
|
|
34
|
-
}
|
|
35
|
-
emitActionClick(action) {
|
|
36
|
-
this.onAction.emit(action);
|
|
37
|
-
}
|
|
38
|
-
searchActionClick(action, text) {
|
|
39
|
-
this.onSearch.emit(text);
|
|
40
|
-
}
|
|
41
|
-
searchActionType(text) {
|
|
42
|
-
var _a;
|
|
43
|
-
this.onSearch.emit((_a = this.searchInput$) === null || _a === void 0 ? void 0 : _a.nativeElement.value);
|
|
44
|
-
}
|
|
45
|
-
routerLinkActionClick(action, relative = false) {
|
|
46
|
-
if (action.outlet) {
|
|
47
|
-
this.router$.navigate(['', { outlets: { formRightPane: action.link } }]);
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
this.router$.navigate([action.link]);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
FormLayoutComponent.decorators = [
|
|
55
|
-
{ type: Component, args: [{
|
|
56
|
-
selector: 'lib-form-layout',
|
|
57
|
-
template: "<div class=\"form-layout-container\">\r\n <div class=\"form-header\" *ngIf=\"title || subTitle || actions\">\r\n <div class=\"form-header-inner\">\r\n <h3 class=\"form-title\">\r\n {{ title }}\r\n </h3>\r\n <p class=\"form-subtitle\">\r\n {{ subTitle }}\r\n </p>\r\n </div>\r\n <div class=\"form-header-actions\">\r\n <ng-container *ngFor=\"let action of actions\"\r\n [ngSwitch]=\"action.type\">\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <label for=\"search\"\r\n class=\"sr-only\">Search</label>\r\n <div class=\"search-container\">\r\n <div class=\"pointer-events-none absolute inset-y-0 left-0 pl-3 flex items-center\">\r\n <!--<svg class=\"h-5 w-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\" clip-rule=\"evenodd\" />\r\n </svg>-->\r\n </div>\r\n <input id=\"search\"\r\n #search\r\n class=\"form-search-input\"\r\n [placeholder]=\"searchPlaceholder\"\r\n type=\"search\"\r\n name=\"search\"\r\n (input)=\"searchActionType(search.value)\">\r\n </div>\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"btn-form-view-header-search\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"searchActionClick(action, search.value)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'router-link'\">\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"ml-1 btn-form-view-header\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"routerLinkActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <button type=\"button\"\r\n class=\"ml-1 btn-form-view-header\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"emitActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"form-content-container\">\r\n <div [ngClass]=\"{'form-content-container-inner': actions}\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n <lib-side-pane #formPane (onComplete)=\"onSidePaneDeactivated($event)\">\r\n <router-outlet name=\"formRightPane\"\r\n (activate)=\"formPane.onSidePaneActivated($event)\"\r\n (deactivate)=\"formPane.onSidePaneDeactivated($event)\"></router-outlet>\r\n </lib-side-pane>\r\n</div>\r\n"
|
|
58
|
-
},] }
|
|
59
|
-
];
|
|
60
|
-
FormLayoutComponent.ctorParameters = () => [
|
|
61
|
-
{ type: Router }
|
|
62
|
-
];
|
|
63
|
-
FormLayoutComponent.propDecorators = {
|
|
64
|
-
searchInput$: [{ type: ViewChild, args: ['search',] }],
|
|
65
|
-
title: [{ type: Input }],
|
|
66
|
-
searchPlaceholder: [{ type: Input, args: ['search-placeholder',] }],
|
|
67
|
-
actions: [{ type: Input }],
|
|
68
|
-
subTitle: [{ type: Input, args: ['sub-title',] }],
|
|
69
|
-
onAction: [{ type: Output }],
|
|
70
|
-
onSearch: [{ type: Output }],
|
|
71
|
-
onComplete: [{ type: Output }]
|
|
72
|
-
};
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvdmlld3MvZm9ybS1sYXlvdXQvZm9ybS1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT2pGLE1BQU0sT0FBTyxtQkFBbUI7SUFlOUIsWUFBb0IsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFaMUIsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFDckMsMkNBQTJDO1FBQ2Qsc0JBQWlCLEdBQWtCLFdBQVcsQ0FBQTtRQUNsRSxZQUFPLEdBQXdCLElBQUksQ0FBQztRQUM3QywyQ0FBMkM7UUFDdkIsYUFBUSxHQUFrQixJQUFJLENBQUM7UUFDbkQsK0NBQStDO1FBQ3JDLGFBQVEsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUM5RSwrQ0FBK0M7UUFDckMsYUFBUSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzVELGVBQVUsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUVuQyxDQUFDO0lBRXhDLFFBQVE7O1FBQ04sSUFBSSxNQUFBLElBQUksQ0FBQyxZQUFZLDBDQUFFLGFBQWEsRUFBQztZQUNuQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN0RCxHQUFHLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtnQkFDakIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLG1CQUFtQjtZQUNoRCxDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztZQUN2RSxvRUFBb0U7WUFDcEUsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLDJDQUEyQztZQUMvRCxvQkFBb0IsRUFBRSxDQUFDLCtDQUErQzthQUN2RSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2Y7SUFDSCxDQUFDO0lBRU0scUJBQXFCLENBQUMsTUFBVztRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sZUFBZSxDQUFDLE1BQWtCO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFrQixFQUFFLElBQVk7UUFDaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVk7O1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQUEsSUFBSSxDQUFDLFlBQVksMENBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxNQUE4QixFQUFFLFdBQW9CLEtBQUs7UUFDcEYsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMxRTthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUN0QztJQUNILENBQUM7OztZQXpERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsdWtHQUEyQzthQUM1Qzs7O1lBUlEsTUFBTTs7OzJCQVdaLFNBQVMsU0FBQyxRQUFRO29CQUNsQixLQUFLO2dDQUVMLEtBQUssU0FBQyxvQkFBb0I7c0JBQzFCLEtBQUs7dUJBRUwsS0FBSyxTQUFDLFdBQVc7dUJBRWpCLE1BQU07dUJBRU4sTUFBTTt5QkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIGZpbHRlciwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUm91dGVyVmlld0FjdGlvbiwgVmlld0FjdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWZvcm0tbGF5b3V0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1sYXlvdXQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQFZpZXdDaGlsZCgnc2VhcmNoJykgcHJpdmF0ZSBzZWFyY2hJbnB1dCQ/OiBFbGVtZW50UmVmO1xyXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzZWFyY2gtcGxhY2Vob2xkZXInKSBzZWFyY2hQbGFjZWhvbGRlcjogc3RyaW5nIHwgbnVsbCA9ICfOsc69zrHOts6uz4TOt8+DzrcnXHJcbiAgQElucHV0KCkgYWN0aW9uczogVmlld0FjdGlvbltdIHwgbnVsbCA9IG51bGw7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc3ViLXRpdGxlJykgc3ViVGl0bGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1vdXRwdXQtb24tcHJlZml4XHJcbiAgQE91dHB1dCgpIG9uQWN0aW9uOiBFdmVudEVtaXR0ZXI8Vmlld0FjdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPFZpZXdBY3Rpb24+KCk7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW91dHB1dC1vbi1wcmVmaXhcclxuICBAT3V0cHV0KCkgb25TZWFyY2g6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIG9uQ29tcGxldGU6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXIkOiBSb3V0ZXIpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlYXJjaElucHV0JD8ubmF0aXZlRWxlbWVudCl7XHJcbiAgICAgIGZyb21FdmVudCh0aGlzLnNlYXJjaElucHV0JC5uYXRpdmVFbGVtZW50LCAna2V5dXAnKS5waXBlKFxyXG4gICAgICAgIG1hcCgoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIGV2ZW50LnRhcmdldC52YWx1ZTsgLy8gR2V0IGlucHV0IHZhbHVlLlxyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGZpbHRlcihpbnB1dFZhbHVlID0+IGlucHV0VmFsdWUubGVuZ3RoID49IDMgfHwgaW5wdXRWYWx1ZS5sZW5ndGggPT09IDApLFxyXG4gICAgICAgIC8vIElmIGNoYXJhY3RlciBsZW5ndGggZ3JlYXRlciB0aGFuIG1pbmltdW1TZWFyY2hDaGFyYWN0ZXJzIHNldHRpbmcuXHJcbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMDApLCAvLyBUaW1lIGluIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIGtleSBldmVudHMuXHJcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSAvLyBJZiBwcmV2aW91cyBxdWVyeSBpcyBkaWZmZXJlbnQgZnJvbSBjdXJyZW50LlxyXG4gICAgICApLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2lkZVBhbmVEZWFjdGl2YXRlZCgkZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNvbXBsZXRlLmVtaXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW1pdEFjdGlvbkNsaWNrKGFjdGlvbjogVmlld0FjdGlvbik6IHZvaWQge1xyXG4gICAgdGhpcy5vbkFjdGlvbi5lbWl0KGFjdGlvbik7XHJcbiAgfVxyXG5cclxuICBzZWFyY2hBY3Rpb25DbGljayhhY3Rpb246IFZpZXdBY3Rpb24sIHRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5vblNlYXJjaC5lbWl0KHRleHQpO1xyXG4gIH1cclxuXHJcbiAgc2VhcmNoQWN0aW9uVHlwZSh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMub25TZWFyY2guZW1pdCh0aGlzLnNlYXJjaElucHV0JD8ubmF0aXZlRWxlbWVudC52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcm91dGVyTGlua0FjdGlvbkNsaWNrKGFjdGlvbjogUm91dGVyVmlld0FjdGlvbiB8IGFueSwgcmVsYXRpdmU6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgaWYgKGFjdGlvbi5vdXRsZXQpIHtcclxuICAgICAgdGhpcy5yb3V0ZXIkLm5hdmlnYXRlKFsnJywgeyBvdXRsZXRzOiB7IGZvcm1SaWdodFBhbmU6IGFjdGlvbi5saW5rIH0gfV0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yb3V0ZXIkLm5hdmlnYXRlKFthY3Rpb24ubGlua10pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { Location } from '@angular/common';
|
|
3
|
-
export class ModelViewLayoutComponent {
|
|
4
|
-
constructor(location) {
|
|
5
|
-
this.location = location;
|
|
6
|
-
this.showRightPaneSM = false;
|
|
7
|
-
this.title = 'no title';
|
|
8
|
-
// tslint:disable-next-line:no-input-rename
|
|
9
|
-
this.primary = null;
|
|
10
|
-
// tslint:disable-next-line:no-input-rename
|
|
11
|
-
this.secondary = null;
|
|
12
|
-
// tslint:disable-next-line:no-input-rename
|
|
13
|
-
this.metaItems = [
|
|
14
|
-
// { key: 'test', icon: Icons.Badges, text: 'βρέθηκαν 200 αποτελέσματα' }
|
|
15
|
-
];
|
|
16
|
-
}
|
|
17
|
-
ngOnInit() {
|
|
18
|
-
}
|
|
19
|
-
onSidePaneActivated($event) {
|
|
20
|
-
//console.log('onSidePaneActivated', $event);
|
|
21
|
-
this.showRightPaneSM = true;
|
|
22
|
-
}
|
|
23
|
-
onSidePaneDeactivated($event) {
|
|
24
|
-
//console.log('onSidePaneActivated', $event);
|
|
25
|
-
this.showRightPaneSM = false;
|
|
26
|
-
}
|
|
27
|
-
closeSidePane() {
|
|
28
|
-
this.location.back();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
ModelViewLayoutComponent.decorators = [
|
|
32
|
-
{ type: Component, args: [{
|
|
33
|
-
// tslint:disable-next-line:component-selector
|
|
34
|
-
selector: 'lib-model-view-layout',
|
|
35
|
-
template: "<lib-view-layout [title]=\"title\" [meta-items]=\"metaItems\">\r\n <main class=\"model-view-container\">\r\n <div class=\"model-view-container-inner\">\r\n <aside class=\"model-view-aside\">\r\n <section aria-labelledby=\"menu\" class=\"details-view-aside-header-section\">\r\n <div class=\"model-view-aside-header-container\">\r\n <div class=\"model-view-aside-header-container-inner\">\r\n <ng-content></ng-content>\r\n </div>\r\n <!-- menu items -->\r\n <div class=\"model-view-menu-container\">\r\n <nav class=\"model-view-menu-nav\">\r\n <div class=\"model-view-menu-item\">\r\n <ng-container *ngFor=\"let section of primary\">\r\n <a href=\"#\"\r\n [routerLinkActive]=\"['view-nav-link-active']\"\r\n [routerLink]=\"section.link\"\r\n class=\"view-nav-link\">\r\n {{section.text}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n <div class=\"model-view-menu-item-far\">\r\n <ng-container *ngFor=\"let section of secondary\">\r\n <a href=\"#\"\r\n [routerLinkActive]=\"['view-nav-link-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: true }\"\r\n [routerLink]=\"section.link\"\r\n class=\"view-nav-link\">\r\n {{section.text}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </nav>\r\n </div>\r\n </div>\r\n </section>\r\n </aside>\r\n <div class=\"model-view-details-container\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n </div>\r\n </main>\r\n"
|
|
36
|
-
},] }
|
|
37
|
-
];
|
|
38
|
-
ModelViewLayoutComponent.ctorParameters = () => [
|
|
39
|
-
{ type: Location }
|
|
40
|
-
];
|
|
41
|
-
ModelViewLayoutComponent.propDecorators = {
|
|
42
|
-
title: [{ type: Input }],
|
|
43
|
-
primary: [{ type: Input, args: ['primary-links',] }],
|
|
44
|
-
secondary: [{ type: Input, args: ['secondary-links',] }],
|
|
45
|
-
metaItems: [{ type: Input, args: ['meta-items',] }]
|
|
46
|
-
};
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtdmlldy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvdmlld3MvbW9kZWwtdmlldy1sYXlvdXQvbW9kZWwtdmlldy1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVEzQyxNQUFNLE9BQU8sd0JBQXdCO0lBV25DLFlBQXFCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFWaEMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDdEIsVUFBSyxHQUFHLFVBQVUsQ0FBQztRQUM1QiwyQ0FBMkM7UUFDbkIsWUFBTyxHQUE0QyxJQUFJLENBQUM7UUFDaEYsMkNBQTJDO1FBQ2pCLGNBQVMsR0FBNEMsSUFBSSxDQUFDO1FBQ3BGLDJDQUEyQztRQUN0QixjQUFTLEdBQTRCO1FBQ3hELHlFQUF5RTtTQUMxRSxDQUFDO0lBQ3lDLENBQUM7SUFFNUMsUUFBUTtJQUNSLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxNQUFXO1FBQ3BDLDZDQUE2QztRQUM3QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRU0scUJBQXFCLENBQUMsTUFBVztRQUN0Qyw2Q0FBNkM7UUFDN0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDOzs7WUFqQ0YsU0FBUyxTQUFDO2dCQUNULDhDQUE4QztnQkFDOUMsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsdTREQUFpRDthQUNsRDs7O1lBUFEsUUFBUTs7O29CQVVkLEtBQUs7c0JBRUwsS0FBSyxTQUFDLGVBQWU7d0JBRXJCLEtBQUssU0FBQyxpQkFBaUI7d0JBRXZCLEtBQUssU0FBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSGVhZGVyTWV0YUl0ZW0gfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdsaWItbW9kZWwtdmlldy1sYXlvdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RlbC12aWV3LWxheW91dC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vZGVsVmlld0xheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIHNob3dSaWdodFBhbmVTTSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRpdGxlID0gJ25vIHRpdGxlJztcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdwcmltYXJ5LWxpbmtzJykgcHJpbWFyeTogeyB0ZXh0OiBzdHJpbmcsIGxpbms6IHN0cmluZyB9W10gfCBudWxsID0gbnVsbDtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzZWNvbmRhcnktbGlua3MnKSBzZWNvbmRhcnk6IHsgdGV4dDogc3RyaW5nLCBsaW5rOiBzdHJpbmcgfVtdIHwgbnVsbCA9IG51bGw7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnbWV0YS1pdGVtcycpIG1ldGFJdGVtczogSGVhZGVyTWV0YUl0ZW1bXSB8IG51bGwgPSBbXHJcbiAgICAvLyB7IGtleTogJ3Rlc3QnLCBpY29uOiBJY29ucy5CYWRnZXMsIHRleHQ6ICfOss+Bzq3OuM63zrrOsc69IDIwMCDOsc+Azr/PhM61zrvOrc+DzrzOsc+EzrEnIH1cclxuICBdO1xyXG4gIGNvbnN0cnVjdG9yKCBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2lkZVBhbmVBY3RpdmF0ZWQoJGV2ZW50OiBhbnkpOiB2b2lkICB7XHJcbiAgICAvL2NvbnNvbGUubG9nKCdvblNpZGVQYW5lQWN0aXZhdGVkJywgJGV2ZW50KTtcclxuICAgIHRoaXMuc2hvd1JpZ2h0UGFuZVNNID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNpZGVQYW5lRGVhY3RpdmF0ZWQoJGV2ZW50OiBhbnkpOiB2b2lkICB7XHJcbiAgICAvL2NvbnNvbGUubG9nKCdvblNpZGVQYW5lQWN0aXZhdGVkJywgJGV2ZW50KTtcclxuICAgIHRoaXMuc2hvd1JpZ2h0UGFuZVNNID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VTaWRlUGFuZSgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { Router } from '@angular/router';
|
|
2
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
3
|
-
import { Location } from '@angular/common';
|
|
4
|
-
export class SideViewLayoutComponent {
|
|
5
|
-
constructor(location, router) {
|
|
6
|
-
this.location = location;
|
|
7
|
-
this.router = router;
|
|
8
|
-
this.title = 'Πληροφορίες';
|
|
9
|
-
this.showActions = true;
|
|
10
|
-
this.disabled = false;
|
|
11
|
-
// tslint:disable-next-line:no-input-rename
|
|
12
|
-
this.okLabel = 'Αποθήκευση';
|
|
13
|
-
// tslint:disable-next-line:no-input-rename
|
|
14
|
-
this.okShow = true;
|
|
15
|
-
// tslint:disable-next-line:no-input-rename
|
|
16
|
-
this.closeOnOk = true;
|
|
17
|
-
// tslint:disable-next-line:no-input-rename
|
|
18
|
-
this.cancelLabel = 'Ακύρωση';
|
|
19
|
-
// tslint:disable-next-line:no-input-rename
|
|
20
|
-
this.cancelShow = true;
|
|
21
|
-
// tslint:disable-next-line:no-input-rename
|
|
22
|
-
this.forceLocationBack = false;
|
|
23
|
-
// @Output() close = new EventEmitter<any>();
|
|
24
|
-
this.cancel = new EventEmitter();
|
|
25
|
-
this.ok = new EventEmitter();
|
|
26
|
-
}
|
|
27
|
-
ngOnInit() {
|
|
28
|
-
}
|
|
29
|
-
closeSidePane() {
|
|
30
|
-
if (this.returnPath) {
|
|
31
|
-
this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => this.router.navigateByUrl(this.returnPath || '/'));
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
if ((this.router.url.split('/(')[0] !== this.router.url) && !this.forceLocationBack) {
|
|
35
|
-
this.router.navigateByUrl(this.router.url.split('/(')[0]);
|
|
36
|
-
}
|
|
37
|
-
else if ((this.router.url.split('(')[0] !== this.router.url) && !this.forceLocationBack) {
|
|
38
|
-
this.router.navigateByUrl(this.router.url.split('(')[0]);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
this.location.back();
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
emitClose() {
|
|
46
|
-
this.cancel.emit(false);
|
|
47
|
-
this.closeSidePane();
|
|
48
|
-
}
|
|
49
|
-
emitCancel() {
|
|
50
|
-
this.cancel.emit(false);
|
|
51
|
-
this.closeSidePane();
|
|
52
|
-
}
|
|
53
|
-
emitOK() {
|
|
54
|
-
this.ok.emit(true);
|
|
55
|
-
if (this.closeOnOk) {
|
|
56
|
-
this.closeSidePane();
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
SideViewLayoutComponent.decorators = [
|
|
61
|
-
{ type: Component, args: [{
|
|
62
|
-
selector: 'lib-side-view-layout',
|
|
63
|
-
template: "<div class=\"side-view-layout-size-box\">\r\n <div class=\"side-view-layout-container\">\r\n <div class=\"side-view-layout-container-inner\">\r\n <div class=\"side-view-layout-header-margins\">\r\n <div class=\"side-view-layout-header-container\">\r\n <h2 class=\"side-view-layout-header-title\" id=\"slide-over-title\">\r\n {{title}}\r\n </h2>\r\n <div class=\"side-view-layout-close-button-container\">\r\n <button (click)=\"emitClose()\" class=\"side-view-layout-close-button\">\r\n <span class=\"sr-only\">Close panel</span>\r\n <!-- Heroicon name: outline/x -->\r\n <svg class=\"side-view-layout-close-button-icon\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"side-view-layout-content-container\">\r\n <!-- Replace with your content -->\r\n <ng-content></ng-content>\r\n <!-- /End replace -->\r\n </div>\r\n </div>\r\n <div *ngIf=\"showActions\" class=\"side-view-layout-actions-container\">\r\n <button *ngIf=\"cancelShow\" (click)=\"emitCancel()\" type=\"button\" class=\"side-view-layout-action-button-cancel\">\r\n {{cancelLabel}}\r\n </button>\r\n <button *ngIf=\"okShow\" (click)=\"emitOK()\" class=\"side-view-layout-action-button-submit\" [disabled]=\"disabled\">\r\n {{okLabel}}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n"
|
|
64
|
-
},] }
|
|
65
|
-
];
|
|
66
|
-
SideViewLayoutComponent.ctorParameters = () => [
|
|
67
|
-
{ type: Location },
|
|
68
|
-
{ type: Router }
|
|
69
|
-
];
|
|
70
|
-
SideViewLayoutComponent.propDecorators = {
|
|
71
|
-
title: [{ type: Input }],
|
|
72
|
-
showActions: [{ type: Input }],
|
|
73
|
-
disabled: [{ type: Input }],
|
|
74
|
-
returnPath: [{ type: Input, args: ['return-path',] }],
|
|
75
|
-
okLabel: [{ type: Input, args: ['ok-label',] }],
|
|
76
|
-
okShow: [{ type: Input, args: ['ok-show',] }],
|
|
77
|
-
closeOnOk: [{ type: Input, args: ['ok-close-dialog',] }],
|
|
78
|
-
cancelLabel: [{ type: Input, args: ['cancel-label',] }],
|
|
79
|
-
cancelShow: [{ type: Input, args: ['cancel-show',] }],
|
|
80
|
-
forceLocationBack: [{ type: Input, args: ['force-location-back',] }],
|
|
81
|
-
cancel: [{ type: Output }],
|
|
82
|
-
ok: [{ type: Output }]
|
|
83
|
-
};
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS12aWV3LWxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvbGF5b3V0cy92aWV3cy9zaWRlLXZpZXctbGF5b3V0L3NpZGUtdmlldy1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQU0zQyxNQUFNLE9BQU8sdUJBQXVCO0lBc0JsQyxZQUFvQixRQUFrQixFQUFVLE1BQWM7UUFBMUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFyQnJELFVBQUssR0FBa0IsYUFBYSxDQUFDO1FBQ3JDLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHMUIsMkNBQTJDO1FBQ3hCLFlBQU8sR0FBRyxZQUFZLENBQUM7UUFDMUMsMkNBQTJDO1FBQ3pCLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDaEMsMkNBQTJDO1FBQ2pCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDM0MsMkNBQTJDO1FBQ3BCLGdCQUFXLEdBQUcsU0FBUyxDQUFDO1FBQy9DLDJDQUEyQztRQUNyQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3hDLDJDQUEyQztRQUNiLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUN4RCw2Q0FBNkM7UUFDbkMsV0FBTSxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELE9BQUUsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVTLENBQUM7SUFFbkUsUUFBUTtJQUNSLENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDNUg7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDbkYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDM0Q7aUJBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUN6RixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxRDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3RCO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sU0FBUztRQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDOzs7WUE1REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLDZ0REFBZ0Q7YUFDakQ7OztZQUxRLFFBQVE7WUFGUixNQUFNOzs7b0JBU1osS0FBSzswQkFDTCxLQUFLO3VCQUNMLEtBQUs7eUJBRUwsS0FBSyxTQUFDLGFBQWE7c0JBRW5CLEtBQUssU0FBQyxVQUFVO3FCQUVoQixLQUFLLFNBQUMsU0FBUzt3QkFFZixLQUFLLFNBQUMsaUJBQWlCOzBCQUV2QixLQUFLLFNBQUMsY0FBYzt5QkFFcEIsS0FBSyxTQUFDLGFBQWE7Z0NBRW5CLEtBQUssU0FBQyxxQkFBcUI7cUJBRTNCLE1BQU07aUJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc2lkZS12aWV3LWxheW91dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGUtdmlldy1sYXlvdXQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWRlVmlld0xheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyB8IG51bGwgPSAnzqDOu863z4HOv8+Gzr/Pgc6vzrXPgic7XHJcbiAgQElucHV0KCkgc2hvd0FjdGlvbnMgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgncmV0dXJuLXBhdGgnKSByZXR1cm5QYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnb2stbGFiZWwnKSBva0xhYmVsID0gJ86Rz4DOv864zq7Ous61z4XPg863JztcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdvay1zaG93Jykgb2tTaG93ID0gdHJ1ZTtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdvay1jbG9zZS1kaWFsb2cnKSBjbG9zZU9uT2sgPSB0cnVlO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ2NhbmNlbC1sYWJlbCcpIGNhbmNlbExhYmVsID0gJ86RzrrPjc+Bz4nPg863JztcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdjYW5jZWwtc2hvdycpIGNhbmNlbFNob3cgPSB0cnVlO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ2ZvcmNlLWxvY2F0aW9uLWJhY2snKSBmb3JjZUxvY2F0aW9uQmFjayA9IGZhbHNlO1xyXG4gIC8vIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBjYW5jZWw6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb2s6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZVNpZGVQYW5lKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucmV0dXJuUGF0aCkge1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvJywgeyBza2lwTG9jYXRpb25DaGFuZ2U6IHRydWUgfSkudGhlbigoKSA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMucmV0dXJuUGF0aCB8fCAnLycpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICgodGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcvKCcpWzBdICE9PSB0aGlzLnJvdXRlci51cmwpICYmICF0aGlzLmZvcmNlTG9jYXRpb25CYWNrKSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnJvdXRlci51cmwuc3BsaXQoJy8oJylbMF0pO1xyXG4gICAgICB9IGVsc2UgaWYgKCh0aGlzLnJvdXRlci51cmwuc3BsaXQoJygnKVswXSAhPT0gdGhpcy5yb3V0ZXIudXJsKSAmJiAhdGhpcy5mb3JjZUxvY2F0aW9uQmFjaykge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcoJylbMF0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW1pdENsb3NlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYW5jZWwuZW1pdChmYWxzZSk7XHJcbiAgICB0aGlzLmNsb3NlU2lkZVBhbmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbWl0Q2FuY2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYW5jZWwuZW1pdChmYWxzZSk7XHJcbiAgICB0aGlzLmNsb3NlU2lkZVBhbmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbWl0T0soKTogdm9pZCB7XHJcbiAgICB0aGlzLm9rLmVtaXQodHJ1ZSk7XHJcbiAgICBpZiAodGhpcy5jbG9zZU9uT2spIHtcclxuICAgICAgdGhpcy5jbG9zZVNpZGVQYW5lKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { ActivatedRoute, Router } from '@angular/router';
|
|
2
|
-
import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core';
|
|
3
|
-
import { fromEvent } from 'rxjs';
|
|
4
|
-
import { debounceTime, distinctUntilChanged, filter, map } from 'rxjs/operators';
|
|
5
|
-
export class ViewLayoutComponent {
|
|
6
|
-
constructor(route$, router$) {
|
|
7
|
-
this.route$ = route$;
|
|
8
|
-
this.router$ = router$;
|
|
9
|
-
// tslint:disable-next-line:no-input-rename
|
|
10
|
-
this.header = true;
|
|
11
|
-
this.fluid = false;
|
|
12
|
-
this.title = 'no title';
|
|
13
|
-
this.icon = null;
|
|
14
|
-
this.actions = null;
|
|
15
|
-
this.busy = false;
|
|
16
|
-
// tslint:disable-next-line:no-input-rename
|
|
17
|
-
this.searchPlaceholder = 'αναζήτηση';
|
|
18
|
-
this.view = null;
|
|
19
|
-
// tslint:disable-next-line:no-input-rename
|
|
20
|
-
this.metaItems = [];
|
|
21
|
-
// tslint:disable-next-line:no-output-on-prefix
|
|
22
|
-
this.onAction = new EventEmitter();
|
|
23
|
-
// tslint:disable-next-line:no-output-on-prefix
|
|
24
|
-
this.onSearch = new EventEmitter();
|
|
25
|
-
}
|
|
26
|
-
ngOnInit() {
|
|
27
|
-
var _a;
|
|
28
|
-
if ((_a = this.searchInput$) === null || _a === void 0 ? void 0 : _a.nativeElement) {
|
|
29
|
-
fromEvent(this.searchInput$.nativeElement, 'keyup').pipe(map((event) => {
|
|
30
|
-
return event.target.value; // Get input value.
|
|
31
|
-
}), filter(inputValue => inputValue.length >= 3 || inputValue.length === 0),
|
|
32
|
-
// If character length greater than minimumSearchCharacters setting.
|
|
33
|
-
debounceTime(1000), // Time in milliseconds between key events.
|
|
34
|
-
distinctUntilChanged() // If previous query is different from current.
|
|
35
|
-
).subscribe();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
emitActionClick(action) {
|
|
39
|
-
this.onAction.emit(action);
|
|
40
|
-
}
|
|
41
|
-
routerLinkActionClick(action) {
|
|
42
|
-
// console.log('routerLinkActionClick', action);
|
|
43
|
-
if (action.outlet) {
|
|
44
|
-
this.router$.navigate(['', { outlets: { rightpane: action.link } }]);
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
this.router$.navigate([action.link]);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
searchActionClick(action, text) {
|
|
51
|
-
this.onSearch.emit(text);
|
|
52
|
-
}
|
|
53
|
-
searchActionType(text) {
|
|
54
|
-
var _a;
|
|
55
|
-
this.onSearch.emit((_a = this.searchInput$) === null || _a === void 0 ? void 0 : _a.nativeElement.value);
|
|
56
|
-
}
|
|
57
|
-
handleClear(event) {
|
|
58
|
-
var _a;
|
|
59
|
-
console.log('handle clear!!!');
|
|
60
|
-
event.stopPropagation();
|
|
61
|
-
this.onSearch.emit((_a = event.target) === null || _a === void 0 ? void 0 : _a.value);
|
|
62
|
-
}
|
|
63
|
-
switchViewActionClick(action) {
|
|
64
|
-
// console.log('switchViewActionClick', action);
|
|
65
|
-
this.view = action.param;
|
|
66
|
-
if (action && action.param) {
|
|
67
|
-
this.router$.navigate([], { queryParams: { view: action.param }, queryParamsHandling: 'merge', skipLocationChange: false });
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
ViewLayoutComponent.decorators = [
|
|
72
|
-
{ type: Component, args: [{
|
|
73
|
-
selector: 'lib-view-layout',
|
|
74
|
-
template: "<header *ngIf=\"header\"\r\n class=\"view-layout-paddings\">\r\n\r\n <div class=\"view-layout-title-container-sm md:view-layout-title-container\">\r\n <div class=\"view-layout-title-container-inner\">\r\n <i *ngIf=\"icon\"\r\n [class]=\"icon + ' title-icon'\"\r\n aria-hidden=\"true\"></i>\r\n <h1 [class]=\"busy ? 'view-layout-title-busy' : 'view-layout-title'\">\r\n {{title}}\r\n </h1>\r\n </div>\r\n <div *ngIf=\"metaItems && metaItems.length > 0\"\r\n class=\"meta-container\">\r\n <ng-container *ngFor=\"let meta of metaItems\">\r\n <div class=\"meta-container-inner\">\r\n <i *ngIf=\"meta.icon\"\r\n [class]=\"meta.icon + ' meta-icon'\"\r\n aria-hidden=\"true\"></i>\r\n <span class=\"meta-text\">{{meta.text}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"flex items-center justify-end\">\r\n <ng-container *ngFor=\"let action of actions\" [ngSwitch]=\"action.type\">\r\n\r\n <ng-container *ngSwitchCase=\"'switch-view'\">\r\n <button [disabled]=\"view === action.param\" type=\"button\" href=\"#\" class=\"ml-1 disabled:opacity-50 btn-view-header\" (click)=\"switchViewActionClick(action)\">\r\n <span class=\"inline-block relative\">\r\n <i [class]=\"action.icon\"></i>\r\n <span *ngIf=\"view === action.param\" class=\"selected-view-indicator\"></span>\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <label for=\"search\" class=\"sr-only\">Search</label>\r\n <div class=\"search-container\">\r\n <div class=\"pointer-events-none absolute inset-y-0 left-0 pl-3 flex items-center\">\r\n <!--<svg class=\"h-5 w-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\" clip-rule=\"evenodd\" />\r\n </svg>-->\r\n </div>\r\n <input id=\"search\" #search class=\"search-input\" [placeholder]=\"searchPlaceholder\"\r\n type=\"search\" name=\"search\" (input)=\"searchActionType(search.value)\" (onsearch)=\"handleClear($event)\">\r\n </div>\r\n <button type=\"button\" href=\"#\" class=\"btn-view-header rounded-l-none\" [title]=\"action.tooltip\" (click)=\"searchActionClick(action, search.value)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'router-link'\">\r\n <button type=\"button\" href=\"#\" class=\"ml-1 btn-view-header\" [title]=\"action.tooltip\" (click)=\"routerLinkActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n\r\n\r\n <ng-container *ngSwitchDefault>\r\n <button type=\"button\" class=\"ml-1 btn-view-header\" [title]=\"action.tooltip\" (click)=\"emitActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</header>\r\n\r\n<!-- component -->\r\n<div [class]=\"fluid ? 'view-container-fluid' : 'view-container'\">\r\n <ng-content></ng-content>\r\n</div>\r\n"
|
|
75
|
-
},] }
|
|
76
|
-
];
|
|
77
|
-
ViewLayoutComponent.ctorParameters = () => [
|
|
78
|
-
{ type: ActivatedRoute },
|
|
79
|
-
{ type: Router }
|
|
80
|
-
];
|
|
81
|
-
ViewLayoutComponent.propDecorators = {
|
|
82
|
-
searchInput$: [{ type: ViewChild, args: ['search',] }],
|
|
83
|
-
header: [{ type: Input, args: ['show-header',] }],
|
|
84
|
-
fluid: [{ type: Input }],
|
|
85
|
-
title: [{ type: Input }],
|
|
86
|
-
icon: [{ type: Input }],
|
|
87
|
-
actions: [{ type: Input }],
|
|
88
|
-
busy: [{ type: Input }],
|
|
89
|
-
searchPlaceholder: [{ type: Input, args: ['search-placeholder',] }],
|
|
90
|
-
view: [{ type: Input }],
|
|
91
|
-
metaItems: [{ type: Input, args: ['meta-items',] }],
|
|
92
|
-
onAction: [{ type: Output }],
|
|
93
|
-
onSearch: [{ type: Output }]
|
|
94
|
-
};
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvdmlld3Mvdmlldy1sYXlvdXQvdmlldy1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU9qRixNQUFNLE9BQU8sbUJBQW1CO0lBb0I5QixZQUFvQixNQUFzQixFQUFVLE9BQWU7UUFBL0MsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBakJuRSwyQ0FBMkM7UUFDckIsV0FBTSxHQUFHLElBQUksQ0FBQztRQUMzQixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsVUFBSyxHQUFHLFVBQVUsQ0FBQztRQUNuQixTQUFJLEdBQWtCLElBQUksQ0FBQztRQUMzQixZQUFPLEdBQXdCLElBQUksQ0FBQztRQUNwQyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLDJDQUEyQztRQUNkLHNCQUFpQixHQUFrQixXQUFXLENBQUM7UUFDbkUsU0FBSSxHQUFrQixJQUFJLENBQUM7UUFDcEMsMkNBQTJDO1FBQ3RCLGNBQVMsR0FBNEIsRUFBRSxDQUFDO1FBQzdELCtDQUErQztRQUNyQyxhQUFRLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFDOUUsK0NBQStDO1FB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QixNQUFNO3VCQUVOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTd2l0Y2hWaWV3QWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSGVhZGVyTWV0YUl0ZW0sIFJvdXRlclZpZXdBY3Rpb24sIFZpZXdBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi12aWV3LWxheW91dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ZpZXctbGF5b3V0LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVmlld0xheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaCcpIHByaXZhdGUgc2VhcmNoSW5wdXQkPzogRWxlbWVudFJlZjtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzaG93LWhlYWRlcicpIGhlYWRlciA9IHRydWU7XHJcbiAgQElucHV0KCkgZmx1aWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSB0aXRsZSA9ICdubyB0aXRsZSc7XHJcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgYWN0aW9uczogVmlld0FjdGlvbltdIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgYnVzeSA9IGZhbHNlO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NlYXJjaC1wbGFjZWhvbGRlcicpIHNlYXJjaFBsYWNlaG9sZGVyOiBzdHJpbmcgfCBudWxsID0gJ86xzr3Osc62zq7PhM63z4POtyc7XHJcbiAgQElucHV0KCkgdmlldzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnbWV0YS1pdGVtcycpIG1ldGFJdGVtczogSGVhZGVyTWV0YUl0ZW1bXSB8IG51bGwgPSBbXTtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tb3V0cHV0LW9uLXByZWZpeFxyXG4gIEBPdXRwdXQoKSBvbkFjdGlvbjogRXZlbnRFbWl0dGVyPFZpZXdBY3Rpb24+ID0gbmV3IEV2ZW50RW1pdHRlcjxWaWV3QWN0aW9uPigpO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1vdXRwdXQtb24tcHJlZml4XHJcbiAgQE91dHB1dCgpIG9uU2VhcmNoOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlJDogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgcm91dGVyJDogUm91dGVyKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZWFyY2hJbnB1dCQ/Lm5hdGl2ZUVsZW1lbnQpe1xyXG4gICAgICBmcm9tRXZlbnQodGhpcy5zZWFyY2hJbnB1dCQubmF0aXZlRWxlbWVudCwgJ2tleXVwJykucGlwZShcclxuICAgICAgICBtYXAoKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgIHJldHVybiBldmVudC50YXJnZXQudmFsdWU7IC8vIEdldCBpbnB1dCB2YWx1ZS5cclxuICAgICAgICB9KSxcclxuICAgICAgICBmaWx0ZXIoaW5wdXRWYWx1ZSA9PiBpbnB1dFZhbHVlLmxlbmd0aCA+PSAzIHx8IGlucHV0VmFsdWUubGVuZ3RoID09PSAwKSxcclxuICAgICAgICAvLyBJZiBjaGFyYWN0ZXIgbGVuZ3RoIGdyZWF0ZXIgdGhhbiBtaW5pbXVtU2VhcmNoQ2hhcmFjdGVycyBzZXR0aW5nLlxyXG4gICAgICAgIGRlYm91bmNlVGltZSgxMDAwKSwgLy8gVGltZSBpbiBtaWxsaXNlY29uZHMgYmV0d2VlbiBrZXkgZXZlbnRzLlxyXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkgLy8gSWYgcHJldmlvdXMgcXVlcnkgaXMgZGlmZmVyZW50IGZyb20gY3VycmVudC5cclxuICAgICAgKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbWl0QWN0aW9uQ2xpY2soYWN0aW9uOiBWaWV3QWN0aW9uKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQWN0aW9uLmVtaXQoYWN0aW9uKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByb3V0ZXJMaW5rQWN0aW9uQ2xpY2soYWN0aW9uOiBSb3V0ZXJWaWV3QWN0aW9uIHwgYW55KTogdm9pZCB7XHJcbiAgICAvLyBjb25zb2xlLmxvZygncm91dGVyTGlua0FjdGlvbkNsaWNrJywgYWN0aW9uKTtcclxuICAgIGlmIChhY3Rpb24ub3V0bGV0KSB7XHJcbiAgICAgIHRoaXMucm91dGVyJC5uYXZpZ2F0ZShbJycsIHsgb3V0bGV0czogeyByaWdodHBhbmU6IGFjdGlvbi5saW5rIH0gfV0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yb3V0ZXIkLm5hdmlnYXRlKFthY3Rpb24ubGlua10pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VhcmNoQWN0aW9uQ2xpY2soYWN0aW9uOiBWaWV3QWN0aW9uLCB0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMub25TZWFyY2guZW1pdCh0ZXh0KTtcclxuICB9XHJcblxyXG4gIHNlYXJjaEFjdGlvblR5cGUodGV4dDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uU2VhcmNoLmVtaXQodGhpcy5zZWFyY2hJbnB1dCQ/Lm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNsZWFyKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKCdoYW5kbGUgY2xlYXIhISEnKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5vblNlYXJjaC5lbWl0KGV2ZW50LnRhcmdldD8udmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN3aXRjaFZpZXdBY3Rpb25DbGljayhhY3Rpb246IFN3aXRjaFZpZXdBY3Rpb24gfCBhbnkpOiB2b2lkIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdzd2l0Y2hWaWV3QWN0aW9uQ2xpY2snLCBhY3Rpb24pO1xyXG4gICAgdGhpcy52aWV3ID0gYWN0aW9uLnBhcmFtO1xyXG4gICAgaWYgKGFjdGlvbiAmJiBhY3Rpb24ucGFyYW0pIHtcclxuICAgICAgdGhpcy5yb3V0ZXIkLm5hdmlnYXRlKFtdLCB7IHF1ZXJ5UGFyYW1zOiB7IHZpZXc6IGFjdGlvbi5wYXJhbSB9LCBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLCBza2lwTG9jYXRpb25DaGFuZ2U6IGZhbHNlIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|