Клуб Народной карты

Хак-инструмент для НЯК: скрытие панели атрибутов: обновление v2.0

Рыжов Фёдор
14 июня, 09:13

Снова всем привет, и я тащу обновления для своего инструмента. Впрочем, ловите:

javascript:(function(){window.nkHack={};window.nkHack.rf={};var style=window.document.createElement('style');style.id='plplp'; window.document.body.appendChild(style);window.nkHack.rf.dsp={sel:'body div.nk-sidebar-view.i-bem.nk-sidebar-view_js_inited',all: {hide:function(){window.document.querySelector(window.nkHack.rf.dsp.sel).style.display='none';}, show:function(){window.document.querySelector(window.nkHack.rf.dsp.sel).style.display='block';},}, attr:{hide:function(){ window.nkHack.rf.dsp.styleElem.innerHTML=window.nkHack.rf.dsp.sel+' div div.nk-scrollable.nk-geoobject-viewer-view__content.nk-section , '+window.nkHack.rf.dsp.sel+' div div.nk-geoobject-editor-view__content.nk-section {display:none !important}'},show:function(){window.nkHack.rf.dsp.styleElem.innerHTML=window.nkHack.rf.dsp.sel+' div div.nk-scrollable.nk-geoobject-viewer-view__content.nk-section , '+window.nkHack.rf.dsp.sel+' div div.nk-scrollable.nk-geoobject-editor-view__content.nk-section { display:block !important}'}},bool:true,styleElem:document.getElementById('plplp'),}; if(window.confirm('Скрывать всю панель или только атрубуты? ОК/ДА - всю. ОТМЕНА/НЕТ - только атрибуты.')){window.nkHack.rf.dsp.act_type='all'; }else{window.nkHack.rf.dsp.act_type='attr';};var btn = window.document.createElement('button'); btn.className='button button_theme_on-map button_size_l button_view_action'; btn.style.marginLeft='8px';btn.innerHTML='<span class="button__text">Скрыть</span>';window.nkHack.rf.dsp.func=function(){if(window.nkHack.rf.dsp.bool){window.nkHack.rf.dsp[window.nkHack.rf.dsp.act_type].hide(); btn.innerHTML='<span class="button__text">Показать</span>';window.nkHack.rf.dsp.bool=false;}else{window.nkHack.rf.dsp[window.nkHack.rf.dsp.act_type].show();btn.innerHTML='<span class="button__text">Скрыть</span>';window.nkHack.rf.dsp.bool=true;};}; btn.onclick=window.nkHack.rf.dsp.func;btn.style.background='#55C755';window.document.querySelector('body header div.nk-app-bar-view.i-bem.nk-app-bar-view_js_inited').style.marginLeft='-525px'; window.document.querySelector('body header div.nk-app-bar-view.i-bem.nk-app-bar-view_js_inited').appendChild(btn);}())

Что нового? 1. Кнопка в (я надеюсь) более удобном месте. 2. По просьбам добавлена возможность скрывать только сами атрибуты, выбирается при инициализации.

Но есть и минусы. Теперь скрипт можно запускать только после полной загрузки НЯКа. Т.е. встроить в расширение, запускающее скрипт при открытии страницы, уже не получится. Если интересно почему, спрашивайте в комментариях. Отвечу.

Как пользоваться и демонстрация старого не исправленного бага здесь.

Отписывайтесь о впечатлениях.

