Lookup и подтверждение выбора

Добрый день!

Jmix version: 1.6.0
Jmix Studio plugin version: 2.3.3-241
IntelliJ version: IntelliJ IDEA 2024.1.6 (Community Edition)

Открываю экран выбора сущности через screenBuilders.lookup()
Можно ли не изменяя открываемый экран запросить подтверждение выбора выводом dialogs.createOptionDialog() с вариантами Да/Нет и если выберут Нет, то lookup экран не закрывается, а при выборе Да, происходит стандартный выбор?

Пока сделал так в валидаторе lookup

        if (!inConfirm) {
            String message = "Будут также добавлены маппинговые номенклатуры:%n%s"
                    .formatted(prepareNomenklaturesList(mappedNomenklatures));
            dialogs.createOptionDialog().withContentMode(ContentMode.HTML)
                    .withCaption("Подтверждение")
                    .withMessage(message)
                    .withActions(new DialogAction(DialogAction.Type.YES, Action.Status.PRIMARY)
                                    .withCaption("Продолжить")
                                    .withHandler(actionPerformEvent -> {
                                        screen.select(null);
                                        inConfirm = false;
                                    }),
                            new DialogAction(DialogAction.Type.CANCEL)
                                    .withHandler(actionPerformedEvent -> {
                                        inConfirm = false;
                                    }))
                    .show();
            inConfirm = true;
            return false;
        }

где inConfirm статусный атрибут вызывающего экрана

Добрый день,

Через валидатор пожалуй будет оптимально.

Альтернативно если вам надо в другом флоу (не на валидации) вызвать подтверждение - можно сделать так

        var screen = screenBuilders.lookup(...)
                .withScreenClass(UserBrowse.class)
                .build();
        screen.addMyMethodCallback(e -> {});
        screen.show();

Заранее определив список делегатов которые вы будете вызывать в классе экрана в определенном нужном месте

1 симпатия