@@ -8,7 +8,7 @@ import * as popperJS from "popper.js";
88export interface PopoverProps {
99 referenceElementId : string ;
1010 placement : string ; // TODO: use a union type of allowed values
11-
11+ parentId ?: string ;
1212 content ?: string ;
1313 classNames ?: string [ ] ;
1414 arrowClassNames ?: string [ ] ;
@@ -25,12 +25,21 @@ class PopoverClass extends ComponentBase<{}, PopoverProps> {
2525
2626 handlePopoverLifecycle ( element , isInitialized , context ) {
2727 if ( ! isInitialized ) {
28- let popperElement = this . generatePopperElement ( Constants . Ids . mainController ) ;
29- this . refToPopper = new popperJS ( document . getElementById ( this . props . referenceElementId ) , popperElement , {
28+ let popperElement = this . generatePopperElement ( this . props . parentId ) ;
29+
30+ // TODO temporarily typed this way until definitions is updated for popperJS.PopperOptions
31+ let popperOptions : any = {
3032 placement : this . props . placement ,
31- modifiersIgnored : this . props . modifiersIgnored ,
32- removeOnDestroy : this . props . removeOnDestroy
33- } ) ;
33+ removeOnDestroy : this . props . removeOnDestroy ,
34+ modifiers : { }
35+ } ;
36+ if ( this . props . modifiersIgnored ) {
37+ for ( let i = 0 ; i < this . props . modifiersIgnored . length ; i ++ ) {
38+ popperOptions . modifiers [ this . props . modifiersIgnored [ i ] ] = { enabled : false } ;
39+ }
40+ }
41+
42+ this . refToPopper = new popperJS ( document . getElementById ( this . props . referenceElementId ) , popperElement , popperOptions ) ;
3443 }
3544
3645 if ( isInitialized ) {
@@ -65,7 +74,7 @@ class PopoverClass extends ComponentBase<{}, PopoverProps> {
6574 popperElement . appendChild ( arrowElement ) ;
6675 }
6776
68- let parent = document . getElementById ( parentId ) ;
77+ let parent = parentId ? document . getElementById ( parentId ) : undefined ;
6978 if ( parent ) {
7079 // We want to set the parent lower in the HTML hierarchy to avoid z-index issues relating to stacking contexts
7180 parent . appendChild ( popperElement ) ;
0 commit comments