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

fix date picker localizations #968

Closed

Conversation

RahulKannan12
Copy link

Related issue

Closes #949

Context / Background

The date picker isn't localized, always sticking with language English.

What change is being introduced by this PR?

This PR will introduce localized date picker in preferences window alone - Later this change will be incorporated to other date picker available across in the tool.
I'm using the existing translations available for Month names and week days name, so no new translations are needed, and also it cuts off our dependency on dealing with jquery-ui translation library.

Changing the language preference to Espanol

Before change

image

After change

image

How will this be tested?

The language change in preference window should load their locale specific date picker.

js/date-to-string-util.js Outdated Show resolved Hide resolved
src/preferences.js Outdated Show resolved Hide resolved
@araujoarthur0
Copy link
Collaborator

Looking cool

src/preferences.html Outdated Show resolved Hide resolved
src/preferences.html Outdated Show resolved Hide resolved
src/preferences.html Outdated Show resolved Hide resolved
src/preferences.js Outdated Show resolved Hide resolved
src/preferences.js Outdated Show resolved Hide resolved
src/preferences.js Outdated Show resolved Hide resolved
src/preferences.js Outdated Show resolved Hide resolved
const monthAbbrs = getMonthNames(languageData);
const dayAbbrs = getDayAbbrvs(languageData);
$.datepicker.regional[`${language}`] = {
monthNames: monthAbbrs,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the "showOtherMonths: true" option, which makes it similar to the older one

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Size is a little odd on the month names
September got cut

image

Also, when we switch to a month with more days, it covers the input we were going to choose

image

Wonder if there's a setting for this

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some people suggest having a fixed height, but that can leave an empty row in some months.
The native datepicker solves that by having the days from the other months fill up even new rows to always have the 6 rows

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no property exposed to set the constant rows (6 in our case)
As you mentioned, people suggesting to have a fixed height
What you say? can we go with fixed height?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the fixed height is ok. There might be a way to adjust the other height proportions so it doesn't look too bad.

Also, have you seen https://www.npmjs.com/package/js-datepicker?
I was looking at alternatives, and I think it looks nicer visually that jquery's 😅
The native datepicker is very slick and nice, but the jquery one looks a bit dated, like older web stuff.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, So can we switch to this suggested npm package, did you had a check whether it covers all our requirement ? If yes and all good, I am fine to move to this npm package instead of jquery-ui datepicker

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it can be translated and looks simple enough to replace the colors afterwards.

@araujoarthur0
Copy link
Collaborator

Some customization tips for the style of the datepicker to get it to fit more into the tool:

Consider using the preferences font in the date picker as well
font-family: 'Montserrat', sans-serif

Very bad mockup
image

I reduced the width of the year, added a left margin, then increased the width of the month.
Changed the fonts and size.

If there's a way to make the column sizes consistent, it'd be good.
Right now Fri has a smaller width than Wed

The left and right buttons are also moving up a little when we hover them, which is a little weird.

Reducing the width of the preferences page broke the page. I think the width of the date field is much bigger than it needs to be
image

The behavior of the feature is great, just tested changing the languages and it switches the datepicker even without saving.

@thamara thamara added the needs-adjustments PRs that are waiting adjustments from the developer label Sep 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-adjustments PRs that are waiting adjustments from the developer
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Date picker is not localized according to selected language in user preferences/workday waiver window
3 participants