Skip to content

Some ideas #3

Description

@summerstyle

Недавно установила это прекрасное расширение для лисы https://addons.mozilla.org/es/firefox/addon/json-dataview/
В нем используется моя библиотека, но был сделан ряд улучшений.
Хочу добавить этот функционал в саму библиотеку.

  • Для длинных строк - сделать правильные отступы (inline-block vs inline)
  • Если массив/объект не пустой - в середине показывать многоточие
  • Добавить поддержку горячих клавиш (+ с шифтом рекурсивно раскрыть)?
  • Если массив/объект пустой - не раскрывать его (это я сама придумала)
  • Добавить возможность редактирования значений, включая замену поддерева
  • Раскрывать при инициализации только ноды с определенными ключами?
  • Передавать функцию для вывода содержимого ноды (например, если это строка и начинается с http://, то вывести как ссылку, т.е. матчер+хендлер)
  • Добавить слева для объектов и массивов пунктирную линию для улучшения читабельности? Или при наведении менять фон?
  • Добавить флаг для нод, обозначающий возможное отсутствие этой ноды в итоговом json, сделать отображение полупрозрачным
  • Решить проблемы с производительностью при отрисовке действительно большого дерева !!!
  • Сделать подтипы для узлов (определяются при помощи матчера). Например, нода с именем url, типа 'строка' и начинающаяся с префикса http:// - это подтип 'ссылка' с соотв. шаблоном для вывода (с тегом <a> и подчеркнутая)

А также, идеи для редактора:

  • Добавить возможность отрисовывать сразу несколько json-деревьев (в этом случае как работать с верхним меню? Вариант - выделять одно из деревьев. Также можно сделать 2 галочки - для одновременное операции с деревьями)
  • Сделать возможным загружать json по url и из текстового файла?
  • Сделать фильтрацию узлов (для выделения их цветом)
  • Сделать сортировку по ключам
  • По галочке скрывать/показывать необязательные узлы
  • Ползунок для раскрытия дерева по уровням (сдвигаем - по одному уровню раскрывать узлы)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions