Closed rnpoddor closed 5 years ago
Как возникла ситуация для некоторых типов вставок вставки отсутствуют? Если вам не нужен некий тип вставок для данного абонента, его надо обрезать выше по стеку. Где точно - не помню, но список типов настраивает технолог + программист.
Где точно - не помню, но список типов настраивает технолог + программист.
Постараюсь разобраться, но в алгоритме, где проверяется наличие найденной вставки, предусмотрен вывод диалога с сообщением Нет вставки подходящего типа
, я сделал вывод, что проверка должна работать правильно. В любом случае это место не безопасное и лучше от него избавиться.
не безопасное и лучше от него избавиться
Избавиться через throw Error - хорошо. Чтобы технолог данные поправил. Избавиться умолчав о проблеме - не очень хорошо.
Избавиться умолчав о проблеме - не очень хорошо.
Как умолчав, если диалог с сообщением оповестит о том что вставок для данного типа нет, это и есть сигнал для технолога. Не понимаю зачем сразу throw Error
использовать, ведь в обоих случаях выводятся сообщения.
Обновил ветку, по моей ошибке залетели изменения из другой задачи, которая еще не тестировалась.
Если это место и дорабатывать, надо сделать так, чтобы при отсутствии вставок некого типа, группа типа вставок не попадала в экранную форму. Тогда пользователь не попадёт в просак.
У find_inset()
другая логика: он возвращает undefined
, если вставка не найдена, а вы возвращаете пустую ссылку вставки.
Ветку обновил.
Если это место и дорабатывать, надо сделать так, чтобы при отсутствии вставок некого типа, группа типа вставок не попадала в экранную форму. Тогда пользователь не попадёт в просак.
Учёл это требование.
У
find_inset()
другая логика: он возвращаетundefined
, если вставка не найдена, а вы возвращаете пустую ссылку вставки.
Исправил.
Ветку обновил через rebase
.
Исправление if(!group)
-> if(!group || !find_inset.call({}, group))
принять могу.
Оно действительно, повышает устойчивость компонента.
Метод find_inset(insert_type)
поправлю с учетом https://github.com/oknosoft/windowbuilder/commit/a63c73f9b98ad88da142918c1562f99bbeb99913, https://github.com/oknosoft/windowbuilder/commit/5ff89151e87ea234b1adcf002f9452be075f65e6 - теперь у нас есть возможность наложить динамический фильтр на список выбора для любого поля
Ошибка в
reduce
, т.к. вторым параметром первоначальное значение не задано, а для пустого массива, его нужно указать. Ловлю у Калевы, т.к. для некоторых типов вставок, вставки отсутствуют иfind_rows
возвращает пустой массив с последующим обрушениемreduce
.