Skip to content

Some ideas #3

@summerstyle

Description

@summerstyle

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

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

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

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

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