This commit is contained in:
Jun Pataleta 2025-02-26 07:09:20 +08:00
commit c5948d002e
No known key found for this signature in database
GPG Key ID: F83510526D99E2C7
9 changed files with 34 additions and 5 deletions

View File

@ -1,3 +1,3 @@
define("tiny_premium/configuration",["exports","editor_tiny/utils","editor_tiny/options"],(function(_exports,_utils,_options){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.configure=void 0;_exports.configure=(instanceConfig,options)=>{const enabledPremiumPlugins=(0,_options.getInitialPluginConfiguration)(options)[(0,_options.getPluginOptionName)("tiny_premium/plugin","premiumplugins")].split(",");let plugins=instanceConfig.plugins,menu=instanceConfig.menu,toolbar=(toolbar=>(toolbar=(0,_utils.addToolbarSection)(toolbar,"premium_a","advanced",!0),(0,_utils.addToolbarSection)(toolbar,"premium_b","formatting",!0)))(instanceConfig.toolbar),contextmenu=instanceConfig.contextmenu;return-1!==enabledPremiumPlugins.indexOf("advtable")&&(plugins+=" advtable",menu=(0,_utils.addMenubarItem)(menu,"table","| advtablerownumbering","advtablesort")),-1!==enabledPremiumPlugins.indexOf("editimage")&&(plugins+=" editimage",toolbar=(0,_utils.addToolbarButton)(toolbar,"content","editimage","tiny_media_image"),instanceConfig.editimage_toolbar="rotateleft rotateright flipv fliph editimage"),-1!==enabledPremiumPlugins.indexOf("export")&&(plugins+=" export",menu=(0,_utils.addMenubarItem)(menu,"tools","| export")),-1!==enabledPremiumPlugins.indexOf("pageembed")&&(plugins+=" pageembed",toolbar=(0,_utils.addToolbarButton)(toolbar,"content","pageembed","tiny_media_video")),-1!==enabledPremiumPlugins.indexOf("typography")&&(plugins+=" typography",toolbar=(0,_utils.addToolbarButton)(toolbar,"premium_b","typography")),-1!==enabledPremiumPlugins.indexOf("casechange")&&(plugins+=" casechange",toolbar=(0,_utils.addToolbarButton)(toolbar,"premium_a","casechange")),-1!==enabledPremiumPlugins.indexOf("checklist")&&(plugins+=" checklist",toolbar=(0,_utils.addToolbarButton)(toolbar,"lists","checklist")),-1!==enabledPremiumPlugins.indexOf("tinymcespellchecker")&&(plugins+=" tinymcespellchecker",menu=(0,_utils.addMenubarItem)(menu,"tools","spellcheckdialog","spellcheckerlanguage"),contextmenu=(0,_utils.addContextmenuItem)(contextmenu,"spellchecker"),toolbar=(0,_utils.addToolbarButton)(toolbar,"premium_a","spellcheckdialog")),-1!==enabledPremiumPlugins.indexOf("autocorrect")&&(plugins+=" autocorrect",menu=(0,_utils.addMenubarItem)(menu,"tools","| autocorrect capitalization","spellcheckdialog")),-1!==enabledPremiumPlugins.indexOf("permanentpen")&&(plugins+=" permanentpen",menu=(0,_utils.addMenubarItem)(menu,"format","| permanentpen configurepermanentpen"),toolbar=(0,_utils.addToolbarButton)(toolbar,"premium_a","permanentpen"),contextmenu=(0,_utils.addContextmenuItem)(contextmenu,"configurepermanentpen")),-1!==enabledPremiumPlugins.indexOf("formatpainter")&&(plugins+=" formatpainter",toolbar=(0,_utils.addToolbarButton)(toolbar,"premium_a","formatpainter")),-1!==enabledPremiumPlugins.indexOf("linkchecker")&&(plugins+=" linkchecker",contextmenu=(0,_utils.addContextmenuItem)(contextmenu,"linkchecker")),-1!==enabledPremiumPlugins.indexOf("tableofcontents")&&(plugins+=" tableofcontents",toolbar=(0,_utils.addToolbarButton)(toolbar,"premium_a","tableofcontents")),-1!==enabledPremiumPlugins.indexOf("math")&&(plugins+=" math",toolbar=(0,_utils.addToolbarButton)(toolbar,"premium_a","math"),menu=(0,_utils.addMenubarItem)(menu,"insert","math","tableofcontents")),-1!==enabledPremiumPlugins.indexOf("footnotes")&&(plugins+=" footnotes",toolbar=(0,_utils.addToolbarButton)(toolbar,"premium_a","footnotes"),menu=(0,_utils.addMenubarItem)(menu,"insert","footnotes","tableofcontents")),-1!==enabledPremiumPlugins.indexOf("powerpaste")&&(plugins+=" powerpaste"),{plugins:plugins,toolbar:toolbar,menu:menu,contextmenu:contextmenu}}}));
define("tiny_premium/configuration",["exports","editor_tiny/utils","editor_tiny/options"],(function(_exports,_utils,_options){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.configure=void 0;_exports.configure=(instanceConfig,options)=>{const enabledPremiumPlugins=(0,_options.getInitialPluginConfiguration)(options)[(0,_options.getPluginOptionName)("tiny_premium/plugin","premiumplugins")].split(",");let plugins=instanceConfig.plugins,menu=instanceConfig.menu,toolbar=(toolbar=>(toolbar=(0,_utils.addToolbarSection)(toolbar,"premium_a","advanced",!0),(0,_utils.addToolbarSection)(toolbar,"premium_b","formatting",!0)))(instanceConfig.toolbar),contextmenu=instanceConfig.contextmenu;return-1!==enabledPremiumPlugins.indexOf("advtable")&&(plugins+=" advtable",menu=(0,_utils.addMenubarItem)(menu,"table","| advtablerownumbering","advtablesort")),-1!==enabledPremiumPlugins.indexOf("editimage")&&(plugins+=" editimage",toolbar=(0,_utils.addToolbarButton)(toolbar,"content","editimage","tiny_media_image"),instanceConfig.editimage_toolbar="rotateleft rotateright flipv fliph editimage"),-1!==enabledPremiumPlugins.indexOf("export")&&(plugins+=" export",menu=(0,_utils.addMenubarItem)(menu,"tools","| export")),-1!==enabledPremiumPlugins.indexOf("pageembed")&&(plugins+=" pageembed",toolbar=(0,_utils.addToolbarButton)(toolbar,"content","pageembed","tiny_media_video")),-1!==enabledPremiumPlugins.indexOf("typography")&&(plugins+=" typography",toolbar=(0,_utils.addToolbarButton)(toolbar,"premium_b","typography")),-1!==enabledPremiumPlugins.indexOf("casechange")&&(plugins+=" casechange",toolbar=(0,_utils.addToolbarButton)(toolbar,"premium_a","casechange")),-1!==enabledPremiumPlugins.indexOf("checklist")&&(plugins+=" checklist",toolbar=(0,_utils.addToolbarButton)(toolbar,"lists","checklist")),-1!==enabledPremiumPlugins.indexOf("tinymcespellchecker")&&(plugins+=" tinymcespellchecker",menu=(0,_utils.addMenubarItem)(menu,"tools","spellcheckdialog","spellcheckerlanguage"),contextmenu=(0,_utils.addContextmenuItem)(contextmenu,"spellchecker"),toolbar=(0,_utils.addToolbarButton)(toolbar,"premium_a","spellcheckdialog")),-1!==enabledPremiumPlugins.indexOf("autocorrect")&&(plugins+=" autocorrect",menu=(0,_utils.addMenubarItem)(menu,"tools","| autocorrect capitalization","spellcheckdialog")),-1!==enabledPremiumPlugins.indexOf("permanentpen")&&(plugins+=" permanentpen",menu=(0,_utils.addMenubarItem)(menu,"format","| permanentpen configurepermanentpen"),toolbar=(0,_utils.addToolbarButton)(toolbar,"premium_a","permanentpen"),contextmenu=(0,_utils.addContextmenuItem)(contextmenu,"configurepermanentpen")),-1!==enabledPremiumPlugins.indexOf("formatpainter")&&(plugins+=" formatpainter",toolbar=(0,_utils.addToolbarButton)(toolbar,"premium_a","formatpainter")),-1!==enabledPremiumPlugins.indexOf("linkchecker")&&(plugins+=" linkchecker",contextmenu=(0,_utils.addContextmenuItem)(contextmenu,"linkchecker")),-1!==enabledPremiumPlugins.indexOf("tableofcontents")&&(plugins+=" tableofcontents",toolbar=(0,_utils.addToolbarButton)(toolbar,"premium_a","tableofcontents")),-1!==enabledPremiumPlugins.indexOf("math")&&(plugins+=" math",toolbar=(0,_utils.addToolbarButton)(toolbar,"premium_a","math"),menu=(0,_utils.addMenubarItem)(menu,"insert","math","tableofcontents")),-1!==enabledPremiumPlugins.indexOf("footnotes")&&(plugins+=" footnotes",toolbar=(0,_utils.addToolbarButton)(toolbar,"premium_a","footnotes"),menu=(0,_utils.addMenubarItem)(menu,"insert","footnotes","tableofcontents")),-1!==enabledPremiumPlugins.indexOf("powerpaste")&&(plugins+=" powerpaste"),-1!==enabledPremiumPlugins.indexOf("a11ychecker")&&(plugins+=" a11ychecker",toolbar=(0,_utils.addToolbarButton)(toolbar,"premium_a","a11ycheck"),menu=(0,_utils.removeMenubarItem)(menu,"tools","a11ycheck"),menu=(0,_utils.addMenubarItem)(menu,"tools","a11ycheck","count"),menu=(0,_utils.removeMenubarItem)(menu,"tools","tiny_accessibilitychecker")),{plugins:plugins,toolbar:toolbar,menu:menu,contextmenu:contextmenu}}}));
//# sourceMappingURL=configuration.min.js.map

