Не могу ввести определенный цвет в тексте категории

image

Я пытался ввести f2f2f2, но могу ввести только f2. Как только я пытаюсь ввести вторую f (например, f2f), значение автоматически меняется на ff22ff. Это происходит как в поле Цвет, так и в поле Цвет текста при создании новой категории (или её редактировании).

4 лайка

Спасибо за отчет. Я также могу воспроизвести проблему на Meta. Кроме того, невозможно удалить введенный текст с помощью кнопки «Назад» на клавиатуре.

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

6 лайков

Это должно быть исправлено в этом коммите:

5 лайков

Спасибо, что сообщили нам, Дэвид.

Я считаю, что всё обновлено, но всё равно не работает:

Я не разработчик, поэтому не понимаю это на глубоком уровне, но глядя на коммит, там написано:
// auto fill common hex codes like #F8F -> #F8F8F8 and #DDD -> #DDDDDD

Почему оно ведёт себя таким образом?
Я понимаю, что при добавлении fff и нажатии на «Сохранить» оно автоматически сохраняется как ffffff, но при вводе не должно происходить автоматического заполнения в реальном времени (если это именно то, что происходит).

А что, если я хочу ввести f2ff32? Сейчас я застрял на том, что оно всегда по умолчанию принимает f2f2f2, что и было проблемой в моём первоначальном сообщении.

1 лайк

Я попытался улучшить предложения из функции автодополнения шестнадцатеричных цветов. Однако, по моему мнению, единственное реальное решение здесь — не менять значение цвета в форме во время ввода.

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

Надеюсь, это изменение сработает лучше для вас:

https://github.com/discourse/discourse/commit/202493cbeca15ed1700fe51516531fea3575a367

3 лайка

Я обновлю и сообщу вам. Спасибо.

Моё предложение:

  • Он всегда оценивает первые 6 символов, поэтому даже если у меня есть f2f299f2, он предположит, что это f2f299.
  • Он может полностью игнорировать #, что иногда и происходит при получении данных из некоторых приложений (например, Shottr выдаёт мне полный #f2f2f2). Это позволяет пользователям просто копировать и вставлять то, что они получают из приложения, или вводить шестнадцатеричный код так, как они привыкли. Таким образом, ввод или вставка #f2f2f2, f2f2f2, #f2f2f29393 или f2f2f29393 приведёт к получению одного и того же цвета.

Оба эти подхода сделают систему сверхгибкой. Если я получу #f2f2f2 из приложения, последний 2 не будет обрезан, так как ограничение не только в 6 символах, и он всё равно будет принят как цвет, поскольку # игнорируется.

Затем при сохранении категории # и любые дополнительные символы сверх 6 будут удалены.

Что вы думаете?

Автоматическое завершение при сохранении всё ещё может работать для определённых цветов, таких как fff, 000, 111 и т. д.

1 лайк

Эта тема была автоматически закрыта через 3 дня. Новые ответы больше не принимаются.