@@ -5,7 +5,7 @@ let $ = require('jquery');
55
66import { DX_TEMPLATE_WRAPPER_CLASS } from './template' ;
77
8- let VISIBILITY_CHANGE_SELECTOR = '. dx-visibility-change-handler' ;
8+ const VISIBILITY_CHANGE_SELECTOR = 'dx-visibility-change-handler' ;
99
1010export interface INestedOptionContainer {
1111 instance : any ;
@@ -145,8 +145,12 @@ export function extractTemplate(option: OptionWithTemplate, element: ElementRef)
145145 }
146146
147147 function triggerShownEvent ( $element ) {
148- let changeHandlers = $element . filter ( VISIBILITY_CHANGE_SELECTOR ) .
149- add ( $element . find ( VISIBILITY_CHANGE_SELECTOR ) ) ;
148+ let changeHandlers = $element . find ( '.' + VISIBILITY_CHANGE_SELECTOR ) ;
149+
150+ if ( $element . hasClass ( VISIBILITY_CHANGE_SELECTOR ) ) {
151+ changeHandlers . push ( $element ) ;
152+ }
153+
150154
151155 for ( let i = 0 ; i < changeHandlers . length ; i ++ ) {
152156 $ ( changeHandlers [ i ] ) . triggerHandler ( 'dxshown' ) ;
@@ -155,16 +159,16 @@ export function extractTemplate(option: OptionWithTemplate, element: ElementRef)
155159
156160 option . template = {
157161 render : ( renderData ) => {
158- let $result = $ ( element . nativeElement )
159- . addClass ( DX_TEMPLATE_WRAPPER_CLASS ) ;
162+ let $result = $ ( element . nativeElement ) . addClass ( DX_TEMPLATE_WRAPPER_CLASS ) ;
160163
161164 if ( renderData . container ) {
162- let resultInContainer = renderData . container . get ( 0 ) . contains ( $result . get ( 0 ) ) ;
165+ let container = renderData . container . get ( 0 ) ;
166+ let resultInContainer = container . contains ( element . nativeElement ) ;
163167
164168 renderData . container . append ( element . nativeElement ) ;
165169
166170 if ( ! resultInContainer ) {
167- let resultInBody = document . body . contains ( renderData . container . get ( 0 ) ) ;
171+ let resultInBody = document . body . contains ( container ) ;
168172
169173 if ( resultInBody ) {
170174 triggerShownEvent ( $result ) ;
0 commit comments