Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DateField with custom empty value and placeholder #11359

Open
MartinUhlen opened this issue Dec 8, 2018 · 3 comments
Open

DateField with custom empty value and placeholder #11359

MartinUhlen opened this issue Dec 8, 2018 · 3 comments
Labels
question Stale Stale bot label

Comments

@MartinUhlen
Copy link

Hi!

I have a problem with DateField using custom empty value. In our system we never store dates as null, instead we use the sentinel date "1900-01-01" to represent an absent/unspecified/empty date.

The docs of HasValue#getEmptyValue() implies that one should be able to redefine what is considered empty:

LocalDate emptyDate = LocalDate.parse("1900-01-01");

DateField field = new DateField()
{
    @Override
    public boolean isEmpty()
    {
        return getValue() == null || getValue().equals(emptyDate);
    }

    @Override
    public LocalDate getEmptyValue()
    {
        return emptyDate;
    }
};
field.setPlaceholder("yyyy-MM-dd");
field.setValue(emptyDate); // Shows "1900-01-01" instead of placeholder
field.setValue(null); // Shows placeholder "yyyy-MM-dd"

I expect to see placeholder when value is equal to empty value, but it only works when value is null. Docs of DateField#setPlaceholder states "Sets the placeholder text. The placeholder is text that is displayed when the field would otherwise be empty, to prompt the user for input." so it seems this does not work as one would expect?

Overriding #formatDate(LocalDate) doesn't work either:

@Override
protected String formatDate(LocalDate value)
{
    if (isEmpty())
    {
        return getPlaceholder();
    }
    else
    {
        return super.formatDate(value);
    }
}

Using Vaadin 8.6.1

Thanks!
// Martin

@stale
Copy link

stale bot commented May 7, 2019

Hello there!

We are sorry that this issue hasn't progressed lately. We are prioritizing issues by severity and the number of customers we expect are experiencing this and haven't gotten around to fix this issue yet.

There are a couple of things you could help to get things rolling on this issue (this is an automated message, so expect that some of these are already in use):

  • Check if the issue is still valid for the latest version. There are dozens of duplicates in our issue tracker, so it is possible that the issue is already tackled. If it appears to be fixed, close the issue, otherwise report to the issue that it is still valid.
  • Provide more details how to reproduce the issue.
  • Explain why it is important to get this issue fixed and politely draw others attention to it e.g. via the forum or social media.
  • Add a reduced test case about the issue, so it is easier for somebody to start working on a solution.
  • Try fixing the issue yourself and create a pull request that contains the test case and/or a fix for it. Handling the pull requests is the top priority for the core team.
  • If the issue is clearly a bug, use the Warranty in your Vaadin subscription to raise its priority.

Thanks again for your contributions! Even though we haven't been able to get this issue fixed, we hope you to report your findings and enhancement ideas in the future too!

@stale stale bot added the Stale Stale bot label label May 7, 2019
@stale stale bot removed the Stale Stale bot label label Nov 8, 2019
@TatuLund
Copy link
Contributor

TatuLund commented Nov 8, 2019

This indeed requires some clarification in documents. I checked that the components are consistently applying the placeholder only when the value is null, so DateField is no exception. I would thus conclude that this is working as intended.

@stale
Copy link

stale bot commented Apr 7, 2020

Hello there!

We are sorry that this issue hasn't progressed lately. We are prioritizing issues by severity and the number of customers we expect are experiencing this and haven't gotten around to fix this issue yet.

There are a couple of things you could help to get things rolling on this issue (this is an automated message, so expect that some of these are already in use):

  • Check if the issue is still valid for the latest version. There are dozens of duplicates in our issue tracker, so it is possible that the issue is already tackled. If it appears to be fixed, close the issue, otherwise report to the issue that it is still valid.
  • Provide more details how to reproduce the issue.
  • Explain why it is important to get this issue fixed and politely draw others attention to it e.g. via the forum or social media.
  • Add a reduced test case about the issue, so it is easier for somebody to start working on a solution.
  • Try fixing the issue yourself and create a pull request that contains the test case and/or a fix for it. Handling the pull requests is the top priority for the core team.
  • If the issue is clearly a bug, use the Warranty in your Vaadin subscription to raise its priority.

Thanks again for your contributions! Even though we haven't been able to get this issue fixed, we hope you to report your findings and enhancement ideas in the future too!

@stale stale bot added the Stale Stale bot label label Apr 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Stale Stale bot label
Projects
None yet
Development

No branches or pull requests

2 participants