Skip to content

Commit 92765e9

Browse files
committed
MDL-75260 tiny_media: Adjust Menu configuration
Part of MDL-75966
1 parent 75ebfb7 commit 92765e9

File tree

4 files changed

+42
-13
lines changed

4 files changed

+42
-13
lines changed

lib/editor/tiny/plugins/media/amd/build/configuration.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/editor/tiny/plugins/media/amd/build/configuration.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/editor/tiny/plugins/media/amd/src/configuration.js

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,49 @@ import {
2929
import uploadHandler from "./upload-handler";
3030
import {
3131
addContextmenuItem,
32-
addMenubarItem,
33-
addToolbarButtons,
3432
} from 'editor_tiny/utils';
3533

34+
const configureMenu = (menu) => {
35+
// Replace the standard Media plugin with the Moodle embed.
36+
if (menu.insert.items.match(/\bmedia\b/)) {
37+
menu.insert.items = menu.insert.items.replace(/\bmedia\b/, videoButtonName);
38+
} else {
39+
menu.insert.items = `${videoButtonName} ${menu.insert.items}`;
40+
}
41+
42+
// Replace the standard image plugin with the Moodle image.
43+
if (menu.insert.items.match(/\bimage\b/)) {
44+
menu.insert.items = menu.insert.items.replace(/\bimage\b/, imageButtonName);
45+
} else {
46+
menu.insert.items = `${imageButtonName} ${menu.insert.items}`;
47+
}
48+
49+
// Add the Media Manager to the end of the Tools menu.
50+
menu.tools.items += ` ${mediaManagerButtonName}`;
51+
52+
return menu;
53+
};
54+
55+
const configureToolbar = (toolbar) => {
56+
// The toolbar contains an array of named sections.
57+
// The Moodle integration ensures that there is a section called 'content'.
58+
59+
return toolbar.map((section) => {
60+
if (section.name === 'content') {
61+
// Insert the image, and embed, buttons at the start of it.
62+
section.items.unshift(imageButtonName, videoButtonName);
63+
}
64+
65+
return section;
66+
});
67+
};
68+
3669
export const configure = (instanceConfig) => {
3770
// Update the instance configuration to add the Media menu option to the menus and toolbars and upload_handler.
3871
return {
3972
contextmenu: addContextmenuItem(instanceConfig.contextmenu, imageButtonName, videoButtonName),
40-
toolbar: addToolbarButtons(instanceConfig.toolbar, 'content', [imageButtonName, videoButtonName]),
41-
menu: addMenubarItem(
42-
addMenubarItem(instanceConfig.menu, 'insert', `${imageButtonName} ${videoButtonName}`),
43-
'tools',
44-
mediaManagerButtonName
45-
),
73+
menu: configureMenu(instanceConfig.menu),
74+
toolbar: configureToolbar(instanceConfig.toolbar),
4675

4776
// eslint-disable-next-line camelcase
4877
images_upload_handler: (blobInfo, progress) => uploadHandler(window.tinymce.activeEditor, blobInfo, progress)

lib/editor/tiny/plugins/media/lang/en/tiny_media.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@
6363
$string['filemanager'] = 'File manager';
6464
$string['hasmissingfiles'] = 'Warning! The following files that are referenced in the text area appear to be missing:';
6565
$string['height'] = 'Height';
66-
$string['helplinktext'] = 'Moodle Media Helper';
67-
$string['imagebuttontitle'] = 'Moodle Image';
66+
$string['helplinktext'] = 'Media Helper';
67+
$string['imagebuttontitle'] = 'Image';
6868
$string['imageproperties'] = 'Image properties';
6969
$string['imageurlrequired'] = 'An image must have a URL.';
7070
$string['label'] = 'Label';
@@ -98,6 +98,6 @@
9898
$string['unusedfilesheader'] = 'Unused files';
9999
$string['unusedfilesremovalnotice'] = 'Any unused files will be automatically deleted when saving changes.';
100100
$string['video'] = 'Video';
101-
$string['videobuttontitle'] = 'Moodle Video';
101+
$string['videobuttontitle'] = 'Video';
102102
$string['videosourcelabel'] = 'Video source URL';
103103
$string['width'] = 'Width';

0 commit comments

Comments
 (0)