Уменьшение времени загрузки скриптов
Из-за внушительной функциональности продукта, скрипты имеют достаточно большой размер. При первой загрузке Web приложения, либо при отключенном кэшировании браузера, загрузка может занимать некоторое время, особенно при низкоскоростном интернет-соединении. Мы предлагаем два варианта решения этой проблемы: использовать упакованные скрипты, либо использовать частичный функционал, и загружать только то, что требуется.
Упакованные скрипты имеют такую же структуру, что и обычные скрипты, но имеют окончание *.pack.js в имени файла. Такие скрипты содержат блок упакованных данных в виде JavaScript переменной, и компактный распаковщик. При загрузке всех скриптов, распаковщик автоматически распаковывает все загруженные данные, и запускает подготовленный скрипт на выполнение. Распаковка занимает некоторое время, но при определенных обстоятельствах - например, при медленном интернет соединении - это время намного меньше, чем скорость загрузки обычных скриптов.
Для использования упакованных скриптов все, что вам понадобится сделать - это установить свойство javascript.usePacked у объекта отчета в значение True, например:
app.py |
report = StiReport() report.javascript.usePacked = True
|
При развертывании генератора отчетов, по умолчанию загружается только один файл со скриптами stimulsoft.reports.js, который содержит в себе весь функционал по построению и экспортированию отчетов. Если для генерации отчетов вам требуются только некоторые из возможностей, предусмотрена загрузка только необходимых частей генератора, содержащих определенный набор возможностей. Например, если в ваших отчетах не используются карты, то их можно не загружать. Это ускорит загрузку Web проекта и уменьшит потребление памяти браузером.
Информация |
Данная возможность реализована только для движка генератора отчетов, вьювер и дизайнер нельзя разделить на части, их скрипты будут загружаться целиком одним блоком.
|
Для использования частичной загрузки скриптов, достаточно установить нужные опции для свойства javascript у объекта отчета:
app.py |
from stimulsoft_reports.report import StiReport
report = StiReport()
report.javascript.reportsSet = False report.javascript.reportsChart = True report.javascript.reportsExport = True report.javascript.reportsImportXlsx = True report.javascript.reportsMaps = True
|
Каждая опция свойства javascript управляет загрузкой скрипта, содержащего определенный функционал. В данной таблице представлен весь набор скриптов, которые можно загрузить раздельно:
Наименование |
Описание |
javascript.reportsSet |
Содержит полный набор скриптов для работы с генератором отчетов. Необходимо установить в значение False при использовании частичной загрузки скриптов. |
javascript.reportsExport |
Содержит алгоритмы для экспортирования построенного отчета в различные форматы - PDF, HTML, Excel, RichText и другие. |
javascript.reportsChart |
Содержит компоненты для работы со всеми типами диаграмм в отчете. |
javascript.reportsMaps |
Содержит компоненты для работы с региональными и онлайн картами. |
javascript.blocklyEditor |
Содержит визуальный редактор Blockly для создания скриптов событий в отчете. Сам обработчик событий встроен в движок отчетов. |
javascript.reportsImportXlsx |
Содержит алгоритмы для работы с Excel источниками данных. |
Информация |
Компоненты вьювер отчетов и дизайнер отчетов также имеют свойство javascript, при помощи которого можно управлять настройкой скриптов указанным выше способом.
|