Opened 8 years ago

Closed 7 years ago

#215 closed улучшение (fixed)

Вкладка TDM: коммутация N каналов

Reported by: san Owned by: alx
Priority: средний Milestone: 2 очередь
Component: web-интерфейс (sw) Keywords:
Cc: andrei

Description (last modified by san)

Давно существует потребность коммутировать в тдм маппере несколько подряд расположенных каналов за раз(перетащить все каналы платы КО в поток или часть каналов потока перетащить в другой поток, а по одному каналу таскать долго и неудобно)

Возникла идея как это можно реализовать.
Сейчас при переносе мышкой одной ячейки в другую выводится диалог "Соединить канал 7:1 ---> 12:3?"Да/Нет.
Предлагаю в этот диалог добавить поле ввода количества каналов для коммутации.
Примерно так:

Ну и сразу напишу что нужно не забыть обработать ситуации:

  • каналы не влезли в поток
  • СУВ КИ16 или КИ1 включен в потоке и один из каналов попал в эту ячейку

Attachments (1)

mapper.png (22.5 KB ) - added by san 8 years ago.

Download all attachments as: .zip

Change History (13)

by san, 8 years ago

Attachment: mapper.png added

in reply to:  description ; comment:1 by alx, 8 years ago

Replying to san:

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

Мне такой вариант не нравится.

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

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

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

Ну и сразу напишу что нужно не забыть обработать ситуации:

  • каналы не влезли в поток
  • СУВ КИ16 или КИ1 включен в потоке и один из каналов попал в эту ячейку

Каков должен быть результат обработки?

comment:2 by san, 8 years ago

Description: modified (diff)

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

Конечно так будет лучше, но и работы больше, я предложил вариант "из того что есть".

Каков должен быть результат обработки?

Как минимум, предупреждение пользователя.

in reply to:  1 ; comment:3 by san, 7 years ago

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

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

  • выделение ячеек по Ctrl+click/Shift+click
  • выделенные ячейки отображать с рамкой или с особым фоновым цветом(белым, чёрным)
  • при перетаскивании выбранных ячеек зона "приземления" тоже отображается
  • не выделять каналы СУВ КИ16 или КИ1 если они установлены.
  • при "приземлении" предлагаю либо игнорировать ошибки(приземление на СУВ, каналы не влезли в таблицу) и коммутировать только корректное, либо наоборот - вообще не совершать коммутацию, при наличии ошибок, а выдавать сообщение.
  • после совершения коммутации предлагать обратную коммутацию.
Last edited 7 years ago by san (previous) (diff)

comment:4 by alx, 7 years ago

Cc: andrei added

Саша, на "Нижнем Самурае" сделано переключение выделения каналов с помощью Ctrl-Click. Посмотри, пожалуйста. Никаких действий пока не реализовано - только выделение выбранных ячеек.

Возможные дальнейшие улучшения:

  • выделение непрерывного блока: Shift-click на ячейке переключает ее выделение (как и Ctrl-Click), но если затем, не отпуская Shift, кликнуть другую ячейку - переключаются также все ячейки, лежащие между двумя кликнутыми.

Андрей, добавляю тебя в СС, так как у тебя бывают ценные идеи по интерфейсу. Присоединяйся к обсуждению!

in reply to:  3 ; comment:5 by alx, 7 years ago

Replying to san:

  • при "приземлении" предлагаю либо игнорировать ошибки(приземление на СУВ, каналы не влезли в таблицу) и коммутировать только корректное, либо наоборот - вообще не совершать коммутацию, при наличии ошибок, а выдавать сообщение.

Предлагаю следующую логику "приземления":

  • При соединении группы каналов имеет значение только их последовательность (а, например, пропуски между ними значения не имеют: выделены они через один, через три, вообще в разных строчках - не важно);
  • Последовательность каналов учитывается слева направо сверху вниз (как мы пишем/читаем текст);
  • Ячейка, на которой "отпускаем" группу при перетаскивании получает первый канал из выделенной последовательности, следующая за ней (пропуская "специальные" типа CAS) - второй канал из выделенной группы и т.д.;
  • Если выделенных каналов больше, чем ячеек в таблице коммутации, "остаток" не коммутируем, то есть "хвост" выделенной группы каналов не переходит в левую верхнюю ячейку после правой нижней.

Вот как-то так...

comment:6 by san, 7 years ago

Потыкал на Самурае, в целом нормально, по мелочам:

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

Предлагаю следующую логику "приземления":

я не возражаю

in reply to:  6 comment:7 by alx, 7 years ago

Replying to san:

Потыкал на Самурае, в целом нормально, по мелочам:

  • при выделении ячеек с белый цветом текста - цвет текста не меняется, это на мой взгляд кажется не единообразным с выделением ячеек где текст синий или серый.

У всех выделенных ячеек белый текст на черном фоне. Куда еще единообразнее? :)

  • нужен механизм сброса выделения

В-основном он уже есть - Ctrl-Click выделенной ячейки делает ее невыделенной. Можно разве что добавить глобальный сброс выделения...

comment:8 by san, 7 years ago

У всех выделенных ячеек белый текст на черном фоне

У ячеек где плата установлена фон не меняется, и получается что только галочка добавляется к исходному виду ячейки.

глобальный сброс выделения

да, я это и имел ввиду

in reply to:  8 comment:9 by alx, 7 years ago

Replying to san:

У ячеек где плата установлена фон не меняется,

Это уже устаревшее поведение. :)

in reply to:  5 comment:10 by andrei, 7 years ago

Меня текущее выделение устраивает, учитывая выделение с Shift.

  • Если выделенных каналов больше, чем ячеек в таблице коммутации, "остаток" не коммутируем, то есть "хвост" выделенной группы каналов не переходит в левую верхнюю ячейку после правой нижней.

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

in reply to:  4 comment:11 by alx, 7 years ago

Replying to alx:

  • выделение непрерывного блока: Shift-click на ячейке переключает ее выделение (как и Ctrl-Click), но если затем, не отпуская Shift, кликнуть другую ячейку - переключаются также все ячейки, лежащие между двумя кликнутыми.

Реализовал выделение блока, но немного иначе: нажатие левой кнопки мыши при нажатом шифте очищает существующее выделение и начинает новое. Выделение выполняется перемещением мыши при удерживаемой левой кнопке. Отпускание левой кнопки заканчивает выделение. То есть блок выделяется одним кликом, а не двумя, как я предлагал раньше. Посмотреть можно в "Нижнем Самурае".

comment:12 by alx, 7 years ago

Resolution: fixed
Status: newclosed

In 1522/sw:

В веб-интерфейсе реализована функция коммутации группы каналов в таблице коммутации:

  • выделение отдельных каналов с помощью Ctrl-Click;
  • выделение последовательности каналов с помощью Shift и перемещения мыши с удердживанием левой кнопки;
  • перетаскивание выделенной группы каналов с подсвечиванием предполагаемого места "приземления";
  • запрос подтверждения коммутации;
  • запрос на коммутацию каналов в обратном направлении (если требуется).

Над таблицей коммутации каналов добавлена кнопка "Очистить выделение".
Closes #215.

Note: See TracTickets for help on using tickets.