Replace the input! macro with an Input builder
#646
Merge aplicado
elegaanz
aplicou merge dos 4 commits de input-builder
em master
5 anos atrás
Revisores
Solicitar revisão
Sem revisor
Etiquetas
Limpar etiquetas
Related to the REST API
Code running on the server
Stuff related to Federation
Related to the front-end
Translations, and related code
More about project management or code than the project itself
The building, or installation process of Plume
Something isn't working
We need to talk
New feature or request
This is a new feature
Compatibility with different browsers, readers and OS
Related to an external package that Plume uses
UI/UX related issues and PRs
Good for newcomers
Extra attention is needed
Issues affecting only mobile UX
How elements're rendered out for the end user
Something else needs to be fixed first
This issue or pull request already exists
This PR is not complete yet
Issues concern a limited number of instances
This doesn't seem right
Need to be discussed by the community (on Loomio)
This PR is ready to be reviewed
Proposed ideas worth considering
This is issue has been created after a vote on Loomio
This will not be worked on
Aplicar etiquetas
A: API
Related to the REST API
A: Backend
Code running on the server
A: Federation
Stuff related to Federation
A: Front-End
Related to the front-end
A: I18N
Translations, and related code
A: Meta
More about project management or code than the project itself
A: Security
Build
The building, or installation process of Plume
C: Bug
Something isn't working
C: Discussion
We need to talk
C: Enhancement
New feature or request
C: Feature
This is a new feature
Compatibility
Compatibility with different browsers, readers and OS
Dependency
Related to an external package that Plume uses
Design
UI/UX related issues and PRs
Documentation
Good first issue
Good for newcomers
Help welcome
Extra attention is needed
Mobile
Issues affecting only mobile UX
Rendering
How elements're rendered out for the end user
S: Blocked
Something else needs to be fixed first
S: Duplicate
This issue or pull request already exists
S: Incomplete
This PR is not complete yet
S: Instance specific
Issues concern a limited number of instances
S: Invalid
This doesn't seem right
S: Needs Voting/Discussion
Need to be discussed by the community (on Loomio)
S: Ready for review
This PR is ready to be reviewed
Suggestion
Proposed ideas worth considering
S: Voted on Loomio
This is issue has been created after a vote on Loomio
S: Wontfix
This will not be worked on
Sem etiqueta
A: API
A: Backend
A: Federation
A: Front-End
A: I18N
A: Meta
A: Security
Build
C: Bug
C: Discussion
C: Enhancement
C: Feature
Compatibility
Dependency
Design
Documentation
Good first issue
Help welcome
Mobile
Rendering
S: Blocked
S: Duplicate
S: Incomplete
S: Instance specific
S: Invalid
S: Needs Voting/Discussion
S: Ready for review
Suggestion
S: Voted on Loomio
S: Wontfix
Marco
Definir marco
Limpar marco
Nenhum item
Sem marco
Responsáveis
Atribuir usuários
Limpar responsáveis
Sem responsável
2 participante(s)
Notificações
Data limite
A data limite é inválida ou está fora do intervalo. Por favor, use o formato 'dd/mm/aaaa'.
Data limite não informada.
Dependências
Nenhuma dependência definida.
Referência: Plume/Plume#646
Referência em uma nova issue
Ainda não há conteúdo.
Excluir Branch 'input-builder'
A exclusão de um branch é permanente. Isto NÃO PODERÁ ser desfeito. Continuar?
Não
Sim
Pros:
Cons:
Codecov Report
this looks pretty cool!
Maybe implementing https://docs.rs/ructe/0.6.2/ructe/templates/trait.ToHtml.html would make more sens than a stand-alone function? Also, clippy is complaining about conventions, to_* usually take by reference
I thought about it, but my function takes a
gettex::Catalog
, whileToHtml::to_html
doesn't. I could have passed it as an argument toInput::new
tho.But I made the commit before reading your review, so it is
Input::html
now (I can still change it if you prefer).definitely, what @fdb-hiroshima said
update / carification:
About implementing Ructe's
ToHtml
trait.I did not notice the Catalog. It was just a suggestion, but as it's totally fine as is
As
.html()
take the Catalog, and the provided label in Input::new is always translated, can't it be translated transparently from.html()
instead of explicitly each time? (I don't know if it would be better or worst, that's an actual question)gettext-macros requires strings that are known at compile time, so that it can add them to the .pot file. With the latest version of the crate (which requires Rust 2018 for some reason, so we can't use it now), there is a new macro, called
t
that would allow us to do:Which would be a bit better (but we can't really do anything else than that I think, these strings should be marked as translatable with a macro at some point).
👀
I think error is no longer put in a
<p class="error" dir="auto">{}</p>
@ -13,0 +13,4 @@
.default(&form.title)
.error(&errors)
.set_prop("minlength", 1)
.html(ctx.1))
previously had the
required
property@ -18,3 +18,3 @@
<form method="post" action="@uri!(instance::update_settings)">
@input!(ctx.1, name (text), "Name", form, errors.clone(), "props")
@(Input::new("name", i18n!(ctx.1, "Name"))
what was
props
, why is it gone?@ -13,0 +13,4 @@
.default(&form.title)
.error(&errors)
.set_prop("minlength", 1)
.html(ctx.1))
mb, it's added automagically when not optional
@ -18,3 +18,3 @@
<form method="post" action="@uri!(instance::update_settings)">
@input!(ctx.1, name (text), "Name", form, errors.clone(), "props")
@(Input::new("name", i18n!(ctx.1, "Name"))
I don't know to be honest, but it clearly was here by mistake (this argument was for additional HTML properties).
👍
Revisores
8ab690001d
.Passo 1:
No repositório do seu projeto, crie um novo branch e teste as alterações.Passo 2:
Faça merge das alterações e atualize no Forgejo.