Описание PluginsApi v0.1 ядра платформы «Modus BI»

 

1 Обзор

Версия api: 0.1.

2 Совместимость

Версии ядра: 3.9.1.

Версия node: 12.12.

Версия react 16.13.1.

Версия echarts 5.6-custom(bar+treemap).

3 Экспорт

{
    CustomChart, //модуль диаграммы
    CustomReducers, //модуль редьюсеров
    CustomSettings, //модуль настроек
    CustomAxes, //модуль панели осей
    DataAdaptor, //адаптер данных
    SpecGenerator, //генератор спецификации
    ConfigEditor, //редактор конфига
}

4 Импорт

4.1 Props

4.1.1 CustomChart

{
    components: { //раздел компонентов, интерфейсных элеменов для создания более кастомизированных интерфейсов плагина
      LoadProgress, //компонент лоадер вращающийся
      CommonDataAdaptor, // класс дата-адаптера, используется как базовый класс для создания более кастомизированных дата-адаптеров
    },
    helpers: { // раздел функций-хелперов
      getCacheId, // функия вычисления cacheId в кэше данных
    },
    sections: {}, // раздел секций, интерфейсных блоков встраиваемых в интерфейс плагина без измнений
}

4.1.2 CustomReducers

{
    changeCustomChart(command, settings) //универсальный экшен
}   

 

4.1.3 CustomSettings

{
    sections: { //раздел компонентов, интерфейсных элеменов для создания более кастомизированных интерфейсов плагина
        autoApplyToggleContent,  //секция переключателя автоприменения
        showTitleToggleContent, //секция переключателя показа заголовка
        titleTextFieldContent, //секция ввода заголовка
        containerMarginSettingsContent, //секция настроек отступов
        precisionSliderContent, //секция настроек точности
        suffixSelectContent, //секция настроек суффиксов
        DataOptionsContent, //секция настроек данных
        FilterModeOptionsContent, //секция настроек режима фильтра
        DrillOptionsContent, //секция настроек дрилла
        DrillOutOptionsContent, //секция настроек клика
        DescriptionOptionsContent, //секция настроек описания
        OutlineOptionsContent, //секция настроек рамки
    },
    components: {
        SettingsToggle, // компонент переключатель
        SettingsSection, // компонент раздел
        SettingsItem, // компонент элемент настроек
        SettingsTextField, // компонент поле ввода
        SettingsMultiselect, // компонент выпадающее меню
        SettingsSlider, // компонент слайдер
        SettingsCheckbox, // компонент чекбокс
        SettingsColorPicker, // компонент выбора цвета
        SettingsSubheader,  // компонент подзаголовок
        LoadProgress,  // компонент лоадер вращающийся
        NoTranslationFlag,  // компонент флаг отстутствия перевода
        ProgressBar,  // компонент прогрессбар
        ReactSuperSelect,   // компонент выпадающее меню универсальное
        Relect,   // компонент выпадающее меню компактное
    },
 }

   4.1.4 CustomAxes

​​​​​​​{
    isVisibleAxeDragItemMenuOption(config, field, componentType, optionName:optionNameType) // метод управления видимостью пунктов меню "пилюли"
    isVisibleAxeDragItemElement(componentType, config, field, elementName:elementNameType) // метод управления видимостью элементов тела "пилюли"
    sortAxes(config, component, axisNames) //метод управления сортировкой "полок"
    isVisibleAxe(axe, config) // метод управления видимостью "полок"
    isDisabledAxe(axe, field, fieldIndex, config, componentType) // метод управления блокировкой "полки"
    getAxeName(axe, config, componentType, axisNames) // метод управления именкм "полки"
    getAxeIconColor(axe, field, config, componentType) // метод управления цветом иконки "полки"
    renderAxeIcon(axe, field, config, componentType, axisNames, HsMuiFontIcon, HsMuiSvgIcon) // метод управления типом иконки "полки"
    renderAxeToggle(axe, field, config, componentType, valuesToggle, seriesToggle) // метод управления переключателем состояния "полки"
    isVisibleField(axe, field, config, componentType) // метод управления видимостью поля
}    
Описания некоторых типов параметров:
optionNameType = { // доступные для отображения типы опций выпадающего меню "пилюли"
    'renderAddToTableToggle' | 
    'renderAddToTooltipToggle' |
    'renderAggregationForSortBy' |
    'renderAggregationMenuItem' |
    'renderCalcHideResult' |
    'renderCalcLevel' |
    'renderColorBySelector' |
    'renderColorFromDataToggle' |
    'renderControllingFilterMenuItem' |
    'renderDerivedFieldToggle' |
    'renderDerivedFilterFieldSelector' |
    'renderDoShowTitleCheckbox' |
    'renderDrillLevelOnly' |
    'renderEditCalcMenuItem' |
    'renderFilterLevel' |
    'renderFilterSqlType' |
    'renderListFieldSelector' |
    'renderMdxLevelSelector' |
    'renderNameBy' |
    'renderOrderIndexSelector' |
    'renderPillType' |
    'renderSheetSelector' |
    'renderSortBySelector' |
    'renderSortMenuItem' |
    'renderSubAllAggregationMenuItem' |
    'renderTitleInput' |
    'renderTooltipBy'
}
elementNameType = { // доступные для отображения типы элементов тела "пилюли"
    'renderSortSelector' |
    'renderAggregationSelector' |
}

4.2 Externals

{
    'React', // библиотека react v16.13.1
    'ReactDOM', //библиотека react-dom v16.13.1
    'ReactDOMServer', //библиотека react-dom/server v16.13.1
    'ReactTestUtils', //библиотека react-dom/test-utils v16.13.1
    'echarts': 'echarts' //библиотека визуализации echarts v5.6-custom(bar+treemap)
}