SMELUKOV_DEV Telegram 102
А вот и фича которую я обещал анонсировать в подкасте, но на всякий случай продублирую здесь.
Теперь можно создавать кастомные отчёты и пробрасывать прямо в UI.
Прямо сейчас примеры можно посмотреть на https://statoscope.tech (выбрать демо-статы и сверху справа будет выпадашка “Custom Reports”
А посмотреть пример использования можно здесь.
В чем смысл: вы можете передать в конфиг плагина массив из кастомных отчетов, которые будут проброшены в UI-отчёт.
Каждый элемент массива это объект с несколькими полями:
- id - идентификатор отчета
- name - отображаемое имя
- data - данные с которыми будет работать отчёт. Это могут быть как заранее известные данные, так и функция, которая куда-то за этими данными идёт и возвращает промис
- view - вью на DiscoveryJS (можно использовать композицию из готовых компонентов)

Во view можно передать как JSON, так и строку.
И если с JSON все понятно, то вот со строкой интересно.
Пока у вас простой отчёт, вы можете обойтись JSON-ом, а когда вам понадобится более сложный интерактивный отчёт (с обработкой кнопок и других событий), то сразу встанет вопрос - а как собственно передать код функций-обработчиков в виде JSON? Ответ - никак 🙂
Вместо этого, во view можно передать строку, которую Statoscope UI заэвалит (eval) и которая в результате должна вернуть DiscoveryJS view.
Например:
{
id: “foo-report”,
view: fs.readFileSync(“my-report.js”, “utf8”)
}

Тут конечно встаёт вопрос безопасности, потому что этот код будет выполняться на браузере у клиента, а нам не всегда хочется чтобы в нашем браузере выполнялся какой-то непонятный произвольный код, особенно если он получен непонятно от кого (вам ведь могут просто прислать HTML-отчёт статоскопа, мол, «посмотри пожалуйста».
Я решил, что в тех случаях, когда в качестве view передаётся строка, перед отображением отчета отображается предупреждение-вопрос, мол, "Вью этого отчета - это скрипт. Вы доверяете источнику отчета и согласны выполнить этот скрипт?"
Посмотрите пример.
Всё это счастье работает на все том же механизме расширения статов и под кастомные репорты есть свое расширение.



tgoop.com/smelukov_dev/102
Create:
Last Update:

А вот и фича которую я обещал анонсировать в подкасте, но на всякий случай продублирую здесь.
Теперь можно создавать кастомные отчёты и пробрасывать прямо в UI.
Прямо сейчас примеры можно посмотреть на https://statoscope.tech (выбрать демо-статы и сверху справа будет выпадашка “Custom Reports”
А посмотреть пример использования можно здесь.
В чем смысл: вы можете передать в конфиг плагина массив из кастомных отчетов, которые будут проброшены в UI-отчёт.
Каждый элемент массива это объект с несколькими полями:
- id - идентификатор отчета
- name - отображаемое имя
- data - данные с которыми будет работать отчёт. Это могут быть как заранее известные данные, так и функция, которая куда-то за этими данными идёт и возвращает промис
- view - вью на DiscoveryJS (можно использовать композицию из готовых компонентов)

Во view можно передать как JSON, так и строку.
И если с JSON все понятно, то вот со строкой интересно.
Пока у вас простой отчёт, вы можете обойтись JSON-ом, а когда вам понадобится более сложный интерактивный отчёт (с обработкой кнопок и других событий), то сразу встанет вопрос - а как собственно передать код функций-обработчиков в виде JSON? Ответ - никак 🙂
Вместо этого, во view можно передать строку, которую Statoscope UI заэвалит (eval) и которая в результате должна вернуть DiscoveryJS view.
Например:
{
id: “foo-report”,
view: fs.readFileSync(“my-report.js”, “utf8”)
}

Тут конечно встаёт вопрос безопасности, потому что этот код будет выполняться на браузере у клиента, а нам не всегда хочется чтобы в нашем браузере выполнялся какой-то непонятный произвольный код, особенно если он получен непонятно от кого (вам ведь могут просто прислать HTML-отчёт статоскопа, мол, «посмотри пожалуйста».
Я решил, что в тех случаях, когда в качестве view передаётся строка, перед отображением отчета отображается предупреждение-вопрос, мол, "Вью этого отчета - это скрипт. Вы доверяете источнику отчета и согласны выполнить этот скрипт?"
Посмотрите пример.
Всё это счастье работает на все том же механизме расширения статов и под кастомные репорты есть свое расширение.

BY Сергей Мелюков




Share with your friend now:
tgoop.com/smelukov_dev/102

View MORE
Open in Telegram


Telegram News

Date: |

Step-by-step tutorial on desktop: SUCK Channel Telegram Developing social channels based on exchanging a single message isn’t exactly new, of course. Back in 2014, the “Yo” app was launched with the sole purpose of enabling users to send each other the greeting “Yo.” During a meeting with the president of the Supreme Electoral Court (TSE) on June 6, Telegram's Vice President Ilya Perekopsky announced the initiatives. According to the executive, Brazil is the first country in the world where Telegram is introducing the features, which could be expanded to other countries facing threats to democracy through the dissemination of false content. The imprisonment came as Telegram said it was "surprised" by claims that privacy commissioner Ada Chung Lai-ling is seeking to block the messaging app due to doxxing content targeting police and politicians.
from us


Telegram Сергей Мелюков
FROM American