Code Monkey home page Code Monkey logo

Comments (8)

a-radik avatar a-radik commented on July 26, 2024

Базова функціональність Qlik дозволяє робити експорт в форматах jpeg, png і pdf. В самому простому варіанті можемо зробити експорт в тому розмірі. як об'єкт відображается на екрані користувача (ширина і висота).

Уточнюючі питання:

  • туди - це на самій картинці виводити текст чи треба доповнювати саме метаданні файлу, що буде скачано чи якись інший варіант? Якщо перше, то це можливо.
  • походження даних - це має бути текст типу DREAM Аналітика?

Нижче наведу приклад, як це можна зробити за допомогою foot note в об'єкті. В об'єктів, що розміщено в мешапі footnote відображатись не буде, а при експорті буде динамічно додаватись. Наразі foot note в об'єктів в нас ніде не задіяно. Якщо буде така необхідність (вивести foot note об'єкта) процес експорта треба буде значно усладнити, бо треба одночасно вивести foot note об'єкта і додаткову інформацію про походження і дату.

Image

@ndrhzn

from bi.dream.gov.ua.

ndrhzn avatar ndrhzn commented on July 26, 2024

Добре знати, що це можливо з технічної точки зору. Я проясню у юзерів, наскільки важливо їм мати footnote (з моєї точки зору, це важливо для уникнення неправильної комунікації), і тоді оберемо спосіб імплементації

from bi.dream.gov.ua.

ndrhzn avatar ndrhzn commented on July 26, 2024

Тут зафіксували рішення використовувати функціонал footnote для відображення метаданих під час збереження картинок.

Метадані для відображення

  • Джерело даних - DREAM Аналітика
  • Дата - Дані станом на dd.mm.yyyy

from bi.dream.gov.ua.

ndrhzn avatar ndrhzn commented on July 26, 2024

Поточний статус: Можливість зберігати зображення імплементована на тестовому додатку. Є можливість експортувати візуалізації як png та як pdf.

image

Відкриті питання:

- Чи потрібні обидва формати для експорти, чи достатньо одного?

Видається, що може бути достатньо лише png формату. Зауважив, що під час експорту до pdf є баги - якщо графік не вміщається повністю у контейнер і є необхідність скролити, то у експортованій версії буде за великим рахунком скріншот - разом із скролбаром (але, звісно, без можливості скролити). Тоді як експорт до png відбувається без жодних проблем і зміст графіку доступний повністю.

- Де має розташовуватись кнопка / іконка для експорту зображення?

В ідеалі кнопка / іконка для експорту зображення не має займати занадто багато місця, і не має впливати на основний layout візуалізацій. Можливі варіанти рішення тут 1) Показувати лише іконку без підпису "Export to image" у правому верхньому куточку візуалізації 2) Показувати іконку лише тоді, коли курсор наведений на візуалізацію (тут потрібно відтестувати, аби не було conflicting events, і аби активація іконки не зникала до того, як користувачі матимуть можливість підвести курсор до неї).

- В якому розмірі слід зберігати зображення?

Тут слід зрозуміти, чи є якийсь алгоритм визначення розміру зображення, чи наразі всі зображення зберігаються в одному розмірі? Які опції тут доступні?

- Де має розташуватись підпис?

За можливості варто розташувати підпис (Дані ... станом на...) у правому нижньому куточку.

- Чи можливо задати margins у експортованому зображенні?

За можливості варто додати margins для зображень під час експорту. Якщо одиниці виміру - пікселі, то хоча б 20 пікселів з кожного боку, наприклад.

- До яких елементів слід додавати можливість експорту зображень?

До всіх графіків та карт - слід додавати. До карток та таблиць - не потрібно.

Також тестування експорту зображень підкреслило, що у нас не для всіх зображень є заголовки (тому, звісно, частина обʼєктів експортується із заголовками, а частина - без). Можливо треба буде це пропрацювати

from bi.dream.gov.ua.

ndrhzn avatar ndrhzn commented on July 26, 2024

Поточний статус - експорт зображень реалізовано на тестовому сервері. Наразі доступний експорт у png та pdf. Водночас є проблема із визначенням розміру зображення (наразі розмір зображення заданий однаковий для всіх, якщо контент візуалізації не вміщається повністю у цей розмір, на експортованому зображенні відображається scrollbar). Проблема насамперед заторкає візуалізації з великою кількістю категорій (наприклад, ті, де по осі Y іде довжелезний перелік громад або ж ініціаторів).

@a-radik давайте задокументуємо, які у нас є варіанти вирішення цієї проблеми, і спробуємо зрозуміти, який можливий таймлан (чи ми плануємо включати це в найближчий реліз, наприклад).

from bi.dream.gov.ua.

a-radik avatar a-radik commented on July 26, 2024

Бажаний розмір картинки передається в Qlik Engine при виклику методу експорту разом з передачею ідентифікатора об'єкта який треба отримати у вигляді зображення. Способу попросити Engine самотійно визначити висоту/ширину об'єкта не існує, чи принаймні він не описаний в документації вендора. На етапі запиту на отримання зображення об'єкту необхідно визначити висоту (ширину) при якій скролл з'являтись не буде. Гадаю, що це можна зробити, якщо з'ясувати кількість значень розрізу в якому відображається об'єкт и помножити на приблизну висоту необхідно для відображення одного.

from bi.dream.gov.ua.

ndrhzn avatar ndrhzn commented on July 26, 2024

Зафіксували рішення включити в реліз та збирати зворотній звʼязок. В окремих випадках експорт буде працювати неідеально (якщо всі елементи візуалізації не вміщаються в один екран). Наразі ми залишаємо це на розсуд користувачів, які картинки експортувати, а які ні.

from bi.dream.gov.ua.

ndrhzn avatar ndrhzn commented on July 26, 2024

На додачу до можливості зберігати окремі зображення також зафіксували потребу зберігати всі елементи модулю в одному зображенні (наприклад, картки, графік та карту) для звітів. Сценарій використання - люди застосовують потрібні для себе фільтри і зберігають зображення (наразі - роблять скріншот) зо всією потрібною інформацією для презентації.

from bi.dream.gov.ua.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.