21 комментарий
Это на много лучше чем я сделал. Спасибо Федор.
Обновлено 14 июня, 09:47
Рыжов Фёдор
14 июня, 09:52
МВА,
Для расположения кнопки в заданом положении могу сделать вам модуль)
Рыжов Фёдор,
Федор, все хорошо сделано и красиво. Я просто перенес табличку на более удобное место,а Вы еще и эстетику применили. Спасибо.
Рыжов Фёдор,
Федор, спасибо. Передвинул немного вправо изменив  style.marginLeft='-525px';  на 450
Можно, пожалуйста, для чайников объяснить зачем и как пользоваться?
d.piksasov,
Это освобождает экран монитора от панели атрибутов. Очень удобно при создании контуров. Как создать и пользоваться, можно посмотрить в комментариях  Бегущего Forestа  здесь .
Обновлено 16 июня, 09:28
Интересная штука. Но что это?
Рыжов Фёдор
14 июня, 11:20
Котик,
А как она получилась? У меня такое получается, только если несколько раз активировать букмарклет. В версии 3.0 (финальной) исправлю.
Yet another Forrest
14 июня, 11:25
Крутой инструмент! :)
Спасибо :)
Красиво :) Но мне всё равно так больше нравится.
Семён Федотов
15 июня, 00:07
Уже опробовал, обалденно! Осталось только этот баг починить - вообще замечательно будет)
Семён Федотов,
Семен, а что за баг? Я ни чего не замечаю.
Семён Федотов
16 июня, 15:33
МВА,
перечитайте предпоследний абзац в посте. Вкратце: вы скрыли панель и нажали на какой-либо объект. Потом нажимаете «Показать», но панель не загрузилась.
Семён Федотов,
Не знаю почему у Вас не работает. У меня загружается в свернутом виде, но все четыре функции (изменить, удалить, история и комментарии) включаются.  Не знаю почему, но было уже три раза так: Скрыл панель - рисуешь контур- и в районе «создать» ставишь точки, весь нарисованный контур пропадает. Сначала подумал что при скрытой панели попадаешь на точки «удалить», но когда специально пытаешься удалить в слепую не удаляется.
Замечательно! Спасибо!
Фёдор, почему то букмарклет перестал работать. Может быть по тому что командаЯ. закрепила на мертво панель атрибутов после моего поста. Пост еще не опубликовали, как всегда думают. У Вас как работает нормально? МВА
На модерации
Доброго всем времени суток! Начну с критики. Более года была поднята тема о том что бы сделать панель атрибутов меньше или совсем невидимой. Команда Яндекса всячески отмахивалась, что это сложно и займет много трудов (примерно так, не буду рыться что бы найти точный ответ, так как это тоже сложно и займет много трудов). Но вот "умелец-Левша" вмиг создал букмарклет который стал скрывать панель атрибутов. Огромное спасибо Рыжову Федору, теперь работать одно удовольствие. Русуем теперь во весь экран, появилась возможность применять прозрачность карты с программой Vitrite. И появилось одно НО. Карта подложка лежит "мёртво" (использую SAS-планету, одинаковая масштабность и много слоёв), а вот верхняя карт Яндекс нет-нет и дергается.
Обращаюсь к сотрудника Я. и всем умельцам: Можно ли верхнюю карты после корректировки точек совпадения прилипить к нижней, что бы не дергалась до нужного момента?
Раз пошла речь про прилипание задам ещё раз вопрос: Можно ли прилипить границы категории АТД к границам рек? Есть желание исправить на карте красиво и правильно, но делать двойную и тройную работу руки не поднимаются. Правда и этот вопрос уже не однократно поднимался
Рыжов Фёдор, Alexxegorov, ☭Okclick и многим другим огромная благодарность за то что облегчаете наш труд. Пытался найти больше имён из подписок но увы, тогда ещё вопрос.
Вопрс к команде Я. Почему старые подписки исчезают и остается только Х Заголовок не указан и К сожалению, пост был удален ?
2 КОММЕНТАРИЯОтписаться от комментариев к посту
Чтобы изменить шрифт или добавить ссылку, выделите часть текста.Отправить
yndx-Misha Fleget
Сотрудник Яндекса6 июля, 13:50
Доброго дня вам, Виктор!
Нам нужно время на подготовку ответов на ваши вопросы, поэтому просим немного подождать. Постараемся связаться с вами уже завтра.
МВА
вчера, 09:58
yndx-Misha Fleget, Добрый день. Что случилось что панель атрибутов перестала убираться?
МВА,
разработчики немного изменили код верхней панельки, в которую кнопка добавляется, и скрипт теперь её не находит.

Нужно заменить в двух местах в коде скрипта строку
div.nk-app-bar-view.i-bem.nk-app-bar-view_js_inited
на
div.nk-app-bar-view

А первая версия как работала, так и работает, потому что там кнопка не встраивается в интерфейс, а просто отображается поверх всего.

На самом деле, нормальная ситуация. Нужно всегда быть готовым к тому, что сторонние примочки могут перестать работать после очередного обновления, пока авторы не адаптируют их к новой версии НЯК.
Обновлено 8 июля, 11:01
☭Okclick,
Огромное спасибо всё прекрасно получилось. Вот адрес.
javascript:(function(){window.nkHack={};window.nkHack.rf={};var style=window.document.createElement('style');style.id='plplp'; window.document.body.appendChild(style);window.nkHack.rf.dsp={sel:'body div.nk-sidebar-view.i-bem.nk-sidebar-view_js_inited',all: {hide:function(){window.document.querySelector(window.nkHack.rf.dsp.sel).style.display='none';}, show:function(){window.document.querySelector(window.nkHack.rf.dsp.sel).style.display='block';},}, attr:{hide:function(){ window.nkHack.rf.dsp.styleElem.innerHTML=window.nkHack.rf.dsp.sel+' div div.nk-scrollable.nk-geoobject-viewer-view__content.nk-section , '+window.nkHack.rf.dsp.sel+' div div.nk-geoobject-editor-view__content.nk-section {display:none !important}'},show:function(){window.nkHack.rf.dsp.styleElem.innerHTML=window.nkHack.rf.dsp.sel+' div div.nk-scrollable.nk-geoobject-viewer-view__content.nk-section , '+window.nkHack.rf.dsp.sel+' div div.nk-scrollable.nk-geoobject-editor-view__content.nk-section { display:block !important}'}},bool:true,styleElem:document.getElementById('plplp'),}; if(window.confirm('Скрывать всю панель или только атрубуты? ОК/ДА - всю. ОТМЕНА/НЕТ - только атрибуты.')){window.nkHack.rf.dsp.act_type='all';
}else{window.nkHack.rf.dsp.act_type='attr';};var btn = window.document.createElement('button'); btn.className='button button_theme_on-map button_size_l button_view_action'; btn.style.marginLeft='5px';btn.innerHTML='<span class="button__text">Скрыть</span>';window.nkHack.rf.dsp.func=function(){if(window.nkHack.rf.dsp.bool){window.nkHack.rf.dsp[window.nkHack.rf.dsp.act_type].hide(); btn.innerHTML='<span class="button__text">Показать</span>';window.nkHack.rf.dsp.bool=false;}else{window.nkHack.rf.dsp[window.nkHack.rf.dsp.act_type].show();btn.innerHTML='<span class="button__text">Скрыть</span>';window.nkHack.rf.dsp.bool=true;};}; btn.onclick=window.nkHack.rf.dsp.func;btn.style.background='#75C20';window.document.querySelector('body header div.nk-app-bar-view').style.marginLeft='-450px'; window.document.querySelector('body header div.nk-app-bar-view').appendChild(btn);}())
Обновлено 8 июля, 11:41
Абсолютно не шарю в js. Хотел бы попросить создать букмарклет для этого сайта. Переход на топографическую карту.