PluginProbe
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses / 4.4.8
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses v4.4.8
4.4.8 4.4.7 4.4.6 4.4.5 4.4.4 4.4.3 4.4.2 4.4.1 4.4.0 4.3.9.1 4.3.9 4.3.8 4.3.7 4.1.6.9 4.1.6.9.1 4.1.6.9.2 4.1.6.9.3 4.1.6.9.4 4.1.7 4.1.7.1 4.1.7.2 4.1.7.3 4.1.7.3.1 4.1.7.3.2 4.2.0 All 139 releases
← All changes | assets/src/js/utils/event-callback.js +100 -100 4.3.94.4.8 View file →
@@ -1,100 +1,100 @@
1 -/**
2 - * Manage event callbacks.
3 -Allow add/remove a callback function into custom event of an object.
4 - *
5 - * @class
6 - * @param self
7 - */
8 -const Event_Callback = function Event_Callback( self ) {
9 - const callbacks = {};
10 - const $ = window.jQuery;
11 -
12 - this.on = function( event, callback ) {
13 - let namespaces = event.split( '.' ),
14 - namespace = '';
15 -
16 - if ( namespaces.length > 1 ) {
17 - event = namespaces[ 0 ];
18 - namespace = namespaces[ 1 ];
19 - }
20 -
21 - if ( ! callbacks[ event ] ) {
22 - callbacks[ event ] = [ [], {} ];
23 - }
24 -
25 - if ( namespace ) {
26 - if ( ! callbacks[ event ][ 1 ][ namespace ] ) {
27 - callbacks[ event ][ 1 ][ namespace ] = [];
28 - }
29 - callbacks[ event ][ 1 ][ namespace ].push( callback );
30 - } else {
31 - callbacks[ event ][ 0 ].push( callback );
32 - }
33 -
34 - return self;
35 - };
36 -
37 - this.off = function( event, callback ) {
38 - let namespaces = event.split( '.' ),
39 - namespace = '';
40 -
41 - if ( namespaces.length > 1 ) {
42 - event = namespaces[ 0 ];
43 - namespace = namespaces[ 1 ];
44 - }
45 -
46 - if ( ! callbacks[ event ] ) {
47 - return self;
48 - }
49 - let at = -1;
50 - if ( ! namespace ) {
51 - if ( typeof callback === 'function' ) {
52 - at = callbacks[ event ][ 0 ].indexOf( callback );
53 - if ( at < 0 ) {
54 - return self;
55 - }
56 - callbacks[ event ][ 0 ].splice( at, 1 );
57 - } else {
58 - callbacks[ event ][ 0 ] = [];
59 - }
60 - } else {
61 - if ( ! callbacks[ event ][ 1 ][ namespace ] ) {
62 - return self;
63 - }
64 -
65 - if ( typeof callback === 'function' ) {
66 - at = callbacks[ event ][ 1 ][ namespace ].indexOf( callback );
67 - if ( at < 0 ) {
68 - return self;
69 - }
70 - callbacks[ event ][ 1 ][ namespace ].splice( at, 1 );
71 - } else {
72 - callbacks[ event ][ 1 ][ namespace ] = [];
73 - }
74 - }
75 -
76 - return self;
77 - };
78 -
79 - this.callEvent = function( event, callbackArgs ) {
80 - if ( ! callbacks[ event ] ) {
81 - return;
82 - }
83 -
84 - if ( callbacks[ event ][ 0 ] ) {
85 - for ( var i = 0; i < callbacks[ event ][ 0 ].length; i++ ) {
86 - typeof ( callbacks[ event ][ 0 ][ i ] ) === 'function' && callbacks[ event ][ i ][ 0 ].apply( self, callbackArgs );
87 - }
88 - }
89 -
90 - if ( callbacks[ event ][ 1 ] ) {
91 - for ( var i in callbacks[ event ][ 1 ] ) {
92 - for ( let j = 0; j < callbacks[ event ][ 1 ][ i ].length; j++ ) {
93 - typeof ( callbacks[ event ][ 1 ][ i ][ j ] ) === 'function' && callbacks[ event ][ 1 ][ i ][ j ].apply( self, callbackArgs );
94 - }
95 - }
96 - }
97 - };
98 -};
99 -
100 -export default Event_Callback;
1 +/**
2 + * Manage event callbacks.
3 +Allow add/remove a callback function into custom event of an object.
4 + *
5 + * @class
6 + * @param self
7 + */
8 +const Event_Callback = function Event_Callback( self ) {
9 + const callbacks = {};
10 + const $ = window.jQuery;
11 +
12 + this.on = function( event, callback ) {
13 + let namespaces = event.split( '.' ),
14 + namespace = '';
15 +
16 + if ( namespaces.length > 1 ) {
17 + event = namespaces[ 0 ];
18 + namespace = namespaces[ 1 ];
19 + }
20 +
21 + if ( ! callbacks[ event ] ) {
22 + callbacks[ event ] = [ [], {} ];
23 + }
24 +
25 + if ( namespace ) {
26 + if ( ! callbacks[ event ][ 1 ][ namespace ] ) {
27 + callbacks[ event ][ 1 ][ namespace ] = [];
28 + }
29 + callbacks[ event ][ 1 ][ namespace ].push( callback );
30 + } else {
31 + callbacks[ event ][ 0 ].push( callback );
32 + }
33 +
34 + return self;
35 + };
36 +
37 + this.off = function( event, callback ) {
38 + let namespaces = event.split( '.' ),
39 + namespace = '';
40 +
41 + if ( namespaces.length > 1 ) {
42 + event = namespaces[ 0 ];
43 + namespace = namespaces[ 1 ];
44 + }
45 +
46 + if ( ! callbacks[ event ] ) {
47 + return self;
48 + }
49 + let at = -1;
50 + if ( ! namespace ) {
51 + if ( typeof callback === 'function' ) {
52 + at = callbacks[ event ][ 0 ].indexOf( callback );
53 + if ( at < 0 ) {
54 + return self;
55 + }
56 + callbacks[ event ][ 0 ].splice( at, 1 );
57 + } else {
58 + callbacks[ event ][ 0 ] = [];
59 + }
60 + } else {
61 + if ( ! callbacks[ event ][ 1 ][ namespace ] ) {
62 + return self;
63 + }
64 +
65 + if ( typeof callback === 'function' ) {
66 + at = callbacks[ event ][ 1 ][ namespace ].indexOf( callback );
67 + if ( at < 0 ) {
68 + return self;
69 + }
70 + callbacks[ event ][ 1 ][ namespace ].splice( at, 1 );
71 + } else {
72 + callbacks[ event ][ 1 ][ namespace ] = [];
73 + }
74 + }
75 +
76 + return self;
77 + };
78 +
79 + this.callEvent = function( event, callbackArgs ) {
80 + if ( ! callbacks[ event ] ) {
81 + return;
82 + }
83 +
84 + if ( callbacks[ event ][ 0 ] ) {
85 + for ( var i = 0; i < callbacks[ event ][ 0 ].length; i++ ) {
86 + typeof ( callbacks[ event ][ 0 ][ i ] ) === 'function' && callbacks[ event ][ i ][ 0 ].apply( self, callbackArgs );
87 + }
88 + }
89 +
90 + if ( callbacks[ event ][ 1 ] ) {
91 + for ( var i in callbacks[ event ][ 1 ] ) {
92 + for ( let j = 0; j < callbacks[ event ][ 1 ][ i ].length; j++ ) {
93 + typeof ( callbacks[ event ][ 1 ][ i ][ j ] ) === 'function' && callbacks[ event ][ 1 ][ i ][ j ].apply( self, callbackArgs );
94 + }
95 + }
96 + }
97 + };
98 +};
99 +
100 +export default Event_Callback;