В типовом окне выбора как и положено у модальных окон - присутствует элемент управления модальным окном "закрыть". в простонародии: "крестик" Вопрос: Существует ли какая либо конфигурационная настройка на этот счет для вызова окна через openLookup(config)
Т.к. в нашем случае бизнес-логика в идеале предусматривает безусловную реакцию пользователя на предложенный выбор, хотелось бы вместо обработки результатов, просто исключить у пользователя "далее-далее-крестик-крестик-готовщика" возможность закрыть это окно.
PS: Отключение кнопки закрытия окна, тоже не silver bullet т.к. пользователь просто может нажать "выбрать" - ничего на самом деле не выделив. И как сопутствующий вопрос - можно ли регулировать это поведение в типовом окне выбора, таким образом чтобы кнопка "Выбрать" например была не активной пока пользователь не произведет выбор, или например генерировала уведомление об обязательности выбора значения ?
Здравствуйте,
Вы конечно можете написать глобальный css стиль который скроет крестик, или переписать LookupPageViewGenerator для блокировки кнопки выбор. Но логичнее наверно прописать обязательность заполнения лукапного поля, на странице, на которой данный лукап и выбирается. Безусловно или по условию: https://academy.terrasoft.ru/documents/technic-sdk/7-8/pravilo-bindpara…
В типовом окне выбора как и положено у модальных окон - присутствует элемент управления модальным окном "закрыть". в простонародии: "крестик" Вопрос: Существует ли какая либо конфигурационная настройка на этот счет для вызова окна через openLookup(config)
Т.к. в нашем случае бизнес-логика в идеале предусматривает безусловную реакцию пользователя на предложенный выбор, хотелось бы вместо обработки результатов, просто исключить у пользователя "далее-далее-крестик-крестик-готовщика" возможность закрыть это окно.
PS: Отключение кнопки закрытия окна, тоже не silver bullet т.к. пользователь просто может нажать "выбрать" - ничего на самом деле не выделив. И как сопутствующий вопрос - можно ли регулировать это поведение в типовом окне выбора, таким образом чтобы кнопка "Выбрать" например была не активной пока пользователь не произведет выбор, или например генерировала уведомление об обязательности выбора значения ?
Здравствуйте,
Вы конечно можете написать глобальный css стиль который скроет крестик, или переписать LookupPageViewGenerator для блокировки кнопки выбор. Но логичнее наверно прописать обязательность заполнения лукапного поля, на странице, на которой данный лукап и выбирается. Безусловно или по условию: https://academy.terrasoft.ru/documents/technic-sdk/7-8/pravilo-bindpara…
Обязательность поля для заполнения в данном случае не очень подходит, вернее базовая логика обработки "не заполненности" обязательных полей- т.к. в случае обязательности поля - пользователю выводится сообщение о том, что не заполнено одно или несколько обязательных полей, перечисляются их наименования, и сохранение карточки прерывается, после чего карточка остается в режиме ввода данных т.е. подразумевается что пользователь найдет указанные в сообщении поля, заполнит их и нажмет "Сохранить".
Во-первых работать с карточкой невозможно пока не закроешь оповещение в котором указаны поля для заполнения. (А стало быть пользователю надо их запомнить или записать :cry: в идеале такие уведомления надо делать интегрированными в UI а не модальной нотификацией, так как сделаны предупреждения и ошибки в конфигураторе например, текст которых остается видимым и с интерфейсом можно продолжить работу)
Во-вторых в некоторых карточках очень перегруженный интерфейс и поиск самого поля которое необходимо заполнить во множестве вкладок и т.д. - отнимает время у сотрудника (если это горячая линия, то эти 10-20 секунд в конечном итоге превращаются в минуты которые никому из клиентов ждать не хочется)
В третьих, если у Вас бизнес-логика подразумевает фиксацию совершения какого либо действия во времени, то в данном случае Вам потребуется вводить дополнительную проверку в логику сохранения карточки (т.к. фактически заполнение произойдет когда-то потом а не по нажаию кнопки) а не совершения какого либо действия чтобы отметить время совершения.
Ну и в конце концов - это просто удобно для пользователя, чтобы система предлагала ему выбор автоматически, если он что-то забыл.
Магической системной настройки, убирающей отображение кнопки "закрыть" нету, необходимо переписывать логику самого модального окна. Вам стоит обратить внимание на 3 схемы: LookupPage, LookupPageViewGenerator и LookupPageViewModelGenerator. Для удаления кнопки закрыть - Вам стоит смотреть в сторону удаления кода генерации closeIconContainer в LookupPageViewGenerator. Для изменения логики кнопки "Выбрать" - переопределить конфиг для SelectButton в LookupPageViewGenerator, а также добавить логику в LookupPageViewModelGenerator.