10
10
11
11
// browser globals
12
12
var MutationObserver = window . MutationObserver
13
- var $ = window . $
13
+ var $ = window . jQuery
14
14
var tinymce = window . tinymce
15
15
16
16
// register the createPlugin function
@@ -19,10 +19,23 @@ tinymce.PluginManager.add('menuscontroller', createPlugin)
19
19
/**
20
20
* The plugin function definition
21
21
* @constructor
22
- * @description The plugin expose an API and triggers two types of events
22
+ * @description
23
+ * The plugin expose an API and triggers two types of events
24
+ * Fires menusController:mceMenuRendered when a menu of the editor's menu bar is rendered. Fired once by menu.
25
+ * Fires menusController:mceMenuItemRendered when a menu item of any of menubar's menu is rendered (just after the parent menu is rendered).
23
26
* @param {tinymce.Editor }
24
- * @event menusController:mceMenuRendered triggered when a menu of the editor's menu bar is rendered. Fired once by menu.
25
- * @event menusController:mceMenuItemRendered triggered when a menu item of any of menubar's menu is rendered (just after the parent menu is rendered).
27
+ * @fires menusController:mceMenuItemRendered
28
+ * @fires menusController:mceMenuRendered
29
+ * @example
30
+ $('body').on('menusController:mceMenuRendered', function (evt, menu) {
31
+ console.log('menu', menu)
32
+ })
33
+ * @example
34
+ $('body').on('menusController:mceMenuItemRendered', function (evt, itemID) {
35
+ var menuItemSelector = '#' + itemID
36
+ var $menuItem = $(menuItemSelector)
37
+ console.log('$menuItem', $menuItem)
38
+ })
26
39
*/
27
40
function createPlugin ( editor ) {
28
41
// expose the plugin API
@@ -34,8 +47,9 @@ function createPlugin (editor) {
34
47
35
48
// trigger an event 'menusController:mceMenuItemRendered:<menu_item_id>' for each menu item when its parent menu is rendered
36
49
$ ( 'body' ) . on ( 'menusController:mceMenuRendered' , function ( evt , menu ) {
37
- $ ( menu ) . find ( '.mce-menu-item' ) . each ( function ( i , menuItem ) {
38
- $ ( menu ) . trigger ( 'menusController:mceMenuItemRendered:' + $ ( menuItem ) . attr ( 'id' ) )
50
+ var $menu = $ ( menu )
51
+ $menu . find ( '.mce-menu-item' ) . each ( function ( i , menuItem ) {
52
+ $menu . trigger ( 'menusController:mceMenuItemRendered' , $ ( menuItem ) . attr ( 'id' ) )
39
53
} )
40
54
} )
41
55
@@ -96,8 +110,7 @@ function observeMenuRendering () {
96
110
if ( menus . length > 1 ) throw new Error ( 'ERROR: there is many menus rendered ! This case is not implemented !' )
97
111
98
112
// trigger an 'menusController:mceMenuRendered' event with a 'evt.data.menu' property
99
- var menuRenderedEvent = $ . Event ( 'menusController:mceMenuRendered' )
100
- $ ( 'body' ) . trigger ( menuRenderedEvent , menus [ 0 ] )
113
+ $ ( 'body' ) . trigger ( 'menusController:mceMenuRendered' , menus [ 0 ] )
101
114
}
102
115
} )
103
116
}
0 commit comments