ngx-smart-popover
Simple popover control for your angular (v4+) applications using bootstrap4 with smart reflection logic when overflowing the viewport. This is a continuation of ngx-popover (https://github.com/pleerock/ngx-popover). If you want to use it without bootstrap - simply create corresponding css classes.
See a quick demo - https://lsqlabs.github.io/ngx-smart-popover/
Installation
-
Install npm module:
npm install ngx-smart-popover --save
-
If you are using system.js you may want to add this into
map
andpackage
config:
Usage
Import PopoverModule
in your app and start using a component:
element on which this popover is applied.
Example of usage with dynamic html content:
Very Dynamic Reusable Popover With Html support. element on which this popover is applied.
<div popover>
:popover="string"
The message to be shown in the popover.popoverSize="small|medium-small|medium|large|auto"
Adjusts the width of the popver.popoverTitle="string"
Popover title text.popoverPlacement="top|bottom|left|right|top-right|top-left|bottom-right|bottom-left"
Indicates where the popover should be placed. When using "auto" modifier, will show in opposite direction if not enough room. Default is "bottom".[popoverDisabled]="true|false"
Indicates if popover should be disabled. If popover is disabled then it will not be shown. Default is false[popoverAnimation]="true|false"
Indicates if all popover should be shown with animation or not. Default is true.[popoverOnHover]="true|false"
If set to true then popover will open on mouse over instead of mouse click. Default is true.[popoverCloseOnMouseOutside]="true|false"
Indicates if popover should be closed when user mouse outside of it. Default is false.[popoverCloseOnClickOutside]="true|false"
Indicates if popover should be closed when user click outside of it. Default is false.[popoverDismissTimeout]="number"
Used to automatically dismiss popover after given amount of time. Default is 0, means disabled.(onShown)="onPopoverShown()"
Emits when popover is shown.(onHidden)="onPopoverHidden()"
Emits when popover is hidden.
<popover-content>
:placement="top|bottom|left|right|auto|auto top|auto bottom|auto left|auto right"
Indicates where the popover should be placed. When using "auto" modifier, will show in opposite direction if not enough room. Default is "bottom".[animation]="true|false"
Indicates if all popover should be shown with animation or not. Default is true.[closeOnMouseOutside]="true|false"
Indicates if popover should be closed when user mouse outside of it. Default is false.[closeOnClickOutside]="true|false"
Indicates if popover should be closed when you click outside of it. Default is false.
Styles
Import the bootstrap styles as a starting point. This module ships with both a CSS file as well as an SCSS file. In order to be able to use the diagonal positions (top-right
, bottom-right
, top-left
, bottom-left
) you must import one of these two stylesheets. It will ensure that your arrow is centered via CSS (bootstrap handles this in Javascript). The SASS file is provided in case you have overwritten any of the bootstrap SASS variables and want to compile with the non-default values.
Sample
;;