מדיה ויקי:סקריפטים/77.js
הערה: לאחר השמירה, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload), או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אינטרנט אקספלורר: להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh), או ללחוץ על צירוף המקשים Ctrl-F5.
- אופרה: לפתוח תפריט ← הגדרות (במחשב מק: Opera ← העדפות) ואז ללחוץ על פרטיות ואבטחה ← מחק היסטוריית גלישה ← Cached images and files.
/* עורך פסקאות מהיר, ללא צורך להיכנס לממשק העריכה וללא צורך בטעינת הדף נתמך באופן מלא בדפדפנים [[גוגל כרום]], [[מוזילה פיירפוקס]], [[ספארי (דפדפן)|ספארי]] ו[[אופרה (דפדפן)|אופרה]]. ב[[אינטרנט אקספלורר]] התמיכה היא מגרסה 8 בלבד. החל מגרסה 2.0, הגאדג'ט תומך באופן מלא בעורך החזותי וב[[מדיה ויקי:סקריפטים/76.js|סקריפט העברה מהירה של פסקאות]]. החל מגרסה 2.1 נוספה אפשרות השלמה אוטומטית לערכים ותבניות (מבוסס על תוסף שנכתב על ידי [[משתמש:ערן|ערן]]). לדיווחים על תקלות, הערות והצעות לייעול, אנא פנו אל דף השיחה. נכתב על ידי [[משתמש:קובי כרמל|קובי כרמל]]. version 2.3.1 */ Qe = { bar : [ {title : 'שמירה', onclick : 'Qe.save($(this))'}, {title : 'תצוגה מקדימה', onclick : 'Qe.preview($(this))'}, {title : 'ביטול', onclick : 'Qe.cancel()'} ], run : function(){ $('.mw-editsection').before('<span class="QuickEditor">[<a>עריכה מהירה</a>]</span>'); var captions = $.merge($('.mw-headline').parent(), $('h1')); $(captions).find('.mw-editsection-link-secondary').hide(); $(captions).hover( function(){$(this).find('.mw-editsection-link-secondary').show().css('visibility', 'visible')}, function(){$(this).find('.mw-editsection-link-secondary').hide().css('visibility', 'hidden')} ); $('.QuickEditor').on('click',function(){ if($('#loading').length) return; /*** external scripts support: ***/ if($('#move-section').length) Qe.external.options.move = 1; // for מדיה ויקי:סקריפטים/77.js if($('.gallery-slideshow').length) Qe.external.options.slideshow = 1; /** END **/ Qe.next = true; var oldindex = Qe.index; Qe.index = $(this).index('.QuickEditor'); if($('#QE').length && oldindex && Qe.index >= oldindex)Qe.index++; $('#QE').length ? null : Qe.copy = $($('#mw-content-text').html()).clone(true, true); Qe.cancel(); var a = $('.QuickEditor').eq(Qe.index); var section = $(this).nextAll('.mw-editsection').find('a').eq(0).attr('href').split(/&v?e?section/)[1].replace('=', '').split('&')[0]; if(a.parents('h1').length){ Qe.caption = $($('#mw-content-text').children().not('div')[0]); Qe.next = Qe.caption[0].tagName.split('')[0] == 'H' ? false : true; Qe.get_caption(Qe.caption.nextAll(), 'until'); Qe.caption.before(Qe.loading); }else{ Qe.get_caption(a.parents(), 'caption'); Qe.caption = a.parents(Qe.caption); Qe.get_caption(Qe.caption.nextAll(), 'until'); Qe.caption.after(Qe.loading); } var href = $(this).nextAll('.mw-editsection').children('a').attr('href').replace('veaction', 'action').replace('vesection', 'section'); Qe.until = Qe.until || ''; $.get(href, function(e){ $('#loading').remove(); var text = $(e).find('#wpTextbox1').val(); Qe.time = $(e).find('[name=wpEdittime]').val(); Qe.base = $(e).find('[name=wpStarttime]').val(); if(Qe.next){ Qe.caption.nextUntil(Qe.until).remove(); } var place = Qe.next ? 'after' : 'before'; Qe.caption[place]('<div id="QE" style="clear : both"><div id="bar_icons"></div><textarea id="WYSIWYG"></textarea></div>'); for(var btn in Qe.bar){ $('#bar_icons').append($('<button class = "bar_click">').attr(Qe.bar[btn]).attr('section', section).text(Qe.bar[btn].title)); } $('#bar_icons').append('<label>תקציר עריכה:</label><input id="wpSummary" name="wpSummary" style="width:500px">').prepend('<input id="wpMinoredit" type="checkbox"><label>זהו שינוי משני</label>'); var summary = Qe.caption.children('.mw-headline').text() || 'פתיח'; if(!Qe.next)summary = 'פתיח'; if(summary == 'פתיח' && Qe.next){ Qe.caption.prevAll().remove(); } $('#wpSummary').val('/* ' + summary + ' */ '); if(Qe.caption.parent().css('position') == 'absolute')Qe.caption.parent().remove(); if(Qe.next)Qe.caption.remove(); $('#WYSIWYG').val(text).height($("#WYSIWYG")[0].scrollHeight); $('body, html').scrollTop($('#QE').offset().top); eval(Qe.smr); $('#summariesList').css('width', '100%'); //autoComplete: if($.fn.autoCompleteWikiText){ $('#WYSIWYG').autoCompleteWikiText({ positionMy: "left top", positionAt: "left top", positionOf: '#QE', positionOffset: "0 0", menuCSS: {'z-index': 10000, background:'#E0EEF7', 'box-shadow': '1px 1px 5px rgba(0,0,200,.4)', 'border-radius': '3px'}, itemCSS: {padding: 0, margin: 0} }); } if(Qe.ToolBar){ $('#WYSIWYG').before(Qe.ToolBar); } }); }); }, save : function(elem){ $('#bar_icons').after(Qe.loading); var section = elem.attr("section"); var param = { action : 'edit', basetimestamp : Qe.time, starttimestamp : Qe.base, title : mw.config.get('wgPageName'), text : $('#WYSIWYG').val(), token : mw.user.tokens.get('csrfToken'), section : section, summary : $('#wpSummary').val(), format : 'xml' }; if($('#wpMinoredit').is(':checked'))param.minor = true; $.post('/w/api.php',param,function(f){ var conflict = false; if($(f).find('error').length){ alert('התנגשות עריכה: משתמש אחר ערך את הפסקה לאחר שהתחלתם לערוך אותה. כעת תוצג לפניכם הגרסה העדכנית של הדף, אותה תוכלו לערוך.'); conflict = true; } $.get(document.URL,function(e){ $('#mw-content-text').html($(e).find('#mw-content-text').html()); if(conflict){ $('#mw-content-text').append($('<div>', {id : 'oldval'}).append($('<div>').append('זהו הטקסט שלכם, תוכלו להעתיק ולהדביק אותו בחלונית העריכה <button style="float : left" onclick="$(\'#oldval\').remove()">סגור</button>'), $('<textarea>').val(param.text))); $('#oldval textarea').height($('#oldval textarea')[0].scrollHeight + 50); } var result = conflict ? 'העריכה בוטלה' : 'העריכה נשמרה בהצלחה!'; mw.notify(result); $('.QuickEditor').remove(); $('.mw-editsection').before('<span class="QuickEditor">[<a>עריכה מהירה</a>]</span>'); if(Qe.visual){ $('#mw-content-text .mw-editsection a').each(function(){ Qe.ve.bild($(this)); }); Qe.ve.style(); } for(var opt in Qe.external.options)Qe.external[opt](); }); }); }, get_caption : function(elem, obj){ elem.each(function(){ var tag = this.tagName.split(''); if(tag[0] == 'H' && /[0-9]/.test(tag[1])){ if(obj == 'until') { var ctag = Qe.caption[0].tagName.split('')[1]; if(tag[1] > ctag) return true; } Qe[obj] = this.tagName; return false; } }); }, preview : function(elem){ if($('#WYSIWYG').val() !== ''){ $('#bar_icons').after(Qe.loading); var section = elem.attr("section"); var param = { action : 'edit', title : mw.config.get('wgPageName'), wpTextbox1 : $('#WYSIWYG').val(), section : section, wpPreview :true, live : true }; $.post('/w/index.php', param, function(e){ $('#loading').remove(); var pre = $($(e).find('preview').text()); for(var cls = 0; cls < pre.length; cls++){ if($(pre[cls]).attr('class') == 'mw-content-rtl'){ precon = pre[cls]; break; } } $('#WYSIWYG').after($('<div id = "preview">').html(precon)).hide(); }); } else {$('#WYSIWYG').hide()} elem.text('חזרה לעריכה').attr({'onclick' : 'Qe.rePreview(this)', 'title' : 'חזרה למצב עריכה'}); }, rePreview : function(elem){ $(elem).text('תצוגה מקדימה').attr({'onclick' : 'Qe.preview($(this))', 'title' : 'תצוגה מקדימה'}); $('#preview').remove(); $('#WYSIWYG').show(); }, cancel : function(o){ if(!Qe.copy)return; $('#mw-content-text').html(Qe.copy.clone(true, true)); Qe.ve.style(); }, next : true, //for the VisualEditor: ve : { bild : function(obj){ var bracket = $('<span>', {'class' : 'mw-editsection-bracket'}), link = obj.attr('href'), title = obj.attr('title'), divider = $('<span>', {'class' : 'mw-editsection-divider'}).text('|'); var primary = $('<a>', {'class' : 'mw-editsection-link-primary', title : title, href : link.replace('action', 'veaction').replace('section', 'vesection')}), secondary = $('<a>', {'class' : 'mw-editsection-link-secondary', title : title, href : link}); var section = [ bracket.clone().text('['), primary.text('עריכה'), bracket.clone().text(']'), divider, secondary.text(' עריכת קוד מקור'), bracket.clone().text(']') ]; var parent = obj.parent(); parent.empty().append(section); Qe.ve.hide(parent); }, style : function(){ $('.mw-headline').parent().on({ mouseenter : function(){ $(this).addClass('mw-editsection-expanded').find('.mw-editsection-bracket:not(:first-child, :last-child)').css('visibility', 'hidden').hide(); $(this).find('.mw-editsection-divider, .mw-editsection-bracket:last-child').css('visibility', 'visible').show(); $(this).find('.mw-editsection-link-secondary').css('visibility', 'visible').show(); }, mouseleave : function(){ Qe.ve.hide($(this)); } }); }, hide : function(elem){ elem.removeClass('mw-editsection-expanded').find('.mw-editsection-bracket:not(:first-child, :last-child)').css('visibility', 'visible').show(); elem.find('.mw-editsection-divider, .mw-editsection-bracket:last-child').css('visibility', 'hidden').hide(); elem.find('.mw-editsection-link-secondary').css('visibility', 'hidden').hide().prev().css('visibility', 'hidden').hide(); } }, //for external scripts: external : { move: function(){ $('.mw-editsection').each(function(){ if($(this).parents('h1').length)return true; var href = $(this).find('a').eq(0).attr('href').replace('&vesection', '§ion').replace('&veaction', '&action'); var tag = $(this).parent()[0].tagName.split('')[1]; href += '&move=' + tag; $(this).nextAll().after('<span id="move-section">[<a href = ' + href + '>העברה</a>]</span>'); }); }, slideshow: function(){ $('.gallery-slideshow').each(function(){ var slide = new SlideShow($(this)); slide.run(); }); }, options : {} }, loading : '<img id = "loading" src = "data:image/gif;base64,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">' }; $(function(){ var style = '', rules = { button : {cursor : 'pointer'}, '.bar_click' : {margin : '0 2px'}, '#bar_icons' : { 'margin-bottom' : '4px', border : '2px solid #C8C8E9', padding : '5px' }, '#bar_icons label' : {margin: '0 2px 0 10px'}, '.QuickEditor, #move-section' : { float : $('.mw-editsection').css('float') == 'left' ? 'left' : 'none', 'font-weight' : 'normal', 'font-size' : 'small', 'margin-right' : '1em', 'line-height' : '1em', display : 'inline-block', cursor : 'pointer' }, '#oldval' : { overflow : 'auto', border: '3px solid #C9C9CF', position : 'fixed', 'max-height' : '80%', top : '50px', width : '82%', 'background-color' : 'rgb(201, 201, 207)', padding : '5px', 'box-shadow' : '2px 3px 6px rgba(0,0,0,.3)', 'border-radius' : '5px' }, '#oldval div' : { height : '30px', color : 'white', 'font-size' : '15px', 'line-height' : '1.7' }, '#WYSIWYG, #oldval textarea' : {width : '99.5%'} }; for(var k in rules){ style += k + '{'; for(var i in rules[k]){ style += i + ':' + rules[k][i] + ';'; } style += '}'; } if(Qe.Tools){ $.get('/w/index.php?title=משתמש:קובי_כרמל/Qe_Toolbar&action=edit', function(e){return Qe.ToolBar = $(e).find('#wpTextbox1').val()}); } mw.util.addCSS(style); /* $.get('/wiki/%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Gadget-Summarieslist.js?action=edit',function(e){ Qe.smr = $(e).find('#wpTextbox1').val().split("(mw.util.getParamValue('section') == 'new')) {")[1]; Qe.smr = Qe.smr.slice(0, Qe.smr.length - 7).split("wpSummary').after").join("bar_icons').append"); }); */ if($('.mw-editsection-link-primary').length)Qe.visual = true; Qe.run(); });