Replace the input! macro with an Input builder
#646
Zusammengeführt
elegaanz
hat 4 Commits von input-builder
nach master
vor 5 Jahren zusammengeführt
Laden…
In neuem Issue referenzieren
Hier gibt es bis jetzt noch keinen Inhalt.
Branch „input-builder“ löschen
Das Löschen eines Branches ist permanent. Es KANN NICHT rückgängig gemacht werden. Fortfahren?
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).
👍
Reviewer
8ab690001d
gemergt.Schritt 1:
Wechsle auf einen neuen Branch in deinem lokalen Repository und teste die Änderungen.Schritt 2:
Führe die Änderungen zusammen und aktualisiere den Stand online auf Forgejo.