מדיה ויקי:Gadget-Summarieslist.js – הבדלי גרסאות
יצירת דף עם התוכן "←מציג רשימת תקצירים מתחת לתיבת העריכה: $(function() { var installed = false; function installSummary( $summaryBox, smallArea..." |
אין תקציר עריכה |
||
| (7 גרסאות ביניים של 3 משתמשים אינן מוצגות) | |||
| שורה 2: | שורה 2: | ||
$(function() { | $(function() { | ||
var installed = false; | var installed = false; | ||
function installSummary( $summaryBox, smallArea ) { | function installSummary( $summaryBox, smallArea, setMinorEdit ) { | ||
if (installed) return; | if (installed) { | ||
return; | |||
} | |||
installed = true; | installed = true; | ||
function addSummary() { | function addSummary() { | ||
var summary = $(this).data('summary'); | var summary = $(this).data('summary'); | ||
| שורה 12: | שורה 14: | ||
var comma = curr.length > 0 && curr.charAt(curr.length - 2) != "/"; | var comma = curr.length > 0 && curr.charAt(curr.length - 2) != "/"; | ||
sum.val(curr + (comma ? ', ' : '') + text).trigger('input'); | sum.val(curr + (comma ? ', ' : '') + text).trigger('input'); | ||
setMinorEdit(summary.minor || $.inArray(text, minorSummaries) + 1); | |||
} | |||
// css for dark mode | |||
if (!document.getElementById('summaries-dark-mode-css')) { | |||
var style = document.createElement('style'); | |||
style.id = 'summaries-dark-mode-css'; | |||
style.textContent = ` | |||
html.skin-theme-clientpref-night .clickable-edit-summary { | |||
background-color: #2a2a2a !important; | |||
color: #e6e6e6 !important; | |||
border-color: #555555 !important; | |||
} | |||
html.skin-theme-clientpref-night .clickable-edit-summary:hover { | |||
background-color: #3a3a3a !important; | |||
border-color: #777777 !important; | |||
} | |||
@media (prefers-color-scheme: dark) { | |||
html.skin-theme-clientpref-os .clickable-edit-summary { | |||
background-color: #2a2a2a !important; | |||
color: #e6e6e6 !important; | |||
border-color: #555555 !important; | |||
} | |||
html.skin-theme-clientpref-os .clickable-edit-summary:hover { | |||
background-color: #3a3a3a !important; | |||
border-color: #777777 !important; | |||
} | |||
} | |||
`; | |||
document.head.appendChild(style); | |||
} | } | ||
var summaries = window.summaries || []; | var summaries = window.summaries || []; | ||
var defaultSummaries = [ | |||
"עריכה תוכנית", | "עריכה תוכנית", | ||
{"title": "הגהה","content": "עריכה לשונית קלה - פיסוק, החלפת מילה, חלוקה למשפטים וכולי - ללא שינוי תוכן"}, | {"title": "הגהה","content": "עריכה לשונית קלה - פיסוק, החלפת מילה, חלוקה למשפטים וכולי - ללא שינוי תוכן"}, | ||
{"title": "ניסוח","content": "שינוי ניסוח כך שיתאים לניסוח המקובל | {"title": "ניסוח","content": "שינוי ניסוח כך שיתאים לניסוח המקובל בחב\"דפדיה - ללא שינוי מהותי בתוכן"}, | ||
{"title": "הועבר","content": "ציון כי תוכן הועבר מדף אחד לאחר"}, | {"title": "הועבר","content": "ציון כי תוכן הועבר מדף אחד לאחר"}, | ||
{"title": "הרחבה","content": "הוספת תוכן חדש"}, | {"title": "הרחבה","content": "הוספת תוכן חדש"}, | ||
| שורה 25: | שורה 56: | ||
{"title": "עדכון","content": "הוספת מידע עדכני חדש או במקום מיושן לערך"}, | {"title": "עדכון","content": "הוספת מידע עדכני חדש או במקום מיושן לערך"}, | ||
{"title": "תקלדה","content": "תיקון שגיאת כתיב, תעתיק, ריווח - ללא שינוי תוכן"}, | {"title": "תקלדה","content": "תיקון שגיאת כתיב, תעתיק, ריווח - ללא שינוי תוכן"}, | ||
{"title": "הוספת מקור","content": "הוספת מקור לטענה בערך"}, | |||
"עריכה טכנית", | "עריכה טכנית", | ||
{"title": "ויקיזציה","content": "התאמה לפורמט המקובל | {"title": "ויקיזציה","content": "התאמה לפורמט המקובל בחב\"דפדיה, קישורים, כותרות וכדומה"}, | ||
{"title": "עיצוב","content": "חלוקה לפסקאות, הוספת או הורדת סעיפים, שינוי מיקום תמונות - ללא שינוי תוכן"}, | {"title": "עיצוב","content": "חלוקה לפסקאות, הוספת או הורדת סעיפים, שינוי מיקום תמונות - ללא שינוי תוכן"}, | ||
{"title": "תמונה", "content": "הוספה, הסרה, שינוי גודל או שינוי הצמדה של תמונה או תמונות"}, | {"title": "תמונה", "content": "הוספה, הסרה, שינוי גודל או שינוי הצמדה של תמונה או תמונות"}, | ||
{"title": "קטגוריה","content": "הוספה, מחיקה או שינוי של קטגוריות"}, | {"title": "קטגוריה","content": "הוספה, מחיקה או שינוי של קטגוריות"}, | ||
{"title": "קישורים פנימיים","content": "הוספה או תיקון של קישורים פנימיים - ללא שינוי תוכן"}, | {"title": "קישורים פנימיים","content": "הוספה או תיקון של קישורים פנימיים - ללא שינוי תוכן"}, | ||
{"title": "בינוויקי","content": "קישור לערך באנגלית"}, | |||
{"title": "תיקון פרמטרים","content": "תיקון שגיאות פרמטרים בתבניות"}, | |||
{"title": "תיקון קישור","content": "תיקון קישור שבור - אך לא הוספה או מחיקה של קישור"}, | {"title": "תיקון קישור","content": "תיקון קישור שבור - אך לא הוספה או מחיקה של קישור"}, | ||
{"title": "הסרת no-wiki","content": "הסרת תגי nowiki מהערכים"}, | |||
"טיפול בהשחתה", | "טיפול בהשחתה", | ||
{"title": "הפרת זכויות יוצרים","content": "מחיקת תוכן מפר זכויות יוצרים"}, | {"title": "הפרת זכויות יוצרים","content": "מחיקת תוכן מפר זכויות יוצרים"}, | ||
{"title": "שחזור","content": "ביטול עריכה והחזרה לגרסה קודמת"} | {"title": "שחזור","content": "ביטול עריכה והחזרה לגרסה קודמת"} | ||
] | ]; | ||
if (mw.config.get('wgNamespaceNumber')%2==1 || mw.config.get('wgNamespaceNumber')==4) { | if (mw.config.get('wgNamespaceNumber') % 2 === 1 || mw.config.get('wgNamespaceNumber') === 4) { | ||
defaultSummaries = defaultSummaries.concat([ | |||
"דפי שיחה", | "דפי שיחה", | ||
{"title": "ארכוב","content": "הוספת תבנית ארכוב או העברת תוכן לארכיון"}, | {"title": "ארכוב","content": "הוספת תבנית ארכוב או העברת תוכן לארכיון"}, | ||
| שורה 45: | שורה 80: | ||
]); | ]); | ||
} | } | ||
var minorSummaries = ["הגהה", "ניסוח", "תקלדה | |||
if (! summaries.hidedefaults ) { | |||
if (summaries.hide) { | |||
// remove from defaults anything in hide. | |||
defaultSummaries = defaultSummaries.filter(summary => $.inArray(summary.title, summaries.hide) == -1); | |||
} | |||
summaries = summaries.concat(defaultSummaries); | |||
} | |||
var minorSummaries = ["הגהה", "ניסוח", "תקלדה", "ויקיזציה", "עיצוב", "קטגוריה", "קישורים פנימיים", "תיקון קישור", "ארכוב", "תיקון פרמטרים", "הסרת no-wiki"]; | |||
var div = $("<div>", {id: "summariesList"}) | var div = $("<div>", {id: "summariesList"}) | ||
.css({width: ( smallArea? "100%" : "65%" ), padding: "2px | .css({width: ( smallArea? "100%" : "65%" ), padding: "2px"}); | ||
for (var i = 0; i < summaries.length; i++) { | for (var i = 0; i < summaries.length; i++) { | ||
var summary = summaries[i]; | var summary = summaries[i]; | ||
var summaryButton = $('<span>').css({marginLeft: '0.4em', whiteSpace: 'nowrap'}).data({summary: summary}); | var summaryButton = $('<span>').css({marginLeft: '0.4em', whiteSpace: 'nowrap'}).data({summary: summary}); | ||
if (typeof summary == "string") { | var label; | ||
if (typeof summary === "string") { | |||
div.append(smallArea? '<br>' : ' '); //allow text wrap here | div.append(smallArea? '<br>' : ' '); //allow text wrap here | ||
summaryButton.text(summary + ':'); | summaryButton.text(summary + ':'); | ||
} else { | } else { | ||
summaryButton.html(' ' + | label = summary.label || summary.title; | ||
summaryButton.html(' ' + label + ' ') | |||
.addClass('clickable-edit-summary') | .addClass('clickable-edit-summary') | ||
.attr('title', summary.content || '') | .attr('title', summary.content || '') | ||
.css({'background-color': '#f3fff3', color: '#02a', border: 'solid 1px #006699', cursor: 'pointer'}) | .css({'background-color': '#f3fff3', color: '#02a', border: 'solid 1px #006699', cursor: 'pointer'}) | ||
.click(addSummary); | .click(addSummary); | ||
if (smallArea) div.append(' '); | if (smallArea) { | ||
div.append(' '); | |||
} | |||
} | } | ||
div.append(summaryButton); | div.append(summaryButton); | ||
} | } | ||
return div; | |||
} | } | ||
if (($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) + 1) && ( | if (($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) + 1) && ($('[name="wpSection"]').val()!='new')) { | ||
mw.loader.using( 'user' ).always( function() { // make sure personal script page is loaded, fo users who deine "summaries =" in their personal page. see talkpage. | |||
$('#wpSummaryWidget').after(installSummary( $('input[name=wpSummary]'), false, function(val) { $('[name=wpMinoredit]').prop('checked', val); } )); | |||
}); | |||
} | } | ||
var beenHere; | |||
mw.hook( 've.saveDialog.stateChanged' ).add(function(){ | mw.hook( 've.saveDialog.stateChanged' ).add(function(){ | ||
const optionName = 'userjs-hidesummaries'; | |||
var applySummaryVisibility = function(state) { $('#summariesList').css({display: state ? 'inherit' : 'none'}); }; | |||
showSummariesList = function(state) { | |||
applySummaryVisibility(state); | |||
new mw.Api().post({action: 'options', token: mw.user.tokens.get('csrfToken'), optionname: optionName, optionvalue: ! state} ); | |||
}; | |||
var target = ve.init.target; | var target = ve.init.target; | ||
var $summaryBox = target.saveDialog.$body.find('.ve-ui-mwSaveDialog-summary textarea'); | var $summaryBox = target.saveDialog.$body.find('.ve-ui-mwSaveDialog-summary textarea'); | ||
$('.ve-ui-mwSaveDialog-options').prepend(installSummary( $summaryBox, true, function(val) { | |||
var chk = ve.init.target && ve.init.target.saveDialog && ve.init.target.saveDialog.checkboxesByName && ve.init.target.saveDialog.checkboxesByName.wpMinoredit; | |||
if (chk) { | |||
chk.setSelected(val); | |||
} | |||
} )); | |||
if (! beenHere) { | |||
var | |||
hideSummaries = mw.user.options.get(optionName), | |||
showSummaries = new OO.ui.CheckboxInputWidget( { | |||
title: 'להציג או להסתיר רשימת תקצירים נפוצים', | |||
} ) | |||
.setSelected(! hideSummaries), | |||
fl = new OO.ui.FieldLayout( showSummaries, { label: 'תקצירים', align: 'inline' } ); | |||
beenHere = true; | |||
target.saveDialog.$body | |||
.find('.ve-ui-mwSaveDialog-field-wpWatchthis') | |||
.after(fl.$element); | |||
showSummaries.on('change', showSummariesList); | |||
applySummaryVisibility(! hideSummaries); | |||
} | |||
}); | }); | ||
}); | }); | ||