@firestitch/popover 14.0.0 → 16.0.0
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/app/components/popover/popover.component.d.ts +1 -1
- package/app/components/popover-wrapper/popover-wrapper.component.d.ts +1 -1
- package/app/directives/popover.directive.d.ts +1 -1
- package/esm2022/app/class/popover-ref.mjs +93 -0
- package/{esm2020 → esm2022}/app/components/popover/popover.component.mjs +4 -4
- package/esm2022/app/components/popover-wrapper/popover-wrapper.component.mjs +126 -0
- package/esm2022/app/directives/popover.directive.mjs +232 -0
- package/{esm2020 → esm2022}/app/fs-popover.module.mjs +10 -10
- package/esm2022/app/services/popover.service.mjs +68 -0
- package/{fesm2020 → fesm2022}/firestitch-popover.mjs +77 -46
- package/{fesm2020 → fesm2022}/firestitch-popover.mjs.map +1 -1
- package/package.json +5 -11
- package/esm2020/app/class/popover-ref.mjs +0 -86
- package/esm2020/app/components/popover-wrapper/popover-wrapper.component.mjs +0 -117
- package/esm2020/app/directives/popover.directive.mjs +0 -221
- package/esm2020/app/services/popover.service.mjs +0 -64
- package/fesm2015/firestitch-popover.mjs +0 -611
- package/fesm2015/firestitch-popover.mjs.map +0 -1
- /package/{esm2020 → esm2022}/app/enums/position.mjs +0 -0
- /package/{esm2020 → esm2022}/app/helpers/create-injector.mjs +0 -0
- /package/{esm2020 → esm2022}/app/helpers/create-overlay-ref.mjs +0 -0
- /package/{esm2020 → esm2022}/app/helpers/create-position-strategy.mjs +0 -0
- /package/{esm2020 → esm2022}/app/helpers/create-template-portal.mjs +0 -0
- /package/{esm2020 → esm2022}/app/helpers/point-in-rect.mjs +0 -0
- /package/{esm2020 → esm2022}/app/interfaces/popover-config.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/firestitch-popover.mjs +0 -0
- /package/{esm2020 → esm2022}/public_api.mjs +0 -0
|
@@ -6,16 +6,16 @@ import { FsPopoverWrapperComponent } from './components/popover-wrapper/popover-
|
|
|
6
6
|
import { FsPopoverDirective } from './directives/popover.directive';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class FsPopoverModule {
|
|
9
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverModule, declarations: [FsPopoverComponent,
|
|
11
|
+
FsPopoverWrapperComponent,
|
|
12
|
+
FsPopoverDirective], imports: [CommonModule,
|
|
13
|
+
PortalModule], exports: [FsPopoverComponent,
|
|
14
|
+
FsPopoverDirective] });
|
|
15
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverModule, imports: [CommonModule,
|
|
16
|
+
PortalModule] });
|
|
9
17
|
}
|
|
10
|
-
|
|
11
|
-
FsPopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FsPopoverModule, declarations: [FsPopoverComponent,
|
|
12
|
-
FsPopoverWrapperComponent,
|
|
13
|
-
FsPopoverDirective], imports: [CommonModule,
|
|
14
|
-
PortalModule], exports: [FsPopoverComponent,
|
|
15
|
-
FsPopoverDirective] });
|
|
16
|
-
FsPopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsPopoverModule, imports: [CommonModule,
|
|
17
|
-
PortalModule] });
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsPopoverModule, decorators: [{
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverModule, decorators: [{
|
|
19
19
|
type: NgModule,
|
|
20
20
|
args: [{
|
|
21
21
|
imports: [
|
|
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
33
33
|
],
|
|
34
34
|
}]
|
|
35
35
|
}] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtcG9wb3Zlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2ZzLXBvcG92ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNuRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFrQnBFLE1BQU0sT0FBTyxlQUFlO3dHQUFmLGVBQWU7eUdBQWYsZUFBZSxpQkFUeEIsa0JBQWtCO1lBQ2xCLHlCQUF5QjtZQUN6QixrQkFBa0IsYUFObEIsWUFBWTtZQUNaLFlBQVksYUFRWixrQkFBa0I7WUFDbEIsa0JBQWtCO3lHQUdULGVBQWUsWUFieEIsWUFBWTtZQUNaLFlBQVk7OzRGQVlILGVBQWU7a0JBZjNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTtxQkFDYjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQix5QkFBeUI7d0JBQ3pCLGtCQUFrQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3FCQUNuQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmltcG9ydCB7IEZzUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZzUG9wb3ZlcldyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcG9wb3Zlci13cmFwcGVyL3BvcG92ZXItd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnNQb3BvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3BvcG92ZXIuZGlyZWN0aXZlJztcblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBvcnRhbE1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRnNQb3BvdmVyQ29tcG9uZW50LFxuICAgIEZzUG9wb3ZlcldyYXBwZXJDb21wb25lbnQsXG4gICAgRnNQb3BvdmVyRGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRnNQb3BvdmVyQ29tcG9uZW50LFxuICAgIEZzUG9wb3ZlckRpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNQb3BvdmVyTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Injectable, Injector, TemplateRef } from '@angular/core';
|
|
2
|
+
import { Overlay, } from '@angular/cdk/overlay';
|
|
3
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
|
4
|
+
import { FsPopoverWrapperComponent } from '../components/popover-wrapper/popover-wrapper.component';
|
|
5
|
+
import { createOverlayRef } from '../helpers/create-overlay-ref';
|
|
6
|
+
import { createInjector } from '../helpers/create-injector';
|
|
7
|
+
import { createTempatePortal } from '../helpers/create-template-portal';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
10
|
+
export class FsPopoverService {
|
|
11
|
+
_injector;
|
|
12
|
+
_overlay;
|
|
13
|
+
_activeElement;
|
|
14
|
+
_activeElementGUID;
|
|
15
|
+
constructor(_injector, _overlay) {
|
|
16
|
+
this._injector = _injector;
|
|
17
|
+
this._overlay = _overlay;
|
|
18
|
+
}
|
|
19
|
+
get hasActivePopover() {
|
|
20
|
+
return !!this._activeElement;
|
|
21
|
+
}
|
|
22
|
+
get activeElementGUID() {
|
|
23
|
+
return this._activeElementGUID;
|
|
24
|
+
}
|
|
25
|
+
setActivePopoverGUID(value) {
|
|
26
|
+
this._activeElementGUID = value;
|
|
27
|
+
}
|
|
28
|
+
openPopover(el, content, data, popoverRef, position) {
|
|
29
|
+
if (this._activeElement) {
|
|
30
|
+
this.close(this._activeElement.popoverRef);
|
|
31
|
+
}
|
|
32
|
+
const overlayRef = createOverlayRef(el, this._overlay, position);
|
|
33
|
+
const containerRef = this._openPortalPreview(FsPopoverWrapperComponent, overlayRef, popoverRef);
|
|
34
|
+
if (content instanceof TemplateRef) {
|
|
35
|
+
const templatePortal = createTempatePortal(content, popoverRef, data);
|
|
36
|
+
containerRef.instance.attachTemplatePortal(templatePortal);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
containerRef.instance.setTextualContent(content);
|
|
40
|
+
}
|
|
41
|
+
popoverRef.overlayRef = overlayRef;
|
|
42
|
+
this._activeElement = {
|
|
43
|
+
overlayRef,
|
|
44
|
+
popoverRef,
|
|
45
|
+
};
|
|
46
|
+
return containerRef.location.nativeElement;
|
|
47
|
+
}
|
|
48
|
+
close(popoverRef = null) {
|
|
49
|
+
if (this._activeElement.popoverRef === popoverRef) {
|
|
50
|
+
popoverRef.close();
|
|
51
|
+
this._activeElement = void 0;
|
|
52
|
+
this._activeElementGUID = void 0;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
_openPortalPreview(component, overlayRef, popoverRef) {
|
|
56
|
+
const containerPortal = new ComponentPortal(component, void 0, createInjector(popoverRef, this._injector));
|
|
57
|
+
return overlayRef.attach(containerPortal);
|
|
58
|
+
}
|
|
59
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverService, deps: [{ token: i0.Injector }, { token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
60
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverService, providedIn: 'root' });
|
|
61
|
+
}
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverService, decorators: [{
|
|
63
|
+
type: Injectable,
|
|
64
|
+
args: [{
|
|
65
|
+
providedIn: 'root',
|
|
66
|
+
}]
|
|
67
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.Overlay }]; } });
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlcy9wb3BvdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlFLE9BQU8sRUFFTCxPQUFPLEdBRVIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJdEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDcEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFPeEUsTUFBTSxPQUFPLGdCQUFnQjtJQU1qQjtJQUNBO0lBTEYsY0FBYyxDQUF3QjtJQUN0QyxrQkFBa0IsQ0FBUztJQUVuQyxZQUNVLFNBQW1CLEVBQ25CLFFBQWlCO1FBRGpCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBUztJQUN4QixDQUFDO0lBRUosSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVNLG9CQUFvQixDQUFDLEtBQWE7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBa0JNLFdBQVcsQ0FDaEIsRUFBYyxFQUNkLE9BQWtDLEVBQ2xDLElBQVMsRUFDVCxVQUF3QixFQUN4QixRQUFrQjtRQUdsQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1NBQzNDO1FBRUQsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDakUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHlCQUF5QixFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVoRyxJQUFJLE9BQU8sWUFBWSxXQUFXLEVBQUU7WUFDbEMsTUFBTSxjQUFjLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUV0RSxZQUFZLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzVEO2FBQU07WUFDTCxZQUFZLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsVUFBVSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFFbkMsSUFBSSxDQUFDLGNBQWMsR0FBRztZQUNwQixVQUFVO1lBQ1YsVUFBVTtTQUNYLENBQUM7UUFFRixPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFFTSxLQUFLLENBQUMsYUFBMkIsSUFBSTtRQUMxQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRTtZQUNqRCxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDO0lBRU8sa0JBQWtCLENBQ3hCLFNBQW1ELEVBQ25ELFVBQXNCLEVBQ3RCLFVBQXdCO1FBRXhCLE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxDQUN6QyxTQUFTLEVBQ1QsS0FBSyxDQUFDLEVBQ04sY0FBYyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzNDLENBQUM7UUFFRixPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDNUMsQ0FBQzt3R0EzRlUsZ0JBQWdCOzRHQUFoQixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIENvbXBvbmVudFR5cGUsXG4gIE92ZXJsYXksXG4gIE92ZXJsYXlSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnLi8uLi9lbnVtcy9wb3NpdGlvbic7XG5pbXBvcnQgeyBGc1BvcG92ZXJSZWYgfSBmcm9tICcuLi9jbGFzcy9wb3BvdmVyLXJlZic7XG5pbXBvcnQgeyBGc1BvcG92ZXJXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9wb3BvdmVyLXdyYXBwZXIvcG9wb3Zlci13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjcmVhdGVPdmVybGF5UmVmIH0gZnJvbSAnLi4vaGVscGVycy9jcmVhdGUtb3ZlcmxheS1yZWYnO1xuaW1wb3J0IHsgY3JlYXRlSW5qZWN0b3IgfSBmcm9tICcuLi9oZWxwZXJzL2NyZWF0ZS1pbmplY3Rvcic7XG5pbXBvcnQgeyBjcmVhdGVUZW1wYXRlUG9ydGFsIH0gZnJvbSAnLi4vaGVscGVycy9jcmVhdGUtdGVtcGxhdGUtcG9ydGFsJztcbmltcG9ydCB7IElQb3BvdmVyQWN0aXZlRWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9wb3Zlci1jb25maWcuaW50ZXJmYWNlJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnNQb3BvdmVyU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBfYWN0aXZlRWxlbWVudDogSVBvcG92ZXJBY3RpdmVFbGVtZW50O1xuICBwcml2YXRlIF9hY3RpdmVFbGVtZW50R1VJRDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxuICApIHt9XG5cbiAgcHVibGljIGdldCBoYXNBY3RpdmVQb3BvdmVyKCkge1xuICAgIHJldHVybiAhIXRoaXMuX2FjdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZUVsZW1lbnRHVUlEKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZUVsZW1lbnRHVUlEO1xuICB9XG5cbiAgcHVibGljIHNldEFjdGl2ZVBvcG92ZXJHVUlEKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9hY3RpdmVFbGVtZW50R1VJRCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIG9wZW5Qb3BvdmVyKFxuICAgIGVsOiBFbGVtZW50UmVmLFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICBkYXRhOiBhbnksXG4gICAgcG9wb3ZlclJlZjogRnNQb3BvdmVyUmVmLFxuICAgIHBvc2l0aW9uOiBQb3NpdGlvblxuICApOiBFbGVtZW50O1xuXG4gIHB1YmxpYyBvcGVuUG9wb3ZlcihcbiAgICBlbDogRWxlbWVudFJlZixcbiAgICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PixcbiAgICBkYXRhOiBhbnksXG4gICAgcG9wb3ZlclJlZjogRnNQb3BvdmVyUmVmLFxuICAgIHBvc2l0aW9uOiBQb3NpdGlvblxuICApOiBFbGVtZW50O1xuXG4gIHB1YmxpYyBvcGVuUG9wb3ZlcihcbiAgICBlbDogRWxlbWVudFJlZixcbiAgICBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgc3RyaW5nLFxuICAgIGRhdGE6IGFueSxcbiAgICBwb3BvdmVyUmVmOiBGc1BvcG92ZXJSZWYsXG4gICAgcG9zaXRpb246IFBvc2l0aW9uXG4gICk6IEVsZW1lbnQge1xuXG4gICAgaWYgKHRoaXMuX2FjdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuY2xvc2UodGhpcy5fYWN0aXZlRWxlbWVudC5wb3BvdmVyUmVmKVxuICAgIH1cblxuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSBjcmVhdGVPdmVybGF5UmVmKGVsLCB0aGlzLl9vdmVybGF5LCBwb3NpdGlvbik7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gdGhpcy5fb3BlblBvcnRhbFByZXZpZXcoRnNQb3BvdmVyV3JhcHBlckNvbXBvbmVudCwgb3ZlcmxheVJlZiwgcG9wb3ZlclJlZik7XG5cbiAgICBpZiAoY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICBjb25zdCB0ZW1wbGF0ZVBvcnRhbCA9IGNyZWF0ZVRlbXBhdGVQb3J0YWwoY29udGVudCwgcG9wb3ZlclJlZiwgZGF0YSk7XG5cbiAgICAgIGNvbnRhaW5lclJlZi5pbnN0YW5jZS5hdHRhY2hUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZVBvcnRhbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRhaW5lclJlZi5pbnN0YW5jZS5zZXRUZXh0dWFsQ29udGVudChjb250ZW50KTtcbiAgICB9XG5cbiAgICBwb3BvdmVyUmVmLm92ZXJsYXlSZWYgPSBvdmVybGF5UmVmO1xuXG4gICAgdGhpcy5fYWN0aXZlRWxlbWVudCA9IHtcbiAgICAgIG92ZXJsYXlSZWYsXG4gICAgICBwb3BvdmVyUmVmLFxuICAgIH07XG5cbiAgICByZXR1cm4gY29udGFpbmVyUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UocG9wb3ZlclJlZjogRnNQb3BvdmVyUmVmID0gbnVsbCkge1xuICAgIGlmICh0aGlzLl9hY3RpdmVFbGVtZW50LnBvcG92ZXJSZWYgPT09IHBvcG92ZXJSZWYpIHtcbiAgICAgIHBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgIHRoaXMuX2FjdGl2ZUVsZW1lbnQgPSB2b2lkIDA7XG4gICAgICB0aGlzLl9hY3RpdmVFbGVtZW50R1VJRCA9IHZvaWQgMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vcGVuUG9ydGFsUHJldmlldyhcbiAgICBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8RnNQb3BvdmVyV3JhcHBlckNvbXBvbmVudD4sXG4gICAgb3ZlcmxheVJlZjogT3ZlcmxheVJlZixcbiAgICBwb3BvdmVyUmVmOiBGc1BvcG92ZXJSZWYsXG4gICkge1xuICAgIGNvbnN0IGNvbnRhaW5lclBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWw8RnNQb3BvdmVyV3JhcHBlckNvbXBvbmVudD4oXG4gICAgICBjb21wb25lbnQsXG4gICAgICB2b2lkIDAsXG4gICAgICBjcmVhdGVJbmplY3Rvcihwb3BvdmVyUmVmLCB0aGlzLl9pbmplY3RvciksXG4gICAgKTtcblxuICAgIHJldHVybiBvdmVybGF5UmVmLmF0dGFjaChjb250YWluZXJQb3J0YWwpO1xuICB9XG59XG4iXX0=
|
|
@@ -21,10 +21,17 @@ var Position;
|
|
|
21
21
|
})(Position || (Position = {}));
|
|
22
22
|
|
|
23
23
|
class FsPopoverRef {
|
|
24
|
+
overlayRef;
|
|
25
|
+
_autoShow$ = new BehaviorSubject(true);
|
|
26
|
+
_autoClose$ = new BehaviorSubject(true);
|
|
27
|
+
_componentLoading$ = new BehaviorSubject(true);
|
|
28
|
+
_maxWidth;
|
|
29
|
+
_wrapperClass;
|
|
30
|
+
_loadingDiameter;
|
|
31
|
+
_loading;
|
|
32
|
+
_theme;
|
|
33
|
+
_size;
|
|
24
34
|
constructor(config = {}) {
|
|
25
|
-
this._autoShow$ = new BehaviorSubject(true);
|
|
26
|
-
this._autoClose$ = new BehaviorSubject(true);
|
|
27
|
-
this._componentLoading$ = new BehaviorSubject(true);
|
|
28
35
|
this._init(config);
|
|
29
36
|
}
|
|
30
37
|
get loadingDiameter() {
|
|
@@ -105,14 +112,23 @@ class FsPopoverRef {
|
|
|
105
112
|
}
|
|
106
113
|
|
|
107
114
|
class FsPopoverWrapperComponent extends BasePortalOutlet {
|
|
115
|
+
popoverRef;
|
|
116
|
+
_el;
|
|
117
|
+
_zone;
|
|
118
|
+
_renderer;
|
|
119
|
+
_portalOutlet;
|
|
120
|
+
spinner;
|
|
121
|
+
content;
|
|
122
|
+
_wrapperClass;
|
|
123
|
+
_contentChangesObserver;
|
|
124
|
+
_updatePosition = new Subject();
|
|
125
|
+
_destroy$ = new Subject();
|
|
108
126
|
constructor(popoverRef, _el, _zone, _renderer) {
|
|
109
127
|
super();
|
|
110
128
|
this.popoverRef = popoverRef;
|
|
111
129
|
this._el = _el;
|
|
112
130
|
this._zone = _zone;
|
|
113
131
|
this._renderer = _renderer;
|
|
114
|
-
this._updatePosition = new Subject();
|
|
115
|
-
this._destroy$ = new Subject();
|
|
116
132
|
this._updateClass();
|
|
117
133
|
this.wrapperClass = this.popoverRef.wrapperClass;
|
|
118
134
|
this.maxWidth = this.popoverRef.maxWidth;
|
|
@@ -196,10 +212,10 @@ class FsPopoverWrapperComponent extends BasePortalOutlet {
|
|
|
196
212
|
this.popoverRef.updatePosition();
|
|
197
213
|
});
|
|
198
214
|
}
|
|
215
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverWrapperComponent, deps: [{ token: FsPopoverRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
216
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsPopoverWrapperComponent, selector: "fs-popover-wrapper", host: { classAttribute: "fs-popover-wrapper" }, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }, { propertyName: "spinner", first: true, predicate: ["spinner"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"wrapper\" [ngClass]=\"{\n 'theme-dark' : popoverRef.theme === 'dark',\n 'size-tiny': popoverRef.size === 'tiny',\n 'size-small': popoverRef.size === 'small',\n 'hidden': !(popoverRef.componentVisible$ | async)\n }\">\n <div class=\"mat-elevation-z4 popover-content\">\n <ng-container *ngIf=\"content\">\n {{content}}\n </ng-container>\n\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <div class=\"fs-popover-arrow light\"></div>\n <div class=\"fs-popover-arrow dark\"></div>\n</div>\n\n<div class=\"loading-spinner\"\n #spinner\n *ngIf=\"popoverRef.loading && !(popoverRef.componentVisible$ | async)\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" [attr.width]=\"popoverRef.loadingDiameter\" [attr.height]=\"popoverRef.loadingDiameter\" viewBox=\"0 0 42 42\" stroke=\"grey\">\n <g fill=\"none\" fill-rule=\"evenodd\">\n <g transform=\"translate(1 1)\" stroke-width=\"3\">\n <circle stroke-opacity=\".5\" cx=\"18\" cy=\"18\" r=\"18\"/>\n <path d=\"M36 18c0-9.94-8.06-18-18-18\">\n <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 18 18\" to=\"360 18 18\" dur=\"1s\" repeatCount=\"indefinite\"/>\n </path>\n </g>\n </g>\n </svg>\n</div>\n", styles: [".wrapper{padding:6px;animation:fadeIn ease .2s}.wrapper.hidden{display:none}.wrapper .popover-content{background:#fff;border-radius:4px;padding:8px;color:#1b1b1b;box-sizing:border-box;overflow:hidden}.wrapper.theme-dark .popover-content{background-color:#707070;color:#fff}.wrapper.size-small .popover-content{font-size:80%}.wrapper.size-tiny .popover-content{font-size:70%}.wrapper .fs-popover-arrow{width:0;height:0;font-size:0;line-height:0;position:absolute;z-index:200;z-index:1}.wrapper .fs-popover-arrow.dark{z-index:0}::ng-deep .fs-popover-top .fs-popover-arrow,::ng-deep .fs-popover-bottom .fs-popover-arrow{border-left:10px solid transparent;border-right:10px solid transparent}::ng-deep .fs-popover-left .fs-popover-arrow,::ng-deep .fs-popover-right .fs-popover-arrow{border-top:10px solid transparent;border-bottom:10px solid transparent}::ng-deep .fs-popover-top .fs-popover-arrow{bottom:-3px;left:calc(50% - 10px);border-top:10px solid #fff}::ng-deep .fs-popover-top .fs-popover-arrow.dark{border-top-color:#dfdfdf40;bottom:-4px}::ng-deep .fs-popover-bottom .fs-popover-arrow{top:-3px;left:calc(50% - 10px);border-bottom:10px solid #fff}::ng-deep .fs-popover-bottom .fs-popover-arrow.dark{border-bottom-color:#dfdfdf40;top:-4px}::ng-deep .fs-popover-left .fs-popover-arrow{left:-3px;top:calc(50% - 10px);border-right:10px solid #fff}::ng-deep .fs-popover-left .fs-popover-arrow.dark{border-right-color:#dfdfdf40;left:-4px}::ng-deep .fs-popover-right .fs-popover-arrow{right:-3px;top:calc(50% - 10px);border-left:10px solid #fff}::ng-deep .fs-popover-right .fs-popover-arrow.dark{border-left-color:#dfdfdf40;right:-4px}::ng-deep .fs-popover-bottom .wrapper.theme-dark .fs-popover-arrow{border-bottom-color:#707070}::ng-deep .fs-popover-left .wrapper.theme-dark .fs-popover-arrow{border-right-color:#707070}::ng-deep .fs-popover-right .wrapper.theme-dark .fs-popover-arrow{border-left-color:#707070}::ng-deep .fs-popover-top .wrapper.theme-dark .fs-popover-arrow{border-top-color:#707070}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
199
217
|
}
|
|
200
|
-
|
|
201
|
-
FsPopoverWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FsPopoverWrapperComponent, selector: "fs-popover-wrapper", host: { classAttribute: "fs-popover-wrapper" }, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }, { propertyName: "spinner", first: true, predicate: ["spinner"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"wrapper\" [ngClass]=\"{\n 'theme-dark' : popoverRef.theme === 'dark',\n 'size-tiny': popoverRef.size === 'tiny',\n 'size-small': popoverRef.size === 'small',\n 'hidden': !(popoverRef.componentVisible$ | async)\n }\">\n <div class=\"mat-elevation-z4 popover-content\">\n <ng-container *ngIf=\"content\">\n {{content}}\n </ng-container>\n\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <div class=\"fs-popover-arrow light\"></div>\n <div class=\"fs-popover-arrow dark\"></div>\n</div>\n\n<div class=\"loading-spinner\"\n #spinner\n *ngIf=\"popoverRef.loading && !(popoverRef.componentVisible$ | async)\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" [attr.width]=\"popoverRef.loadingDiameter\" [attr.height]=\"popoverRef.loadingDiameter\" viewBox=\"0 0 42 42\" stroke=\"grey\">\n <g fill=\"none\" fill-rule=\"evenodd\">\n <g transform=\"translate(1 1)\" stroke-width=\"3\">\n <circle stroke-opacity=\".5\" cx=\"18\" cy=\"18\" r=\"18\"/>\n <path d=\"M36 18c0-9.94-8.06-18-18-18\">\n <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 18 18\" to=\"360 18 18\" dur=\"1s\" repeatCount=\"indefinite\"/>\n </path>\n </g>\n </g>\n </svg>\n</div>\n", styles: [".wrapper{padding:6px;animation:fadeIn ease .2s}.wrapper.hidden{display:none}.wrapper .popover-content{background:#fff;border-radius:4px;padding:8px;color:#1b1b1b;box-sizing:border-box;overflow:hidden}.wrapper.theme-dark .popover-content{background-color:#707070;color:#fff}.wrapper.size-small .popover-content{font-size:80%}.wrapper.size-tiny .popover-content{font-size:70%}.wrapper .fs-popover-arrow{width:0;height:0;font-size:0;line-height:0;position:absolute;z-index:200;z-index:1}.wrapper .fs-popover-arrow.dark{z-index:0}::ng-deep .fs-popover-top .fs-popover-arrow,::ng-deep .fs-popover-bottom .fs-popover-arrow{border-left:10px solid transparent;border-right:10px solid transparent}::ng-deep .fs-popover-left .fs-popover-arrow,::ng-deep .fs-popover-right .fs-popover-arrow{border-top:10px solid transparent;border-bottom:10px solid transparent}::ng-deep .fs-popover-top .fs-popover-arrow{bottom:-3px;left:calc(50% - 10px);border-top:10px solid #fff}::ng-deep .fs-popover-top .fs-popover-arrow.dark{border-top-color:#dfdfdf40;bottom:-4px}::ng-deep .fs-popover-bottom .fs-popover-arrow{top:-3px;left:calc(50% - 10px);border-bottom:10px solid #fff}::ng-deep .fs-popover-bottom .fs-popover-arrow.dark{border-bottom-color:#dfdfdf40;top:-4px}::ng-deep .fs-popover-left .fs-popover-arrow{left:-3px;top:calc(50% - 10px);border-right:10px solid #fff}::ng-deep .fs-popover-left .fs-popover-arrow.dark{border-right-color:#dfdfdf40;left:-4px}::ng-deep .fs-popover-right .fs-popover-arrow{right:-3px;top:calc(50% - 10px);border-left:10px solid #fff}::ng-deep .fs-popover-right .fs-popover-arrow.dark{border-left-color:#dfdfdf40;right:-4px}::ng-deep .fs-popover-bottom .wrapper.theme-dark .fs-popover-arrow{border-bottom-color:#707070}::ng-deep .fs-popover-left .wrapper.theme-dark .fs-popover-arrow{border-right-color:#707070}::ng-deep .fs-popover-right .wrapper.theme-dark .fs-popover-arrow{border-left-color:#707070}::ng-deep .fs-popover-top .wrapper.theme-dark .fs-popover-arrow{border-top-color:#707070}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
202
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsPopoverWrapperComponent, decorators: [{
|
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverWrapperComponent, decorators: [{
|
|
203
219
|
type: Component,
|
|
204
220
|
args: [{ selector: 'fs-popover-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
205
221
|
'class': 'fs-popover-wrapper',
|
|
@@ -289,6 +305,10 @@ function createTempatePortal(template, popoverRef, data) {
|
|
|
289
305
|
}
|
|
290
306
|
|
|
291
307
|
class FsPopoverService {
|
|
308
|
+
_injector;
|
|
309
|
+
_overlay;
|
|
310
|
+
_activeElement;
|
|
311
|
+
_activeElementGUID;
|
|
292
312
|
constructor(_injector, _overlay) {
|
|
293
313
|
this._injector = _injector;
|
|
294
314
|
this._overlay = _overlay;
|
|
@@ -333,10 +353,10 @@ class FsPopoverService {
|
|
|
333
353
|
const containerPortal = new ComponentPortal(component, void 0, createInjector(popoverRef, this._injector));
|
|
334
354
|
return overlayRef.attach(containerPortal);
|
|
335
355
|
}
|
|
356
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverService, deps: [{ token: i0.Injector }, { token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
357
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverService, providedIn: 'root' });
|
|
336
358
|
}
|
|
337
|
-
|
|
338
|
-
FsPopoverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsPopoverService, providedIn: 'root' });
|
|
339
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsPopoverService, decorators: [{
|
|
359
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverService, decorators: [{
|
|
340
360
|
type: Injectable,
|
|
341
361
|
args: [{
|
|
342
362
|
providedIn: 'root',
|
|
@@ -348,31 +368,42 @@ function pointInRect(x1, y1, x2, y2, px, py) {
|
|
|
348
368
|
}
|
|
349
369
|
|
|
350
370
|
class FsPopoverDirective {
|
|
371
|
+
_elRef;
|
|
372
|
+
_popoverService;
|
|
373
|
+
_ngZone;
|
|
374
|
+
_router;
|
|
375
|
+
_guid = guid('xxxxxxx');
|
|
376
|
+
text;
|
|
377
|
+
template;
|
|
378
|
+
data;
|
|
379
|
+
leaveDelay = 100;
|
|
380
|
+
showDelay = 0;
|
|
381
|
+
maxWidth = 250;
|
|
382
|
+
wrapperClass;
|
|
383
|
+
autoShow = true;
|
|
384
|
+
autoClose = true;
|
|
385
|
+
loadingDiameter = 20;
|
|
386
|
+
loading = true;
|
|
387
|
+
indication = true;
|
|
388
|
+
position = Position.South;
|
|
389
|
+
theme = 'light';
|
|
390
|
+
size = 'normal';
|
|
391
|
+
trigger = 'mouseover';
|
|
392
|
+
enabled = true;
|
|
393
|
+
_initialized = false;
|
|
394
|
+
_popoverRef;
|
|
395
|
+
_wrapperElement;
|
|
396
|
+
_hostBounds;
|
|
397
|
+
_mouseEnter$ = fromEvent(this._elRef.nativeElement, 'mouseenter');
|
|
398
|
+
_mouseMove$ = fromEvent(document, 'mousemove', { passive: true });
|
|
399
|
+
_mouseLeave$ = fromEvent(this._elRef.nativeElement, 'mouseleave');
|
|
400
|
+
_popoverClosed$ = new Subject();
|
|
401
|
+
_destroy$ = new Subject();
|
|
351
402
|
constructor(_elRef, _popoverService, _ngZone, _router) {
|
|
352
403
|
this._elRef = _elRef;
|
|
353
404
|
this._popoverService = _popoverService;
|
|
354
405
|
this._ngZone = _ngZone;
|
|
355
406
|
this._router = _router;
|
|
356
|
-
this._guid = guid('xxxxxxx');
|
|
357
|
-
this.leaveDelay = 100;
|
|
358
|
-
this.showDelay = 0;
|
|
359
|
-
this.maxWidth = 250;
|
|
360
|
-
this.autoShow = true;
|
|
361
|
-
this.autoClose = true;
|
|
362
|
-
this.loadingDiameter = 20;
|
|
363
|
-
this.loading = true;
|
|
364
|
-
this.indication = true;
|
|
365
|
-
this.position = Position.South;
|
|
366
|
-
this.theme = 'light';
|
|
367
|
-
this.size = 'normal';
|
|
368
|
-
this.trigger = 'mouseover';
|
|
369
|
-
this.enabled = true;
|
|
370
|
-
this._initialized = false;
|
|
371
|
-
this._mouseEnter$ = fromEvent(this._elRef.nativeElement, 'mouseenter');
|
|
372
|
-
this._mouseMove$ = fromEvent(document, 'mousemove', { passive: true });
|
|
373
|
-
this._mouseLeave$ = fromEvent(this._elRef.nativeElement, 'mouseleave');
|
|
374
|
-
this._popoverClosed$ = new Subject();
|
|
375
|
-
this._destroy$ = new Subject();
|
|
376
407
|
}
|
|
377
408
|
get openTimer$() {
|
|
378
409
|
return timer(this.showDelay);
|
|
@@ -501,10 +532,10 @@ class FsPopoverDirective {
|
|
|
501
532
|
const pointInPopoverRect = pointInRect(popoverBounds.x, popoverBounds.y, popoverBounds.x + popoverBounds.width, popoverBounds.y + popoverBounds.height, event.x, event.y);
|
|
502
533
|
return !pointInHostRect && !pointInPopoverRect;
|
|
503
534
|
}
|
|
535
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverDirective, deps: [{ token: i0.ElementRef }, { token: FsPopoverService }, { token: i0.NgZone }, { token: i2$1.Router, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
536
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FsPopoverDirective, selector: "[fsPopover]", inputs: { text: "text", template: "template", data: "data", leaveDelay: "leaveDelay", showDelay: "showDelay", maxWidth: "maxWidth", wrapperClass: "wrapperClass", autoShow: "autoShow", autoClose: "autoClose", loadingDiameter: "loadingDiameter", loading: "loading", indication: "indication", position: "position", theme: "theme", size: "size", trigger: "trigger", enabled: "enabled" }, host: { properties: { "class.indication": "this.indication", "class.fs-popover-enabled": "this.enabled" }, classAttribute: "fs-popover" }, usesOnChanges: true, ngImport: i0 });
|
|
504
537
|
}
|
|
505
|
-
|
|
506
|
-
FsPopoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: FsPopoverDirective, selector: "[fsPopover]", inputs: { text: "text", template: "template", data: "data", leaveDelay: "leaveDelay", showDelay: "showDelay", maxWidth: "maxWidth", wrapperClass: "wrapperClass", autoShow: "autoShow", autoClose: "autoClose", loadingDiameter: "loadingDiameter", loading: "loading", indication: "indication", position: "position", theme: "theme", size: "size", trigger: "trigger", enabled: "enabled" }, host: { properties: { "class.indication": "this.indication", "class.fs-popover-enabled": "this.enabled" }, classAttribute: "fs-popover" }, usesOnChanges: true, ngImport: i0 });
|
|
507
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsPopoverDirective, decorators: [{
|
|
538
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverDirective, decorators: [{
|
|
508
539
|
type: Directive,
|
|
509
540
|
args: [{
|
|
510
541
|
selector: '[fsPopover]',
|
|
@@ -557,10 +588,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
557
588
|
}] } });
|
|
558
589
|
|
|
559
590
|
class FsPopoverComponent extends FsPopoverDirective {
|
|
591
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
592
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsPopoverComponent, selector: "fs-popover", host: { classAttribute: "fs-popover-component" }, usesInheritance: true, ngImport: i0, template: "<span [ngClass]=\"{'popover-container': enabled}\">\n <ng-content></ng-content>\n</span>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
560
593
|
}
|
|
561
|
-
|
|
562
|
-
FsPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FsPopoverComponent, selector: "fs-popover", host: { classAttribute: "fs-popover-component" }, usesInheritance: true, ngImport: i0, template: "<span [ngClass]=\"{'popover-container': enabled}\">\n <ng-content></ng-content>\n</span>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
563
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsPopoverComponent, decorators: [{
|
|
594
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverComponent, decorators: [{
|
|
564
595
|
type: Component,
|
|
565
596
|
args: [{ selector: 'fs-popover', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
566
597
|
'class': 'fs-popover-component',
|
|
@@ -568,16 +599,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
568
599
|
}] });
|
|
569
600
|
|
|
570
601
|
class FsPopoverModule {
|
|
602
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
603
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverModule, declarations: [FsPopoverComponent,
|
|
604
|
+
FsPopoverWrapperComponent,
|
|
605
|
+
FsPopoverDirective], imports: [CommonModule,
|
|
606
|
+
PortalModule], exports: [FsPopoverComponent,
|
|
607
|
+
FsPopoverDirective] });
|
|
608
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverModule, imports: [CommonModule,
|
|
609
|
+
PortalModule] });
|
|
571
610
|
}
|
|
572
|
-
|
|
573
|
-
FsPopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FsPopoverModule, declarations: [FsPopoverComponent,
|
|
574
|
-
FsPopoverWrapperComponent,
|
|
575
|
-
FsPopoverDirective], imports: [CommonModule,
|
|
576
|
-
PortalModule], exports: [FsPopoverComponent,
|
|
577
|
-
FsPopoverDirective] });
|
|
578
|
-
FsPopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsPopoverModule, imports: [CommonModule,
|
|
579
|
-
PortalModule] });
|
|
580
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsPopoverModule, decorators: [{
|
|
611
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPopoverModule, decorators: [{
|
|
581
612
|
type: NgModule,
|
|
582
613
|
args: [{
|
|
583
614
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firestitch-popover.mjs","sources":["../../src/app/enums/position.ts","../../src/app/class/popover-ref.ts","../../src/app/components/popover-wrapper/popover-wrapper.component.ts","../../src/app/components/popover-wrapper/popover-wrapper.component.html","../../src/app/helpers/create-position-strategy.ts","../../src/app/helpers/create-overlay-ref.ts","../../src/app/helpers/create-injector.ts","../../src/app/helpers/create-template-portal.ts","../../src/app/services/popover.service.ts","../../src/app/helpers/point-in-rect.ts","../../src/app/directives/popover.directive.ts","../../src/app/components/popover/popover.component.ts","../../src/app/components/popover/popover.component.html","../../src/app/fs-popover.module.ts","../../src/public_api.ts","../../src/firestitch-popover.ts"],"sourcesContent":["export enum Position {\n North = 'north',\n South = 'south',\n East = 'east',\n West = 'west'\n}\n","import { OverlayRef } from '@angular/cdk/overlay';\n\nimport { BehaviorSubject, combineLatest } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { IPopoverConfig } from '../interfaces/popover-config.interface';\n\n\nexport class FsPopoverRef {\n\n public overlayRef: OverlayRef;\n\n private readonly _autoShow$ = new BehaviorSubject<boolean>(true);\n private readonly _autoClose$ = new BehaviorSubject<boolean>(true);\n private readonly _componentLoading$ = new BehaviorSubject<boolean>(true);\n private _maxWidth: number;\n private _wrapperClass: string;\n private _loadingDiameter: number;\n private _loading: boolean;\n private _theme: string;\n private _size: string;\n\n constructor(config: IPopoverConfig = {}) {\n this._init(config);\n }\n\n public get loadingDiameter() {\n return this._loadingDiameter;\n }\n\n public get size() {\n return this._size;\n }\n\n public get theme() {\n return this._theme;\n }\n\n public get loading() {\n return this._loading;\n }\n\n public get autoShow$() {\n return this._autoShow$.asObservable();\n }\n\n public get autoShow() {\n return this._autoShow$.getValue();\n }\n\n public set autoShow(value: boolean) {\n this._autoShow$.next(value);\n }\n\n public get autoClose$() {\n return this._autoClose$.asObservable();\n }\n\n public get autoClose() {\n return this._autoClose$.getValue();\n }\n\n public set autoClose(value: boolean) {\n this._autoClose$.next(value);\n }\n\n public get componentVisible$() {\n return combineLatest([\n this.autoShow$,\n this.componentLoading$,\n ]).pipe(\n map(([autoShow, componentLoading]) => {\n return autoShow || !componentLoading;\n })\n )\n }\n\n public get componentLoading$() {\n return this._componentLoading$.asObservable();\n }\n\n public get componentLoading() {\n return this._componentLoading$.getValue();\n }\n\n public get wrapperClass() {\n return this._wrapperClass;\n }\n\n public get maxWidth() {\n return this._maxWidth;\n }\n\n public show() {\n setTimeout(() => {\n this._componentLoading$.next(false);\n setTimeout(() => {\n this.updatePosition();\n });\n });\n }\n\n public close() {\n this.overlayRef.detach();\n this._componentLoading$.next(true);\n }\n\n public updatePosition() {\n this.overlayRef.updatePosition();\n }\n\n private _init(config: IPopoverConfig) {\n this._wrapperClass = config.wrapperClass;\n this._maxWidth = config.maxWidth;\n this._loading = config.loading;\n this._loadingDiameter = config.loadingDiameter;\n this._size = config.size;\n this._theme = config.theme;\n this._autoShow$.next(config.autoShow);\n this._autoClose$.next(config.autoClose);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n ViewChild,\n OnDestroy,\n NgZone,\n OnInit,\n Renderer2,\n} from '@angular/core';\n\nimport {\n BasePortalOutlet,\n CdkPortalOutlet,\n ComponentPortal,\n TemplatePortal,\n} from '@angular/cdk/portal';\n\nimport { fromEvent, Subject } from 'rxjs';\nimport { debounceTime, filter, takeUntil } from 'rxjs/operators';\n\nimport { FsPopoverRef } from '../../class/popover-ref';\n\n\n@Component({\n selector: 'fs-popover-wrapper',\n templateUrl: 'popover-wrapper.component.html',\n styleUrls: [ 'popover-wrapper.component.scss' ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'fs-popover-wrapper',\n },\n})\nexport class FsPopoverWrapperComponent extends BasePortalOutlet implements OnInit, OnDestroy {\n\n @ViewChild(CdkPortalOutlet, { static: true })\n public _portalOutlet: CdkPortalOutlet;\n\n @ViewChild('spinner')\n public spinner: ElementRef;\n\n public content: string;\n\n private _wrapperClass: string;\n private _contentChangesObserver: MutationObserver;\n private _updatePosition = new Subject<void>();\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n public popoverRef: FsPopoverRef,\n private _el: ElementRef,\n private _zone: NgZone,\n private _renderer: Renderer2,\n ) {\n super();\n this._updateClass();\n\n this.wrapperClass = this.popoverRef.wrapperClass;\n this.maxWidth = this.popoverRef.maxWidth;\n }\n\n public set maxWidth(value: number) {\n this._el.nativeElement.style.maxWidth = value ? value + 'px' : void 0;\n }\n\n public set wrapperClass(value: string) {\n this._wrapperClass = value;\n this._updateClass();\n }\n\n public ngOnInit(): void {\n if (!this.popoverRef.autoShow && this.popoverRef.componentLoading) {\n this._watchMousePosition();\n }\n\n this._observeContentChanges();\n this._listenUpdatePositionRequests();\n }\n\n\n public ngOnDestroy() {\n this._contentChangesObserver.disconnect();\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n /**\n * Attach a TemplatePortal as content to this popover container.\n * @param portal Portal to be attached as the popover content.\n */\n public attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n\n if (this._portalOutlet.hasAttached()) {\n throw Error('Popover template already attached');\n }\n\n return this._portalOutlet.attachTemplatePortal(portal);\n }\n\n\n /**\n * Attach a ComponentPortal as content to this popover container.\n * @param portal Portal to be attached as the popover content.\n */\n public attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n\n if (this._portalOutlet.hasAttached()) {\n throw Error('Popover component already attached');\n }\n\n return this._portalOutlet.attachComponentPortal(portal);\n }\n\n public setTextualContent(content: string): void {\n this.content = content;\n }\n\n public updatePosition() {\n this._updatePosition.next();\n }\n\n private _watchMousePosition() {\n const componentVisibilityChange$ = this.popoverRef.componentVisible$\n .pipe(\n filter((value) => value === true)\n );\n\n this._zone.runOutsideAngular(() => {\n fromEvent(document, 'mousemove')\n .pipe(\n takeUntil(componentVisibilityChange$),\n takeUntil(this._destroy$),\n )\n .subscribe((e: MouseEvent) => {\n this.spinner.nativeElement.style.left = e.x + 'px';\n this.spinner.nativeElement.style.top = (e.y + 20) + 'px';\n });\n });\n }\n\n private _updateClass() {\n if (this._wrapperClass) {\n this._renderer.addClass(this._el.nativeElement, this._wrapperClass);\n }\n }\n\n private _observeContentChanges() {\n const config = {\n childList: true,\n subtree: true\n };\n\n this._contentChangesObserver = new MutationObserver(() => {\n this.updatePosition();\n });\n\n this._contentChangesObserver.observe(this._el.nativeElement, config);\n }\n\n private _listenUpdatePositionRequests() {\n this._updatePosition\n .pipe(\n debounceTime(50),\n takeUntil(this._destroy$),\n )\n .subscribe(() => {\n this.popoverRef.updatePosition();\n })\n }\n}\n","<div class=\"wrapper\" [ngClass]=\"{\n 'theme-dark' : popoverRef.theme === 'dark',\n 'size-tiny': popoverRef.size === 'tiny',\n 'size-small': popoverRef.size === 'small',\n 'hidden': !(popoverRef.componentVisible$ | async)\n }\">\n <div class=\"mat-elevation-z4 popover-content\">\n <ng-container *ngIf=\"content\">\n {{content}}\n </ng-container>\n\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <div class=\"fs-popover-arrow light\"></div>\n <div class=\"fs-popover-arrow dark\"></div>\n</div>\n\n<div class=\"loading-spinner\"\n #spinner\n *ngIf=\"popoverRef.loading && !(popoverRef.componentVisible$ | async)\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" [attr.width]=\"popoverRef.loadingDiameter\" [attr.height]=\"popoverRef.loadingDiameter\" viewBox=\"0 0 42 42\" stroke=\"grey\">\n <g fill=\"none\" fill-rule=\"evenodd\">\n <g transform=\"translate(1 1)\" stroke-width=\"3\">\n <circle stroke-opacity=\".5\" cx=\"18\" cy=\"18\" r=\"18\"/>\n <path d=\"M36 18c0-9.94-8.06-18-18-18\">\n <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 18 18\" to=\"360 18 18\" dur=\"1s\" repeatCount=\"indefinite\"/>\n </path>\n </g>\n </g>\n </svg>\n</div>\n","import { ElementRef } from '@angular/core';\nimport { FlexibleConnectedPositionStrategy, Overlay, PositionStrategy } from '@angular/cdk/overlay';\nimport { Position } from './../enums/position';\n\n\nexport function createPopupPositionStrategy(el: ElementRef, overlay: Overlay, position: Position): PositionStrategy {\n\n let overlayX: 'start' | 'center' | 'end' = 'center';\n let overlayY: 'top' | 'center' | 'bottom' = 'center';\n\n let originX: 'start' | 'center' | 'end' = 'center';\n let originY: 'top' | 'center' | 'bottom' = 'center';\n\n let offsetX = 0;\n let offsetY = 0;\n\n let panelClass: string[] = [];\n\n\n switch (position) {\n case Position.North:\n originY = 'top';\n overlayY = 'bottom';\n panelClass = ['fs-popover-top'];\n offsetY = -8;\n break;\n case Position.South:\n originY = 'bottom';\n overlayY = 'top';\n panelClass = ['fs-popover-bottom'];\n offsetY = 8;\n break;\n case Position.East:\n overlayX = 'start';\n originX = 'end';\n panelClass = ['fs-popover-left'];\n offsetX = 8;\n break;\n case Position.West:\n overlayX = 'end';\n originX = 'start';\n panelClass = ['fs-popover-right'];\n offsetX = -8;\n break;\n }\n\n return createBasePopupPositionStrategy(el, overlay)\n .withPositions([\n {\n originX: originX,\n originY: originY,\n overlayX: overlayX,\n overlayY: overlayY,\n offsetX: offsetX,\n offsetY: offsetY,\n panelClass: panelClass,\n }\n ]);\n}\n\n\nfunction createBasePopupPositionStrategy(el: ElementRef, overlay: Overlay): FlexibleConnectedPositionStrategy {\n return overlay.position()\n .flexibleConnectedTo(el)\n .withGrowAfterOpen(true)\n .withFlexibleDimensions(false)\n .withViewportMargin(4);\n}\n","import { ElementRef } from '@angular/core';\nimport { Overlay, OverlayConfig } from '@angular/cdk/overlay';\nimport { createPopupPositionStrategy } from './create-position-strategy';\nimport { Position } from './../enums/position';\n\n\nexport function createOverlayRef(el: ElementRef, overlay: Overlay, position: Position) {\n const config = {\n positionStrategy: createPopupPositionStrategy(el, overlay, position),\n scrollStrategy: overlay.scrollStrategies.reposition(),\n hasBackdrop: false\n };\n\n const overlayConfig = new OverlayConfig(config);\n\n return overlay.create(overlayConfig);\n}\n","import { Injector } from '@angular/core';\nimport { PortalInjector } from '@angular/cdk/portal';\nimport { FsPopoverRef } from '../class/popover-ref';\n\n\nexport function createInjector(popoverRef: FsPopoverRef, parentInjector: Injector) {\n const injectionTokens = new WeakMap<any, any>([\n [FsPopoverRef, popoverRef],\n ]);\n\n return new PortalInjector(parentInjector, injectionTokens);\n}\n","import { TemplateRef } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { FsPopoverRef } from '../class/popover-ref';\n\n\nexport function createTempatePortal(template: TemplateRef<any>, popoverRef: FsPopoverRef, data: any) {\n return new TemplatePortal(\n template,\n void 0,\n { data: data, popover: popoverRef },\n );\n}\n","import { ElementRef, Injectable, Injector, TemplateRef } from '@angular/core';\n\nimport {\n ComponentType,\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\n\nimport { ComponentPortal } from '@angular/cdk/portal';\n\nimport { Position } from './../enums/position';\nimport { FsPopoverRef } from '../class/popover-ref';\nimport { FsPopoverWrapperComponent } from '../components/popover-wrapper/popover-wrapper.component';\nimport { createOverlayRef } from '../helpers/create-overlay-ref';\nimport { createInjector } from '../helpers/create-injector';\nimport { createTempatePortal } from '../helpers/create-template-portal';\nimport { IPopoverActiveElement } from '../interfaces/popover-config.interface';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FsPopoverService {\n\n private _activeElement: IPopoverActiveElement;\n private _activeElementGUID: string;\n\n constructor(\n private _injector: Injector,\n private _overlay: Overlay,\n ) {}\n\n public get hasActivePopover() {\n return !!this._activeElement;\n }\n\n public get activeElementGUID(): string {\n return this._activeElementGUID;\n }\n\n public setActivePopoverGUID(value: string) {\n this._activeElementGUID = value;\n }\n\n public openPopover(\n el: ElementRef,\n text: string,\n data: any,\n popoverRef: FsPopoverRef,\n position: Position\n ): Element;\n\n public openPopover(\n el: ElementRef,\n template: TemplateRef<any>,\n data: any,\n popoverRef: FsPopoverRef,\n position: Position\n ): Element;\n\n public openPopover(\n el: ElementRef,\n content: TemplateRef<any> | string,\n data: any,\n popoverRef: FsPopoverRef,\n position: Position\n ): Element {\n\n if (this._activeElement) {\n this.close(this._activeElement.popoverRef)\n }\n\n const overlayRef = createOverlayRef(el, this._overlay, position);\n const containerRef = this._openPortalPreview(FsPopoverWrapperComponent, overlayRef, popoverRef);\n\n if (content instanceof TemplateRef) {\n const templatePortal = createTempatePortal(content, popoverRef, data);\n\n containerRef.instance.attachTemplatePortal(templatePortal);\n } else {\n containerRef.instance.setTextualContent(content);\n }\n\n popoverRef.overlayRef = overlayRef;\n\n this._activeElement = {\n overlayRef,\n popoverRef,\n };\n\n return containerRef.location.nativeElement;\n }\n\n public close(popoverRef: FsPopoverRef = null) {\n if (this._activeElement.popoverRef === popoverRef) {\n popoverRef.close();\n this._activeElement = void 0;\n this._activeElementGUID = void 0;\n }\n }\n\n private _openPortalPreview(\n component: ComponentType<FsPopoverWrapperComponent>,\n overlayRef: OverlayRef,\n popoverRef: FsPopoverRef,\n ) {\n const containerPortal = new ComponentPortal<FsPopoverWrapperComponent>(\n component,\n void 0,\n createInjector(popoverRef, this._injector),\n );\n\n return overlayRef.attach(containerPortal);\n }\n}\n","export function pointInRect(x1, y1, x2, y2, px, py) {\n return (px > x1 && px < x2) && (py > y1 && py < y2);\n}\n","import {\n ElementRef,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n TemplateRef,\n HostBinding,\n Directive,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\n\nimport { fromEvent, pipe, Subject, timer, Observable, merge } from 'rxjs';\nimport {\n debounceTime,\n delay,\n distinctUntilChanged,\n filter,\n finalize,\n mapTo,\n startWith,\n switchMap,\n takeUntil,\n tap,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport { guid } from '@firestitch/common';\n\nimport { Position } from '../enums/position';\nimport { FsPopoverService } from '../services/popover.service';\nimport { pointInRect } from '../helpers/point-in-rect';\nimport { FsPopoverRef } from '../class/popover-ref';\n\n\n@Directive({\n selector: '[fsPopover]',\n host: {\n 'class': 'fs-popover',\n },\n})\nexport class FsPopoverDirective implements OnInit, OnChanges, OnDestroy {\n\n private _guid = guid('xxxxxxx');\n\n @Input()\n public text: string;\n\n @Input()\n public template: TemplateRef<any>;\n\n @Input()\n public data: any;\n\n @Input()\n public leaveDelay = 100;\n\n @Input()\n public showDelay = 0;\n\n @Input()\n public maxWidth = 250;\n\n @Input()\n public wrapperClass: string;\n\n @Input()\n public autoShow = true;\n\n @Input()\n public autoClose = true;\n\n @Input()\n public loadingDiameter = 20;\n\n @Input()\n public loading = true;\n\n @Input()\n @HostBinding('class.indication')\n public indication = true;\n\n @Input()\n public position: Position = Position.South;\n\n @Input()\n public theme: 'light' | 'dark' = 'light';\n\n @Input()\n public size: 'tiny' | 'small' | 'normal' = 'normal';\n\n @Input()\n public trigger: 'click' | 'mouseover' = 'mouseover';\n\n @Input()\n @HostBinding('class.fs-popover-enabled')\n public enabled = true;\n\n private _initialized = false;\n\n private _popoverRef: FsPopoverRef;\n private _wrapperElement: Element;\n private _hostBounds: DOMRect;\n\n private _mouseEnter$ = fromEvent(this._elRef.nativeElement, 'mouseenter');\n private _mouseMove$ = fromEvent(document, 'mousemove', { passive: true });\n private _mouseLeave$ = fromEvent<MouseEvent>(this._elRef.nativeElement, 'mouseleave');\n\n private _popoverClosed$ = new Subject<void>();\n private _destroy$ = new Subject<void>();\n\n constructor(\n private _elRef: ElementRef,\n private _popoverService: FsPopoverService,\n private _ngZone: NgZone,\n @Optional() private _router: Router,\n ) {\n }\n\n public get openTimer$(): Observable<number> {\n return timer(this.showDelay);\n }\n\n public get closeTimer$(): Observable<number> {\n return timer(this.leaveDelay);\n }\n\n public ngOnInit(): void {\n if (this.enabled) {\n this._initialize();\n }\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes.enabled?.currentValue !== changes.enabled?.previousValue) {\n if (this.enabled && !this._initialized) {\n this._initialize();\n }\n }\n }\n\n public ngOnDestroy() {\n this._popoverClosed$.next();\n this._destroy$.next();\n }\n\n private _closePopover() {\n this._popoverClosed$.next();\n\n this._ngZone.run(() => {\n this._wrapperElement = null;\n\n if (this._popoverService.hasActivePopover) {\n this._popoverService.close(this._popoverRef);\n }\n });\n }\n\n private _initialize(): void {\n if (this._initialized) {\n return;\n }\n\n this._popoverRef = new FsPopoverRef({\n maxWidth: this.maxWidth,\n wrapperClass: this.wrapperClass,\n autoShow: this.autoShow,\n autoClose: this.autoClose,\n loadingDiameter: this.loadingDiameter,\n loading: this.loading,\n size: this.size,\n theme: this.theme,\n });\n\n this._ngZone.runOutsideAngular(() => {\n if (this.trigger === 'click') {\n this._listenMouseHostClick();\n } else {\n this._listenMouseHostEnter();\n }\n });\n\n this._listenRouteChange();\n\n this._initialized = true;\n }\n\n private _listenRouteChange(): void {\n this._router.events\n .pipe(\n filter((event) => {\n return event instanceof NavigationEnd;\n }),\n pipe(\n takeUntil(\n this._destroy$\n .pipe(delay(200)),\n ),\n )\n )\n .subscribe(() => {\n this._closePopover();\n })\n }\n\n private _listenMouseHostClick(): void {\n fromEvent(this._elRef.nativeElement, 'click', { passive: true })\n .pipe(\n filter(() => this.enabled),\n tap((e: MouseEvent) => {\n e.stopPropagation();\n\n this._openPopover();\n }),\n switchMap(() => this._listenMouseHostLeave$()),\n switchMap(() => this.closeTimer$),\n takeUntil(this._destroy$),\n )\n .subscribe(() => {\n this._closePopover();\n });\n }\n\n private _listenMouseHostEnter(): void {\n const actualMouseState$ = merge(\n this._mouseLeave$.pipe(mapTo(true)),\n this._mouseEnter$.pipe(mapTo(false)),\n )\n .pipe(\n startWith(false),\n distinctUntilChanged(),\n );\n\n this._mouseEnter$\n .pipe(\n filter(() => this.enabled),\n filter(() => {\n return !this._wrapperElement;\n }),\n tap(() => {\n this._popoverService.setActivePopoverGUID(this._guid);\n }),\n switchMap(() => this.openTimer$),\n // we have to check that after all delays mouse still over an elemen\n withLatestFrom(actualMouseState$),\n filter(([_, mouseLeave]) => {\n return !mouseLeave;\n }),\n tap(() => this._openPopover()),\n switchMap(() => this._listenMouseHostLeave$()),\n switchMap(() => this.closeTimer$),\n tap(() => this._closePopover()),\n finalize(() => this._closePopover()),\n takeUntil(this._destroy$),\n )\n .subscribe();\n }\n\n private _openPopover(): void {\n if (this.trigger === 'mouseover' && this._popoverService.activeElementGUID !== this._guid) {\n return;\n }\n\n this._hostBounds = this._elRef.nativeElement.getBoundingClientRect();\n\n this._ngZone.run(() => {\n if (this.template) {\n this._wrapperElement = this._popoverService.openPopover(\n this._elRef,\n this.template,\n this.data,\n this._popoverRef,\n this.position\n );\n } else {\n this._wrapperElement = this._popoverService.openPopover(\n this._elRef,\n this.text,\n this.data,\n this._popoverRef,\n this.position\n );\n }\n });\n }\n\n private _listenMouseHostLeave$(): Observable<MouseEvent> {\n const mouseMove$ = this._mouseMove$\n .pipe(\n debounceTime(50),\n filter(() => !!this._wrapperElement),\n filter((event: MouseEvent) => {\n return this._popoverRef.autoClose && this._mouseLeftTheTargets(event);\n }),\n );\n\n const mouseClick$ = fromEvent<MouseEvent>(this._elRef.nativeElement, 'click');\n\n return merge(\n mouseMove$,\n mouseClick$,\n );\n //\n // return this._mouseLeave$\n // .pipe(\n // //\n // timeoutWith(200, mouseMove$),\n // );\n }\n\n // Check if mouse left target or popover rects\n private _mouseLeftTheTargets(event: MouseEvent): boolean {\n const hostBounds = this._hostBounds;\n const popoverBounds = this._wrapperElement.getBoundingClientRect();\n\n const pointInHostRect = pointInRect(\n hostBounds.x,\n hostBounds.y,\n hostBounds.x + hostBounds.width,\n hostBounds.y + hostBounds.height,\n event.x,\n event.y\n );\n\n const pointInPopoverRect = pointInRect(\n popoverBounds.x,\n popoverBounds.y,\n popoverBounds.x + popoverBounds.width,\n popoverBounds.y + popoverBounds.height,\n event.x,\n event.y\n );\n\n return !pointInHostRect && !pointInPopoverRect;\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FsPopoverDirective } from '../../directives/popover.directive';\n\n\n@Component({\n selector: 'fs-popover',\n templateUrl: 'popover.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'fs-popover-component',\n }\n})\nexport class FsPopoverComponent extends FsPopoverDirective {}\n","<span [ngClass]=\"{'popover-container': enabled}\">\n <ng-content></ng-content>\n</span>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\n\nimport { FsPopoverComponent } from './components/popover/popover.component';\nimport { FsPopoverWrapperComponent } from './components/popover-wrapper/popover-wrapper.component';\nimport { FsPopoverDirective } from './directives/popover.directive';\n\n\n@NgModule({\n imports: [\n CommonModule,\n PortalModule,\n ],\n declarations: [\n FsPopoverComponent,\n FsPopoverWrapperComponent,\n FsPopoverDirective,\n ],\n exports: [\n FsPopoverComponent,\n FsPopoverDirective,\n ],\n})\nexport class FsPopoverModule {}\n","/*\n * Public API Surface of fs-menu\n */\n\n\nexport { FsPopoverModule } from './app/fs-popover.module';\n\nexport { FsPopoverComponent } from './app/components/popover/popover.component';\nexport { FsPopoverDirective } from './app/directives/popover.directive';\n\nexport { Position } from './app/enums/position';\n\nexport { FsPopoverRef } from './app/class/popover-ref';\n\nexport { IPopoverConfig } from './app/interfaces/popover-config.interface';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.FsPopoverRef","i1.FsPopoverService","i2","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"firestitch-popover.mjs","sources":["../../src/app/enums/position.ts","../../src/app/class/popover-ref.ts","../../src/app/components/popover-wrapper/popover-wrapper.component.ts","../../src/app/components/popover-wrapper/popover-wrapper.component.html","../../src/app/helpers/create-position-strategy.ts","../../src/app/helpers/create-overlay-ref.ts","../../src/app/helpers/create-injector.ts","../../src/app/helpers/create-template-portal.ts","../../src/app/services/popover.service.ts","../../src/app/helpers/point-in-rect.ts","../../src/app/directives/popover.directive.ts","../../src/app/components/popover/popover.component.ts","../../src/app/components/popover/popover.component.html","../../src/app/fs-popover.module.ts","../../src/public_api.ts","../../src/firestitch-popover.ts"],"sourcesContent":["export enum Position {\n North = 'north',\n South = 'south',\n East = 'east',\n West = 'west'\n}\n","import { OverlayRef } from '@angular/cdk/overlay';\n\nimport { BehaviorSubject, combineLatest } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { IPopoverConfig } from '../interfaces/popover-config.interface';\n\n\nexport class FsPopoverRef {\n\n public overlayRef: OverlayRef;\n\n private readonly _autoShow$ = new BehaviorSubject<boolean>(true);\n private readonly _autoClose$ = new BehaviorSubject<boolean>(true);\n private readonly _componentLoading$ = new BehaviorSubject<boolean>(true);\n private _maxWidth: number;\n private _wrapperClass: string;\n private _loadingDiameter: number;\n private _loading: boolean;\n private _theme: string;\n private _size: string;\n\n constructor(config: IPopoverConfig = {}) {\n this._init(config);\n }\n\n public get loadingDiameter() {\n return this._loadingDiameter;\n }\n\n public get size() {\n return this._size;\n }\n\n public get theme() {\n return this._theme;\n }\n\n public get loading() {\n return this._loading;\n }\n\n public get autoShow$() {\n return this._autoShow$.asObservable();\n }\n\n public get autoShow() {\n return this._autoShow$.getValue();\n }\n\n public set autoShow(value: boolean) {\n this._autoShow$.next(value);\n }\n\n public get autoClose$() {\n return this._autoClose$.asObservable();\n }\n\n public get autoClose() {\n return this._autoClose$.getValue();\n }\n\n public set autoClose(value: boolean) {\n this._autoClose$.next(value);\n }\n\n public get componentVisible$() {\n return combineLatest([\n this.autoShow$,\n this.componentLoading$,\n ]).pipe(\n map(([autoShow, componentLoading]) => {\n return autoShow || !componentLoading;\n })\n )\n }\n\n public get componentLoading$() {\n return this._componentLoading$.asObservable();\n }\n\n public get componentLoading() {\n return this._componentLoading$.getValue();\n }\n\n public get wrapperClass() {\n return this._wrapperClass;\n }\n\n public get maxWidth() {\n return this._maxWidth;\n }\n\n public show() {\n setTimeout(() => {\n this._componentLoading$.next(false);\n setTimeout(() => {\n this.updatePosition();\n });\n });\n }\n\n public close() {\n this.overlayRef.detach();\n this._componentLoading$.next(true);\n }\n\n public updatePosition() {\n this.overlayRef.updatePosition();\n }\n\n private _init(config: IPopoverConfig) {\n this._wrapperClass = config.wrapperClass;\n this._maxWidth = config.maxWidth;\n this._loading = config.loading;\n this._loadingDiameter = config.loadingDiameter;\n this._size = config.size;\n this._theme = config.theme;\n this._autoShow$.next(config.autoShow);\n this._autoClose$.next(config.autoClose);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n ViewChild,\n OnDestroy,\n NgZone,\n OnInit,\n Renderer2,\n} from '@angular/core';\n\nimport {\n BasePortalOutlet,\n CdkPortalOutlet,\n ComponentPortal,\n TemplatePortal,\n} from '@angular/cdk/portal';\n\nimport { fromEvent, Subject } from 'rxjs';\nimport { debounceTime, filter, takeUntil } from 'rxjs/operators';\n\nimport { FsPopoverRef } from '../../class/popover-ref';\n\n\n@Component({\n selector: 'fs-popover-wrapper',\n templateUrl: 'popover-wrapper.component.html',\n styleUrls: [ 'popover-wrapper.component.scss' ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'fs-popover-wrapper',\n },\n})\nexport class FsPopoverWrapperComponent extends BasePortalOutlet implements OnInit, OnDestroy {\n\n @ViewChild(CdkPortalOutlet, { static: true })\n public _portalOutlet: CdkPortalOutlet;\n\n @ViewChild('spinner')\n public spinner: ElementRef;\n\n public content: string;\n\n private _wrapperClass: string;\n private _contentChangesObserver: MutationObserver;\n private _updatePosition = new Subject<void>();\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n public popoverRef: FsPopoverRef,\n private _el: ElementRef,\n private _zone: NgZone,\n private _renderer: Renderer2,\n ) {\n super();\n this._updateClass();\n\n this.wrapperClass = this.popoverRef.wrapperClass;\n this.maxWidth = this.popoverRef.maxWidth;\n }\n\n public set maxWidth(value: number) {\n this._el.nativeElement.style.maxWidth = value ? value + 'px' : void 0;\n }\n\n public set wrapperClass(value: string) {\n this._wrapperClass = value;\n this._updateClass();\n }\n\n public ngOnInit(): void {\n if (!this.popoverRef.autoShow && this.popoverRef.componentLoading) {\n this._watchMousePosition();\n }\n\n this._observeContentChanges();\n this._listenUpdatePositionRequests();\n }\n\n\n public ngOnDestroy() {\n this._contentChangesObserver.disconnect();\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n /**\n * Attach a TemplatePortal as content to this popover container.\n * @param portal Portal to be attached as the popover content.\n */\n public attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n\n if (this._portalOutlet.hasAttached()) {\n throw Error('Popover template already attached');\n }\n\n return this._portalOutlet.attachTemplatePortal(portal);\n }\n\n\n /**\n * Attach a ComponentPortal as content to this popover container.\n * @param portal Portal to be attached as the popover content.\n */\n public attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n\n if (this._portalOutlet.hasAttached()) {\n throw Error('Popover component already attached');\n }\n\n return this._portalOutlet.attachComponentPortal(portal);\n }\n\n public setTextualContent(content: string): void {\n this.content = content;\n }\n\n public updatePosition() {\n this._updatePosition.next();\n }\n\n private _watchMousePosition() {\n const componentVisibilityChange$ = this.popoverRef.componentVisible$\n .pipe(\n filter((value) => value === true)\n );\n\n this._zone.runOutsideAngular(() => {\n fromEvent(document, 'mousemove')\n .pipe(\n takeUntil(componentVisibilityChange$),\n takeUntil(this._destroy$),\n )\n .subscribe((e: MouseEvent) => {\n this.spinner.nativeElement.style.left = e.x + 'px';\n this.spinner.nativeElement.style.top = (e.y + 20) + 'px';\n });\n });\n }\n\n private _updateClass() {\n if (this._wrapperClass) {\n this._renderer.addClass(this._el.nativeElement, this._wrapperClass);\n }\n }\n\n private _observeContentChanges() {\n const config = {\n childList: true,\n subtree: true\n };\n\n this._contentChangesObserver = new MutationObserver(() => {\n this.updatePosition();\n });\n\n this._contentChangesObserver.observe(this._el.nativeElement, config);\n }\n\n private _listenUpdatePositionRequests() {\n this._updatePosition\n .pipe(\n debounceTime(50),\n takeUntil(this._destroy$),\n )\n .subscribe(() => {\n this.popoverRef.updatePosition();\n })\n }\n}\n","<div class=\"wrapper\" [ngClass]=\"{\n 'theme-dark' : popoverRef.theme === 'dark',\n 'size-tiny': popoverRef.size === 'tiny',\n 'size-small': popoverRef.size === 'small',\n 'hidden': !(popoverRef.componentVisible$ | async)\n }\">\n <div class=\"mat-elevation-z4 popover-content\">\n <ng-container *ngIf=\"content\">\n {{content}}\n </ng-container>\n\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <div class=\"fs-popover-arrow light\"></div>\n <div class=\"fs-popover-arrow dark\"></div>\n</div>\n\n<div class=\"loading-spinner\"\n #spinner\n *ngIf=\"popoverRef.loading && !(popoverRef.componentVisible$ | async)\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" [attr.width]=\"popoverRef.loadingDiameter\" [attr.height]=\"popoverRef.loadingDiameter\" viewBox=\"0 0 42 42\" stroke=\"grey\">\n <g fill=\"none\" fill-rule=\"evenodd\">\n <g transform=\"translate(1 1)\" stroke-width=\"3\">\n <circle stroke-opacity=\".5\" cx=\"18\" cy=\"18\" r=\"18\"/>\n <path d=\"M36 18c0-9.94-8.06-18-18-18\">\n <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 18 18\" to=\"360 18 18\" dur=\"1s\" repeatCount=\"indefinite\"/>\n </path>\n </g>\n </g>\n </svg>\n</div>\n","import { ElementRef } from '@angular/core';\nimport { FlexibleConnectedPositionStrategy, Overlay, PositionStrategy } from '@angular/cdk/overlay';\nimport { Position } from './../enums/position';\n\n\nexport function createPopupPositionStrategy(el: ElementRef, overlay: Overlay, position: Position): PositionStrategy {\n\n let overlayX: 'start' | 'center' | 'end' = 'center';\n let overlayY: 'top' | 'center' | 'bottom' = 'center';\n\n let originX: 'start' | 'center' | 'end' = 'center';\n let originY: 'top' | 'center' | 'bottom' = 'center';\n\n let offsetX = 0;\n let offsetY = 0;\n\n let panelClass: string[] = [];\n\n\n switch (position) {\n case Position.North:\n originY = 'top';\n overlayY = 'bottom';\n panelClass = ['fs-popover-top'];\n offsetY = -8;\n break;\n case Position.South:\n originY = 'bottom';\n overlayY = 'top';\n panelClass = ['fs-popover-bottom'];\n offsetY = 8;\n break;\n case Position.East:\n overlayX = 'start';\n originX = 'end';\n panelClass = ['fs-popover-left'];\n offsetX = 8;\n break;\n case Position.West:\n overlayX = 'end';\n originX = 'start';\n panelClass = ['fs-popover-right'];\n offsetX = -8;\n break;\n }\n\n return createBasePopupPositionStrategy(el, overlay)\n .withPositions([\n {\n originX: originX,\n originY: originY,\n overlayX: overlayX,\n overlayY: overlayY,\n offsetX: offsetX,\n offsetY: offsetY,\n panelClass: panelClass,\n }\n ]);\n}\n\n\nfunction createBasePopupPositionStrategy(el: ElementRef, overlay: Overlay): FlexibleConnectedPositionStrategy {\n return overlay.position()\n .flexibleConnectedTo(el)\n .withGrowAfterOpen(true)\n .withFlexibleDimensions(false)\n .withViewportMargin(4);\n}\n","import { ElementRef } from '@angular/core';\nimport { Overlay, OverlayConfig } from '@angular/cdk/overlay';\nimport { createPopupPositionStrategy } from './create-position-strategy';\nimport { Position } from './../enums/position';\n\n\nexport function createOverlayRef(el: ElementRef, overlay: Overlay, position: Position) {\n const config = {\n positionStrategy: createPopupPositionStrategy(el, overlay, position),\n scrollStrategy: overlay.scrollStrategies.reposition(),\n hasBackdrop: false\n };\n\n const overlayConfig = new OverlayConfig(config);\n\n return overlay.create(overlayConfig);\n}\n","import { Injector } from '@angular/core';\nimport { PortalInjector } from '@angular/cdk/portal';\nimport { FsPopoverRef } from '../class/popover-ref';\n\n\nexport function createInjector(popoverRef: FsPopoverRef, parentInjector: Injector) {\n const injectionTokens = new WeakMap<any, any>([\n [FsPopoverRef, popoverRef],\n ]);\n\n return new PortalInjector(parentInjector, injectionTokens);\n}\n","import { TemplateRef } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { FsPopoverRef } from '../class/popover-ref';\n\n\nexport function createTempatePortal(template: TemplateRef<any>, popoverRef: FsPopoverRef, data: any) {\n return new TemplatePortal(\n template,\n void 0,\n { data: data, popover: popoverRef },\n );\n}\n","import { ElementRef, Injectable, Injector, TemplateRef } from '@angular/core';\n\nimport {\n ComponentType,\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\n\nimport { ComponentPortal } from '@angular/cdk/portal';\n\nimport { Position } from './../enums/position';\nimport { FsPopoverRef } from '../class/popover-ref';\nimport { FsPopoverWrapperComponent } from '../components/popover-wrapper/popover-wrapper.component';\nimport { createOverlayRef } from '../helpers/create-overlay-ref';\nimport { createInjector } from '../helpers/create-injector';\nimport { createTempatePortal } from '../helpers/create-template-portal';\nimport { IPopoverActiveElement } from '../interfaces/popover-config.interface';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FsPopoverService {\n\n private _activeElement: IPopoverActiveElement;\n private _activeElementGUID: string;\n\n constructor(\n private _injector: Injector,\n private _overlay: Overlay,\n ) {}\n\n public get hasActivePopover() {\n return !!this._activeElement;\n }\n\n public get activeElementGUID(): string {\n return this._activeElementGUID;\n }\n\n public setActivePopoverGUID(value: string) {\n this._activeElementGUID = value;\n }\n\n public openPopover(\n el: ElementRef,\n text: string,\n data: any,\n popoverRef: FsPopoverRef,\n position: Position\n ): Element;\n\n public openPopover(\n el: ElementRef,\n template: TemplateRef<any>,\n data: any,\n popoverRef: FsPopoverRef,\n position: Position\n ): Element;\n\n public openPopover(\n el: ElementRef,\n content: TemplateRef<any> | string,\n data: any,\n popoverRef: FsPopoverRef,\n position: Position\n ): Element {\n\n if (this._activeElement) {\n this.close(this._activeElement.popoverRef)\n }\n\n const overlayRef = createOverlayRef(el, this._overlay, position);\n const containerRef = this._openPortalPreview(FsPopoverWrapperComponent, overlayRef, popoverRef);\n\n if (content instanceof TemplateRef) {\n const templatePortal = createTempatePortal(content, popoverRef, data);\n\n containerRef.instance.attachTemplatePortal(templatePortal);\n } else {\n containerRef.instance.setTextualContent(content);\n }\n\n popoverRef.overlayRef = overlayRef;\n\n this._activeElement = {\n overlayRef,\n popoverRef,\n };\n\n return containerRef.location.nativeElement;\n }\n\n public close(popoverRef: FsPopoverRef = null) {\n if (this._activeElement.popoverRef === popoverRef) {\n popoverRef.close();\n this._activeElement = void 0;\n this._activeElementGUID = void 0;\n }\n }\n\n private _openPortalPreview(\n component: ComponentType<FsPopoverWrapperComponent>,\n overlayRef: OverlayRef,\n popoverRef: FsPopoverRef,\n ) {\n const containerPortal = new ComponentPortal<FsPopoverWrapperComponent>(\n component,\n void 0,\n createInjector(popoverRef, this._injector),\n );\n\n return overlayRef.attach(containerPortal);\n }\n}\n","export function pointInRect(x1, y1, x2, y2, px, py) {\n return (px > x1 && px < x2) && (py > y1 && py < y2);\n}\n","import {\n ElementRef,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n TemplateRef,\n HostBinding,\n Directive,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\n\nimport { fromEvent, pipe, Subject, timer, Observable, merge } from 'rxjs';\nimport {\n debounceTime,\n delay,\n distinctUntilChanged,\n filter,\n finalize,\n mapTo,\n startWith,\n switchMap,\n takeUntil,\n tap,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport { guid } from '@firestitch/common';\n\nimport { Position } from '../enums/position';\nimport { FsPopoverService } from '../services/popover.service';\nimport { pointInRect } from '../helpers/point-in-rect';\nimport { FsPopoverRef } from '../class/popover-ref';\n\n\n@Directive({\n selector: '[fsPopover]',\n host: {\n 'class': 'fs-popover',\n },\n})\nexport class FsPopoverDirective implements OnInit, OnChanges, OnDestroy {\n\n private _guid = guid('xxxxxxx');\n\n @Input()\n public text: string;\n\n @Input()\n public template: TemplateRef<any>;\n\n @Input()\n public data: any;\n\n @Input()\n public leaveDelay = 100;\n\n @Input()\n public showDelay = 0;\n\n @Input()\n public maxWidth = 250;\n\n @Input()\n public wrapperClass: string;\n\n @Input()\n public autoShow = true;\n\n @Input()\n public autoClose = true;\n\n @Input()\n public loadingDiameter = 20;\n\n @Input()\n public loading = true;\n\n @Input()\n @HostBinding('class.indication')\n public indication = true;\n\n @Input()\n public position: Position = Position.South;\n\n @Input()\n public theme: 'light' | 'dark' = 'light';\n\n @Input()\n public size: 'tiny' | 'small' | 'normal' = 'normal';\n\n @Input()\n public trigger: 'click' | 'mouseover' = 'mouseover';\n\n @Input()\n @HostBinding('class.fs-popover-enabled')\n public enabled = true;\n\n private _initialized = false;\n\n private _popoverRef: FsPopoverRef;\n private _wrapperElement: Element;\n private _hostBounds: DOMRect;\n\n private _mouseEnter$ = fromEvent(this._elRef.nativeElement, 'mouseenter');\n private _mouseMove$ = fromEvent(document, 'mousemove', { passive: true });\n private _mouseLeave$ = fromEvent<MouseEvent>(this._elRef.nativeElement, 'mouseleave');\n\n private _popoverClosed$ = new Subject<void>();\n private _destroy$ = new Subject<void>();\n\n constructor(\n private _elRef: ElementRef,\n private _popoverService: FsPopoverService,\n private _ngZone: NgZone,\n @Optional() private _router: Router,\n ) {\n }\n\n public get openTimer$(): Observable<number> {\n return timer(this.showDelay);\n }\n\n public get closeTimer$(): Observable<number> {\n return timer(this.leaveDelay);\n }\n\n public ngOnInit(): void {\n if (this.enabled) {\n this._initialize();\n }\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes.enabled?.currentValue !== changes.enabled?.previousValue) {\n if (this.enabled && !this._initialized) {\n this._initialize();\n }\n }\n }\n\n public ngOnDestroy() {\n this._popoverClosed$.next();\n this._destroy$.next();\n }\n\n private _closePopover() {\n this._popoverClosed$.next();\n\n this._ngZone.run(() => {\n this._wrapperElement = null;\n\n if (this._popoverService.hasActivePopover) {\n this._popoverService.close(this._popoverRef);\n }\n });\n }\n\n private _initialize(): void {\n if (this._initialized) {\n return;\n }\n\n this._popoverRef = new FsPopoverRef({\n maxWidth: this.maxWidth,\n wrapperClass: this.wrapperClass,\n autoShow: this.autoShow,\n autoClose: this.autoClose,\n loadingDiameter: this.loadingDiameter,\n loading: this.loading,\n size: this.size,\n theme: this.theme,\n });\n\n this._ngZone.runOutsideAngular(() => {\n if (this.trigger === 'click') {\n this._listenMouseHostClick();\n } else {\n this._listenMouseHostEnter();\n }\n });\n\n this._listenRouteChange();\n\n this._initialized = true;\n }\n\n private _listenRouteChange(): void {\n this._router.events\n .pipe(\n filter((event) => {\n return event instanceof NavigationEnd;\n }),\n pipe(\n takeUntil(\n this._destroy$\n .pipe(delay(200)),\n ),\n )\n )\n .subscribe(() => {\n this._closePopover();\n })\n }\n\n private _listenMouseHostClick(): void {\n fromEvent(this._elRef.nativeElement, 'click', { passive: true })\n .pipe(\n filter(() => this.enabled),\n tap((e: MouseEvent) => {\n e.stopPropagation();\n\n this._openPopover();\n }),\n switchMap(() => this._listenMouseHostLeave$()),\n switchMap(() => this.closeTimer$),\n takeUntil(this._destroy$),\n )\n .subscribe(() => {\n this._closePopover();\n });\n }\n\n private _listenMouseHostEnter(): void {\n const actualMouseState$ = merge(\n this._mouseLeave$.pipe(mapTo(true)),\n this._mouseEnter$.pipe(mapTo(false)),\n )\n .pipe(\n startWith(false),\n distinctUntilChanged(),\n );\n\n this._mouseEnter$\n .pipe(\n filter(() => this.enabled),\n filter(() => {\n return !this._wrapperElement;\n }),\n tap(() => {\n this._popoverService.setActivePopoverGUID(this._guid);\n }),\n switchMap(() => this.openTimer$),\n // we have to check that after all delays mouse still over an elemen\n withLatestFrom(actualMouseState$),\n filter(([_, mouseLeave]) => {\n return !mouseLeave;\n }),\n tap(() => this._openPopover()),\n switchMap(() => this._listenMouseHostLeave$()),\n switchMap(() => this.closeTimer$),\n tap(() => this._closePopover()),\n finalize(() => this._closePopover()),\n takeUntil(this._destroy$),\n )\n .subscribe();\n }\n\n private _openPopover(): void {\n if (this.trigger === 'mouseover' && this._popoverService.activeElementGUID !== this._guid) {\n return;\n }\n\n this._hostBounds = this._elRef.nativeElement.getBoundingClientRect();\n\n this._ngZone.run(() => {\n if (this.template) {\n this._wrapperElement = this._popoverService.openPopover(\n this._elRef,\n this.template,\n this.data,\n this._popoverRef,\n this.position\n );\n } else {\n this._wrapperElement = this._popoverService.openPopover(\n this._elRef,\n this.text,\n this.data,\n this._popoverRef,\n this.position\n );\n }\n });\n }\n\n private _listenMouseHostLeave$(): Observable<MouseEvent> {\n const mouseMove$ = this._mouseMove$\n .pipe(\n debounceTime(50),\n filter(() => !!this._wrapperElement),\n filter((event: MouseEvent) => {\n return this._popoverRef.autoClose && this._mouseLeftTheTargets(event);\n }),\n );\n\n const mouseClick$ = fromEvent<MouseEvent>(this._elRef.nativeElement, 'click');\n\n return merge(\n mouseMove$,\n mouseClick$,\n );\n //\n // return this._mouseLeave$\n // .pipe(\n // //\n // timeoutWith(200, mouseMove$),\n // );\n }\n\n // Check if mouse left target or popover rects\n private _mouseLeftTheTargets(event: MouseEvent): boolean {\n const hostBounds = this._hostBounds;\n const popoverBounds = this._wrapperElement.getBoundingClientRect();\n\n const pointInHostRect = pointInRect(\n hostBounds.x,\n hostBounds.y,\n hostBounds.x + hostBounds.width,\n hostBounds.y + hostBounds.height,\n event.x,\n event.y\n );\n\n const pointInPopoverRect = pointInRect(\n popoverBounds.x,\n popoverBounds.y,\n popoverBounds.x + popoverBounds.width,\n popoverBounds.y + popoverBounds.height,\n event.x,\n event.y\n );\n\n return !pointInHostRect && !pointInPopoverRect;\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FsPopoverDirective } from '../../directives/popover.directive';\n\n\n@Component({\n selector: 'fs-popover',\n templateUrl: 'popover.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'fs-popover-component',\n }\n})\nexport class FsPopoverComponent extends FsPopoverDirective {}\n","<span [ngClass]=\"{'popover-container': enabled}\">\n <ng-content></ng-content>\n</span>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\n\nimport { FsPopoverComponent } from './components/popover/popover.component';\nimport { FsPopoverWrapperComponent } from './components/popover-wrapper/popover-wrapper.component';\nimport { FsPopoverDirective } from './directives/popover.directive';\n\n\n@NgModule({\n imports: [\n CommonModule,\n PortalModule,\n ],\n declarations: [\n FsPopoverComponent,\n FsPopoverWrapperComponent,\n FsPopoverDirective,\n ],\n exports: [\n FsPopoverComponent,\n FsPopoverDirective,\n ],\n})\nexport class FsPopoverModule {}\n","/*\n * Public API Surface of fs-menu\n */\n\n\nexport { FsPopoverModule } from './app/fs-popover.module';\n\nexport { FsPopoverComponent } from './app/components/popover/popover.component';\nexport { FsPopoverDirective } from './app/directives/popover.directive';\n\nexport { Position } from './app/enums/position';\n\nexport { FsPopoverRef } from './app/class/popover-ref';\n\nexport { IPopoverConfig } from './app/interfaces/popover-config.interface';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.FsPopoverRef","i1.FsPopoverService","i2","i1"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@firestitch/popover",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "16.0.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/Firestitch/ngx-package"
|
|
@@ -17,11 +17,7 @@
|
|
|
17
17
|
"@firestitch/common": ">=8.0.8"
|
|
18
18
|
},
|
|
19
19
|
"sideEffects": false,
|
|
20
|
-
"module": "
|
|
21
|
-
"es2020": "fesm2020/firestitch-popover.mjs",
|
|
22
|
-
"esm2020": "esm2020/firestitch-popover.mjs",
|
|
23
|
-
"fesm2020": "fesm2020/firestitch-popover.mjs",
|
|
24
|
-
"fesm2015": "fesm2015/firestitch-popover.mjs",
|
|
20
|
+
"module": "fesm2022/firestitch-popover.mjs",
|
|
25
21
|
"typings": "index.d.ts",
|
|
26
22
|
"exports": {
|
|
27
23
|
"./package.json": {
|
|
@@ -29,11 +25,9 @@
|
|
|
29
25
|
},
|
|
30
26
|
".": {
|
|
31
27
|
"types": "./index.d.ts",
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"node": "./fesm2015/firestitch-popover.mjs",
|
|
36
|
-
"default": "./fesm2020/firestitch-popover.mjs"
|
|
28
|
+
"esm2022": "./esm2022/firestitch-popover.mjs",
|
|
29
|
+
"esm": "./esm2022/firestitch-popover.mjs",
|
|
30
|
+
"default": "./fesm2022/firestitch-popover.mjs"
|
|
37
31
|
}
|
|
38
32
|
},
|
|
39
33
|
"dependencies": {
|