Componente de tema de texto de espaço reservado do modelo de tópico

Obrigado, pessoal! Após atualizar e fazer um hard refresh, está funcionando como esperado!

2 curtidas

Acabei de começar a testar este componente; obrigado! Estou curioso sobre adicionar texto de placeholder em mensagens privadas. Alguém já tentou isso?

As mensagens privadas possuem o mesmo texto de placeholder padrão que as publicações de Tópicos. Ele pode ser alterado pelos administradores do site nas configurações de administração em Personalizar > Texto. Procure por js.composer.reply_placeholder - conforme mostrado no início deste tópico.

Se você usar este componente para personalizar o texto de placeholder para cada Categoria de Tópico, o texto de placeholder padrão deverá se aplicar apenas às Mensagens Privadas.

1 curtida

Esse componente de tema é realmente legal. Tenho tentado encontrar uma maneira de oferecer um pouco mais de orientação aos meus usuários quando eles criam um tópico e gostaria de tornar a experiência mais parecida com a preenchimento de um formulário.

No momento, esse componente de tema faz com que todo o texto pré-carregado em um tópico seja um único placeholder. Assim, assim que o usuário digita algo no compositor de tópicos, todo o texto placeholder desaparece.

Seria possível ter placeholders diferentes na página? Por exemplo, o modelo do tópico poderia carregar um placeholder separado para:

“Nome”


“Localização”


“Problema”

De modo que, quando o usuário digitar o nome, os outros placeholders de Localização e Problema permaneçam visíveis até que o usuário também preencha seus respectivos campos?

O texto padrão do modelo de tópico do Discourse permanece enquanto o usuário está digitando. Parece que é isso que você precisa?

A Abordagem dos Espaços Reservados:

O que eu (e outros?) estaríamos procurando seria algo que se comportasse mais como espaços reservados em um formulário (ou seja, com elementos de formulário separados).

O comportamento padrão básico atual permitiria que eu listasse diferentes seções do formulário, como o que escrevi (“nome”, “localização” e “problema”), mas o comportamento padrão do modelo apresenta os mesmos problemas mencionados anteriormente: o Markdown torna tudo confuso e o usuário pode quebrá-lo facilmente.

Acho que o ideal seria como um formulário normal, onde há um espaço reservado para cada seção (nome, localização e problema), mas (aqui está a diferença) as seções se comportariam de forma independente. Assim, quando o usuário clica na seção de nome, o espaço reservado “nome” desaparece, mas as outras seções permanecem até que o usuário clique nelas também.

Imagino que isso seja possível (?) com jQuery. Cada seção precisaria ter seu próprio div com id, e então o jQuery permitiria mostrar ou remover o texto desse id específico quando o usuário clicasse nele. Isso exigiria adicionar divs dentro da área de texto, no entanto, e não tenho certeza de como fazer isso.

Estou investigando isso aqui.

A Abordagem do Modelo

Provavelmente, uma alternativa seria que os cabeçalhos das seções não “desaparecessem” quando o usuário clicasse. Assim, os cabeçalhos das seções (exemplo: Nome, Localização e Problema) seriam textos que permaneceriam na página. Para torná-lo mais parecido com um formulário, em comparação com o padrão atual do modelo:

  1. O texto do cabeçalho da seção não poderia ser editado pelo usuário (ou seja, contenteditable="false").
  2. Os pontos de quebra de seção não poderiam ser removidos pelo usuário.
  3. Haveria um espaço abaixo do cabeçalho da seção onde fica claro que o usuário pode digitar. No modelo padrão atual, eles teriam que ir até onde está o texto, pressionar enter, para criar espaço para digitar.

Talvez essa seja a maneira mais fácil de fazer isso?

Descobri que a configuração aplicar apenas no primeiro post não está funcionando.
Ela não funciona quando quero que todos os posts de um tópico tenham o mesmo placeholder e desativo a configuração. Nesse caso, recebo um placeholder padrão.

Existe alguma possibilidade de ter um placeholder específico para respostas (não o primeiro post de um tópico)? Estou esperando oferecer mais orientações aos usuários sobre o que pode conter em uma resposta, e um placeholder que apareça em uma resposta seria útil.

4 curtidas

Descobri que isso funciona para respostas apenas se o texto do placeholder tiver mais de uma linha. Não tenho ideia do porquê, pois o código é um pouco complicado demais para mim.

P.S.

Enquanto isso, fiz um pequeno PR para parar os avisos do console do navegador:

2 curtidas

Obrigado por mesclar, Nathan.

2 curtidas

Estou tendo um problema em que o Texto de Exemplo não aparece. O que estou perdendo?

Modelo:

Configuração do Componente

Nenhum texto de modelo/placeholder aparece

Ao desmarcar “Exibir todos os seus Modelos de Tópico como placeholders”

O modelo aparece como texto editável (não como placeholder)

Editar Texto do Modelo inclui [placeholder]

O texto do modelo desaparece/nenhum texto de placeholder

Isso está em uma instalação nova do Discourse, sem plugins/componentes instalados - Discourse 3.4.0

Sim, parece que este componente de tema parou de funcionar. :thinking:

3 curtidas

Este componente parou de funcionar para mim.

Bem, posso confirmar que não está funcionando. Provavelmente por causa de grandes mudanças recentes no Discourse.

1 curtida

Oi, alguma esperança de que seja atualizado? :face_with_tongue:

Olá :waving_hand:

Criei um PR para trazer este componente de tema de volta à vida e torná-lo compatível com o Discourse mais recente. :slightly_smiling_face:

8 curtidas

Obrigado @Don. Mesclei sua solicitação de pull. Por favor, teste se está funcionando para você. :folded_hands:

3 curtidas

Acabei de reinstalar e usar — parece estar funcionando bem agora.

Portanto, removi a tag broken.

2 curtidas

[Aviso de Admin] O tema ‘Texto de Espaço Reservado do Modelo de Tópico’ contém código que precisa ser atualizado. (id:discourse.resolver-resolutions)

[TEMA 50 'Texto de Espaço Reservado do Modelo de Tópico'] AVISO DE DEPRECIAÇÃO: "site:main" está obsoleto, use "service:site" em vez disso [obsoleto desde o Discourse 2.9.0.beta7] [id de depreciação: discourse.resolver-resolutions]

Fiz essa alteração e liberei uma atualização. Tudo deve estar funcionando agora.

2 curtidas