Нажатие вне модального окна закладки создаст закладку в любом случае

Возможно, это особенность моего поведения, но я привык закрывать модальное окно, которое хочу отменить, кликом вне его области.

При создании закладки модальное окно действительно исчезает при клике вне его, однако закладка всё равно создаётся или изменяется. Это не то, что я ожидал.

Нажатие на крестик или клавишу ESC для закрытия модального окна действительно отменяет действие.

firefox_Bu7E734mqK

9 лайков

Я только что воспроизвёл это на вашем сообщении. :slightly_smiling_face:

Нажатие вне области экрана действительно создаёт закладку, а не завершает работу без сохранения.

6 лайков

Не уверен, это может быть ожидаемым поведением, согласующимся с тем, как браузеры (по крайней мере, Firefox, насколько я помню) обрабатывают закладки.

Вы нажимаете кнопку «Добавить в закладки», и закладка создаётся, если вы явно не попросите не делать этого.

3 лайка

Но с самого начала времён закрытие модального окна не выполняло никаких действий.

4 лайка

Согласен, это похоже на ошибку. Я тоже смог воспроизвести это здесь. При клике вне модального окна создается закладка без установленного напоминания.

5 лайков

Это было сделано намеренно при разработке функции; идея заключалась в том, чтобы взять за пример модальное окно закладок Firefox. Логика следующая:

  • Нажмите «Создать новую закладку», затем кликните вне модального окна — окно закроется, и закладка будет создана.
  • Нажмите «Создать новую закладку», затем нажмите «Отмена» — закладка не будет создана.
  • Нажмите на существующую закладку — появится кнопка «Удалить закладку», которую можно использовать для её удаления.

Это не означает, что мы не должны изменить это поведение, если оно вызывает путаницу, но технически это не ошибка. Я перемещу этот вопрос в ux. Возможно, разница между полноэкранной модальной панелью (Discourse) и выпадающим меню (Firefox) настолько существенна, что требует изменения поведения?

8 лайков

Думаю, моя главная проблема в том, что это не согласуется с другими модальными окнами в Discourse. Нажатие вне модального окна «Пожаловаться» не создаёт жалобу, а нажатие вне модального окна «Поделиться» не публикует пост.

8 лайков

Я склонен предположить, что всплывающее окно или модальное окно изначально вообще не существовало, поэтому на момент его добавления логичным было сохранить старую функциональность (то есть: вы нажали кнопку закладки, и закладка создаётся). Но в целом это действительно выглядит странно. Тем не менее, я постоянно добавляю закладки и никогда не замечал этой особенности!

(То, как браузеры автоматически добавляют закладки, когда я случайно нажимаю Control-D, раздражает меня уже много лет…)

1 лайк

Да, если придираться, можно сказать, что клик по кнопке закладки и есть действие, поскольку всё, что следует в модальном окне после этого, необязательно. Функции «Поделиться» и «Пожаловаться» требуют дополнительных действий или информации, а с одним кликом нам нечего делать. Оглядываясь назад, можно сказать, что это, вероятно, гораздо сложнее понять, чем последовательное поведение модального окна.

Один из способов, который мог бы прояснить ситуацию, — это использование другой формы меню… Как показано в этом быстром макете, это работает не идеально, но если мы хотим сохранить возможность добавления закладок одним кликом, стоит рассмотреть такой вариант. Таким образом, вы сможете более явно видеть изменение состояния кнопки при нажатии, и это не полноценное модальное окно, поэтому, возможно, поведение при клике вне области станет менее запутанным.

6 лайков

Неплохая идея,

Обратите внимание, что в данный момент закладка добавляется в момент закрытия модального окна, а не в момент его открытия. Поэтому это потребует либо значительной переработки кода, либо имитации состояния кнопки.

2 лайка

Упомяну здесь @martin. Я считаю, что это сделано намеренно, но понимаю, почему возникла путаница.

В реальной жизни такое «чрезмерное добавление в закладки» почти никогда не создаёт проблем, но в данном случае я могу быть удивлён.

5 лайков

Это не баг, это сделано намеренно, и так было с самого начала работы с закладками. Это сделано для того, чтобы упростить создание закладок, и, как сказал Крис:

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

7 лайков

Опять же, это ещё одна проблема, о которой мне сказали сообщить здесь. Она скопирована с того форума, ссылку на который можно найти здесь

При нажатии F на теме появляется модальное окно закладки. Моя первая реакция — кликнуть вне окна, потому что, скорее всего, я не хотел его открывать, так как обычное нажатие F, вероятно, слишком легко вызывает его.

Но это сохраняет тему в закладки.

Это не баг, так как то же самое происходит на большинстве форумов, это просто раздражает.

Я думаю, что должно происходить следующее: когда я кликаю вне окна, ничего не происходит и закладка игнорируется. Но если я нажму кнопку «Сохранить», ТОГДА закладка будет создана.

Вкратце, просто сделайте так, чтобы клик вне окна ничего не делал, и закладка сохранялась только после нажатия кнопки «Сохранить».

5 лайков

Это другое: вы нажимаете кнопку «Да, я хочу добавить это в закладки». В Discourse вы, вероятно, случайно нажали F и не хотите добавлять это в закладки. Как отмечает OP, это не согласуется со всеми остальными модальными окнами в Discourse, поэтому, по-моему, это нужно изменить.

1 лайк