Estou claramente perdendo algo aqui.
Estou tentando adicionar um botão e anexar um evento onclick.
No HTML de um componente, adicionei:
<button id="button_test" class="bottone">Prova</button>
e no /head adicionei:
$('#button_test').on('click', moreDetails);
function moreDetails(e){
console.log(`Escutando: ${e.target.value}`);
}
Mas nada está sendo acionado.
Sou tão burro?
F.
Lembre-se de que o Discourse é um aplicativo Ember.js, então você precisará seguir as regras do Ember para codificação em JavaScript.
Acredito que o jQuery será removido completamente do Ember em breve, então o uso de $ não é um bom sinal.
Obrigado, @codinghorror,
isso pode ser feito com um componente ou preciso de um Plugin?
Olá a todos,
Acabei de criar um widget na seção /head do meu componente e depois adicionei-o ao modelo Handlebar.
let currentLocale = I18n.currentLocale();
I18n.translations[currentLocale].js.custom_modal_title = “Meu modal personalizado”;
const showModal = require("discourse/lib/show-modal").default;
const h = require("virtual-dom").h;
api.createWidget("modal-button", {
tagName: "button.btn.btn-primary",
html(arg) {
return arg;
},
click(arg) {
if(arg.target.innerText=="+ Nuovo Wisper") {
$('#create-topic').click();
} else if(arg.target.innerText=="Aiuta") {
window.location.replace("/c/supporto/11");
} else {
window.location.replace("/t/invita-amici-a-mywisper/26");
}
}
});
api.createWidget("banner", {
tagName: "div.wrap",
html() {
let contents = [];
contents.push(h("div.hc-column","Quanto mais somos, melhor funciona. Compartilhe com seus amigos, é grátis!"));
contents.push(h("div.hc-column","Faça login e publique sua solicitação de ajuda"));
contents.push(h("div.hc-column","Quer ajudar? Procure Wispers na sua cidade"));
let row1 = h("div.row-cont", contents);
let h1 = h('div.top-spot',h('h1','myWisper é um lugar para oferecer e buscar ajuda'));
let inner = [];
let bottoni = [];
bottoni.push(h("div.hc-column",this.attach('modal-button','Convidar')))
bottoni.push(h("div.hc-column",this.attach('modal-button','+ Novo Wisper')))
bottoni.push(h("div.hc-column",this.attach('modal-button','Ajudar')))
let row2 = h("div.row-cont", bottoni);
inner.push(h1,row1,row2);
return h("div.hc-banner",inner);
},
});
api.createWidget("banner_mobile", {
tagName: "div.wrap",
html() {
let h1 = h('div.top-spot',h('h1','myWisper é um lugar para oferecer e pedir ajuda.'));
let inner = [];
let bottoni = [];
bottoni.push(h("div.hc-column-mobile",this.attach('modal-button','Convidar')))
bottoni.push(h("div.hc-column-mobile",this.attach('modal-button','+ Novo Wisper')))
bottoni.push(h("div.hc-column-mobile",this.attach('modal-button','Ajudar')))
let row2 = h("div.row-cont", bottoni);
inner.push(h("h1.mobile-header","myWisper é um lugar para oferecer e pedir ajuda"));
inner.push(row2);
return h("div.hc-banner-mobile",inner);
},
});
</script>