FIX: Regression in timezone name localizations (#15761)

This also switches to using the NPM package for better build stability. And adds a clearer label in the alert that is displayed to show your current timezone (when changing timezones).
This commit is contained in:
Penar Musaraj 2022-02-02 23:41:42 +01:00 committed by GitHub
parent c23ccd87f8
commit febe997bee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 32 additions and 22 deletions

View File

@ -1,25 +1,29 @@
import ComboBoxComponent from "select-kit/components/combo-box"; import ComboBoxComponent from "select-kit/components/combo-box";
import { computed } from "@ember/object";
export default ComboBoxComponent.extend({ export default ComboBoxComponent.extend({
pluginApiIdentifiers: ["timezone-input"], pluginApiIdentifiers: ["timezone-input"],
classNames: ["timezone-input"], classNames: ["timezone-input"],
nameProperty: null,
valueProperty: null,
selectKitOptions: { selectKitOptions: {
filterable: true, filterable: true,
allowAny: false, allowAny: false,
}, },
content: computed(function () { get nameProperty() {
if ( return this.isLocalized ? "name" : null;
moment.locale() !== "en" && },
typeof moment.tz.localizedNames === "function"
) { get valueProperty() {
return moment.tz.localizedNames().mapBy("value"); return this.isLocalized ? "value" : null;
} else { },
return moment.tz.names();
} get content() {
}), return this.isLocalized ? moment.tz.localizedNames() : moment.tz.names();
},
get isLocalized() {
return (
moment.locale() !== "en" && typeof moment.tz.localizedNames === "function"
);
},
}); });

View File

@ -7,6 +7,7 @@
"license": "GPL-2.0-only", "license": "GPL-2.0-only",
"dependencies": { "dependencies": {
"@discourse/itsatrap": "^2.0.10", "@discourse/itsatrap": "^2.0.10",
"@discourse/moment-timezone-names-translations": "^1.0.0",
"@fortawesome/fontawesome-free": "5.11.2", "@fortawesome/fontawesome-free": "5.11.2",
"@highlightjs/cdn-assets": "^10.7.0", "@highlightjs/cdn-assets": "^10.7.0",
"@json-editor/json-editor": "^2.6.1", "@json-editor/json-editor": "^2.6.1",
@ -30,7 +31,6 @@
"markdown-it": "10.0.0", "markdown-it": "10.0.0",
"moment": "2.29.1", "moment": "2.29.1",
"moment-timezone": "0.5.31", "moment-timezone": "0.5.31",
"moment-timezone-names-translations": "https://github.com/discourse/moment-timezone-names-translations",
"pikaday": "1.8.0", "pikaday": "1.8.0",
"workbox-cacheable-response": "^4.3.1", "workbox-cacheable-response": "^4.3.1",
"workbox-core": "^4.3.1", "workbox-core": "^4.3.1",

View File

@ -205,7 +205,7 @@ export default Component.extend({
@computed("currentUserTimezone") @computed("currentUserTimezone")
formatedCurrentUserTimezone(timezone) { formatedCurrentUserTimezone(timezone) {
return timezone.replace("_", " ").replace("Etc/", "").split("/"); return timezone.replace("_", " ").replace("Etc/", "").replace("/", ", ");
}, },
@computed("formats") @computed("formats")
@ -398,8 +398,10 @@ export default Component.extend({
return new Promise((resolve) => { return new Promise((resolve) => {
loadScript("/javascripts/pikaday.js").then(() => { loadScript("/javascripts/pikaday.js").then(() => {
const options = { const options = {
field: this.$(`.fake-input`)[0], field: this.element.querySelector(".fake-input"),
container: this.$(`#picker-container-${this.elementId}`)[0], container: this.element.querySelector(
`#picker-container-${this.elementId}`
),
bound: false, bound: false,
format: "YYYY-MM-DD", format: "YYYY-MM-DD",
reposition: false, reposition: false,

View File

@ -7,7 +7,8 @@
{{#if isValid}} {{#if isValid}}
{{#if timezoneIsDifferentFromUserTimezone}} {{#if timezoneIsDifferentFromUserTimezone}}
<div class="preview alert alert-info"> <div class="preview alert alert-info">
<b>{{formatedCurrentUserTimezone}} </b>{{currentPreview}} {{i18n "discourse_local_dates.create.form.current_timezone"}}
<b>{{formatedCurrentUserTimezone}}</b>{{currentPreview}}
</div> </div>
{{/if}} {{/if}}
{{else}} {{else}}

View File

@ -262,6 +262,7 @@
b { b {
margin-right: 0.5em; margin-right: 0.5em;
margin-left: 0.5em;
} }
b + p { b + p {

View File

@ -25,6 +25,7 @@ en:
format_title: Date format format_title: Date format
timezone: Timezone timezone: Timezone
until: Until... until: Until...
current_timezone: "Current timezone:"
recurring: recurring:
every_day: "Every day" every_day: "Every day"
every_week: "Every week" every_week: "Every week"

View File

@ -111,6 +111,11 @@
resolved "https://registry.yarnpkg.com/@discourse/itsatrap/-/itsatrap-2.0.10.tgz#c7e750eeb32b54e769e952c4ecc472213eb1385a" resolved "https://registry.yarnpkg.com/@discourse/itsatrap/-/itsatrap-2.0.10.tgz#c7e750eeb32b54e769e952c4ecc472213eb1385a"
integrity sha512-Jn1gdiyHMGUsmUfLFf4Q7VnTAv0l7NePbegU6pKhKHEmbzV3FosGxq30fTOYgVyTS1bxqGjlA6LvQttJpv3ROw== integrity sha512-Jn1gdiyHMGUsmUfLFf4Q7VnTAv0l7NePbegU6pKhKHEmbzV3FosGxq30fTOYgVyTS1bxqGjlA6LvQttJpv3ROw==
"@discourse/moment-timezone-names-translations@^1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@discourse/moment-timezone-names-translations/-/moment-timezone-names-translations-1.0.0.tgz#b22344456513d37c81baf384a41487b539b91534"
integrity sha512-4xr1QWQ0nzmFa2ZXQgWZA+dtE/BU2ePA+qkJWPFzNpq4ZnQi8MmMMAS2285t3rc2ySMBQqYaAArmcSUiufUgRA==
"@ember-data/rfc395-data@^0.0.4": "@ember-data/rfc395-data@^0.0.4":
version "0.0.4" version "0.0.4"
resolved "https://registry.yarnpkg.com/@ember-data/rfc395-data/-/rfc395-data-0.0.4.tgz#ecb86efdf5d7733a76ff14ea651a1b0ed1f8a843" resolved "https://registry.yarnpkg.com/@ember-data/rfc395-data/-/rfc395-data-0.0.4.tgz#ecb86efdf5d7733a76ff14ea651a1b0ed1f8a843"
@ -2933,10 +2938,6 @@ module-deps@^6.2.3:
through2 "^2.0.0" through2 "^2.0.0"
xtend "^4.0.0" xtend "^4.0.0"
"moment-timezone-names-translations@https://github.com/discourse/moment-timezone-names-translations":
version "0.0.0"
resolved "https://github.com/discourse/moment-timezone-names-translations#5f576fc6355d8e636783bfb7b0214a5d74a5399d"
moment-timezone@0.5.31: moment-timezone@0.5.31:
version "0.5.31" version "0.5.31"
resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.31.tgz#9c40d8c5026f0c7ab46eda3d63e49c155148de05" resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.31.tgz#9c40d8c5026f0c7ab46eda3d63e49c155148de05"