Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,19 @@ const PO_POPOVER_TRIGGERS = ['click', 'hover'];
*/
@Directive()
export class PoPopoverBaseComponent {
/**
* @optional
*
* @description
*
* Define que o popover será inserido no body da página em vez do elemento definido em `p-target`. Essa opção pode
* ser necessária em cenários com containers que possuem scroll ou overflow escondido, garantindo o posicionamento
* correto do conteúdo próximo ao elemento.
*
* @default `false`
*/

@Input({ alias: 'p-append-in-body', transform: convertToBoolean }) appendBox: boolean = false;
/**
* @description
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,22 @@
<div [hidden]="isHidden" class="po-popover" #popoverElement>
<div *ngIf="!hideArrow" class="po-popover-arrow po-arrow-{{ arrowDirection }}"></div>
<ng-container *ngIf="appendBox; then popoverCDK; else popoverDefault"> </ng-container>

<div class="po-popover-content">
<span *ngIf="title" class="po-popover-title">{{ title }}</span>
<ng-content></ng-content>
<ng-template #sharedPopoverContent>
<div [hidden]="isHidden" class="po-popover" #popoverElement>
<div *ngIf="!hideArrow" class="po-popover-arrow po-arrow-{{ arrowDirection }}"></div>

<div class="po-popover-content">
<span *ngIf="title" class="po-popover-title">{{ title }}</span>
<ng-content></ng-content>
</div>
</div>
</div>
</ng-template>

<ng-template #popoverDefault>
<ng-container *ngTemplateOutlet="sharedPopoverContent"></ng-container>
</ng-template>

<ng-template #popoverCDK>
<ng-template cdkConnectedOverlay [cdkConnectedOverlayOrigin]="target" [cdkConnectedOverlayOpen]="true">
<ng-container *ngTemplateOutlet="sharedPopoverContent"></ng-container>
</ng-template>
</ng-template>
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ import { PoPopoverBaseComponent } from './po-popover-base.component';
standalone: false
})
export class PoPopoverComponent extends PoPopoverBaseComponent implements AfterViewInit, OnDestroy {
@ViewChild('popoverElement', { read: ElementRef, static: true }) popoverElement: ElementRef;
@ViewChild('popoverElement', { read: ElementRef, static: false }) popoverElement: ElementRef;

arrowDirection = 'left';
timeoutResize;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { OverlayModule } from '@angular/cdk/overlay';

import { PoPopoverComponent } from './po-popover.component';

Expand All @@ -8,7 +9,7 @@ import { PoPopoverComponent } from './po-popover.component';
* Módulo do componente po-popover.
*/
@NgModule({
imports: [CommonModule],
imports: [CommonModule, OverlayModule],
declarations: [PoPopoverComponent],
exports: [PoPopoverComponent]
})
Expand Down