@@ -8,10 +8,11 @@ define(['underscore'], function (_underscore) {
8
8
9
9
return function ( target ) {
10
10
var originalTarget = target . trigger ,
11
- isAdminAnalyticsEnabled ,
12
11
action = '' ,
12
+ event ,
13
13
getAction ,
14
- event ;
14
+ isAdminAnalyticsEnabled ,
15
+ visibilityHasChanged ;
15
16
16
17
/**
17
18
* Invokes custom code to track information regarding Page Builder usage
@@ -64,9 +65,7 @@ define(['underscore'], function (_underscore) {
64
65
getAction = function ( name , args ) {
65
66
var triggeredAction = '' ,
66
67
arrayName ,
67
- arrayNameObject ,
68
- state ,
69
- previousState ;
68
+ arrayNameObject ;
70
69
71
70
if ( name . indexOf ( 'duplicateAfter' ) !== - 1 ) triggeredAction = 'duplicate' ;
72
71
@@ -81,25 +80,31 @@ define(['underscore'], function (_underscore) {
81
80
82
81
if ( arrayName . length === 3 ) {
83
82
arrayNameObject = arrayName [ 1 ] ;
84
-
85
- if ( ! _underscore . isUndefined ( args [ arrayNameObject ] ) &&
86
- ! _underscore . isUndefined ( args [ arrayNameObject ] ) . dataStore
87
- ) {
88
- previousState = ! _underscore . isUndefined ( args [ arrayNameObject ] . dataStore . previousState ) ?
89
- args [ arrayNameObject ] . dataStore . previousState . display : '' ;
90
- state = ! _underscore . isUndefined ( args [ arrayNameObject ] . dataStore . state ) ?
91
- args [ arrayNameObject ] . dataStore . state . display : '' ;
92
-
93
- if ( previousState === true && state === false ) triggeredAction = 'hide' ;
94
- else if ( previousState === false && state === true ) triggeredAction = 'show' ;
95
- else triggeredAction = '' ;
96
- }
83
+ triggeredAction = visibilityHasChanged ( args [ arrayNameObject ] ) ? 'hide/show' : '' ;
97
84
}
98
85
}
99
86
100
87
return triggeredAction ;
101
88
} ;
102
89
90
+ visibilityHasChanged = function ( objectWrapper ) {
91
+ var state ,
92
+ previousState ;
93
+
94
+ if ( ! _underscore . isUndefined ( objectWrapper ) &&
95
+ ! _underscore . isUndefined ( objectWrapper ) . dataStore
96
+ ) {
97
+ previousState = ! _underscore . isUndefined ( objectWrapper . dataStore . previousState ) ?
98
+ objectWrapper . dataStore . previousState . display : '' ;
99
+ state = ! _underscore . isUndefined ( objectWrapper . dataStore . state ) ?
100
+ objectWrapper . dataStore . state . display : '' ;
101
+
102
+ if ( previousState !== state && previousState !== '' && state !== '' ) return true ;
103
+ }
104
+
105
+ return false ;
106
+ } ;
107
+
103
108
return target ;
104
109
} ;
105
110
} ) ;
0 commit comments