nextgisweb
nextgisweb copied to clipboard
В окне идентификации длинные названия слоёв видны не целиком
На иллюстрации - включены 2 слоя с похожим длинным названием, и непонятно, где какой в списке в окне идентификации.
Какие будут предложения? Ограничения на названия и на наименование объекта у нас фактически нет.
Я вот здесь (https://github.com/nextgis/nextgisweb/issues/33) предлагал изменить окно идентификации. При моем подходе (дерево) при длинном имени слоя и/или значении атрибута снизу у дерева возникла бы полоса прокрутки или можно вообще использовать многострочные подписи элементов дерева (если такое возможно).
Основная проблема с тем вариантом в том, что он совсем не модульный (непонятно как там например описания объектов включить) и совершенно непонятно как он без атрибутов будет выглядеть (такое например в кроноцком используется, там атрибутов в идентификации нет и быть не должно).
Со скролами ситуация в нем тоже будет не лучше текущей - длинное наименование одного объекта уведет описание слоев за скрол.
Ну а многострочные элементы дерева - наверное можно как-то извернуться и сделать это, но по-моему это несколько жутковато.
По поводу скролов - не совсем так: на скриншоте показан контрол совмещенного дерева списка. При этом все длинные вещи во второй колокне списка включая названия слоев. А в дереве идет просто номера слоев, названия атрибутов и др. информация.
Я не настаиваю на дереве - просто из всех известных способов идентификации этот наиболее функциональный. Кстати в Managere несколько по иному устроено окно идентификации - по аналогии с ArcGIS - сделано разделяемое окно (split) в одном из частей показано дерево, а в другой при щелчке на элемент дерева подгружаются атрибуты.
Опиши, что за требования в Кроноцком по поводу идентификации. Не понятно как можно идентифицировать если показывать в окне нечего? Возможно сможем что ни будь изобрести.
Вот скрин идентификации Manager:
Как оно в Кроноцком работает, можно тут посмотреть - http://gis.kronoki.ru/webmap/1/display, там у тех слоев что включены по-умолчанию заполнены и описания и фотки, а атрибуты совершенно ненужные.
Тут можно как сделать: для варианта https://github.com/nextgis/nextgisweb/issues/33 я как поступать с фотками предложил. В этом случае если нет атрибутов то будут просто дерево с номерами, 1,2,3 и т.п. а напротив каждого номера имя слоя и иконка наличия фоток. Это решит еще одну недоработку, когда в списке слоев в диалоге идентификации не понятно где есть фотки, а где атрибуты. В случае варианта скриншота выше (как в менеджере) - нижнее (у меня оно может быть не только снизу но и справа - там есть кнопка переключения) окно если нет атрибутов будет содержать только фотки. Я бы нижнее окно сделал с табами такого состава:
- атрибуты
- фото
- описание
На скриншоте в самом дереве отдельные записи у меня отмечены FID, а NGW наверное стоит использовать поле для подписывания, которое в настройках задается..
Описания в варианте #33 тоже предлагается в иконку с отдельной боковой панелью вынести? А если в результате идентификации слоем вообще будет возвращаться готовый HTML (например в #70) - как его в дерево паковать? Это все к разговору о модульности о которой я чуть выше писал.
С вариантом из скриншота выше все понятно, там вместо комбобокса дерево, а суть та же. Но тоже есть нюансы: в простейшем случае, когда объект один, дерево просто место занимать будет. Все это конечно решаемо, можно наверное и высоту дерева динамически расчитывать, но все равно получится визуально очень запутано, да и мало это может в случае, если наименование объекта или будет содержать символов так 200.
Вариант QGIS (https://github.com/nextgis/nextgisweb/issues/33) отличается от варианта Manager тем, что в случае QGIS слои и атрибуты в дереве, а все остальное - да в отдельной боковой панели (возможно с табами). В случае Manager - есть четко дерево слоев и записей, а все остальное в отдельной части окна.
В случае дерева в варианте Manager спасает горизонтальный скрол. Вот пример скринщота с длинным именем.
Рассчитывать динамически размер окна дерева не очень нравится. Лучше пусть пользователь сам выставит комфортный размер, который запомнится.