Content deleted Content added
more reliable VisualEditor detection |
rm GraphSandbox |
||
(One intermediate revision by the same user not shown) | |||
Line 2:
'user.options', 'ext.visualEditor.desktopArticleTarget.init'
], function codeEditorAssist() {
let isEdit = mw.config.exists('wgCodeEditorCurrentLanguage') &&
['edit', 'submit'].includes(mw.config.get('wgAction'))
let veAvailable = mw.libs.ve.isVisualAvailable;
let isAf = mw.config.exists('aceConfig');
Line 14 ⟶ 12:
let defSettings = !isDef && defSettingsMap.get(editor);
Object.entries(editor.getOptions()).forEach(([k, v]) => {
if (v === undefined) {
v = null; if (isDef || v !== defSettings[k] ||
k === 'showInvisibles' || k === 'wrap'
Line 48:
let saveRemoveHandler = function (e) {
this.disabled = true;
let value = e.data ? '' : JSON.stringify(getSettings(curEditor));▼
let value;
mw.loader.using('mediawiki.api', () => {▼
change += '=' + value;
}
new mw.Api().postWithEditToken({
action: 'globalpreferences',
change: change
▲ change: 'userjs-codeeditorassist-settings=' + value
▲ e.data
? 'Couldn\'t remove settings from your global preferences'▼
: 'Couldn\'t save settings to your global preferences',▼
{ type: 'error' }▼
▲ );
▲ }
mw.user.options.set('userjs-codeeditorassist-settings', value);▼
mw.notify(
e.data
? `Couldn'
: `Couldn'
);
}
if (e.data) {
delete mw.user.options.values['userjs-codeeditorassist-settings'];
} else {
▲ mw.user.options.set('userjs-codeeditorassist-settings', value);
}
});
};
Line 79 ⟶ 84:
observing = true;
let $buttons = $('<div>').addClass('floatright').append(
$('<button>').text('Save').
' ',
$('<button>').text('Remove').
' ',
$('<button>').text('Reset').
curEditor.setOptions(defSettingsMap.get(curEditor));
$('#ace_settingsmenu').parent()[0].click();
curEditor.execCommand('showSettingsMenu');
})
Line 137 ⟶ 142:
if (!isEdit) return;
mw.loader.load('oojs-ui.styles.icons-interactions');
let promise = new Promise(resolve => {
▲ mw.hook('codeEditor.configure').add(() => {
mw.hook('codeEditor.configure').add(resolve);
});
mw.hook('wikiEditor.toolbarReady').add($textarea => {
context = $textarea.data('wikiEditorContext');
$textarea.wikiEditor('addToToolbar', {
section: 'main',
|