@hestia-earth/ui-components 0.27.0 → 0.27.2
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/common/blank-node-state-notice/blank-node-state-notice.component.d.ts +6 -5
- package/common/data-table/data-table.component.d.ts +10 -12
- package/common/dropdown/dropdown.component.d.ts +5 -5
- package/common/navigation-menu/navigation-menu.component.d.ts +6 -6
- package/common/social-tags/social-tags.component.d.ts +13 -5
- package/esm2022/common/blank-node-state-notice/blank-node-state-notice.component.mjs +9 -16
- package/esm2022/common/data-table/data-table.component.mjs +15 -27
- package/esm2022/common/dropdown/dropdown.component.mjs +8 -15
- package/esm2022/common/navigation-menu/navigation-menu.component.mjs +15 -23
- package/esm2022/common/social-tags/social-tags.component.mjs +21 -18
- package/esm2022/node/node-csv-export-confirm/node-csv-export-confirm.component.mjs +3 -3
- package/esm2022/node/node-csv-select-headers/node-csv-select-headers.component.mjs +4 -4
- package/fesm2022/hestia-earth-ui-components.mjs +63 -95
- package/fesm2022/hestia-earth-ui-components.mjs.map +1 -1
- package/node/node-csv-select-headers/node-csv-select-headers.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { DataState } from '@hestia-earth/api';
|
|
1
2
|
import * as i0 from "@angular/core";
|
|
2
3
|
export declare class BlankNodeStateNoticeComponent {
|
|
3
|
-
|
|
4
|
-
showAggregated: boolean
|
|
5
|
-
showDeleted: boolean
|
|
6
|
-
|
|
4
|
+
protected dataState: import("@angular/core").InputSignal<DataState>;
|
|
5
|
+
protected showAggregated: import("@angular/core").InputSignal<boolean>;
|
|
6
|
+
protected showDeleted: import("@angular/core").InputSignal<boolean>;
|
|
7
|
+
protected show: import("@angular/core").Signal<boolean>;
|
|
7
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<BlankNodeStateNoticeComponent, never>;
|
|
8
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BlankNodeStateNoticeComponent, "he-blank-node-state-notice", never, { "dataState": { "alias": "dataState"; "required": false; }; "showAggregated": { "alias": "showAggregated"; "required": false; }; "showDeleted": { "alias": "showDeleted"; "required": false; }; }, {}, never, never, true, never>;
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BlankNodeStateNoticeComponent, "he-blank-node-state-notice", never, { "dataState": { "alias": "dataState"; "required": false; "isSignal": true; }; "showAggregated": { "alias": "showAggregated"; "required": false; "isSignal": true; }; "showDeleted": { "alias": "showDeleted"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
9
10
|
}
|
|
@@ -1,26 +1,24 @@
|
|
|
1
|
-
import { AfterContentChecked, AfterViewInit, OnChanges,
|
|
1
|
+
import { AfterContentChecked, AfterViewInit, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class DataTableComponent implements AfterViewInit, AfterContentChecked, OnChanges
|
|
3
|
+
export declare class DataTableComponent implements AfterViewInit, AfterContentChecked, OnChanges {
|
|
4
|
+
private destroyRef;
|
|
4
5
|
private elementRef;
|
|
5
6
|
private changeRef;
|
|
6
7
|
private navigationMenuService;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
width: string;
|
|
8
|
+
protected minHeight: import("@angular/core").InputSignal<string | number>;
|
|
9
|
+
protected maxHeight: import("@angular/core").InputSignal<string | number>;
|
|
10
|
+
protected small: import("@angular/core").InputSignal<boolean>;
|
|
11
|
+
protected height: string;
|
|
12
|
+
protected width: string;
|
|
13
13
|
get isSmall(): boolean;
|
|
14
14
|
protected onResize(): void;
|
|
15
|
+
private menuCollapsed$;
|
|
15
16
|
constructor();
|
|
16
|
-
ngOnDestroy(): void;
|
|
17
17
|
ngAfterViewInit(): void;
|
|
18
18
|
ngAfterContentChecked(): void;
|
|
19
19
|
ngOnChanges(changes: SimpleChanges): void;
|
|
20
20
|
private get tableEl();
|
|
21
|
-
get nbHeaders(): any;
|
|
22
|
-
get rowHeight(): 30 | 42;
|
|
23
21
|
private updateTableSize;
|
|
24
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<DataTableComponent, never>;
|
|
25
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DataTableComponent, "he-data-table", never, { "minHeight": { "alias": "minHeight"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "small": { "alias": "small"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
23
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DataTableComponent, "he-data-table", never, { "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "small": { "alias": "small"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
26
24
|
}
|
|
@@ -2,13 +2,13 @@ import * as i0 from "@angular/core";
|
|
|
2
2
|
export declare class DropdownComponent {
|
|
3
3
|
private elementRef;
|
|
4
4
|
protected id: string;
|
|
5
|
-
protected tooltip: string
|
|
6
|
-
protected dropdownClass: string
|
|
7
|
-
protected dropdownButtonClass: string
|
|
8
|
-
protected dropdownContentClass: string
|
|
5
|
+
protected tooltip: import("@angular/core").InputSignal<string>;
|
|
6
|
+
protected dropdownClass: import("@angular/core").InputSignal<string>;
|
|
7
|
+
protected dropdownButtonClass: import("@angular/core").InputSignal<string>;
|
|
8
|
+
protected dropdownContentClass: import("@angular/core").InputSignal<string>;
|
|
9
9
|
protected get menuId(): string;
|
|
10
10
|
protected showDropdown: boolean;
|
|
11
11
|
onClick(event: MouseEvent): void;
|
|
12
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownComponent, never>;
|
|
13
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "he-dropdown", never, { "tooltip": { "alias": "tooltip"; "required": false; }; "dropdownClass": { "alias": "dropdownClass"; "required": false; }; "dropdownButtonClass": { "alias": "dropdownButtonClass"; "required": false; }; "dropdownContentClass": { "alias": "dropdownContentClass"; "required": false; }; }, {}, never, ["[label]", "[menu]"], true, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "he-dropdown", never, { "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "dropdownClass": { "alias": "dropdownClass"; "required": false; "isSignal": true; }; "dropdownButtonClass": { "alias": "dropdownButtonClass"; "required": false; "isSignal": true; }; "dropdownContentClass": { "alias": "dropdownContentClass"; "required": false; "isSignal": true; }; }, {}, never, ["[label]", "[menu]"], true, never>;
|
|
14
14
|
}
|
|
@@ -28,21 +28,21 @@ export declare class NavigationMenuComponent {
|
|
|
28
28
|
protected readonly faAngleDoubleRight: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
29
29
|
protected readonly faCaretDown: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
30
30
|
protected readonly faCaretRight: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
31
|
-
protected
|
|
32
|
-
protected
|
|
33
|
-
protected
|
|
34
|
-
protected routerLinkMatchOptions: IsActiveMatchOptions
|
|
31
|
+
protected links: import("@angular/core").InputSignal<INavigationMenuLink[]>;
|
|
32
|
+
protected sticky: import("@angular/core").InputSignal<boolean>;
|
|
33
|
+
protected collapsible: import("@angular/core").InputSignal<boolean>;
|
|
34
|
+
protected routerLinkMatchOptions: import("@angular/core").InputSignal<IsActiveMatchOptions>;
|
|
35
|
+
withPrimaryIcons: import("@angular/core").Signal<boolean>;
|
|
35
36
|
collapsed: boolean;
|
|
36
37
|
opened: boolean;
|
|
37
38
|
protected classes: string;
|
|
38
39
|
protected get isCollapsed(): boolean;
|
|
39
40
|
constructor();
|
|
40
41
|
get maxHeight(): string;
|
|
41
|
-
get withPrimaryIcons(): boolean;
|
|
42
42
|
toggle(): void;
|
|
43
43
|
private collapseOtherLinks;
|
|
44
44
|
toggleLinks(item: INavigationMenuLink, index: number): void;
|
|
45
45
|
listActiveLinkChange(item: INavigationMenuLink): void;
|
|
46
46
|
static ɵfac: i0.ɵɵFactoryDeclaration<NavigationMenuComponent, never>;
|
|
47
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NavigationMenuComponent, "he-navigation-menu", never, { "
|
|
47
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NavigationMenuComponent, "he-navigation-menu", never, { "links": { "alias": "links"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "routerLinkMatchOptions": { "alias": "routerLinkMatchOptions"; "required": false; "isSignal": true; }; }, {}, never, ["[outer-content]", "[inner-content]"], true, never>;
|
|
48
48
|
}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
1
|
import * as i0 from "@angular/core";
|
|
3
|
-
|
|
2
|
+
interface ISocialTagsConfig {
|
|
3
|
+
'og:type'?: string;
|
|
4
|
+
'og:url'?: string;
|
|
5
|
+
'og:title'?: string;
|
|
6
|
+
'og:description'?: string;
|
|
7
|
+
'og:image'?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare class SocialTagsComponent {
|
|
4
10
|
private meta;
|
|
5
|
-
|
|
11
|
+
protected config: import("@angular/core").InputSignal<ISocialTagsConfig>;
|
|
6
12
|
classes: string;
|
|
7
|
-
|
|
13
|
+
private configs;
|
|
14
|
+
constructor();
|
|
8
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<SocialTagsComponent, never>;
|
|
9
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SocialTagsComponent, "he-social-tags", never, { "config": { "alias": "config"; "required": false; }; }, {}, never, never, true, never>;
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SocialTagsComponent, "he-social-tags", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
10
17
|
}
|
|
18
|
+
export {};
|
|
@@ -1,25 +1,18 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component,
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
|
|
2
2
|
import { DataState } from '@hestia-earth/api';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class BlankNodeStateNoticeComponent {
|
|
5
5
|
constructor() {
|
|
6
|
-
this.
|
|
7
|
-
this.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
return this.dataState !== DataState.original;
|
|
6
|
+
this.dataState = input();
|
|
7
|
+
this.showAggregated = input(true);
|
|
8
|
+
this.showDeleted = input(false);
|
|
9
|
+
this.show = computed(() => this.dataState() !== DataState.original);
|
|
11
10
|
}
|
|
12
11
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BlankNodeStateNoticeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: BlankNodeStateNoticeComponent, isStandalone: true, selector: "he-blank-node-state-notice", inputs: { dataState: "dataState", showAggregated: "showAggregated", showDeleted: "showDeleted" }, ngImport: i0, template: "@if (show) {\n <p class=\"is-size-7 is-italic\">\n <span class=\"pl-1 notice-data-unchaged\">\u2020 Data uploaded by the user</span>\n <span class=\"pl-1 notice-data-added\">* Data added by Hestia</span>\n <span class=\"pl-1 notice-data-updated\">** Data updated by Hestia</span>\n @if (showAggregated) {\n <span class=\"pl-1 notice-data-aggregated\">*** Data aggregated by Hestia</span>\n }\n @if (showDeleted) {\n <span class=\"pl-1 notice-data-deleted\">**** Data deleted by Hestia</span>\n }\n </p>\n}\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: BlankNodeStateNoticeComponent, isStandalone: true, selector: "he-blank-node-state-notice", inputs: { dataState: { classPropertyName: "dataState", publicName: "dataState", isSignal: true, isRequired: false, transformFunction: null }, showAggregated: { classPropertyName: "showAggregated", publicName: "showAggregated", isSignal: true, isRequired: false, transformFunction: null }, showDeleted: { classPropertyName: "showDeleted", publicName: "showDeleted", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (show()) {\n <p class=\"is-size-7 is-italic\">\n <span class=\"pl-1 notice-data-unchaged\">\u2020 Data uploaded by the user</span>\n <span class=\"pl-1 notice-data-added\">* Data added by Hestia</span>\n <span class=\"pl-1 notice-data-updated\">** Data updated by Hestia</span>\n @if (showAggregated()) {\n <span class=\"pl-1 notice-data-aggregated\">*** Data aggregated by Hestia</span>\n }\n @if (showDeleted()) {\n <span class=\"pl-1 notice-data-deleted\">**** Data deleted by Hestia</span>\n }\n </p>\n}\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14
13
|
}
|
|
15
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BlankNodeStateNoticeComponent, decorators: [{
|
|
16
15
|
type: Component,
|
|
17
|
-
args: [{ selector: 'he-blank-node-state-notice', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "@if (show) {\n <p class=\"is-size-7 is-italic\">\n <span class=\"pl-1 notice-data-unchaged\">\u2020 Data uploaded by the user</span>\n <span class=\"pl-1 notice-data-added\">* Data added by Hestia</span>\n <span class=\"pl-1 notice-data-updated\">** Data updated by Hestia</span>\n @if (showAggregated) {\n <span class=\"pl-1 notice-data-aggregated\">*** Data aggregated by Hestia</span>\n }\n @if (showDeleted) {\n <span class=\"pl-1 notice-data-deleted\">**** Data deleted by Hestia</span>\n }\n </p>\n}\n" }]
|
|
18
|
-
}]
|
|
19
|
-
|
|
20
|
-
}], showAggregated: [{
|
|
21
|
-
type: Input
|
|
22
|
-
}], showDeleted: [{
|
|
23
|
-
type: Input
|
|
24
|
-
}] } });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxhbmstbm9kZS1zdGF0ZS1ub3RpY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9ibGFuay1ub2RlLXN0YXRlLW5vdGljZS9ibGFuay1ub2RlLXN0YXRlLW5vdGljZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2JsYW5rLW5vZGUtc3RhdGUtbm90aWNlL2JsYW5rLW5vZGUtc3RhdGUtbm90aWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFTOUMsTUFBTSxPQUFPLDZCQUE2QjtJQVAxQztRQVdTLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBRXRCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBSzVCO0lBSEMsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDL0MsQ0FBQzs4R0FWVSw2QkFBNkI7a0dBQTdCLDZCQUE2Qix3TENWMUMsOGhCQWFBOzsyRkRIYSw2QkFBNkI7a0JBUHpDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUk7OEJBSVIsU0FBUztzQkFEaEIsS0FBSztnQkFHQyxjQUFjO3NCQURwQixLQUFLO2dCQUdDLFdBQVc7c0JBRGpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0YVN0YXRlIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZS1ibGFuay1ub2RlLXN0YXRlLW5vdGljZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9ibGFuay1ub2RlLXN0YXRlLW5vdGljZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JsYW5rLW5vZGUtc3RhdGUtbm90aWNlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJsYW5rTm9kZVN0YXRlTm90aWNlQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHJpdmF0ZSBkYXRhU3RhdGU/OiBEYXRhU3RhdGU7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93QWdncmVnYXRlZCA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93RGVsZXRlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgc2hvdygpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU3RhdGUgIT09IERhdGFTdGF0ZS5vcmlnaW5hbDtcbiAgfVxufVxuIiwiQGlmIChzaG93KSB7XG4gIDxwIGNsYXNzPVwiaXMtc2l6ZS03IGlzLWl0YWxpY1wiPlxuICAgIDxzcGFuIGNsYXNzPVwicGwtMSBub3RpY2UtZGF0YS11bmNoYWdlZFwiPuKAoCBEYXRhIHVwbG9hZGVkIGJ5IHRoZSB1c2VyPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwicGwtMSBub3RpY2UtZGF0YS1hZGRlZFwiPiogRGF0YSBhZGRlZCBieSBIZXN0aWE8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJwbC0xIG5vdGljZS1kYXRhLXVwZGF0ZWRcIj4qKiBEYXRhIHVwZGF0ZWQgYnkgSGVzdGlhPC9zcGFuPlxuICAgIEBpZiAoc2hvd0FnZ3JlZ2F0ZWQpIHtcbiAgICAgIDxzcGFuIGNsYXNzPVwicGwtMSBub3RpY2UtZGF0YS1hZ2dyZWdhdGVkXCI+KioqIERhdGEgYWdncmVnYXRlZCBieSBIZXN0aWE8L3NwYW4+XG4gICAgfVxuICAgIEBpZiAoc2hvd0RlbGV0ZWQpIHtcbiAgICAgIDxzcGFuIGNsYXNzPVwicGwtMSBub3RpY2UtZGF0YS1kZWxldGVkXCI+KioqKiBEYXRhIGRlbGV0ZWQgYnkgSGVzdGlhPC9zcGFuPlxuICAgIH1cbiAgPC9wPlxufVxuIl19
|
|
16
|
+
args: [{ selector: 'he-blank-node-state-notice', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "@if (show()) {\n <p class=\"is-size-7 is-italic\">\n <span class=\"pl-1 notice-data-unchaged\">\u2020 Data uploaded by the user</span>\n <span class=\"pl-1 notice-data-added\">* Data added by Hestia</span>\n <span class=\"pl-1 notice-data-updated\">** Data updated by Hestia</span>\n @if (showAggregated()) {\n <span class=\"pl-1 notice-data-aggregated\">*** Data aggregated by Hestia</span>\n }\n @if (showDeleted()) {\n <span class=\"pl-1 notice-data-deleted\">**** Data deleted by Hestia</span>\n }\n </p>\n}\n" }]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxhbmstbm9kZS1zdGF0ZS1ub3RpY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9ibGFuay1ub2RlLXN0YXRlLW5vdGljZS9ibGFuay1ub2RlLXN0YXRlLW5vdGljZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2JsYW5rLW5vZGUtc3RhdGUtbm90aWNlL2JsYW5rLW5vZGUtc3RhdGUtbm90aWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBUzlDLE1BQU0sT0FBTyw2QkFBNkI7SUFQMUM7UUFRWSxjQUFTLEdBQUcsS0FBSyxFQUFhLENBQUM7UUFDL0IsbUJBQWMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsZ0JBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFM0IsU0FBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQzFFOzhHQU5ZLDZCQUE2QjtrR0FBN0IsNkJBQTZCLG1nQkNWMUMsb2lCQWFBOzsyRkRIYSw2QkFBNkI7a0JBUHpDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFTdGF0ZSB9IGZyb20gJ0BoZXN0aWEtZWFydGgvYXBpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtYmxhbmstbm9kZS1zdGF0ZS1ub3RpY2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmxhbmstbm9kZS1zdGF0ZS1ub3RpY2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ibGFuay1ub2RlLXN0YXRlLW5vdGljZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCbGFua05vZGVTdGF0ZU5vdGljZUNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBkYXRhU3RhdGUgPSBpbnB1dDxEYXRhU3RhdGU+KCk7XG4gIHByb3RlY3RlZCBzaG93QWdncmVnYXRlZCA9IGlucHV0KHRydWUpO1xuICBwcm90ZWN0ZWQgc2hvd0RlbGV0ZWQgPSBpbnB1dChmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIHNob3cgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmRhdGFTdGF0ZSgpICE9PSBEYXRhU3RhdGUub3JpZ2luYWwpO1xufVxuIiwiQGlmIChzaG93KCkpIHtcbiAgPHAgY2xhc3M9XCJpcy1zaXplLTcgaXMtaXRhbGljXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJwbC0xIG5vdGljZS1kYXRhLXVuY2hhZ2VkXCI+4oCgIERhdGEgdXBsb2FkZWQgYnkgdGhlIHVzZXI8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJwbC0xIG5vdGljZS1kYXRhLWFkZGVkXCI+KiBEYXRhIGFkZGVkIGJ5IEhlc3RpYTwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInBsLTEgbm90aWNlLWRhdGEtdXBkYXRlZFwiPioqIERhdGEgdXBkYXRlZCBieSBIZXN0aWE8L3NwYW4+XG4gICAgQGlmIChzaG93QWdncmVnYXRlZCgpKSB7XG4gICAgICA8c3BhbiBjbGFzcz1cInBsLTEgbm90aWNlLWRhdGEtYWdncmVnYXRlZFwiPioqKiBEYXRhIGFnZ3JlZ2F0ZWQgYnkgSGVzdGlhPC9zcGFuPlxuICAgIH1cbiAgICBAaWYgKHNob3dEZWxldGVkKCkpIHtcbiAgICAgIDxzcGFuIGNsYXNzPVwicGwtMSBub3RpY2UtZGF0YS1kZWxldGVkXCI+KioqKiBEYXRhIGRlbGV0ZWQgYnkgSGVzdGlhPC9zcGFuPlxuICAgIH1cbiAgPC9wPlxufVxuIl19
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Component, ElementRef, HostBinding, HostListener,
|
|
1
|
+
import { ChangeDetectorRef, Component, DestroyRef, ElementRef, HostBinding, HostListener, inject, input } from '@angular/core';
|
|
2
2
|
import { NavigationMenuService } from '../navigation-menu.service';
|
|
3
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
const defaultSize = '100%';
|
|
5
6
|
export class DataTableComponent {
|
|
6
7
|
get isSmall() {
|
|
7
|
-
return this.small;
|
|
8
|
+
return this.small();
|
|
8
9
|
}
|
|
9
10
|
onResize() {
|
|
10
11
|
this.updateTableSize();
|
|
11
12
|
}
|
|
12
13
|
constructor() {
|
|
14
|
+
this.destroyRef = inject(DestroyRef);
|
|
13
15
|
this.elementRef = inject(ElementRef);
|
|
14
16
|
this.changeRef = inject(ChangeDetectorRef);
|
|
15
17
|
this.navigationMenuService = inject(NavigationMenuService);
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
18
|
-
this.small = false;
|
|
18
|
+
this.minHeight = input(200);
|
|
19
|
+
this.maxHeight = input();
|
|
20
|
+
this.small = input(false);
|
|
19
21
|
this.height = defaultSize;
|
|
20
22
|
this.width = defaultSize;
|
|
21
|
-
this.
|
|
23
|
+
this.menuCollapsed$ = this.navigationMenuService.collapsed$.pipe(takeUntilDestroyed(this.destroyRef));
|
|
24
|
+
this.menuCollapsed$.subscribe(() => setTimeout(() => {
|
|
22
25
|
this.updateTableSize();
|
|
23
26
|
this.changeRef.detectChanges();
|
|
24
|
-
}))
|
|
25
|
-
}
|
|
26
|
-
ngOnDestroy() {
|
|
27
|
-
this.subscriptions.forEach(subscription => subscription.unsubscribe());
|
|
27
|
+
}));
|
|
28
28
|
}
|
|
29
29
|
ngAfterViewInit() {
|
|
30
30
|
this.updateTableSize();
|
|
@@ -39,37 +39,25 @@ export class DataTableComponent {
|
|
|
39
39
|
get tableEl() {
|
|
40
40
|
return this.elementRef.nativeElement.querySelector('table');
|
|
41
41
|
}
|
|
42
|
-
get nbHeaders() {
|
|
43
|
-
return this.elementRef?.nativeElement?.querySelectorAll('.table thead tr')?.length || 1;
|
|
44
|
-
}
|
|
45
|
-
get rowHeight() {
|
|
46
|
-
return this.small ? 30 : 42;
|
|
47
|
-
}
|
|
48
42
|
updateTableSize() {
|
|
49
43
|
const height = this.tableEl.offsetHeight;
|
|
50
|
-
const minHeight = this.minHeight ? +this.minHeight : height;
|
|
51
|
-
const maxHeight = this.maxHeight ? +this.maxHeight : height;
|
|
44
|
+
const minHeight = this.minHeight() ? +this.minHeight() : height;
|
|
45
|
+
const maxHeight = this.maxHeight() ? +this.maxHeight() : height;
|
|
52
46
|
this.height = `${Math.max(minHeight, Math.min(height, maxHeight))}px`;
|
|
53
47
|
const width = this.elementRef?.nativeElement?.offsetWidth;
|
|
54
48
|
this.width = width ? `${width}px` : defaultSize;
|
|
55
49
|
}
|
|
56
50
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: DataTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
57
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: DataTableComponent, isStandalone: true, selector: "he-data-table", inputs: { minHeight: "minHeight", maxHeight: "maxHeight", small: "small" }, host: { listeners: { "window:resize": "onResize()" }, properties: { "class.is-small": "this.isSmall" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"data-table-holder\" [style.height]=\"height\" [style.width]=\"width\">\n <div class=\"data-table-content\" [style.height]=\"height\" [style.width]=\"width\">\n <div class=\"table-container\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;height:inherit;width:100%}:host *{box-sizing:border-box}:host .data-table-holder{overflow:hidden;position:relative;z-index:1}:host .data-table-content{position:absolute;top:0;left:0;z-index:1}:host ::ng-deep *{box-sizing:border-box}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container{overflow:auto!important;width:100%;height:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table{width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{height:42px;white-space:nowrap}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{border:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th span:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td span:first-child{display:inline-block;max-width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table .fixed-column{position:sticky}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{z-index:10}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{z-index:11}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{top:0;z-index:1070}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column{z-index:1071}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:0;max-width:300px;width:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{max-width:180px;width:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right{box-shadow:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right:after{position:absolute;content:\"\";height:100%;top:0;right:0;width:4px;box-shadow:2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #ffc000,inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #ffc000,2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.fixed-column.has-border-right:after{box-shadow:2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #c5cdd5,inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #c5cdd5,2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr{background-color:transparent!important}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr th{top:42px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr+tr th{top:84px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{background-color:#fff}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-hoverable>tbody>tr:not(.is-selected):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped>tbody>tr:not(.is-selected):nth-child(2n)>td{background-color:#fefcf7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped.is-hoverable>tr:not(.is-selected):nth-child(2n):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow{font-size:.8rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th{height:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:200px;max-width:200px;width:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:160px;max-width:160px;width:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr th{top:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr+tr th{top:60px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{height:30px;font-size:.8rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{padding-top:5px;padding-bottom:5px}\n"] }); }
|
|
51
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.8", type: DataTableComponent, isStandalone: true, selector: "he-data-table", inputs: { minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:resize": "onResize()" }, properties: { "class.is-small": "this.isSmall" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"data-table-holder\" [style.height]=\"height\" [style.width]=\"width\">\n <div class=\"data-table-content\" [style.height]=\"height\" [style.width]=\"width\">\n <div class=\"table-container\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;height:inherit;width:100%}:host *{box-sizing:border-box}:host .data-table-holder{overflow:hidden;position:relative;z-index:1}:host .data-table-content{position:absolute;top:0;left:0;z-index:1}:host ::ng-deep *{box-sizing:border-box}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container{overflow:auto!important;width:100%;height:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table{width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{height:42px;white-space:nowrap}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{border:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th span:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td span:first-child{display:inline-block;max-width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table .fixed-column{position:sticky}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{z-index:10}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{z-index:11}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{top:0;z-index:1070}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column{z-index:1071}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:0;max-width:300px;width:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{max-width:180px;width:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right{box-shadow:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right:after{position:absolute;content:\"\";height:100%;top:0;right:0;width:4px;box-shadow:2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #ffc000,inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #ffc000,2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.fixed-column.has-border-right:after{box-shadow:2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #c5cdd5,inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #c5cdd5,2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr{background-color:transparent!important}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr th{top:42px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr+tr th{top:84px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{background-color:#fff}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-hoverable>tbody>tr:not(.is-selected):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped>tbody>tr:not(.is-selected):nth-child(2n)>td{background-color:#fefcf7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped.is-hoverable>tr:not(.is-selected):nth-child(2n):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow{font-size:.8rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th{height:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:200px;max-width:200px;width:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:160px;max-width:160px;width:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr th{top:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr+tr th{top:60px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{height:30px;font-size:.8rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{padding-top:5px;padding-bottom:5px}\n"] }); }
|
|
58
52
|
}
|
|
59
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: DataTableComponent, decorators: [{
|
|
60
54
|
type: Component,
|
|
61
55
|
args: [{ selector: 'he-data-table', standalone: true, template: "<div class=\"data-table-holder\" [style.height]=\"height\" [style.width]=\"width\">\n <div class=\"data-table-content\" [style.height]=\"height\" [style.width]=\"width\">\n <div class=\"table-container\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;height:inherit;width:100%}:host *{box-sizing:border-box}:host .data-table-holder{overflow:hidden;position:relative;z-index:1}:host .data-table-content{position:absolute;top:0;left:0;z-index:1}:host ::ng-deep *{box-sizing:border-box}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container{overflow:auto!important;width:100%;height:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table{width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{height:42px;white-space:nowrap}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{border:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th span:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td span:first-child{display:inline-block;max-width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table .fixed-column{position:sticky}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{z-index:10}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{z-index:11}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{top:0;z-index:1070}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column{z-index:1071}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:0;max-width:300px;width:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{max-width:180px;width:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right{box-shadow:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right:after{position:absolute;content:\"\";height:100%;top:0;right:0;width:4px;box-shadow:2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #ffc000,inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #ffc000,2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.fixed-column.has-border-right:after{box-shadow:2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #c5cdd5,inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #c5cdd5,2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr{background-color:transparent!important}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr th{top:42px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr+tr th{top:84px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{background-color:#fff}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-hoverable>tbody>tr:not(.is-selected):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped>tbody>tr:not(.is-selected):nth-child(2n)>td{background-color:#fefcf7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped.is-hoverable>tr:not(.is-selected):nth-child(2n):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow{font-size:.8rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th{height:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:200px;max-width:200px;width:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:160px;max-width:160px;width:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr th{top:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr+tr th{top:60px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{height:30px;font-size:.8rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{padding-top:5px;padding-bottom:5px}\n"] }]
|
|
62
|
-
}], ctorParameters: () => [], propDecorators: {
|
|
63
|
-
type: Input
|
|
64
|
-
}], maxHeight: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}], small: [{
|
|
67
|
-
type: Input
|
|
68
|
-
}], isSmall: [{
|
|
56
|
+
}], ctorParameters: () => [], propDecorators: { isSmall: [{
|
|
69
57
|
type: HostBinding,
|
|
70
58
|
args: ['class.is-small']
|
|
71
59
|
}], onResize: [{
|
|
72
60
|
type: HostListener,
|
|
73
61
|
args: ['window:resize', []]
|
|
74
62
|
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBR1osTUFBTSxFQUNOLEtBQUssRUFDTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFaEUsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDO0FBUTNCLE1BQU0sT0FBTyxrQkFBa0I7SUFhN0IsSUFDVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFHUyxRQUFRO1FBQ2hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBSUQ7UUF4QlEsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN0QywwQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUVwRCxjQUFTLEdBQUcsS0FBSyxDQUFrQixHQUFHLENBQUMsQ0FBQztRQUN4QyxjQUFTLEdBQUcsS0FBSyxFQUFtQixDQUFDO1FBQ3JDLFVBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFckIsV0FBTSxHQUFHLFdBQVcsQ0FBQztRQUNyQixVQUFLLEdBQUcsV0FBVyxDQUFDO1FBWXRCLG1CQUFjLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFHdkcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQ2pDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BFLE9BQU8sVUFBVSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyxlQUFlO1FBQ3JCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ3pDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNoRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN0RSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUM7UUFDMUQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUNsRCxDQUFDOzhHQTFEVSxrQkFBa0I7a0dBQWxCLGtCQUFrQixvbEJDMUIvQixtUkFPQTs7MkZEbUJhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxlQUFlLGNBR2IsSUFBSTt3REFnQkwsT0FBTztzQkFEakIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTW5CLFFBQVE7c0JBRGpCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIGluamVjdCxcbiAgaW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5hdmlnYXRpb25NZW51U2VydmljZSB9IGZyb20gJy4uL25hdmlnYXRpb24tbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuY29uc3QgZGVmYXVsdFNpemUgPSAnMTAwJSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hlLWRhdGEtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGEtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRDaGVja2VkLCBPbkNoYW5nZXMge1xuICBwcml2YXRlIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBjaGFuZ2VSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIG5hdmlnYXRpb25NZW51U2VydmljZSA9IGluamVjdChOYXZpZ2F0aW9uTWVudVNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBtaW5IZWlnaHQgPSBpbnB1dDxzdHJpbmcgfCBudW1iZXI+KDIwMCk7XG4gIHByb3RlY3RlZCBtYXhIZWlnaHQgPSBpbnB1dDxzdHJpbmcgfCBudW1iZXI+KCk7XG4gIHByb3RlY3RlZCBzbWFsbCA9IGlucHV0KGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgaGVpZ2h0ID0gZGVmYXVsdFNpemU7XG4gIHByb3RlY3RlZCB3aWR0aCA9IGRlZmF1bHRTaXplO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc21hbGwnKVxuICBwdWJsaWMgZ2V0IGlzU21hbGwoKSB7XG4gICAgcmV0dXJuIHRoaXMuc21hbGwoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbXSlcbiAgcHJvdGVjdGVkIG9uUmVzaXplKCkge1xuICAgIHRoaXMudXBkYXRlVGFibGVTaXplKCk7XG4gIH1cblxuICBwcml2YXRlIG1lbnVDb2xsYXBzZWQkID0gdGhpcy5uYXZpZ2F0aW9uTWVudVNlcnZpY2UuY29sbGFwc2VkJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLm1lbnVDb2xsYXBzZWQkLnN1YnNjcmliZSgoKSA9PlxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlVGFibGVTaXplKCk7XG4gICAgICAgIHRoaXMuY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnVwZGF0ZVRhYmxlU2l6ZSgpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCkge1xuICAgIHRoaXMudXBkYXRlVGFibGVTaXplKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgaGFzQ2hhbmdlcyA9IE9iamVjdC52YWx1ZXMoY2hhbmdlcykuc29tZSh2ID0+ICF2LmZpcnN0Q2hhbmdlKTtcbiAgICByZXR1cm4gaGFzQ2hhbmdlcyAmJiB0aGlzLnVwZGF0ZVRhYmxlU2l6ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdGFibGVFbCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndGFibGUnKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVGFibGVTaXplKCkge1xuICAgIGNvbnN0IGhlaWdodCA9IHRoaXMudGFibGVFbC5vZmZzZXRIZWlnaHQ7XG4gICAgY29uc3QgbWluSGVpZ2h0ID0gdGhpcy5taW5IZWlnaHQoKSA/ICt0aGlzLm1pbkhlaWdodCgpIDogaGVpZ2h0O1xuICAgIGNvbnN0IG1heEhlaWdodCA9IHRoaXMubWF4SGVpZ2h0KCkgPyArdGhpcy5tYXhIZWlnaHQoKSA6IGhlaWdodDtcbiAgICB0aGlzLmhlaWdodCA9IGAke01hdGgubWF4KG1pbkhlaWdodCwgTWF0aC5taW4oaGVpZ2h0LCBtYXhIZWlnaHQpKX1weGA7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ/Lm9mZnNldFdpZHRoO1xuICAgIHRoaXMud2lkdGggPSB3aWR0aCA/IGAke3dpZHRofXB4YCA6IGRlZmF1bHRTaXplO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGF0YS10YWJsZS1ob2xkZXJcIiBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodFwiIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiPlxuICA8ZGl2IGNsYXNzPVwiZGF0YS10YWJsZS1jb250ZW50XCIgW3N0eWxlLmhlaWdodF09XCJoZWlnaHRcIiBbc3R5bGUud2lkdGhdPVwid2lkdGhcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29udGFpbmVyXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, HostListener,
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, HostListener, inject, input } from '@angular/core';
|
|
2
2
|
import { NgbTooltip } from '@ng-bootstrap/ng-bootstrap';
|
|
3
3
|
import { ClickOutsideDirective } from '../click-outside.directive';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
@@ -7,9 +7,10 @@ export class DropdownComponent {
|
|
|
7
7
|
constructor() {
|
|
8
8
|
this.elementRef = inject(ElementRef);
|
|
9
9
|
this.id = `dropdown-${dropdownId++}`;
|
|
10
|
-
this.
|
|
11
|
-
this.
|
|
12
|
-
this.
|
|
10
|
+
this.tooltip = input();
|
|
11
|
+
this.dropdownClass = input('');
|
|
12
|
+
this.dropdownButtonClass = input('');
|
|
13
|
+
this.dropdownContentClass = input('');
|
|
13
14
|
this.showDropdown = false;
|
|
14
15
|
}
|
|
15
16
|
get menuId() {
|
|
@@ -21,24 +22,16 @@ export class DropdownComponent {
|
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
24
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.8", type: DropdownComponent, isStandalone: true, selector: "he-dropdown", inputs: { tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, dropdownClass: { classPropertyName: "dropdownClass", publicName: "dropdownClass", isSignal: true, isRequired: false, transformFunction: null }, dropdownButtonClass: { classPropertyName: "dropdownButtonClass", publicName: "dropdownButtonClass", isSignal: true, isRequired: false, transformFunction: null }, dropdownContentClass: { classPropertyName: "dropdownContentClass", publicName: "dropdownContentClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "document:click": "onClick($event)" }, properties: { "id": "this.id" } }, ngImport: i0, template: "<div [class.is-active]=\"showDropdown\" (clickOutside)=\"showDropdown = false\" class=\"dropdown {{ dropdownClass() }}\">\n <div (click)=\"showDropdown = !showDropdown\" class=\"dropdown-trigger\">\n <button\n [class.is-active]=\"showDropdown\"\n [disableTooltip]=\"showDropdown\"\n [attr.aria-controls]=\"menuId\"\n [ngbTooltip]=\"tooltip()\"\n class=\"button {{ dropdownButtonClass() }}\"\n aria-haspopup=\"true\"\n container=\"body\"\n placement=\"bottom\">\n <ng-content select=\"[label]\"></ng-content>\n </button>\n </div>\n\n <div class=\"dropdown-menu\" [id]=\"menuId\" role=\"menu\">\n <div (click)=\"showDropdown = false\" class=\"dropdown-content {{ dropdownContentClass() }}\">\n <ng-content select=\"[menu]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".dropdown-item>span{border-left:2px solid transparent}\n"], dependencies: [{ kind: "directive", type: ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideListenAfter"], outputs: ["clickOutside"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25
26
|
}
|
|
26
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
27
28
|
type: Component,
|
|
28
|
-
args: [{ selector: 'he-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ClickOutsideDirective, NgbTooltip], template: "<div [class.is-active]=\"showDropdown\" (clickOutside)=\"showDropdown = false\" class=\"dropdown {{ dropdownClass }}\">\n <div (click)=\"showDropdown = !showDropdown\" class=\"dropdown-trigger\">\n <button\n [class.is-active]=\"showDropdown\"\n [disableTooltip]=\"showDropdown\"\n [attr.aria-controls]=\"menuId\"\n [ngbTooltip]=\"tooltip\"\n class=\"button {{ dropdownButtonClass }}\"\n aria-haspopup=\"true\"\n container=\"body\"\n placement=\"bottom\">\n <ng-content select=\"[label]\"></ng-content>\n </button>\n </div>\n\n <div class=\"dropdown-menu\" [id]=\"menuId\" role=\"menu\">\n <div (click)=\"showDropdown = false\" class=\"dropdown-content {{ dropdownContentClass }}\">\n <ng-content select=\"[menu]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".dropdown-item>span{border-left:2px solid transparent}\n"] }]
|
|
29
|
+
args: [{ selector: 'he-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ClickOutsideDirective, NgbTooltip], template: "<div [class.is-active]=\"showDropdown\" (clickOutside)=\"showDropdown = false\" class=\"dropdown {{ dropdownClass() }}\">\n <div (click)=\"showDropdown = !showDropdown\" class=\"dropdown-trigger\">\n <button\n [class.is-active]=\"showDropdown\"\n [disableTooltip]=\"showDropdown\"\n [attr.aria-controls]=\"menuId\"\n [ngbTooltip]=\"tooltip()\"\n class=\"button {{ dropdownButtonClass() }}\"\n aria-haspopup=\"true\"\n container=\"body\"\n placement=\"bottom\">\n <ng-content select=\"[label]\"></ng-content>\n </button>\n </div>\n\n <div class=\"dropdown-menu\" [id]=\"menuId\" role=\"menu\">\n <div (click)=\"showDropdown = false\" class=\"dropdown-content {{ dropdownContentClass() }}\">\n <ng-content select=\"[menu]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".dropdown-item>span{border-left:2px solid transparent}\n"] }]
|
|
29
30
|
}], propDecorators: { id: [{
|
|
30
31
|
type: HostBinding,
|
|
31
32
|
args: ['id']
|
|
32
|
-
}], tooltip: [{
|
|
33
|
-
type: Input
|
|
34
|
-
}], dropdownClass: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}], dropdownButtonClass: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}], dropdownContentClass: [{
|
|
39
|
-
type: Input
|
|
40
33
|
}], onClick: [{
|
|
41
34
|
type: HostListener,
|
|
42
35
|
args: ['document:click', ['$event']]
|
|
43
36
|
}] } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVuRSxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFVbkIsTUFBTSxPQUFPLGlCQUFpQjtJQVI5QjtRQVNVLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFHOUIsT0FBRSxHQUFHLFlBQVksVUFBVSxFQUFFLEVBQUUsQ0FBQztRQUVoQyxZQUFPLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDMUIsa0JBQWEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsd0JBQW1CLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLHlCQUFvQixHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQU1qQyxpQkFBWSxHQUFHLEtBQUssQ0FBQztLQVFoQztJQVpDLElBQWMsTUFBTTtRQUNsQixPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFLRCxPQUFPLENBQUMsS0FBaUI7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQzs4R0F0QlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsdXdCQ3ZCOUIsK3pCQXFCQSxrSERBWSxxQkFBcUIsMkhBQUUsVUFBVTs7MkZBRWhDLGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDRSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMscUJBQXFCLEVBQUUsVUFBVSxDQUFDOzhCQU1sQyxFQUFFO3NCQURYLFdBQVc7dUJBQUMsSUFBSTtnQkFlakIsT0FBTztzQkFETixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBpbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYlRvb2x0aXAgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5cbmltcG9ydCB7IENsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gJy4uL2NsaWNrLW91dHNpZGUuZGlyZWN0aXZlJztcblxubGV0IGRyb3Bkb3duSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZS1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLCBOZ2JUb29sdGlwXVxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCB7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBASG9zdEJpbmRpbmcoJ2lkJylcbiAgcHJvdGVjdGVkIGlkID0gYGRyb3Bkb3duLSR7ZHJvcGRvd25JZCsrfWA7XG5cbiAgcHJvdGVjdGVkIHRvb2x0aXAgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHByb3RlY3RlZCBkcm9wZG93bkNsYXNzID0gaW5wdXQoJycpO1xuICBwcm90ZWN0ZWQgZHJvcGRvd25CdXR0b25DbGFzcyA9IGlucHV0KCcnKTtcbiAgcHJvdGVjdGVkIGRyb3Bkb3duQ29udGVudENsYXNzID0gaW5wdXQoJycpO1xuXG4gIHByb3RlY3RlZCBnZXQgbWVudUlkKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmlkfS1tZW51YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBzaG93RHJvcGRvd24gPSBmYWxzZTtcblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IFtjbGFzcy5pcy1hY3RpdmVdPVwic2hvd0Ryb3Bkb3duXCIgKGNsaWNrT3V0c2lkZSk9XCJzaG93RHJvcGRvd24gPSBmYWxzZVwiIGNsYXNzPVwiZHJvcGRvd24ge3sgZHJvcGRvd25DbGFzcygpIH19XCI+XG4gIDxkaXYgKGNsaWNrKT1cInNob3dEcm9wZG93biA9ICFzaG93RHJvcGRvd25cIiBjbGFzcz1cImRyb3Bkb3duLXRyaWdnZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICBbY2xhc3MuaXMtYWN0aXZlXT1cInNob3dEcm9wZG93blwiXG4gICAgICBbZGlzYWJsZVRvb2x0aXBdPVwic2hvd0Ryb3Bkb3duXCJcbiAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwibWVudUlkXCJcbiAgICAgIFtuZ2JUb29sdGlwXT1cInRvb2x0aXAoKVwiXG4gICAgICBjbGFzcz1cImJ1dHRvbiB7eyBkcm9wZG93bkJ1dHRvbkNsYXNzKCkgfX1cIlxuICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgY29udGFpbmVyPVwiYm9keVwiXG4gICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltsYWJlbF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgW2lkXT1cIm1lbnVJZFwiIHJvbGU9XCJtZW51XCI+XG4gICAgPGRpdiAoY2xpY2spPVwic2hvd0Ryb3Bkb3duID0gZmFsc2VcIiBjbGFzcz1cImRyb3Bkb3duLWNvbnRlbnQge3sgZHJvcGRvd25Db250ZW50Q2xhc3MoKSB9fVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21lbnVdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|