MediaWiki Discussão:Gadget-Extra-Editbuttons.js

O conteúdo da página não é suportado noutras línguas.
Adicionar tópico
Origem: Wikipédia, a enciclopédia livre.
Último comentário: 27 de agosto de 2012 de Helder.wiki no tópico Não está funcionando

O texto que aqui estava foi movido para: Wikipedia Discussão:Software/Scripts/Botões extra de edição HyperBroad 21h58min de 11 de Março de 2008 (UTC)

Atualização[editar código-fonte]

Poderiam atualizar este gadget? Nesta versão:

  • São usadas funções mais recentes do MediaWiki, conforme o guia de migração
  • Foram corrigidos os problemas detectados pelo JSHint
  • A indentação é feita com tabulações, e as strings definidas com aspas simples, conforme as convenções dos desenvolvedores do MediaWiki
  • A tag <pre> foi removida pois não é mais necessária

Helder 02h22min de 6 de outubro de 2011 (UTC)Responder

Apesar da edição anterior, o gadget não voltou a funcionar. Poderiam então fazer mais estas atualizações, criar a MediaWiki:Gadget-Extra-Editbuttons.css com o código da en:User:MarkS/XEB/live.css e incluir essa página de CSS na linha correspondente da MediaWiki:Gadgets-definition? A linha ficará assim:
* Extra-Editbuttons[ResourceLoader|dependencies=mediawiki.action.edit]|Extra-Editbuttons.css|Extra-Editbuttons.js
Helder 22h43min de 7 de outubro de 2011 (UTC)Responder
Feito Pcmsg 23h35min de 7 de outubro de 2011 (UTC)Responder
Agora o gadget "funciona" com seus botões padrão mas ignora as configuracões pessoais definidas pelos editores. No bugzilla:31511 informaram que a versão do de:MediaWiki:Gadget-Extra-Editbuttons.js funciona (pelo menos se não ativarmos o ResourceLoader). Podemos optar por fazer uma cópia daquela versão, e traduzir o que for necessário. Pelo menos funcionará como esperado por uns tempos (isto é, até ativarem de vez o ResourceLoader para todos os gadgets em uma próxima versão do MediaWiki).

Não está funcionando[editar código-fonte]

O texto seguinte foi movido de: [1] Olá Helder! Os botões extra não funciona, vc me disse que tem que fazer aqueles mudanças, é aqui qu se faz? Abraços! Vitor Mazuco Msg 23h19min de 18 de agosto de 2012 (UTC) O texto acima foi movido de: [2]Responder

Provavelmente é alguma incompatibilidade com as mudanças feitas recentemente no arquivo resources / mediawiki.action / mediawiki.action.edit.js.
Quando ativei o gadget e abri uma página para editar apareceu o seguinte erro no console do navegador:
Uncaught TypeError: Cannot read property 'length' of undefined
Ele ocorre quando a linha
$.each(mw.toolbar.buttons, function( b, value ){
é executada, pois a propriedade "buttons" do objeto "mw.toolbar" não está definida (ou seja, é undefined). Helder 00h46min de 19 de agosto de 2012 (UTC)Responder
E agora quem pode resolver isso? Vitor Mazuco Msg 00h58min de 19 de agosto de 2012 (UTC)Responder
Desde quando o gadget não está funcionando?
Uma das alterações introduzidas na atualização do dia 15 de agosto fez a limpeza do módulo "mediawiki.action.edit" (ver gerrit:16238). Em particular, a propriedade "buttons" passou a ser local, e não é mais acessível externamente por meio do "mw.toolbar", então os scripts não poderão mais usar isso (e pela explicação do Krinkle, nunca deveriam ter usado...). Helder 01h30min de 19 de agosto de 2012 (UTC)Responder
Eu acho que é desde esse dia mesmo, 15 de agosto. Mas então não dá mais pra usar usar cript? Vitor Mazuco Msg 17h55min de 19 de agosto de 2012 (UTC)Responder
Não até que alguém refaça as partes do script que foram afetadas. Helder 18h09min de 19 de agosto de 2012 (UTC)Responder

Mas é difícil corrigir? Eu mesmo posso fazer? Ou não? Vitor Mazuco Msg 20h30min de 19 de agosto de 2012 (UTC)Responder

Não pode não. !Silent (discussão) 20h35min de 19 de agosto de 2012 (UTC)Responder
Pedi para que seja removido da lista de gadgets, pois está completamente quebrado.
Quem quiser incluir novos botões na barra de ferramentas antiga deve usar mw.toolbar.addButton para cada um dos botões. Para facilitar, vou deixar um exemplo a seguir, que pode ser colado direto no seu common.js:
/*jshint white: false */
/*global jQuery, mediaWiki */
( function ( mw, $ ) {
'use strict';
var addExtraButtons = function(){
	mw.toolbar.addButton( {
		imageFile: '//upload.wikimedia.org/wikipedia/commons/c/c8/Button_redirect.png',
		speedTip: 'Redireccionar página',
		tagOpen: '#REDIRECIONAMENTO [[',
		tagClose: ']]',
		sampleText: 'Título da ligação'
	} );
	mw.toolbar.addButton( {
		imageFile: '//upload.wikimedia.org/wikipedia/commons/7/74/Button_comment.png',
		speedTip: 'Comentário oculto',
		tagOpen: '<!-- ',
		tagClose: ' -->',
		sampleText: 'Comentário'
	} );
	/* Se quiser mais botões, copie e modifique os exemplos acima */
};

if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {
	mw.loader.using( 'user.options', function () {
		if ( ! mw.user.options.get( 'usebetatoolbar' ) && mw.user.options.get( 'showtoolbar' ) ) {
			mw.loader.using( 'mediawiki.action.edit', function(){
				$( addExtraButtons );
			} );
		}
	} );
}

}( mediaWiki, jQuery ) );
Pode colocar quantos botões quiser seguindo os dois exemplos acima. Apesar de ser repetitivo, é fácil...
Obs: Eu conferi esse exemplo no jslint e não está dando erro. Use o site novamente depois de alterar o código para saber se não quebrou nada sem querer. Helder 01h15min de 27 de agosto de 2012 (UTC)Responder