異なるイベントで取得したログインユーザの変数を使いたい

編集時にgetLoginUserで取得した値によって処理をした後、保存後のイベントでも同じgetLoginUserで取得した値によって処理をしています。
今はそれぞれのイベントでloginUser1 とloginUser2と変数名を変え2回同じ宣言して処理自体は出来てますが、何か二度手間の感がありloginUser1 の再利用ができないか右往左往しております・・・

kintone.events.on(['app.record.edit.show'], event => { //編集画面でログインユーザーによる処理実施
  const loginUser1 = kintone.getLoginUser().email;       //ログインユーザのEメールアドレスを抽出(1回目)
  console.log(loginUser1);
  const sp = kintone.app.record.getSpaceElement('xxxxx');
  const btn = document.createElement('button');

  btn.style.color = 'red';

      if ( event.record.〇〇〇〇.value.includes(loginUser1)){
       sp.parentNode.style.display = 'null'; 
      } else {
       sp.parentNode.style.display = 'none';
     }
});

kintone.events.on('app.record.edit.submit', (event) => { //保存後にログインユーザーによる処理実施
  const loginUser2 = kintone.getLoginUser().email;        //ログインユーザのEメールアドレスを抽出(2回目)
  const record = event.record;
  console.log(loginUser1);

  if (event.record.〇〇〇〇.value.includes(loginUser2)){  
    return event;
    } else {
    record['■■■■'].value == 'ああああ'
    } 
});

編集時にログインユーザが〇〇〇〇のフィールドに含まれてたらボタンを表示、含まれてなかったら非表示
保存後にログインユーザが〇〇〇〇のフィールドに含まれてたら■■■■のフィールドに「ああああ」を転記
といった処理になりますが、やはりイベント毎に定義をしないといけないでしょうか?よろしくお願いいたします。

こんにちわ。
私は「kintone.getLoginUser().email」で編集画面表示時と保存時でそれぞれ取得したほうが良いと思いました。

sessionStorageを使えば、編集画面表示時で取得した値を保存時にも利用できるかと思いますがコードとしてそちらの方が複雑です。
(私なら、なんでそんな回りくどいことをしているのだろうと思ってしまいます)

なお編集画面表示時と保存時では同じ変数名が使えます。
※技術的には問題ないという話で、意図があれば異なっていてもよいです。

kintone.events.on(['app.record.edit.show'], event => { //編集画面でログインユーザーによる処理実施
  const loginUser = kintone.getLoginUser().email;       //ログインユーザのEメールアドレスを抽出(1回目)
  console.log(loginUser);
 ~以下略~

kintone.events.on('app.record.edit.submit', (event) => { //保存後にログインユーザーによる処理実施
  const loginUser = kintone.getLoginUser().email;        //ログインユーザのEメールアドレスを抽出(2回目)
  console.log(loginUser);
 ~以下略~

lemon_sourさま
コメントありがとうございました!
根本的に変数の指定方法が勉強不足でした
意図はないです、仰るように同じ変数名で先に確認すべきでした
ありがとうございました!助かりました!

1 Like