Из-за внушительной функциональности продукта, скрипты имеют достаточно большой размер. При первой загрузке Web приложения, либо при отключенном кэшировании браузера, загрузка может занимать некоторое время, особенно при низкоскоростном интернет соединении. Мы предлагаем два варианта решения этой проблемы: использовать упакованные скрипты, либо использовать частичный функционал, и загружать только то, что требуется.

 

 

Упакованные скрипты

Упакованные скрипты имеют такую же структуру, что и обычные скрипты, но имеют окончание *.pack.js в имени файла. Такие скрипты содержат блок упакованных данных в виде JavaScript переменной, и компактный распаковщик. При загрузке всех скриптов, распаковщик автоматически распаковывает все загруженные данные, и запускает подготовленный скрипт на выполнение. Распаковка занимает некоторое время, но при определенных обстоятельствах - например, при медленном интернет соединении - это время намного меньше, чем скорость загрузки обычных скриптов.

 

Для использования упакованных скриптов всё, что вам понадобится сделать - это установить свойство $js->usePacked в значение true, например:

 

index.php

 

<head>

<?php

$js = new \Stimulsoft\StiJavaScript(\Stimulsoft\StiComponentType::Report);

$js->usePacked = true;

$js->renderHtml();

?>

</head>

 

 

 

При использовании JavaScript кода, достаточно добавить окончание .pack.js во всех используемых скриптах Stimulsoft, например:

 

index.php

 

<head>

<script src="vendor/stimulsoft/reports-php/scripts/stimulsoft.reports.pack.js" type="text/javascript"></script>

</head>

 

 

 

Частичная загрузка скриптов

Скрипт stimulsoft.reports.js содержит в себе весь функционал по построению и экспортированию отчетов. Если для генерации отчетов вам требуются только некоторые из возможностей, предусмотрена загрузка только необходимых частей генератора, содержащих определенный набор возможностей. Например, если в ваших отчетах не используются карты, то их можно не загружать. Это ускорит загрузку Web проекта и уменьшит потребление памяти браузером.

 

Информация

 

Данная возможность реализована только для движка генератора отчетов, вьювер и дизайнер нельзя разделить на части, их скрипты будут загружаться целиком одним блоком.

 

 

 

Для использования частичной загрузки скриптов, достаточно установить нужные опции в PHP коде для StiJavaScript класса:

 

index.php

 

<head>

<?php

$js = new \Stimulsoft\StiJavaScript(\Stimulsoft\StiComponentType::Report);

 

$js->options->reports = false;

$js->options->reportsChart = true;

$js->options->reportsExport = true;

$js->options->reportsImportXlsx = true;

$js->options->reportsMaps = true;

 

$js->renderHtml();

?>

</head>

 

 

 

При использовании JavaScript кода, необходимо убрать загрузку скрипта stimulsoft.reports.js из проекта, и добавить один или несколько скриптов из перечисленного ниже списка:

 

index.php

 

<head>

<script src="vendor/stimulsoft/reports-php/scripts/stimulsoft.reports.engine.js" type="text/javascript"></script>

<script src="vendor/stimulsoft/reports-php/scripts/stimulsoft.reports.export.js" type="text/javascript"></script>

<script src="vendor/stimulsoft/reports-php/scripts/stimulsoft.reports.chart.js" type="text/javascript"></script>

<script src="vendor/stimulsoft/reports-php/scripts/stimulsoft.reports.maps.js" type="text/javascript"></script>

<script src="vendor/stimulsoft/reports-php/scripts/stimulsoft.reports.import.xlsx.js" type="text/javascript"></script>

</head>

 

 

 

Каждая опция PHP объекта StiJavaScript управляет загрузкой скрипта, содержащего определённый функционал. В данной таблице представлен весь набор скриптов, которые можно загрузить раздельно:

 

Наименование

Описание

stimulsoft.reports.engine.js

Содержит всё минимально необходимое для загрузки и построения отчетов, работы с данными. Является обязательным для подключения.

stimulsoft.reports.export.js

Содержит алгоритмы для экспортирования построенного отчета в различные форматы - PDF, HTML, Excel, RichText и другие.

stimulsoft.reports.chart.js

Содержит компоненты для работы со всеми типами диаграмм в отчете.

stimulsoft.reports.maps.js

Содержит компоненты для работы с региональными и онлайн картами.

stimulsoft.blockly.editor.js

Содержит визуальный редактор Blockly для создания скриптов событий в отчете. Сам обработчик событий встроен в движок отчетов.

stimulsoft.reports.import.xlsx.js

Содержит алгоритмы для работы с Excel источниками данных.

 

Информация

 

Порядок подключения любых скриптов Stimulsoft не имеет значения, все скрипты имеют дополнительные проверки отложенной загрузки и запуска необходимых модулей.