Jack Phoenix has submitted this change and it was merged. Change subject: updated AJAXPoll to work with MW 1.24 ......................................................................
updated AJAXPoll to work with MW 1.24 replaced .live() calls with .on() wrapped all handlers in a function so they can be reapplied after the page is updated via the ajax call. replaced sajax_do_call() that was generating a bunch of deprecation errors. I replaced it with the method outlined here: https://www.mediawiki.org/wiki/ResourceLoader/Legacy_JavaScript Bug: T86573 Change-Id: I44538be1a8e42bd53a2107e3724686ae184599e3 --- M resources/ajaxpoll.js 1 file changed, 72 insertions(+), 62 deletions(-) Approvals: Jack Phoenix: Looks good to me, approved jenkins-bot: Verified diff --git a/resources/ajaxpoll.js b/resources/ajaxpoll.js index 4857b54..75ca7f4 100644 --- a/resources/ajaxpoll.js +++ b/resources/ajaxpoll.js @@ -1,67 +1,77 @@ var ajaxpollTmp; -$(".ajaxpoll-answer-vote").on("mouseover", - function(){ - var sp=$(this).find("span"); - ajaxpollTmp=sp.html(); - sp.text(sp.attr("title")); - sp.attr("title",""); - } -); - -$(".ajaxpoll-answer-vote").on("mouseout", - function(){ - var sp=$(this).find("span"); - sp.attr("title",sp.text()); - sp.text(ajaxpollTmp); - } -); - -/* attach click handler */ -$(".ajaxpoll-answer-name label") - .on("click", - function(event){ - event.preventDefault(); - event.stopPropagation(); - $this = $(this).parent().parent(); - var poll = $this.attr( "poll" ); - var answer = $this.attr( "answer" ); - var token = $this.parent().find("input[name='ajaxPollToken']").val(); - $this.find(".ajaxpoll-hover-vote").addClass("ajaxpoll-checkevent"); - $this.find("input").prop("checked","checked"); - $( "#ajaxpoll-ajax-"+poll ) - .text( mw.message( 'ajaxpoll-submitting' ).text() ) - .css("display","inline-block"); - if (useAjax){ - sajax_do_call( - "AJAXPoll::submitVote", - [poll,answer,token], - $("#ajaxpoll-container-"+poll)[0] - ) - } else { - $("#ajaxpoll-answer-id-"+poll).submit(); - } +var setupEventHandlers = function(){ + $(".ajaxpoll-answer-vote").on("mouseover", + function(){ + var sp=$(this).find("span"); + ajaxpollTmp=sp.html(); + sp.text(sp.attr("title")); + sp.attr("title",""); } - ) + ); -$(".ajaxpoll-answer-name:not(.ajaxpoll-answer-name-revoke) label").on("mouseover", - function(){ - $(this).addClass("ajaxpoll-hover-vote"); - } -); -$(".ajaxpoll-answer-name:not(.ajaxpoll-answer-name-revoke) label").on("mouseout", - function(){ - $(this).removeClass("ajaxpoll-hover-vote"); - } -); + $(".ajaxpoll-answer-vote").on("mouseout", + function(){ + var sp=$(this).find("span"); + sp.attr("title",sp.text()); + sp.text(ajaxpollTmp); + } + ); -$(".ajaxpoll-answer-name-revoke label").on("mouseover", - function(){ - $(this).addClass("ajaxpoll-hover-revoke"); - } -); -$(".ajaxpoll-answer-name-revoke label").on("mouseout", - function(){ - $(this).removeClass("ajaxpoll-hover-revoke"); - } -); + /* attach click handler */ + $(".ajaxpoll-answer-name label") + .on("click", + function(event){ + event.preventDefault(); + event.stopPropagation(); + $this = $(this).parent().parent(); + var poll = $this.attr( "poll" ); + var answer = $this.attr( "answer" ); + var token = $this.parent().find("input[name='ajaxPollToken']").val(); + $this.find(".ajaxpoll-hover-vote").addClass("ajaxpoll-checkevent"); + $this.find("input").prop("checked","checked"); + $( "#ajaxpoll-ajax-"+poll ) + .text( mw.message( 'ajaxpoll-submitting' ).text() ) + .css("display","inline-block"); + if (useAjax){ + $.get( + mw.util.wikiScript(), + { + action: 'ajax', + rs: "AJAXPoll::submitVote", + rsargs: [poll,answer,token] + }, + function(newHTML){ + $("#ajaxpoll-container-"+poll).html(newHTML); + setupEventHandlers(); + } + ); + } else { + $("#ajaxpoll-answer-id-"+poll).submit(); + } + } + ) + + $(".ajaxpoll-answer-name:not(.ajaxpoll-answer-name-revoke) label").on("mouseover", + function(){ + $(this).addClass("ajaxpoll-hover-vote"); + } + ); + $(".ajaxpoll-answer-name:not(.ajaxpoll-answer-name-revoke) label").on("mouseout", + function(){ + $(this).removeClass("ajaxpoll-hover-vote"); + } + ); + + $(".ajaxpoll-answer-name-revoke label").on("mouseover", + function(){ + $(this).addClass("ajaxpoll-hover-revoke"); + } + ); + $(".ajaxpoll-answer-name-revoke label").on("mouseout", + function(){ + $(this).removeClass("ajaxpoll-hover-revoke"); + } + ); +} +setupEventHandlers(); \ No newline at end of file -- To view, visit https://gerrit.wikimedia.org/r/190751 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I44538be1a8e42bd53a2107e3724686ae184599e3 Gerrit-PatchSet: 3 Gerrit-Project: mediawiki/extensions/AJAXPoll Gerrit-Branch: master Gerrit-Owner: TakahashiNZ <[email protected]> Gerrit-Reviewer: Jack Phoenix <[email protected]> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
