Skip to content
This repository has been archived by the owner on Jun 1, 2023. It is now read-only.

日付の表示形式を揃える #5077

Conversation

shgtkshruch
Copy link
Contributor

@shgtkshruch shgtkshruch commented Jul 22, 2020

👏 解決する issue / Resolved Issues

📝 関連する issue / Related Issues

⛏ 変更内容 / Details of Changes

  • テーブルの日付を data-view-table コンポーネントで一括して指定するようにしました
  • カード上部の前日比の日付フォーマットとデータの算出ロジックをユーティリティ関数にまとめました
    • これに伴い、各グラフから formatDayBeforeRatioや前日比を計算するロジックを削除しました
    • TimeStackedBarChart のみデータ型が二次元配列で他のグラフを異なっているなっているので、これまでの実装を残しています

📸 スクリーンショット / Screenshots

Before After
スクリーンショット 2020-07-22 21 23 42 スクリーンショット 2020-07-22 21 24 15
スクリーンショット 2020-07-22 21 26 37 スクリーンショット 2020-07-22 21 26 45
スクリーンショット 2020-07-22 21 25 35 スクリーンショット 2020-07-22 21 25 44

カード上部の日付のフォーマットについては、「その他 参考指標」タブを選択した後に、Chrome のコンソールから以下のコマンドでテキストを抽出して確認しました。

$$('.DataView-Header').map(el => el.textContent.trim().replace(/\n\s*/g, ''))
# Before
0: "検査陽性者の状況"
1: "新規患者に関する報告件数の推移238人  7/22 日別値(前日比: +1 人)"
2: "モニタリング項目"
3: "モニタリング項目(1)新規陽性者数 242.9人  7/22 の数値(前日比: +10.5 人)"
4: "モニタリング項目(2)#7119における発熱等相談件数 67.0件  7/21 の数値(前日比: +1.1 件)"
5: "モニタリング項目(3)新規陽性者における接触歴等不明者数 129.6人  7/22の数値(前日比: +7.3 人) 増加比 148.2%  7/22の数値(前日比: -4.9 %)"
6: "モニタリング項目(4)検査の陽性率 6.7%  7月21日の数値(前日比: +0.3 %) 検査人数 3,339.9人  7月21日の数値(前日比: -128.0 人)"
7: "モニタリング項目(5)救急医療の東京ルールの適用件数 31.0件  7/21 の数値(前日比: -0.1 件)"
8: "モニタリング項目(6)入院患者数 916人  7/22 の数値(前日比: -33 人)"
9: "モニタリング項目(7)重症患者数 18人  7/22 の数値(前日比: +4 人)"
10: "陽性患者の属性10,054人  7/22の累計"
11: "陽性患者数(区市町村別)7月21日の累計"
12: "確定日別による陽性者数の推移1人  7/22 日別値(現在判明している人数であり、後日修正される場合がある)"
13: "検査実施件数4,327件  7/21の合計"
14: "受診相談窓口における相談件数2,418件  7/21 の数値(前日比: +23 件)"
15: "新型コロナコールセンター相談件数1,391件  7/21 実績値(前日比: -245 件)"
16: "都営地下鉄の利用者数の推移"
17: "都庁来庁者数の推移"
# After
0: "検査陽性者の状況"
1: "新規患者に関する報告件数の推移238人  7月22日 日別値(前日比: +1 人)"
2: "モニタリング項目"
3: "モニタリング項目(1)新規陽性者数 242.9人  7月22日 の数値(前日比: +10.5 人)"
4: "モニタリング項目(2)#7119における発熱等相談件数 67.0件  7月21日 の数値(前日比: +1.1 件)"
5: "モニタリング項目(3)新規陽性者における接触歴等不明者数 129.6人  7月22日 の数値(前日比: +7.3 人) 増加比 148.2%  7月22日 の数値(前日比: -4.9 %)"
6: "モニタリング項目(4)検査の陽性率 6.7%  7月21日 の数値(前日比: +0.3 %) 検査人数 3,339.9人  7月21日 の数値(前日比: -128.0 人)"
7: "モニタリング項目(5)救急医療の東京ルールの適用件数 31.0件  7月21日 の数値(前日比: -0.1 件)"
8: "モニタリング項目(6)入院患者数 916人  7月22日 の数値(前日比: -33 人)"
9: "モニタリング項目(7)重症患者数 18人  7月22日 の数値(前日比: +4 人)"
10: "陽性患者の属性10,054人  7月22日の累計"
11: "陽性患者数(区市町村別)7月21日の累計"
12: "確定日別による陽性者数の推移1人  7月22日 日別値(現在判明している人数であり、後日修正される場合がある)"
13: "検査実施件数4,327件  7月21日の合計"
14: "受診相談窓口における相談件数2,418件  7月21日 の数値(前日比: +23 件)"
15: "新型コロナコールセンター相談件数1,391件  7月21日 実績値(前日比: -245 件)"
16: "都営地下鉄の利用者数の推移"
17: "都庁来庁者数の推移"

