001-011082
関数「schedule.event.create.show」などを使用して、通常予定の日時フィールドの値を書き換えようとしても、時刻の値を書き換えられない場合がある。
- 種別
- 不具合
- 機能
-
- スケジュール
- JavaScript API
- 再現バージョン
-
- 4.10.0
- 4.10.1
- 4.10.2
- 4.10.3
- 5.0.0
- 5.0.1
- 5.0.2
- 5.5.0
- 5.5.1
- 5.9.0
- 5.9.1
- 5.9.2
- 5.15.0
- 5.15.1
- 5.15.2
- 6.0.0
- 6.0.1
- 6.0.2
- 6.0.3
- 改修バージョン
- 公開日
- 2022-06-27
- 更新日
- 2022-06-27
詳細
【発生条件】
次の条件を満たす場合に発生します。- 次のいずれかの関数を使用して、通常予定の日時フィールドの時刻を初期値から書き換える。
- 関数「schedule.event.create.show」
- 関数「schedule.event.create.submit」(バージョン 5.0.0以降のGaroonの場合)
- 関数「schedule.event.edit.show」
- 関数「schedule.event.edit.submit」(バージョン 5.0.0以降のGaroonの場合)
- 関数「schedule.event.create.show」
【準備】
- 関数「schedule.event.create.show」を使用して、日時フィールドの時刻を初期値から書き換えるよう準備します。
例:
---------
garoon.events.on("schedule.event.create.show", function(event) {
console.log('test');
var schedule_event = event.event;
schedule_event["start"] = {dateTime: "2022-06-01T08:00:00+09:00", timeZone: "Asia/Tokyo"};
schedule_event["end"] = {dateTime: "2022-06-01T09:00:00+09:00", timeZone: "Asia/Tokyo"};
return event;
});
---------
補足:- eventオブジェクトのプロパティ「isAllDay」の値は指定しません。
- Garoon JavaScript APIの使用については、cybozu developer networkをご確認ください。
https://cybozu.dev/ja/garoon/docs/js-api/
- eventオブジェクトのプロパティ「isAllDay」の値は指定しません。
【再現手順】
- アプリケーション画面にログインし、[スケジュール] > [予定を登録する]の順にクリックします。
→現象発生:
eventオブジェクトのプロパティ「isAllDay」の値が「true」として扱われ、日時フィールドの時刻が初期値から書き換えられません。
例:
------------
日時:2022年06月01日(水)--時--分 ~ 2022年06月01日(水)--時--分
------------
→正しい結果:
例:
------------
日時:2022年06月01日(水)8時00分 ~ 2022年06月01日(水)9時00分
------------
補足:
例:
------------
日時:2022年06月01日(水)--時--分 ~ 2022年06月01日(水)--時--分
------------
→正しい結果:
日時フィールドの時刻が初期値から書き換えられます。
例:
------------
日時:2022年06月01日(水)8時00分 ~ 2022年06月01日(水)9時00分
------------
補足:
- 現象発生時、日時フィールドの日付は正常に書き換えられます。
- 予定を再利用または変更する場合も、日時フィールドに時刻が設定されていない通常予定で同様の現象が発生します。
回避/対応方法
【回避方法】
eventオブジェクトのプロパティ「isAllDay」の値を「false」にします。
例:
---------
garoon.events.on("schedule.event.create.show", function(event) {
console.log('test');
var schedule_event = event.event;
schedule_event["start"] = {dateTime: "2022-06-01T08:00:00+09:00", timeZone: "Asia/Tokyo"};
schedule_event["end"] = {dateTime: "2022-06-01T09:00:00+09:00", timeZone: "Asia/Tokyo"};
schedule_event["isAllDay"] = false;
return event;
});
---------
【対応方法】
「回避方法」と同じ手順です。
eventオブジェクトのプロパティ「isAllDay」の値を「false」にします。
例:
---------
garoon.events.on("schedule.event.create.show", function(event) {
console.log('test');
var schedule_event = event.event;
schedule_event["start"] = {dateTime: "2022-06-01T08:00:00+09:00", timeZone: "Asia/Tokyo"};
schedule_event["end"] = {dateTime: "2022-06-01T09:00:00+09:00", timeZone: "Asia/Tokyo"};
schedule_event["isAllDay"] = false;
return event;
});
---------
【対応方法】
「回避方法」と同じ手順です。