Replace the input! macro with an Input builder
#646
Злито
elegaanz
злито 4 комітів з input-builder
до master
5 роки тому
Рецензенти
Попросити рецензію
Немає рецензентів
Мітки
Очистити мітки
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
Застосувати мітки
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
Без мітки
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
Етап
Призначити етап
Очистити етап
Немає елементів
Етап відсутній
Виконавці
Призначити користувачів
Прибрати виконавців
Немає виконавця
2 учасників
Сповіщення
Дата завершення
Термін дії не дійсний або знаходиться за межами допустимого діапазону. Будь ласка використовуйте формат 'yyyy-mm-dd'.
Термін виконання не встановлений.
Залежності
No dependencies set.
Reference: Plume/Plume#646
Посилання в новій задачі
Тут ще немає жодного змісту.
Видалити гілку 'input-builder'
Видалення гілки НЕЗВОРОТНЕ. Дію не можна скасувати. Продовжити?
Ні
Так
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).
👍
Рецензенти
8ab690001d
.Крок 1:
У репозиторії вашого проєкту перевірте нову гілку і протестуйте зміни.Крок 2:
Об'єднати зміни і оновити на Forgejo.