File diff suppressed because one or more lines are too long

View File

@ -25,7 +25,8 @@ import {
addToolbarButton,
addMenubarItem,
addToolbarSection,
addContextmenuItem
addContextmenuItem,
removeMenubarItem,
} from 'editor_tiny/utils';
import {
getInitialPluginConfiguration,
@ -139,6 +140,17 @@ export const configure = (instanceConfig, options) => {
if (enabledPremiumPlugins.indexOf('powerpaste') !== -1) {
plugins += ` powerpaste`;
}
// Accessibility Checker.
if (enabledPremiumPlugins.indexOf('a11ychecker') !== -1) {
plugins += ` a11ychecker`;
toolbar = addToolbarButton(toolbar, 'premium_a', 'a11ycheck');
// Tiny's allychecker plugin is listed in the menu by default. Let's remove it and add it where we want it.
menu = removeMenubarItem(menu, 'tools', 'a11ycheck');
// Positioning the a11ychecker in the same position as tiny_accessibilitychecker (for familiarity).
menu = addMenubarItem(menu, 'tools', 'a11ycheck', 'count');
// Finally, hide tiny_accessibilitychecker so there is no confusion.
menu = removeMenubarItem(menu, 'tools', 'tiny_accessibilitychecker');
}
return {
plugins,

View File

@ -34,6 +34,7 @@ class manager {
*/
public static function get_plugins(): array {
return [
'a11ychecker',
'advtable',
'typography',
'casechange',

View File

@ -25,12 +25,14 @@
defined('MOODLE_INTERNAL') || die();
$string['accessibilitycheckerinfo'] = 'The premium Accessibility Checker will override the default Accessibility Checker for users who have access to it.';
$string['apikey'] = 'API key';
$string['apikey_desc'] = 'Your API key is available on your <a href="https://www.tiny.cloud">Tiny Cloud</a> account page if you have purchased a subscription, or if you are on a free trial.';
$string['emptyapikeywarning'] = 'Enabled TinyMCE Premium plugins will not be available until an API key is added.';
$string['pluginname'] = 'TinyMCE Premium';
$string['pluginnotfound'] = 'Tiny Premium plugin {$a} not found.';
$string['premium:accesspremium'] = 'Access TinyMCE Premium features';
$string['premiumplugin:a11ychecker'] = 'Accessibility Checker';
$string['premiumplugin:advtable'] = 'Advanced Table';
$string['premiumplugin:autocorrect'] = 'Spelling Autocorrect';
$string['premiumplugin:casechange'] = 'Case Change';

View File

@ -67,6 +67,14 @@ switch ($action) {
get_string('plugin_enabled', 'core_admin', $pluginname),
\core\notification::SUCCESS
);
// Special notification for the Accessibility Checker plugin.
if ($plugin === 'a11ychecker') {
\core\notification::add(
get_string('accessibilitycheckerinfo', 'tiny_premium'),
\core\notification::INFO
);
}
}
break;
}

View File

@ -21,3 +21,9 @@ Feature: Check the features of the TinyMCE Premium settings
When I click on "Enable Advanced Table" "link"
Then I should see "Advanced Table enabled."
And I should not see "Enabled TinyMCE Premium plugins will not be available until an API key is added."
@javascript
Scenario: I see a notification when I have both the premium and default accessibility checkers enabled
When I click on "Enable Accessibility Checker" "link"
Then I should see "Accessibility Checker enabled."
And I should see "The premium Accessibility Checker will override the default Accessibility Checker for users who have access to it."

View File

@ -37,7 +37,7 @@ final class manager_test extends \advanced_testcase {
// Check all Tiny Premium plugins are returned.
$premiumplugins = manager::get_plugins();
$this->assertCount(16, $premiumplugins);
$this->assertCount(17, $premiumplugins);
}
/**

View File

@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2024121800;
$plugin->version = 2025011900;
$plugin->requires = 2024100100;
$plugin->component = 'tiny_premium';