Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
RubaXa opened this issue Dec 19, 2018 · 3 comments
Open

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

RubaXa opened this issue Dec 19, 2018 · 3 comments

Comments

@RubaXa
Copy link

RubaXa commented Dec 19, 2018

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

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

@exdis
Copy link
Member

exdis commented Dec 26, 2018

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

@lahmatiy
Copy link
Member

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

@RubaXa
Copy link
Author

RubaXa commented Dec 28, 2018

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

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

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

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

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

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

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


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

No branches or pull requests

3 participants