User:M.robin/Interwiki.js: Difference between revisions
No edit summary |
No edit summary |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
mw.loader.using(['mediawiki.api', 'mediawiki.util', 'jquery.ui']).then | mw.loader.using(['mediawiki.api', 'mediawiki.util', 'jquery.ui.dialog']).then(function () { | ||
const link = mw.util.addPortletLink( | const link = mw.util.addPortletLink( | ||
'p-tb', | 'p-tb', | ||
| Line 6: | Line 5: | ||
'הוסף he', | 'הוסף he', | ||
't-add-he-interwiki', | 't-add-he-interwiki', | ||
'הוסף קישור בינוויקי לחב"דפדיה | 'הוסף קישור בינוויקי לחב"דפדיה העברית' | ||
); | ); | ||
| Line 16: | Line 15: | ||
<div id="he-status" style="margin-top:10px; font-weight:bold;"></div> | <div id="he-status" style="margin-top:10px; font-weight:bold;"></div> | ||
</div> | </div> | ||
`). | `).appendTo(document.body).dialog({ | ||
autoOpen: false, | |||
modal: true, | modal: true, | ||
width: 400, | width: 400, | ||
| Line 36: | Line 35: | ||
action: 'query', | action: 'query', | ||
prop: 'revisions', | prop: 'revisions', | ||
titles: mw.config.get(' | titles: mw.config.get('wgPageName'), | ||
rvslots: 'main', | rvslots: 'main', | ||
rvprop: ' | rvprop: 'content', | ||
formatversion: 2 | formatversion: 2 | ||
}).done(function (data) { | }).done(function (data) { | ||
const page = data.query.pages[0]; | const page = data.query.pages[0]; | ||
if (!page || !page.revisions || !page.revisions. | if (!page || !page.revisions || !page.revisions.length) { | ||
$('#he-status').text('שגיאה: לא ניתן לטעון את הדף.'); | $('#he-status').text('שגיאה: לא ניתן לטעון את הדף.'); | ||
return; | return; | ||
} | } | ||
let | let content = page.revisions[0].slots.main.content; | ||
if (/\[\[he:[^\]]+\]\]/i.test( | if (/\[\[he:[^\]]+\]\]/i.test(content)) { | ||
$('#he-status').text('כבר קיים קישור לשפה האנגלית.'); | $('#he-status').text('כבר קיים קישור לשפה האנגלית.'); | ||
return; | return; | ||
} | } | ||
const | const newContent = content.replace(/\s*$/, '') + "\n" + iwLink; | ||
$('#he-status').text('שומר את הדף...'); | $('#he-status').text('שומר את הדף...'); | ||
api. | api.postWithToken('csrf', { | ||
action: 'edit', | action: 'edit', | ||
title: mw.config.get(' | title: mw.config.get('wgPageName'), | ||
text: | text: newContent, | ||
summary: 'בינוויקי', | summary: 'בינוויקי', | ||
format: 'json' | format: 'json' | ||
| Line 80: | Line 79: | ||
$(link).click(function (e) { | $(link).click(function (e) { | ||
e. | e.preventDefault(); | ||
$('#he-title-input').val(''); | $('#he-title-input').val(''); | ||
$('#he-status').text(''); | $('#he-status').text(''); | ||
$dialog.dialog(' | $dialog.dialog('open'); | ||
}); | }); | ||
}); | }); | ||
}); | }); | ||
console.log("✅ Interwiki.js נטען"); | |||