Интерфейс подсказок

Issue #366 new
Григорий Терехов created an issue

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

Comments (13)

  1. Oleg Sychev repo owner

    Я думаю нам надо организовать обсуждение интерфейса с рисунками и правилами поведения здесь. Как мы поняли из последнего обсуждения есть разные варианты...

  2. Григорий Терехов reporter

    1) Предлагаю сделать следующим образом: реализовать сворачивающийся - разворачивающующийся блок, который по умолчанию должен быть свернут. В его заголовке должны находиться 3 лейбла, в каждом отображение количества ошибок, советов и эквивалентных преобразований (http://prntscr.com/8xyavg). Если все по нулям, то блок развернуть нельзя. 2) При наличии ошибок или чего-то еще пользователь может развернуть блок и посмотреть их. В высоту блок должен масштабироваться до 3х строк с подсказками, далее появляется прокрутка. Если ни одна подсказка не выбрана, то кнопки "Применить и далее" и "Отклонить" не активны. Так же эти кнопки продублированы в строке с подсказкой (http://prntscr.com/8xyeaw). В строке с подсказкой должно отображаться краткое описание подсказки. Строки с подсказками являются цветными: красный для ошибок, желтый для советов и голубой для эквивалентных преобразований. Лейблы в заголовке блока должны иметь аналогичный цвет (цвета стандартные для bootstrap 2, который использует moodle). При нажатии на строку с подсказкой, строка выделяется цветом на общем фоне, кнопки "Применить и далее" и "Отклонить" становятся активными, а над ними появляется более подробное описание проблемы. В регулярном выражении и всех инструментах выледяется соответствующая часть (http://prntscr.com/8xyg0x). 3) При нажатии на кнопку "Применить и далее" блок с подсказками становится не активным (нельзя нажать как на строку подсказки, так и на любую кнопку) до тех пор, пока сервер не обработает запрос и не вернет ответ. При нажатии на кнопку "Отклонить" подсказка удаляется из DOM-дерева (это не значит, то она не появится в следующий раз). Для включения/отключения анализа на ошибки, советы и эквивалентные преобразования можно в лейблах в заголовке сделать галочку (с сохранением настройки в БД).

  3. Oleg Sychev repo owner

    Можно было бы пофантазировать в части более широкого использования стандартных элементов форм Moodle.

  4. Oleg Sychev repo owner

    Также с классификацией для пользователя - ее надо или убрать, или придумать понятные названия. Нормальному человеку разница между tips и equalities непонятна. Tips может быть применено к обоим категориям по его смыслу.

  5. Григорий Терехов reporter
    • Сложностей в реализации не вижу.
    • Что касается использования стандартных элементов форм moodle, то тут есть проблемы. Если делать блок скрываемым, то тут нам поможет только тот же инструмент, что скрывает дерево, граф и т.д. (других не нашел https://docs.moodle.org/dev/Form_API). Пробовал его, но во-первых он занимает много места (все равно верстать для изменения отступов), во-вторых он будет смотреться как отдельный полноценный инструмент (заголовок во всю строку). Заголовок такого блока принимает строку, а не разметку, что затрудняет вывод первичной информации (количества проблем в регулярном выражении). При использовании ui-bootstrap (https://angular-ui.github.io/bootstrap/ - сворачивающийся блок - стандартный элемент для этой библиотеки) можно верстать так, как хочется.
    • На счет классификации для пользователя я согласен, tips и equalities пользователю будет не очевидна. Нужно как-то отразить различия: советы ведь носят необязательный характер, они всего лишь помогают расширить множество правильных ответов. А вот эквивалентные преобразования лучше применять, они сократят выражения и улучшат читаемость...
  6. Oleg Sychev repo owner

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

    Я так понимаю с точки зрения пользователя equalities правильнее назвать shortening или еще что-то в этом духе, это ведь возможность сократить запись выражения. По tips даже не знаю чего придумать, как одним словом выразить что они расширят применяемость выражений. По надписям там вообще ужас, надо разговаривать при встрече. Я как пользователь ничего не понял.

    Также я думаю пользователь должен иметь возможность увидеть, как изменится регекс в случае применения правила.

  7. Oleg Sychev repo owner

    Чего-то я не могу воспользоваться вашим интерфейсом. Ну показало оно мне Equivalences: 1

    Дальше что? Нажатие на ссылку в названии Simplification of regular expression ни к чему не приводит. Вы сами на edu.vstu.org то тестировали?

  8. Oleg Sychev repo owner

    Работает из блока, не работает из вопроса. Возможно подключение какого-то javascript вместо кода в authoring_tools происходит из блока и он не подключается в вопросе...

  9. Oleg Sychev repo owner

    Кнопка Apply and next ведет себя очень странно, продолжая мутировать регекс даже когда никаких правил нет. Вплоть до полного исчезновения регекса (у меня из [^+] получился + который при повторном нажатии исчез). Надо бы ее блокировать если правил нет...

    P.S. Напомните, для чего у нас счетчик Errors. Обычные ошибки синтаксиса он не показывает, что для пользователя уже странно....

  10. Григорий Терехов reporter

    Счетчик Errors предназначен для отображения ошибок, когда выражение не матчит ничего (например "$abc")

  11. Oleg Sychev repo owner

    Еще к каждому правилу помимо галочек (кстати малозаметных - может из зеленой и красной сделать?) стандартную мудловскую кнопку подсказки по которой человек мог бы увидеть подробное обоснование правила, а не как у вас внизу одним коротеньким предложением.

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

  12. Log in to comment