スケジュールのイベントオブジェクトで実行できる操作

目次

スケジュールのイベントオブジェクトで実行できる操作の一覧です。
スケジュールオブジェクトの詳細は、 スケジュールオブジェクトを確認してください。

イベント共通

Promise 対応

garoon.Promiseオブジェクトをreturnすることで、非同期処理の完了を待ってからフィールドの値に応じた制御ができます。
同じGaroonのイベントに複数のイベントハンドラーが登録されている場合、エラーなどが発生してThenableオブジェクトが棄却されると、後続のイベントハンドラーの処理は実行されません。
記述方法は Promise と async/awaitを参考にしてください。

予定の登録イベント

予定の登録画面を表示したとき 予定の登録を実行したとき 予定の登録に成功したとき ポップアップウィンドウで予定の登録に成功したとき
予定の値を書き換える
エラーダイアログを表示する
指定した URL に遷移する
Promise 対応 *1

*1 クラウド版Garoon、パッケージ版Garoon 5.5以降 ^

予定の値を書き換える

ハンドラー内で スケジュールオブジェクトを変更してイベントオブジェクトをreturnすると、予定の値を書き換えることができます。
日時フィールドにおける時刻を初期値(「--:--」)から変更する場合には、isAllDayを「false」にしてください。

非対応プロパティ
  • イベントタイプ
  • 添付ファイル
サンプルコード

予定の登録画面を表示したとき、予定のタイトルに初期値をセットする例です。

1
2
3
4
garoon.events.on('schedule.event.create.show', (event) => {
  event.event.subject = 'new subject';
  return event;
});

エラーダイアログを表示する

ハンドラー内でイベントオブジェクトのerrorプロパティに値を代入してイベントオブジェクトをreturnすると、予定の登録をキャンセルし、エラーダイアログを表示します。
空文字、「0」または「false」を指定した場合、キャンセル処理およびエラーダイアログの表示は行われません。

サンプルコード

予定のメモに何も入力せず予定を登録したときに、エラーダイアログを表示する例です。

1
2
3
4
5
6
7
garoon.events.on('schedule.event.create.submit', (event) => {
  if (event.event.notes === '') {
    event.error = '「メモ」を入力してください。';
    return event;
  }
  return event;
});

指定した URL に遷移する

ハンドラー内でイベントオブジェクトのurlプロパティに値を代入してイベントオブジェクトをreturnすると、イベント処理後に指定したURLへ遷移できます。

サンプルコード

予定の登録に成功した後、予定の追加画面に遷移する例です。

1
2
3
4
garoon.events.on('schedule.event.create.submit.success', (event) => {
  event.url = '/g/schedule/add.csp';
  return event;
});

予定の変更イベント

予定の変更画面を表示したとき 予定の変更を実行したとき 予定の変更に成功したとき ドラッグ&ドロップで予定の変更に成功したとき
予定の値を書き換える
エラーダイアログを表示する
指定した URL に遷移する
Promise 対応 *1

*1 クラウド版Garoon、パッケージ版Garoon 5.5以降 ^

予定の値を書き換える

ハンドラー内でイベントオブジェクトのeventプロパティを変更してイベントオブジェクトをreturnすると、予定の値を書き換えることができます。
日時フィールドにおける時刻を初期値(「--:--」)から変更する場合には、isAllDayを「false」にしてください。

非対応プロパティ
  • イベントタイプ
  • 添付ファイル
サンプルコード

予定の変更画面を表示したとき、予定のタイトルに初期値をセットする例です。

1
2
3
4
garoon.events.on('schedule.event.edit.show', (event) => {
  event.event.subject = 'new subject';
  return event;
});

エラーダイアログを表示する

ハンドラー内でイベントオブジェクトのerrorプロパティに値を代入してイベントオブジェクトをreturnすると、予定の登録をキャンセルし、エラーダイアログを表示します。
空文字、「0」または「false」を指定した場合、キャンセル処理およびエラーダイアログの表示は行われません。

サンプルコード

予定のメモに何も入力せず予定を登録したときに、エラーダイアログを表示する例です。

1
2
3
4
5
6
7
8
garoon.events.on('schedule.event.edit.submit', (event) => {
  if (event.event.notes === '') {
    event.error = '「メモ」を入力してください。';
    return event;
  }

  return event;
});

指定した URL に遷移する

ハンドラー内でイベントオブジェクトのurlプロパティに値を代入してイベントオブジェクトをreturnすると、イベント処理後に指定したURLへ遷移できます。

サンプルコード

予定の変更成功後、予定の追加画面へ遷移する例です。

1
2
3
4
garoon.events.on('schedule.event.edit.submit.success', (event) => {
  event.url = '/g/schedule/add.csp';
  return event;
});

予定の削除イベント

予定の削除を実行したとき 予定の削除に成功したとき
エラーダイアログを表示する
指定した URL に遷移する
Promise 対応

エラーダイアログを表示する

ハンドラー内でイベントオブジェクトのerrorプロパティに値を代入してイベントオブジェクトをreturnすると、予定の削除をキャンセルし、エラーダイアログを表示できます。
「null」または「undefined」を指定した場合、キャンセル処理およびエラーダイアログの表示は行われません。

サンプルコード

予定の削除を中止し、エラーダイアログを表示する例です。

1
2
3
4
garoon.events.on('schedule.event.delete.submit', (event) => {
  event.error = 'エラーがあります';
  return event;
});

指定した URL に遷移する

ハンドラー内でイベントオブジェクトのurlプロパティに値を代入してイベントオブジェクトをreturnすると、イベント処理後に指定したURLへ遷移できます。

サンプルコード

予定の削除に成功した後、予定の追加画面に遷移する例です。

1
2
3
4
garoon.events.on('schedule.event.delete.submit.success', (event) => {
  event.url = '/g/schedule/add.csp';
  return event;
});

予定への参加に成功したときのイベント

予定への参加に成功したとき
指定した URL に遷移する
Promise 対応

指定した URL に遷移する

ハンドラー内でイベントオブジェクトのurlプロパティに値を代入してイベントオブジェクトをreturnすると、イベント処理後に指定したURLへ遷移できます。

サンプルコード

予定への参加に成功した後、Garoonのトップページへ遷移する例です。

1
2
3
4
garoon.events.on('schedule.event.attend.submit.success', (event) => {
  event.url = '/g/';
  return event;
});

予定から抜けることに成功したときのイベント

予定から抜けることに成功したとき
指定した URL に遷移する
Promise 対応

指定した URL に遷移する

ハンドラー内でイベントオブジェクトのurlプロパティに値を代入してイベントオブジェクトをreturnすると、イベント処理後に指定したURLへ遷移できます。

サンプルコード

予定から抜けることが成功した後、Garoonのトップページへ遷移する例です。

1
2
3
4
garoon.events.on('schedule.event.leave.submit.success', (event) => {
  event.url = '/g/';
  return event;
});