@cuby-ui/core 0.0.60 → 0.0.64
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/components/context-menu/context-menu.component.d.ts +4 -0
- package/esm2020/components/context-menu/context-menu.component.mjs +22 -8
- package/fesm2015/cuby-ui-core.mjs +21 -7
- package/fesm2015/cuby-ui-core.mjs.map +1 -1
- package/fesm2020/cuby-ui-core.mjs +21 -7
- package/fesm2020/cuby-ui-core.mjs.map +1 -1
- package/package.json +3 -3
|
@@ -7,6 +7,7 @@ export declare class CuiContextMenuComponent implements OnInit, AfterViewInit {
|
|
|
7
7
|
private readonly element;
|
|
8
8
|
private readonly document;
|
|
9
9
|
private readonly documentElement;
|
|
10
|
+
private readonly window;
|
|
10
11
|
private readonly destroy$;
|
|
11
12
|
private readonly cuiClickOutsideDirective;
|
|
12
13
|
private readonly cuiTargetDirective;
|
|
@@ -27,6 +28,9 @@ export declare class CuiContextMenuComponent implements OnInit, AfterViewInit {
|
|
|
27
28
|
protected trackByFn(_: number, item: CuiContextMenuItem): string;
|
|
28
29
|
private initClickOutsideSubscription;
|
|
29
30
|
private initTargetElementListener;
|
|
31
|
+
private initHidingSubscription;
|
|
32
|
+
private initHidingFromWindowEvent;
|
|
33
|
+
private close;
|
|
30
34
|
private changePosition;
|
|
31
35
|
static ɵfac: i0.ɵɵFactoryDeclaration<CuiContextMenuComponent, never>;
|
|
32
36
|
static ɵcmp: i0.ɵɵComponentDeclaration<CuiContextMenuComponent, "cui-context-menu[items][target]", never, { "items": "items"; "target": "target"; }, {}, never, never, false, [{ directive: typeof i1.CuiClickOutsideDirective; inputs: {}; outputs: {}; }, { directive: typeof i1.CuiTargetDirective; inputs: { "ccTarget": "target"; }; outputs: {}; }]>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, HostListener, inject, Input } from '@angular/core';
|
|
2
2
|
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import { takeUntil } from 'rxjs';
|
|
4
|
-
import { CuiDestroyService, CuiClickOutsideDirective, CuiTargetDirective } from '@cuby-ui/cdk';
|
|
3
|
+
import { fromEvent, take, takeUntil } from 'rxjs';
|
|
4
|
+
import { CuiDestroyService, CuiClickOutsideDirective, CuiTargetDirective, CUI_WINDOW } from '@cuby-ui/cdk';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@cuby-ui/cdk";
|
|
7
7
|
import * as i2 from "@angular/common";
|
|
@@ -12,6 +12,7 @@ export class CuiContextMenuComponent {
|
|
|
12
12
|
this.element = inject(ElementRef).nativeElement;
|
|
13
13
|
this.document = inject(DOCUMENT);
|
|
14
14
|
this.documentElement = this.document.documentElement;
|
|
15
|
+
this.window = inject(CUI_WINDOW);
|
|
15
16
|
this.destroy$ = inject(CuiDestroyService, { self: true });
|
|
16
17
|
this.cuiClickOutsideDirective = inject(CuiClickOutsideDirective, { self: true });
|
|
17
18
|
this.cuiTargetDirective = inject(CuiTargetDirective, { self: true });
|
|
@@ -31,7 +32,7 @@ export class CuiContextMenuComponent {
|
|
|
31
32
|
item.command?.();
|
|
32
33
|
}
|
|
33
34
|
onClose() {
|
|
34
|
-
this.
|
|
35
|
+
this.close();
|
|
35
36
|
}
|
|
36
37
|
onStopClickPropagation(event) {
|
|
37
38
|
event.stopPropagation();
|
|
@@ -54,6 +55,7 @@ export class CuiContextMenuComponent {
|
|
|
54
55
|
this.isVisible = !this.isVisible;
|
|
55
56
|
if (this.isVisible) {
|
|
56
57
|
this.changePosition(clientX, clientY);
|
|
58
|
+
this.initHidingSubscription();
|
|
57
59
|
}
|
|
58
60
|
this.changeDetectorRef.markForCheck();
|
|
59
61
|
};
|
|
@@ -61,6 +63,21 @@ export class CuiContextMenuComponent {
|
|
|
61
63
|
.pipe(takeUntil(this.destroy$))
|
|
62
64
|
.subscribe(this.targetEventListener);
|
|
63
65
|
}
|
|
66
|
+
initHidingSubscription() {
|
|
67
|
+
this.initHidingFromWindowEvent('scroll');
|
|
68
|
+
this.initHidingFromWindowEvent('resize');
|
|
69
|
+
}
|
|
70
|
+
initHidingFromWindowEvent(eventName) {
|
|
71
|
+
fromEvent(this.window, eventName)
|
|
72
|
+
.pipe(take(1))
|
|
73
|
+
.subscribe(() => {
|
|
74
|
+
this.close();
|
|
75
|
+
this.changeDetectorRef.markForCheck();
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
close() {
|
|
79
|
+
this.isVisible = false;
|
|
80
|
+
}
|
|
64
81
|
changePosition(x, y) {
|
|
65
82
|
this.isHidden = true;
|
|
66
83
|
setTimeout(() => {
|
|
@@ -85,7 +102,7 @@ export class CuiContextMenuComponent {
|
|
|
85
102
|
}
|
|
86
103
|
}
|
|
87
104
|
CuiContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
88
|
-
CuiContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: { items: "items", target: "target" }, host: { listeners: { "window:
|
|
105
|
+
CuiContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: { items: "items", target: "target" }, host: { listeners: { "window:resize": "onClose()", "click": "onStopClickPropagation($event)" }, properties: { "class._hidden": "this.isHidden", "style.left.px": "this.clientX", "style.top.px": "this.clientY" } }, providers: [CuiDestroyService], hostDirectives: [{ directive: i1.CuiClickOutsideDirective }, { directive: i1.CuiTargetDirective, inputs: ["ccTarget", "target"] }], ngImport: i0, template: "<ul\n *ngIf=\"isVisible\"\n class=\"c-ul\"\n>\n <li\n *ngFor=\"let item of items; trackBy: trackByFn\"\n [style.color]=\"item.color\"\n >\n <button\n class=\"c-button\"\n (click)=\"onSelect(item)\"\n >\n <cui-svg\n *ngIf=\"item.icon\"\n [icon]=\"item.icon\"\n [color]=\"item.color\"\n ></cui-svg>\n <span>{{ item.label }}</span>\n </button>\n </li>\n</ul>\n", styles: [":host{position:fixed;z-index:2;display:block;width:268px;border-radius:8px}:host._hidden{visibility:hidden}.c-ul{padding:7px 0;margin:0;list-style:none;font-weight:400;font-size:14px;line-height:20px;box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;border:1px solid var(--cui-base-200);border-radius:inherit;background:var(--cui-base-0);color:var(--cui-base-900);font-family:var(--cui-main-font)}.c-button{padding:8px 11px 8px 0;border:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:8px 11px;width:100%;display:flex;align-items:center;gap:12px}.c-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-button:hover{background:var(--cui-base-50)}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
89
106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuComponent, decorators: [{
|
|
90
107
|
type: Component,
|
|
91
108
|
args: [{ selector: 'cui-context-menu[items][target]', changeDetection: ChangeDetectionStrategy.OnPush, providers: [CuiDestroyService], hostDirectives: [
|
|
@@ -109,13 +126,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
109
126
|
type: HostBinding,
|
|
110
127
|
args: ['style.top.px']
|
|
111
128
|
}], onClose: [{
|
|
112
|
-
type: HostListener,
|
|
113
|
-
args: ['window:scroll']
|
|
114
|
-
}, {
|
|
115
129
|
type: HostListener,
|
|
116
130
|
args: ['window:resize']
|
|
117
131
|
}], onStopClickPropagation: [{
|
|
118
132
|
type: HostListener,
|
|
119
133
|
args: ['click', ['$event']]
|
|
120
134
|
}] } });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFrQi9GLE1BQU0sT0FBTyx1QkFBdUI7SUFkcEM7UUFlbUIsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUMsWUFBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDM0MsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixvQkFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ2hELGFBQVEsR0FBRyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyRCw2QkFBd0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1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QUFDLENBQUM7WUFDOUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBRTNDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1lBRW5CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3FIQWxIVSx1QkFBdUI7eUdBQXZCLHVCQUF1QiwyVkFUdkIsQ0FBQyxpQkFBaUIsQ0FBQyw4SkN2QmhDLHlhQXFCQTs0RkRXYSx1QkFBdUI7a0JBZG5DLFNBQVM7K0JBQ0UsaUNBQWlDLG1CQUcxQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsaUJBQWlCLENBQUMsa0JBQ2Q7d0JBQ2Qsd0JBQXdCO3dCQUN4Qjs0QkFDRSxTQUFTLEVBQUUsa0JBQWtCOzRCQUM3QixNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzt5QkFDN0I7cUJBQ0Y7OEJBa0JNLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxNQUFNO3NCQURaLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxXQUFXO3VCQUFDLGVBQWU7Z0JBSWxCLE9BQU87c0JBRGhCLFdBQVc7dUJBQUMsZUFBZTtnQkFJbEIsT0FBTztzQkFEaEIsV0FBVzt1QkFBQyxjQUFjO2dCQW1CakIsT0FBTztzQkFGaEIsWUFBWTt1QkFBQyxlQUFlOztzQkFDNUIsWUFBWTt1QkFBQyxlQUFlO2dCQU1uQixzQkFBc0I7c0JBRC9CLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgSW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ3VpRGVzdHJveVNlcnZpY2UsIEN1aUNsaWNrT3V0c2lkZURpcmVjdGl2ZSwgQ3VpVGFyZ2V0RGlyZWN0aXZlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcblxuaW1wb3J0IHR5cGUgeyBDdWlDb250ZXh0TWVudUl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3VpLWNvbnRleHQtbWVudVtpdGVtc11bdGFyZ2V0XScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW0N1aURlc3Ryb3lTZXJ2aWNlXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICBDdWlDbGlja091dHNpZGVEaXJlY3RpdmUsXG4gICAge1xuICAgICAgZGlyZWN0aXZlOiBDdWlUYXJnZXREaXJlY3RpdmUsXG4gICAgICBpbnB1dHM6IFsnY2NUYXJnZXQ6IHRhcmdldCddXG4gICAgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDdWlDb250ZXh0TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBpbmplY3QoQ3VpRGVzdHJveVNlcnZpY2UsIHsgc2VsZjogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBjdWlDbGlja091dHNpZGVEaXJlY3RpdmUgPSBpbmplY3QoQ3VpQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLCB7IHNlbGY6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY3VpVGFyZ2V0RGlyZWN0aXZlID0gaW5qZWN0KEN1aVRhcmdldERpcmVjdGl2ZSwgeyBzZWxmOiB0cnVlIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBFWFRSQV9PRkZTRVRfTEVGVCA9IDA7XG4gIHByb3RlY3RlZCByZWFkb25seSBFWFRSQV9PRkZTRVRfVE9QID0gMDtcblxuICBwcm90ZWN0ZWQgaXNWaXNpYmxlID0gZmFsc2U7XG4gIHByb3RlY3RlZCB0YXJnZXRFdmVudExpc3RlbmVyITogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpdGVtcyE6IEN1aUNvbnRleHRNZW51SXRlbVtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YXJnZXQhOiBIVE1MRWxlbWVudDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9oaWRkZW4nKVxuICBpc0hpZGRlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubGVmdC5weCcpXG4gIHByb3RlY3RlZCBjbGllbnRYPzogbnVtYmVyO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUudG9wLnB4JylcbiAgcHJvdGVjdGVkIGNsaWVudFk/OiBudW1iZXI7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdENsaWNrT3V0c2lkZVN1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblNlbGVjdChpdGVtOiBDdWlDb250ZXh0TWVudUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgaXRlbS5jb21tYW5kPy4oKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnKVxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgcHJvdGVjdGVkIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9uU3RvcENsaWNrUHJvcGFnYXRpb24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0cmFja0J5Rm4oXzogbnVtYmVyLCBpdGVtOiBDdWlDb250ZXh0TWVudUl0ZW0pOiBzdHJpbmcge1xuICAgIHJldHVybiBpdGVtLmxhYmVsO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0Q2xpY2tPdXRzaWRlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuY3VpQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLmN1aUNsaWNrT3V0c2lkZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgodGFyZ2V0KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnRhcmdldC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGluaXRUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTogdm9pZCB7XG4gICAgdGhpcy50YXJnZXRFdmVudExpc3RlbmVyID0gKHsgY2xpZW50WCwgY2xpZW50WSB9KSA9PiB7XG4gICAgICB0aGlzLmlzVmlzaWJsZSA9ICF0aGlzLmlzVmlzaWJsZTtcblxuICAgICAgaWYgKHRoaXMuaXNWaXNpYmxlKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlUG9zaXRpb24oY2xpZW50WCwgY2xpZW50WSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcblxuICAgIHRoaXMuY3VpVGFyZ2V0RGlyZWN0aXZlLmNsaWNrZWRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUodGhpcy50YXJnZXRFdmVudExpc3RlbmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlUG9zaXRpb24oeDogbnVtYmVyLCB5OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmlzSGlkZGVuID0gdHJ1ZTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgeyBjbGllbnRXaWR0aCwgY2xpZW50SGVpZ2h0IH0gPSB0aGlzLmRvY3VtZW50RWxlbWVudDtcbiAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5lbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgY29uc3QgaGVpZ2h0ID0gdGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgIGxldCBsZWZ0ID0geDtcbiAgICAgIGxldCB0b3AgPSB5O1xuXG4gICAgICBpZiAobGVmdCArIHdpZHRoID4gY2xpZW50V2lkdGgpIHtcbiAgICAgICAgbGVmdCAtPSB3aWR0aDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRvcCArIGhlaWdodCA+IGNsaWVudEhlaWdodCkge1xuICAgICAgICB0b3AgLT0gaGVpZ2h0O1xuICAgICAgfVxuXG4gICAgICBsZWZ0ID0gTWF0aC5tYXgobGVmdCwgdGhpcy5FWFRSQV9PRkZTRVRfTEVGVCk7XG4gICAgICB0b3AgPSBNYXRoLm1heCh0b3AsIHRoaXMuRVhUUkFfT0ZGU0VUX1RPUCk7XG5cbiAgICAgIHRoaXMuaXNIaWRkZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuY2xpZW50WCA9IGxlZnQ7XG4gICAgICB0aGlzLmNsaWVudFkgPSB0b3A7XG5cbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjx1bFxuICAqbmdJZj1cImlzVmlzaWJsZVwiXG4gIGNsYXNzPVwiYy11bFwiXG4+XG4gIDxsaVxuICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxuICAgIFtzdHlsZS5jb2xvcl09XCJpdGVtLmNvbG9yXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYy1idXR0b25cIlxuICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KGl0ZW0pXCJcbiAgICA+XG4gICAgICA8Y3VpLXN2Z1xuICAgICAgICAqbmdJZj1cIml0ZW0uaWNvblwiXG4gICAgICAgIFtpY29uXT1cIml0ZW0uaWNvblwiXG4gICAgICAgIFtjb2xvcl09XCJpdGVtLmNvbG9yXCJcbiAgICAgID48L2N1aS1zdmc+XG4gICAgICA8c3Bhbj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2xpPlxuPC91bD5cbiJdfQ==
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFrQjNHLE1BQU0sT0FBTyx1QkFBdUI7SUFkcEM7UUFlbUIsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUMsWUFBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDM0MsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixvQkFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ2hELFdBQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELDZC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QyxDQUFDLGlCQUFpQixDQUFDLGtCQUNkO3dCQUNkLHdCQUF3Qjt3QkFDeEI7NEJBQ0UsU0FBUyxFQUFFLGtCQUFrQjs0QkFDN0IsTUFBTSxFQUFFLENBQUMsa0JBQWtCLENBQUM7eUJBQzdCO3FCQUNGOzhCQW1CTSxLQUFLO3NCQURYLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsV0FBVzt1QkFBQyxlQUFlO2dCQUlsQixPQUFPO3NCQURoQixXQUFXO3VCQUFDLGVBQWU7Z0JBSWxCLE9BQU87c0JBRGhCLFdBQVc7dUJBQUMsY0FBYztnQkFrQmpCLE9BQU87c0JBRGhCLFlBQVk7dUJBQUMsZUFBZTtnQkFNbkIsc0JBQXNCO3NCQUQvQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgT25Jbml0LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBJbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGZyb21FdmVudCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEN1aURlc3Ryb3lTZXJ2aWNlLCBDdWlDbGlja091dHNpZGVEaXJlY3RpdmUsIEN1aVRhcmdldERpcmVjdGl2ZSwgQ1VJX1dJTkRPVyB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5cbmltcG9ydCB0eXBlIHsgQ3VpQ29udGV4dE1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N1aS1jb250ZXh0LW1lbnVbaXRlbXNdW3RhcmdldF0nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGV4dC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtDdWlEZXN0cm95U2VydmljZV0sXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgQ3VpQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLFxuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogQ3VpVGFyZ2V0RGlyZWN0aXZlLFxuICAgICAgaW5wdXRzOiBbJ2NjVGFyZ2V0OiB0YXJnZXQnXVxuICAgIH1cbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3VpQ29udGV4dE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50RWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdyA9IGluamVjdChDVUlfV0lORE9XKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IGluamVjdChDdWlEZXN0cm95U2VydmljZSwgeyBzZWxmOiB0cnVlIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IGN1aUNsaWNrT3V0c2lkZURpcmVjdGl2ZSA9IGluamVjdChDdWlDbGlja091dHNpZGVEaXJlY3RpdmUsIHsgc2VsZjogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBjdWlUYXJnZXREaXJlY3RpdmUgPSBpbmplY3QoQ3VpVGFyZ2V0RGlyZWN0aXZlLCB7IHNlbGY6IHRydWUgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEVYVFJBX09GRlNFVF9MRUZUID0gMDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEVYVFJBX09GRlNFVF9UT1AgPSAwO1xuXG4gIHByb3RlY3RlZCBpc1Zpc2libGUgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIHRhcmdldEV2ZW50TGlzdGVuZXIhOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGl0ZW1zITogQ3VpQ29udGV4dE1lbnVJdGVtW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRhcmdldCE6IEhUTUxFbGVtZW50O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuX2hpZGRlbicpXG4gIGlzSGlkZGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5sZWZ0LnB4JylcbiAgcHJvdGVjdGVkIGNsaWVudFg/OiBudW1iZXI7XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS50b3AucHgnKVxuICBwcm90ZWN0ZWQgY2xpZW50WT86IG51bWJlcjtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Q2xpY2tPdXRzaWRlU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdFRhcmdldEVsZW1lbnRMaXN0ZW5lcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uU2VsZWN0KGl0ZW06IEN1aUNvbnRleHRNZW51SXRlbSk6IHZvaWQge1xuICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG5cbiAgICBpdGVtLmNvbW1hbmQ/LigpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gIHByb3RlY3RlZCBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9uU3RvcENsaWNrUHJvcGFnYXRpb24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0cmFja0J5Rm4oXzogbnVtYmVyLCBpdGVtOiBDdWlDb250ZXh0TWVudUl0ZW0pOiBzdHJpbmcge1xuICAgIHJldHVybiBpdGVtLmxhYmVsO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0Q2xpY2tPdXRzaWRlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuY3VpQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLmN1aUNsaWNrT3V0c2lkZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgodGFyZ2V0KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnRhcmdldC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGluaXRUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTogdm9pZCB7XG4gICAgdGhpcy50YXJnZXRFdmVudExpc3RlbmVyID0gKHsgY2xpZW50WCwgY2xpZW50WSB9KSA9PiB7XG4gICAgICB0aGlzLmlzVmlzaWJsZSA9ICF0aGlzLmlzVmlzaWJsZTtcblxuICAgICAgaWYgKHRoaXMuaXNWaXNpYmxlKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlUG9zaXRpb24oY2xpZW50WCwgY2xpZW50WSk7XG4gICAgICAgIHRoaXMuaW5pdEhpZGluZ1N1YnNjcmlwdGlvbigpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH07XG5cbiAgICB0aGlzLmN1aVRhcmdldERpcmVjdGl2ZS5jbGlja2VkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKHRoaXMudGFyZ2V0RXZlbnRMaXN0ZW5lcik7XG4gIH1cblxuICBwcml2YXRlIGluaXRIaWRpbmdTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5pbml0SGlkaW5nRnJvbVdpbmRvd0V2ZW50KCdzY3JvbGwnKTtcbiAgICB0aGlzLmluaXRIaWRpbmdGcm9tV2luZG93RXZlbnQoJ3Jlc2l6ZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0SGlkaW5nRnJvbVdpbmRvd0V2ZW50KGV2ZW50TmFtZToga2V5b2YgV2luZG93RXZlbnRNYXApOiB2b2lkIHtcbiAgICBmcm9tRXZlbnQodGhpcy53aW5kb3csIGV2ZW50TmFtZSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZVBvc2l0aW9uKHg6IG51bWJlciwgeTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5pc0hpZGRlbiA9IHRydWU7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHsgY2xpZW50V2lkdGgsIGNsaWVudEhlaWdodCB9ID0gdGhpcy5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICBjb25zdCB3aWR0aCA9IHRoaXMuZWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgIGNvbnN0IGhlaWdodCA9IHRoaXMuZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICBsZXQgbGVmdCA9IHg7XG4gICAgICBsZXQgdG9wID0geTtcblxuICAgICAgaWYgKGxlZnQgKyB3aWR0aCA+IGNsaWVudFdpZHRoKSB7XG4gICAgICAgIGxlZnQgLT0gd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIGlmICh0b3AgKyBoZWlnaHQgPiBjbGllbnRIZWlnaHQpIHtcbiAgICAgICAgdG9wIC09IGhlaWdodDtcbiAgICAgIH1cblxuICAgICAgbGVmdCA9IE1hdGgubWF4KGxlZnQsIHRoaXMuRVhUUkFfT0ZGU0VUX0xFRlQpO1xuICAgICAgdG9wID0gTWF0aC5tYXgodG9wLCB0aGlzLkVYVFJBX09GRlNFVF9UT1ApO1xuXG4gICAgICB0aGlzLmlzSGlkZGVuID0gZmFsc2U7XG4gICAgICB0aGlzLmNsaWVudFggPSBsZWZ0O1xuICAgICAgdGhpcy5jbGllbnRZID0gdG9wO1xuXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8dWxcbiAgKm5nSWY9XCJpc1Zpc2libGVcIlxuICBjbGFzcz1cImMtdWxcIlxuPlxuICA8bGlcbiAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgICBbc3R5bGUuY29sb3JdPVwiaXRlbS5jb2xvclwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImMtYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJvblNlbGVjdChpdGVtKVwiXG4gICAgPlxuICAgICAgPGN1aS1zdmdcbiAgICAgICAgKm5nSWY9XCJpdGVtLmljb25cIlxuICAgICAgICBbaWNvbl09XCJpdGVtLmljb25cIlxuICAgICAgICBbY29sb3JdPVwiaXRlbS5jb2xvclwiXG4gICAgICA+PC9jdWktc3ZnPlxuICAgICAgPHNwYW4+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9saT5cbjwvdWw+XG4iXX0=
|
|
@@ -5,8 +5,8 @@ import { CommonModule, DOCUMENT } from '@angular/common';
|
|
|
5
5
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
6
6
|
import { cuiIsIcon, CUI_ICONS } from '@cuby-ui/icons';
|
|
7
7
|
import * as i2 from '@cuby-ui/cdk';
|
|
8
|
-
import { cuiCreateToken, cuiCreateTokenFromFactory, CuiDestroyService, CuiLetDirective, CuiFilterPipe, CuiPopoverService, CUI_LOCAL_STORAGE, CuiItemDirective, CuiClickOutsideDirective, CuiTargetDirective, cuiProvide, CuiAutoResizingDirective } from '@cuby-ui/cdk';
|
|
9
|
-
import { BehaviorSubject, takeUntil } from 'rxjs';
|
|
8
|
+
import { cuiCreateToken, cuiCreateTokenFromFactory, CuiDestroyService, CuiLetDirective, CuiFilterPipe, CuiPopoverService, CUI_LOCAL_STORAGE, CuiItemDirective, CUI_WINDOW, CuiClickOutsideDirective, CuiTargetDirective, cuiProvide, CuiAutoResizingDirective } from '@cuby-ui/cdk';
|
|
9
|
+
import { BehaviorSubject, takeUntil, fromEvent, take } from 'rxjs';
|
|
10
10
|
import * as i2$1 from '@angular/forms';
|
|
11
11
|
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
12
12
|
import Quill from 'quill';
|
|
@@ -722,6 +722,7 @@ class CuiContextMenuComponent {
|
|
|
722
722
|
this.element = inject(ElementRef).nativeElement;
|
|
723
723
|
this.document = inject(DOCUMENT);
|
|
724
724
|
this.documentElement = this.document.documentElement;
|
|
725
|
+
this.window = inject(CUI_WINDOW);
|
|
725
726
|
this.destroy$ = inject(CuiDestroyService, { self: true });
|
|
726
727
|
this.cuiClickOutsideDirective = inject(CuiClickOutsideDirective, { self: true });
|
|
727
728
|
this.cuiTargetDirective = inject(CuiTargetDirective, { self: true });
|
|
@@ -742,7 +743,7 @@ class CuiContextMenuComponent {
|
|
|
742
743
|
(_a = item.command) === null || _a === void 0 ? void 0 : _a.call(item);
|
|
743
744
|
}
|
|
744
745
|
onClose() {
|
|
745
|
-
this.
|
|
746
|
+
this.close();
|
|
746
747
|
}
|
|
747
748
|
onStopClickPropagation(event) {
|
|
748
749
|
event.stopPropagation();
|
|
@@ -765,6 +766,7 @@ class CuiContextMenuComponent {
|
|
|
765
766
|
this.isVisible = !this.isVisible;
|
|
766
767
|
if (this.isVisible) {
|
|
767
768
|
this.changePosition(clientX, clientY);
|
|
769
|
+
this.initHidingSubscription();
|
|
768
770
|
}
|
|
769
771
|
this.changeDetectorRef.markForCheck();
|
|
770
772
|
};
|
|
@@ -772,6 +774,21 @@ class CuiContextMenuComponent {
|
|
|
772
774
|
.pipe(takeUntil(this.destroy$))
|
|
773
775
|
.subscribe(this.targetEventListener);
|
|
774
776
|
}
|
|
777
|
+
initHidingSubscription() {
|
|
778
|
+
this.initHidingFromWindowEvent('scroll');
|
|
779
|
+
this.initHidingFromWindowEvent('resize');
|
|
780
|
+
}
|
|
781
|
+
initHidingFromWindowEvent(eventName) {
|
|
782
|
+
fromEvent(this.window, eventName)
|
|
783
|
+
.pipe(take(1))
|
|
784
|
+
.subscribe(() => {
|
|
785
|
+
this.close();
|
|
786
|
+
this.changeDetectorRef.markForCheck();
|
|
787
|
+
});
|
|
788
|
+
}
|
|
789
|
+
close() {
|
|
790
|
+
this.isVisible = false;
|
|
791
|
+
}
|
|
775
792
|
changePosition(x, y) {
|
|
776
793
|
this.isHidden = true;
|
|
777
794
|
setTimeout(() => {
|
|
@@ -796,7 +813,7 @@ class CuiContextMenuComponent {
|
|
|
796
813
|
}
|
|
797
814
|
}
|
|
798
815
|
CuiContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
799
|
-
CuiContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: { items: "items", target: "target" }, host: { listeners: { "window:
|
|
816
|
+
CuiContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: { items: "items", target: "target" }, host: { listeners: { "window:resize": "onClose()", "click": "onStopClickPropagation($event)" }, properties: { "class._hidden": "this.isHidden", "style.left.px": "this.clientX", "style.top.px": "this.clientY" } }, providers: [CuiDestroyService], hostDirectives: [{ directive: i2.CuiClickOutsideDirective }, { directive: i2.CuiTargetDirective, inputs: ["ccTarget", "target"] }], ngImport: i0, template: "<ul\n *ngIf=\"isVisible\"\n class=\"c-ul\"\n>\n <li\n *ngFor=\"let item of items; trackBy: trackByFn\"\n [style.color]=\"item.color\"\n >\n <button\n class=\"c-button\"\n (click)=\"onSelect(item)\"\n >\n <cui-svg\n *ngIf=\"item.icon\"\n [icon]=\"item.icon\"\n [color]=\"item.color\"\n ></cui-svg>\n <span>{{ item.label }}</span>\n </button>\n </li>\n</ul>\n", styles: [":host{position:fixed;z-index:2;display:block;width:268px;border-radius:8px}:host._hidden{visibility:hidden}.c-ul{padding:7px 0;margin:0;list-style:none;font-weight:400;font-size:14px;line-height:20px;box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;border:1px solid var(--cui-base-200);border-radius:inherit;background:var(--cui-base-0);color:var(--cui-base-900);font-family:var(--cui-main-font)}.c-button{padding:8px 11px 8px 0;border:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:8px 11px;width:100%;display:flex;align-items:center;gap:12px}.c-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-button:hover{background:var(--cui-base-50)}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
800
817
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuComponent, decorators: [{
|
|
801
818
|
type: Component,
|
|
802
819
|
args: [{ selector: 'cui-context-menu[items][target]', changeDetection: ChangeDetectionStrategy.OnPush, providers: [CuiDestroyService], hostDirectives: [
|
|
@@ -820,9 +837,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
820
837
|
type: HostBinding,
|
|
821
838
|
args: ['style.top.px']
|
|
822
839
|
}], onClose: [{
|
|
823
|
-
type: HostListener,
|
|
824
|
-
args: ['window:scroll']
|
|
825
|
-
}, {
|
|
826
840
|
type: HostListener,
|
|
827
841
|
args: ['window:resize']
|
|
828
842
|
}], onStopClickPropagation: [{
|