@Mishcake

Что использовать для сокращения кода с проверкой условий?

Привет.

У меня в ТЗ указано сделать ветвистую проверку с последующими действиями на странице заказа. Что имею в наличии:
  • параметр в адресной строке с именем сотрудника
  • 6 отдельных позиций для заказа
  • 5 имён сотрудников
  • 2 радио-переключателя


Какая логика нужна:
  • если в адресной строке передан параметр с именем сотрудника => выбрать его из выпадающего списка
  • если в адресной строке передан параметр с именем И выбран переключатель №1 => выбрать сотрудника из списка и выбрать позицию для заказа X (общая для всех)
  • если в адресной строке передан параметр с именем И выбран переключатель №2 => выбрать сотрудника из списка и выбрать позицию для заказа Y (для каждого сотрудника своя позиция)
  • проверка со звёздочкой: если в адресной строке передан параметр с именем ИЛИ пользователь сам выбрал из выпадающего списка сотрудника И выбран переключатель №2 => отправить запрос по АПИ и если вернётся true, то выбрать позицию для заказа Y (для каждого сотрудника своя позиция); если вернётся false, то вывести поп-ап, выбрать переключатель №1 и вывести текст-предупреждение под переключателем (при этом запомнить этот момент, чтобы при попытке пользователем всё равно выбрать переключатель №2 не отправлять запрос и не менять переключатель, а то пользователь сойдёт с ума)


У меня получается огромное нагромождение из if else, которое я реализовал для проверки 1 сотрудника и постепенно начинаю во всём этом путаться.

Что можно использовать для упрощения реализации этой логики?

Я недавно начал изучал JS, поэтому не могу пока быстро придумать варианты решения, прошу помощи.

Как вариант, на ум приходят массивы или json-объекты, в которые я добавляю имена сотрудников через ключ : значение. По моему, в json можно сделать так, чтобы был один ключ worker и у него массив из значений.

Но, возможно, это лишь мои догадки. Прошу меня направить (:

P.S. Реализация возможна как на ванильном JS, так и на jQuery.
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 1
sashabeep
@sashabeep
Дней без вопросов про Slick на тостере : 0
Всё, что вы написали до действий пользователя реализуется на стороне сервера как 2 пальца. Для этого и изобрели get-запросы. Один из моих знакомых не умеет в тривиальный php и вместо ssr делает то, что вы описали.

Вместо if-else юзайте switch при любом подходе. В-общем, хранение всего в объектах/json и т.д. на первый взгляд, не особо и нужно.

Для задачи с действием пользователя можно хранить состояния буквально везде, от кук до дата-атрибутов, скрытых полей форм, локального хранилища и т.д, но я бы рекомендовал скрытые поля - мы же говорим о неком предзаполнении формы, которую надо будет потом отправлять.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы