Estou trabalhando em alguns plugins específicos de domínio para nosso fórum e gostaríamos de criar pequenas ações personalizadas, semelhantes a estas:
Em particular, preciso apenas ser capaz de colocar avisos como esses no tópico, com a possibilidade de personalizar o ícone e o texto.
Alguém pode me explicar os construtos/módulos/modelos/etc. nos quais eu precisaria me integrar para realizar isso no back-end e no front-end, ou poderia me indicar um plugin existente que já implemente isso?
Obrigado!
david
(David Taylor)
Março 17, 2020, 3:35pm
2
discourse-assign é provavelmente o melhor exemplo disso:
# frozen_string_literal: true
class ::TopicAssigner
def self.backfill_auto_assign
deprecation_note
Assigner.backfill_auto_assign
end
def self.assigned_self?(text)
deprecation_note
Assigner.assigned_self?(text)
end
def self.auto_assign(post, force: false)
deprecation_note
Assigner.auto_assign(post, force)
end
def self.is_last_staff_post?(post)
deprecation_note
This file has been truncated. show original
E então, algumas coisas para adicionar o ícone / conteúdo
https://github.com/discourse/discourse-assign/blob/master/assets/javascripts/discourse-assign/initializers/extend-for-assigns.js.es6#L158-L169
Obrigado, isso ajudou muito.
Qual seria a melhor maneira de fazer o pequeno painel de ação exibir texto mais rico?
Atual:
O que eu quero: (Consegui isso inserindo manualmente a classe cooked no div com a classe small-action-desc)
Eu folheei o código-fonte sobre os transformadores de post, mas não encontrei nada relacionado a isso
EDIT: acabei adicionando isso como .scss
.custom-message {
ins {
background-color: dark-light-choose(
$success-low,
scale-color($success, $lightness: -60%)
);
}
del {
background-color: dark-light-choose(
$danger-low,
scale-color($danger, $lightness: -60%)
);
}
}