משתמש:מ. רובין/הודעה למשתמש.js
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
//<nowiki>
"use strict";
mw.loader.using(["mediawiki.util", "mediawiki.api", "mediawiki.Title"]).then(function () {
const api = new mw.Api();
var nameOfpage = mw.config
.get("wgPageName")
.replace(new RegExp("_", "g"), " ");
var UserPage = false;
var oldRevisionId = mw.config.get("wgDiffOldId"),
newRevisionId = mw.config.get("wgDiffNewId"),
user = $("#mw-diff-ntitle2 > a").text(),
replay = "{{T|" + user + "|בקשר}}",
difftext =
"{{הבג|דף=" +
nameOfpage +
"|מספר הגרסה=" +
newRevisionId +
"|גרסה קודמת=" +
oldRevisionId +
"|כיתוב= לעריכה זו}}, ";
function openMyDiffDialog() {
var dialog = $(
`<div>
<div>כותרת ההודעה:</div>
<div><textarea id="titleNote" rows="1"></textarea></div>
<div>תוכן ההודעה:</div>
<div><textarea id="textNote" rows="10"></textarea></div>
</div>`
).dialog({
title: "כתיבת הודעה",
open: function () {
$("#textNote").val(replay + " " + difftext);
},
close: function () {
dialog.remove();
},
buttons: [
{
text: "בשיחת המשתמש",
click: function () {
UserPage = true;
var addtext = $("#textNote")
.val()
.replace(`{{T|${user}|בקשר}}`, "בקשר");
let title = $("#titleNote").val()
? $("#titleNote").val()
: `[[${nameOfpage}]]`;
wattsUp(addtext, title, UserPage);
dialog.dialog("close");
},
},
{
text: "בשיחת הערך",
click: function () {
UserPage = false;
var addtext = $("#textNote").val();
var title = $("#titleNote").val();
if (!title) {
alert("חובה להזין כותרת מותאמת לנושא!");
return;
}
wattsUp(addtext, title, UserPage);
dialog.dialog("close");
},
},
{
text: "סגור",
click: function () {
dialog.dialog("close");
},
},
],
});
}
function wattsUp(addtext, title, UserPage) {
var talkPage = UserPage
? "User talk:" + user
: new mw.Title(mw.config.get("wgPageName")).getTalkPage().getPrefixedText();
if (addtext === "" || addtext === null || addtext === undefined) {
mw.notify("ההודעה לא נשלחה");
return;
}
api
.newSection(talkPage, title, addtext + " ~~~~")
.done((data) => {
if (data?.edit?.result === "Success") {
mw.notify("ההודעה נשמרה בדף :" + talkPage, { type: "success" });
}
})
.fail((error) => {
if (error === "no-direct-editing") {
var param = {
action: "flow",
submodule: "new-topic",
page: talkPage,
nttopic: title,
token: mw.user.tokens.get("csrfToken"),
ntcontent: addtext,
};
api
.postWithEditToken(param)
.done((data) => {
if (data?.flow["new-topic"].status === "ok") {
mw.notify("ההודעה נשמרה בדף :" + talkPage, { type: "success" });
}
})
.fail(() => {
mw.notify("ההודעה לא נשמרה", { type: "error" });
});
}
});
}
if (mw.util.getParamValue("diff")) {
$("#mw-diff-ntitle1").append(
" <b>(</b>",
$("<a>").html("<b>הודעה לעריכה</b>").click(openMyDiffDialog),
"<b>)</b> "
);
}
});
//</nowiki>