Skip to content

GEM: ReferencePropertyEditorの表示タイプが UNIQUE の場合に、選択ダイアログを閉じると編集画面をスクロールできなくなる #1962

@hkondoh

Description

@hkondoh

概要

編集画面にReferencePropertyEditorを表示タイプ UNIQUE で配置した場合の不具合。
表示タイプが LINK の場合は、この不具合は発生しない。

このPropertyEditorの選択ボタンを押してダイアログを表示し、その後ダイアログを閉じると、編集画面のスクロールバーが非表示となる。
その結果、画面のリロードまたは画面遷移が発生するまで、画面のスクロールができなくなる。

不具合の原因

design.jsにより、画面表示時に選択ボタンのclickイベントが2重に登録されていることが原因。
同じclickイベントが2回実行されることで、ダイアログ表示時の addOverlay() (function.js内)で配列 overlays に同じモーダルが2重に挿入される。
その結果、 removeOverlay() によるスクロール再表示処理が期待通り動作しなくなってしまう。

再現手順

  1. EntityのDetail Layoutに、ReferencePropertyEditorを表示タイプ UNIQUE で配置する
  2. GEMモジュールでEntityの編集画面を開く
  3. ブラウザのサイズを調整し、編集画面にスクロールバーが表示された状態にする
  4. ReferencePropertyEditorの選択ボタンを押し、ダイアログを表示する
  5. ダイアログを閉じる

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions