В нашем проекте имеется структура связанных сущностей, для которых существуют таблицы и редакторы. В процессе разработки мы натолкнулись на следующую ошибку.
Есть объект, назовем его Entity1, у него есть связь many-to-one с другим объектом Entity2, с соответствующим полем (условно назовем entity2) в классе Entity1. У Entity1 есть редактор, в котором данное поле можно задать. Редактор работает в dialogMode (
dialogMode height=“AUTO”
width=“AUTO”
modal=“true”
forceDialog=“true”
). В редакторе есть pickerField для задания значения поля entity2, этот pickerField нормально прорисовывается на экране со стандартными двумя кнопками - выбора из лукапа и очистки.
Проблема следующая - если начать редактирование объекта типа Entity1 и сделать двойной клик на кнопке выбора из лукапа, этот лукап открывается дважды. Причем проблема возникает только если редактор работает в режиме модального диалога. Если убрать <dialogMode проблема исчезает и лукап открывается лишь однажды. К сожалению, мы хотим добиться работы именно в режиме всплывающего диалога и почти все редакторы у нас именно такие, так что данная ошибка возникает по всему проекту. Попытка вручную как-то заблокировать “вторую половину” двойного клика через enabledRule ни к чему не привела, лукап все ещё открывается дважды.
В “entity2”-browse задан размер при вызове в качестве диалога (dialogMode height=“600” width=“800”), но убирание этого тэга из xml на проблему не влияет.