Кастомизация пользовательского интерфейса происходит подключением к приложению внешних модулей пользователя. Внешние модули содержат список точек расширения, которые могут дополнять/изменять поведение приложения.
В качестве примера кастомизации, в шапку приложения будет добавлена кнопка,
используя точку расширения RightHeaderItem
:
Создать директорию проекта <projectRoot>
и перейти в неё.
Создать внешний модуль <projectRoot>/custom.js
:
const {Platform, Vendor} = window.Universe;
const {Uikit, Locale} = Platform;
Locale.i18n.addResourceBundle(Locale.Locales.Ru, {HeaderButton: {text: 'Нажми меня!'}});
Locale.i18n.addResourceBundle(Locale.Locales.En, {HeaderButton: {text: 'Click me!'}});
export class HeaderButton extends Vendor.React.Component {
render() {
return (
Vendor.React.createElement(
Uikit.Button,
{intent: Uikit.INTENT.DANGER},
Locale.i18n.t('HeaderButton>text')
)
);
}
}
export default {
userExits: [
{
type: 'RightHeaderItem',
moduleId: 'uniqueId',
active:true,
system: false,
resolver: () => true,
meta: {
order: 1,
},
component: HeaderButton,
}
]
};
В данном примере внешний модуль написан на чистом JavaScript, для быстрого подключения его к приложению, без дополнительных шагов сборки. Если есть необходимость использовать TypeScript, JSX, и подключение сторонних библиотек, то следует обратиться к разделу Разработка собственного модуля.