Comment on lines 86 to 88
formatDate(dateString) {
if (dayjs(dateString).isValid()) {
return this.$d(new Date(dateString), 'dateWithoutYear')
Copy link
Contributor Author

Choose a reason for hiding this comment

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

テーブルの日付はここで一括して M月D日 形式にしています。

Comment on lines -289 to +282
{ text: dayjs(label).format('M/D') },
{ text: label },
Copy link
Contributor Author

Choose a reason for hiding this comment

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

各テーブルからは日付を指定するコードを削除しています。

Comment on lines 31 to 35
return [
Vue.prototype.$nuxt.$options.i18n.d(new Date(lastDay), 'dateWithoutYear'),
formatter(lastDayData),
formatDayBeforeRatio(dayBeforeRatio, formatter)
]
Copy link
Contributor Author

@shgtkshruch shgtkshruch Jul 22, 2020

Choose a reason for hiding this comment

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

グラフ上部の前日比に関しては、displayData から

  1. M月D日 にフォーマットされた日付文字列
  2. 最新データ
  3. 小数点を考慮して3桁区切りにした前日比

を返す関数を定義してロジックを共通化しました。

グラフごとに .DataView-DataInfo-date に入る文言が微妙に異なるので、Vue コンポーネントにはせずに計算結果のみを返す関数にしました。
各コンポーネントでは、この値を使って文言を組み立てる処理だけ残してあります。

@shgtkshruch shgtkshruch marked this pull request as ready for review July 22, 2020 12:44
displayData,
dataIndex = 0,
digit = 0
}: DayBeforeRatioParameters): string[] {
Copy link
Contributor

@munierujp munierujp Jul 22, 2020

Choose a reason for hiding this comment

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

戻り値の型をinterfaceで定義して、オブジェクトとして返したほうがよいかと思います。

Copy link
Contributor Author

Choose a reason for hiding this comment

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

コメントありがとうございます!
戻り値の型定義あったほうが良かったですね...

こちらのコミットで修正しました。
aec731e

@@ -76,6 +81,15 @@ const options: ThisTypedComponentOptionsWithRecordProps<
dataKeys() {
return this.headers.map(h => h.value).filter(h => h !== this.headerKey)
}
},
methods: {
formatDate(dateString) {
Copy link
Contributor

@munierujp munierujp Jul 22, 2020

Choose a reason for hiding this comment

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

メソッドではなく、フィルターとして定義して使うのはどうでしょうか。

{{ item[headerKey] | formatDate }}

Copy link
Contributor Author

Choose a reason for hiding this comment

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

filter だと this から $d にアクセスできないので method を使っていたのですが、Vue からも辿れるのでこちらのコミットで filter に修正しました。
(データのフォーマットを適応するという意味でも filter の方が良いですね)
b46cd05

@kaizumaki
Copy link
Collaborator

@shgtkshruch ご対応ありがとうございます!方向性としてはいい感じだと思います。
ただ、IE11でみたときに、いくつかのカードが非表示になってしまっています。

非表示になるカード

  • 新規患者に関する報告件数の推移
  • モニタリング項目(6)入院患者数
  • モニタリング項目(7)重症患者数
  • 陽性患者の属性
  • 確定日別による陽性者数の推移
  • 検査実施件数
  • 新型コロナコールセンター相談件数

以下、長いですがコンソールに表示されたエラーを貼っておきますね(「その他参考指標」タブを選択したときの表示です)。

RangeError: 日付が無効です
   {
      [functions]: ,
      __proto__: { },
      description: "日付が無効です",
      message: "日付が無効です",
      name: "RangeError",
      number: -2146823164,
      stack: "RangeError: 日付が無効です
   at te.prototype._localizeDateTime (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730471)
   at te.prototype._d (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730637)
   at te.prototype.d (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730956)
   at l (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:23425)
   at O.computed.displayInfo (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:45152)
   at _n.prototype.get (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:27181)
   at _n.prototype.evaluate (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:28329)
   at Anonymous function (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:30266",
      Symbol(Lang fallback)_i.mjd37k45jqz: undefined,
      Symbol(react.element)_h.mjd37k45jqz: undefined
   }

RangeError: 日付が無効です
   {
      [functions]: ,
      __proto__: { },
      description: "日付が無効です",
      message: "日付が無効です",
      name: "RangeError",
      number: -2146823164,
      stack: "RangeError: 日付が無効です
   at te.prototype._localizeDateTime (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730471)
   at te.prototype._d (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730637)
   at te.prototype.d (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730956)
   at l (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:23425)
   at O.computed.displayInfo (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:208397)
   at _n.prototype.get (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:27181)
   at _n.prototype.evaluate (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:28329)
   at Anonymous function (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:3026",
      Symbol(Lang fallback)_i.mjd37k45jqz: undefined,
      Symbol(react.element)_h.mjd37k45jqz: undefined
   }

RangeError: 日付が無効です
   {
      [functions]: ,
      __proto__: { },
      description: "日付が無効です",
      message: "日付が無効です",
      name: "RangeError",
      number: -2146823164,
      stack: "RangeError: 日付が無効です
   at te.prototype._localizeDateTime (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730471)
   at te.prototype._d (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730637)
   at te.prototype.d (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730956)
   at l (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:23425)
   at w.computed.displayInfo (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:215456)
   at _n.prototype.get (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:27181)
   at _n.prototype.evaluate (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:28329)
   at Anonymous function (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:3026",
      Symbol(Lang fallback)_i.mjd37k45jqz: undefined,
      Symbol(react.element)_h.mjd37k45jqz: undefined
   }

TypeError: 未定義または NULL 参照のプロパティ '$el' は取得できません
   {
      [functions]: ,
      __proto__: { },
      description: "未定義または NULL 参照のプロパティ '$el' は取得できません",
      message: "未定義または NULL 参照のプロパティ '$el' は取得できません",
      name: "TypeError",
      number: -2146823281,
      stack: "TypeError: 未定義または NULL 参照のプロパティ '$el' は取得できません
   at O.mounted (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:49697)
   at Qt (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:11422)
   at sn (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:25754)
   at Be.insert (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:20563)
   at j (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:57097)
   at Anonymous function (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:58535)
   at t.prototype._update (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:34992)
   at r (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:65481)
   at _n.prototype.get (https://deploy-preview-5077--dev-covid1",
      Symbol(Lang fallback)_i.mjd37k45jqz: undefined,
      Symbol(react.element)_h.mjd37k45jqz: undefined
   }

TypeError: 未定義または NULL 参照のプロパティ '$el' は取得できません
   {
      [functions]: ,
      __proto__: { },
      description: "未定義または NULL 参照のプロパティ '$el' は取得できません",
      message: "未定義または NULL 参照のプロパティ '$el' は取得できません",
      name: "TypeError",
      number: -2146823281,
      stack: "TypeError: 未定義または NULL 参照のプロパティ '$el' は取得できません
   at O.mounted (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:211625)
   at Qt (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:11422)
   at sn (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:25754)
   at Be.insert (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:20563)
   at j (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:57097)
   at Anonymous function (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:58535)
   at t.prototype._update (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:34992)
   at r (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:65481)
   at _n.prototype.get (https://deploy-preview-5077--dev-covid",
      Symbol(Lang fallback)_i.mjd37k45jqz: undefined,
      Symbol(react.element)_h.mjd37k45jqz: undefined
   }

TypeError: 未定義または NULL 参照のプロパティ '$el' は取得できません
   {
      [functions]: ,
      __proto__: { },
      description: "未定義または NULL 参照のプロパティ '$el' は取得できません",
      message: "未定義または NULL 参照のプロパティ '$el' は取得できません",
      name: "TypeError",
      number: -2146823281,
      stack: "TypeError: 未定義または NULL 参照のプロパティ '$el' は取得できません
   at w.mounted (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:218554)
   at Qt (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:11422)
   at sn (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:25754)
   at Be.insert (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:20563)
   at j (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:57097)
   at Anonymous function (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:58535)
   at t.prototype._update (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:34992)
   at r (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:65481)
   at _n.prototype.get (https://deploy-preview-5077--dev-covid",
      Symbol(Lang fallback)_i.mjd37k45jqz: undefined,
      Symbol(react.element)_h.mjd37k45jqz: undefined
   }

RangeError: 日付が無効です
   {
      [functions]: ,
      __proto__: { },
      description: "日付が無効です",
      message: "日付が無効です",
      name: "RangeError",
      number: -2146823164,
      stack: "RangeError: 日付が無効です
   at te.prototype._localizeDateTime (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730471)
   at te.prototype._d (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730637)
   at te.prototype.d (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730956)
   at e.prototype.$d (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:715060)
   at C.data (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:133763)
   at Anonymous function (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:29303)
   at Anonymous function (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:29238)
   at On (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:29201)
   at t.prototype._init (http",
      Symbol(Lang fallback)_i.mjd37k45jqz: undefined,
      Symbol(react.element)_h.mjd37k45jqz: undefined
   }

TypeError: 未定義または NULL 参照のプロパティ 'patients' は取得できません
   {
      [functions]: ,
      __proto__: { },
      description: "未定義または NULL 参照のプロパティ 'patients' は取得できません",
      message: "未定義または NULL 参照のプロパティ 'patients' は取得できません",
      name: "TypeError",
      number: -2146823281,
      stack: "TypeError: 未定義または NULL 参照のプロパティ 'patients' は取得できません
   at Anonymous function (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:135335)
   at t.prototype._render (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:35960)
   at r (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:65481)
   at _n.prototype.get (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:27181)
   at _n (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:27080)
   at Anonymous function (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:65391)
   at jn.prototype.$mount (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:65362)
   at Be.init (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:19485)
   at Anonymous fu",
      Symbol(Lang fallback)_i.mjd37k45jqz: undefined,
      Symbol(react.element)_h.mjd37k45jqz: undefined
   }

RangeError: 日付が無効です
   {
      [functions]: ,
      __proto__: { },
      description: "日付が無効です",
      message: "日付が無効です",
      name: "RangeError",
      number: -2146823164,
      stack: "RangeError: 日付が無効です
   at te.prototype._localizeDateTime (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730471)
   at te.prototype._d (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730637)
   at te.prototype.d (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730956)
   at l (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:23425)
   at d.components.TimeBarChart.computed.displayInfo (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:224237)
   at _n.prototype.get (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:27181)
   at _n.prototype.evaluate (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:28329)
   at Anonymous function (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commo",
      Symbol(Lang fallback)_i.mjd37k45jqz: undefined,
      Symbol(react.element)_h.mjd37k45jqz: undefined
   }

RangeError: 日付が無効です
   {
      [functions]: ,
      __proto__: { },
      description: "日付が無効です",
      message: "日付が無効です",
      name: "RangeError",
      number: -2146823164,
      stack: "RangeError: 日付が無効です
   at te.prototype._localizeDateTime (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730471)
   at te.prototype._d (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730637)
   at te.prototype.d (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730956)
   at e.prototype.$d (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:715060)
   at D.computed.displayInfo (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:185148)
   at _n.prototype.get (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:27181)
   at _n.prototype.evaluate (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:28329)
   at Anonymous function (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:302",
      Symbol(Lang fallback)_i.mjd37k45jqz: undefined,
      Symbol(react.element)_h.mjd37k45jqz: undefined
   }

RangeError: 日付が無効です
   {
      [functions]: ,
      __proto__: { },
      description: "日付が無効です",
      message: "日付が無効です",
      name: "RangeError",
      number: -2146823164,
      stack: "RangeError: 日付が無効です
   at te.prototype._localizeDateTime (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730471)
   at te.prototype._d (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730637)
   at te.prototype.d (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/vendors~app.bc93c6c.js:2:730956)
   at l (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:23425)
   at O.computed.displayInfo (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:45152)
   at _n.prototype.get (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:27181)
   at _n.prototype.evaluate (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:28329)
   at Anonymous function (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:30266",
      Symbol(Lang fallback)_i.mjd37k45jqz: undefined,
      Symbol(react.element)_h.mjd37k45jqz: undefined
   }

TypeError: 未定義または NULL 参照のプロパティ '$el' は取得できません
   {
      [functions]: ,
      __proto__: { },
      description: "未定義または NULL 参照のプロパティ '$el' は取得できません",
      message: "未定義または NULL 参照のプロパティ '$el' は取得できません",
      name: "TypeError",
      number: -2146823281,
      stack: "TypeError: 未定義または NULL 参照のプロパティ '$el' は取得できません
   at O.mounted (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:49697)
   at Qt (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:11422)
   at sn (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:25754)
   at Be.insert (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:20563)
   at j (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:57097)
   at Anonymous function (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:58535)
   at t.prototype._update (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:34992)
   at r (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:65481)
   at _n.prototype.get (https://deploy-preview-5077--dev-covid1",
      Symbol(Lang fallback)_i.mjd37k45jqz: undefined,
      Symbol(react.element)_h.mjd37k45jqz: undefined
   }

TypeError: 未定義または NULL 参照のプロパティ '$el' は取得できません
   {
      [functions]: ,
      __proto__: { },
      description: "未定義または NULL 参照のプロパティ '$el' は取得できません",
      message: "未定義または NULL 参照のプロパティ '$el' は取得できません",
      name: "TypeError",
      number: -2146823281,
      stack: "TypeError: 未定義または NULL 参照のプロパティ '$el' は取得できません
   at D.mounted (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:190258)
   at Qt (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:11422)
   at sn (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:25754)
   at Be.insert (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:20563)
   at j (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:57097)
   at Anonymous function (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:58535)
   at t.prototype._update (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:34992)
   at r (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:65481)
   at _n.prototype.get (https://deploy-preview-5077--dev-covid",
      Symbol(Lang fallback)_i.mjd37k45jqz: undefined,
      Symbol(react.element)_h.mjd37k45jqz: undefined
   }

TypeError: 未定義または NULL 参照のプロパティ '$el' は取得できません
   {
      [functions]: ,
      __proto__: { },
      description: "未定義または NULL 参照のプロパティ '$el' は取得できません",
      message: "未定義または NULL 参照のプロパティ '$el' は取得できません",
      name: "TypeError",
      number: -2146823281,
      stack: "TypeError: 未定義または NULL 参照のプロパティ '$el' は取得できません
   at O.mounted (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/cards.card~index.a3d9837.js:1:49697)
   at Qt (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:11422)
   at sn (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:25754)
   at Be.insert (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:20563)
   at j (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:57097)
   at Anonymous function (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:58535)
   at t.prototype._update (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:34992)
   at r (https://deploy-preview-5077--dev-covid19-tokyo.netlify.app/_nuxt/commons/app.ce29619.js:2:65481)
   at _n.prototype.get (https://deploy-preview-5077--dev-covid1",
      Symbol(Lang fallback)_i.mjd37k45jqz: undefined,
      Symbol(react.element)_h.mjd37k45jqz: undefined
   }

@shgtkshruch
Copy link
Contributor Author

shgtkshruch commented Jul 23, 2020

@kaizumaki
レビューありがとうございます!
エラーの原因は new Date に渡していた日付文字列が IE 11 では無効なフォーマットだったからでした。

注: Date コンストラクター (または同等の Date.parse) で日付文字列を解釈することは、ブラウザーごとに動作が異なり一貫性がないため、避けるように強くすすめます。
ref: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Date

すでに導入している Day.js が IE 11 もサポートしているので、今回の影響範囲に関してはこちらで日付処理をしました。
2244c05

Currently the following browsers are used for the ci system: Chrome on Windows XP, IE 8, 9, and 10 on Windows 7, IE 11 on Windows 10, latest Firefox on Linux, and latest Safari on OSX 10.8 and 10.11.
ref: https://day.js.org/docs/en/installation/installation

@kaizumaki
Copy link
Collaborator

@shgtkshruch ご対応ありがとうございます!IE11での正常動作を確認しました。

@kaizumaki
Copy link
Collaborator

@shgtkshruch すみません!コンフリクトを起こしているようなので、解消しておいていただけると助かります 🙏

GitHub Actions log
```
[error][eslint] reported by reviewdog 🐶
`@/utils/formatDayBeforeRatio` import should occur before import of `~/utils/monitoringStatusValueFormatters`  import/order

Raw Output:
  104:1  error  `@/utils/formatDayBeforeRatio` import should occur before import of `~/utils/monitoringStatusValueFormatters`  import/order

[error][eslint] reported by reviewdog 🐶
`@/utils/formatDayBeforeRatio` import should occur before import of `~/utils/monitoringStatusValueFormatters`  import/order

Raw Output:
  126:1  error  `@/utils/formatDayBeforeRatio` import should occur before import of `~/utils/monitoringStatusValueFormatters`  import/order
```
@shgtkshruch shgtkshruch force-pushed the feature/4995-organize-date-format branch from b10175f to 071d704 Compare July 27, 2020 14:03
@shgtkshruch
Copy link
Contributor Author

@kaizumaki
コンフリクト解消しました!
(issue にも上がっていますが、ローカルと GitHub Actions で ESLint の結果が異なるようでした 071d704

@kaizumaki
Copy link
Collaborator

@shgtkshruch ありがとうございます!ESLintの件はなるほどですね。対応してみます。

Copy link
Collaborator

@kaizumaki kaizumaki left a comment

Choose a reason for hiding this comment

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

LGTMです!ご対応ありがとうございます!

@kaizumaki kaizumaki added the ready-for-merge コードレビューが終わり、マージができるもの label Jul 28, 2020
@soutaito soutaito merged commit a570fb2 into Tokyo-Metro-Gov:development Jul 29, 2020
@shgtkshruch shgtkshruch deleted the feature/4995-organize-date-format branch October 31, 2020 15:50
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
ready-for-merge コードレビューが終わり、マージができるもの
Projects
None yet
Development

Successfully merging this pull request may close these issues.

カードによって日付表示形式の揺れがある
4 participants