browser-extension-json-discovery icon indicating copy to clipboard operation
browser-extension-json-discovery copied to clipboard

Сделать конструктор view

Open RubaXa opened this issue 5 years ago • 3 comments

Очень часто хочется вместо JSON видеть уже репорт, а точнее репорты, поэтому нужен некий конструктор view, который позволит создавать блоки «репортов», по умолчанию для всех файлов view состоит из одного блока «JSON».

ps Если идея интересна, готов сам попробовать это реализовать :]

RubaXa avatar Dec 19 '18 11:12 RubaXa

Немного не понял как именно ты видишь этот конструктор? Сейчас планирую сделать пресеты (или шаблоны) для репортов для различных страниц, доменов etc. Для того, чтобы эти пресеты легко можно было выбирать при создании репорта, а не вбивать json вручную. Это то о чем ты говоришь? Или я что-то недопонял?

exdis avatar Dec 26 '18 08:12 exdis

А можешь поподробней рассказать об идее? Мы думаем о том, чтобы можно было сохранять view и page на странице настроек плагина с привязкой к домену/урлу или "для всех". А потом это уже можно будет использовать. Можем сохранять и в localStorage что-то. Но тут пока проблема с шарингом урлов – хотя вопрос насколько это сейчас имеет значение. Есть еще начинание по поводу пресета для view на странице репорта. И совсем далеко, думаем сделать каталог расширений (методы для запросов, вью, страницы), которые можно будет включать в плагине и там даже тогда разруливается история с шарингом

lahmatiy avatar Dec 26 '18 08:12 lahmatiy

Пресеты, сохранение, это всё верно, но я хочу именно сам конфигурировать view для url/домена/т.п.

Что-то типа как в графане, создаешь даборд, накидываешь блоки/сетку, а сам блок может быть как минимум трех типов

  • Raw JSON — сырые данные
  • JSON Tree — отформатированые (view, которые сейчас по умолчанию)
  • Report — любой репорт, который я сформирую

По умолчанию блок занимает всё свободное пространство, поэтому чтобы компоновать, нужен ещё один компонент для разметки, назовём его, например, Container:

  1. В Container можно добавлять «блоки», по умолчанию каждый из них занимает равную ширину, но это должно быть регулируемо
  2. Так же ему, можно задать «высоту»

Ох, попробую нарисовать ;]

+---------------------------------------+       +-----------------------------------------+
| +-----------------------------------+ |       | +-------------------------------------+ |
| |                                   | |       | | +--------+ +-------------+ +------+ | |
| |                                   | |       | | |        | |             | |      | | |
| |                                   | |       | | |  Chart | |    STATS    | | PIE  | | |
| |                                   | |       | | |        | |             | |      | | |
| |                                   | |       | | |        | |             | |      | | |
| |                                   | |       | | +--------+ +-------------+ +------+ | |
| |                                   | |       | +-------------------------------------+ |
| |            JSON TREE              | +-----> | +-------------------------------------+ |
| |                                   | |       | | +-----------------+ +-------------+ | |
| |                                   | |       | | |                 | |             | | |
| |                                   | |       | | |                 | |             | | |
| |                                   | |       | | |    JSON TREE    | |   RAW JSON  | | |
| |                                   | |       | | |                 | |             | | |
| |                                   | |       | | |                 | |             | | |
| |                                   | |       | | |                 | |             | | |
| |                           ^       | |       | | +-----------------+ +-------------+ |<------+
| +---------------------------|-------+ |       | +-------------------------------------+ |     |
+-----------------------------|---------+       +-----------------------------------------+     |
         ^                    |                                                                 +
         |                    |                                                             CONTAINER
         +                    +
     DASHBOARD              BLOCK


RubaXa avatar Dec 28 '18 13:12 RubaXa