@skodacustomerjourney/feature-apps-loader-dom
v0.0.4
Published
Feature App is a microfrontend that encapsulates a composable and reusable UI. This package allows and simplifies integration of feature applications developed by Skoda.
Downloads
5
Readme
Skoda feature apps loader
Feature App is a microfrontend that encapsulates a composable and reusable UI. This package allows and simplifies integration of feature applications developed by Skoda.
Installation
npm install @skodacustomerjourney/feature-apps-loader-dom
Usage
Example of integration of Forms feature application.
Prepare container for feature application somewhere in your html. Here the loader will mount feature app.
<div id="feature-app-container"></div>
Use SkodaFeatureAppLoader mount feature app in container.
import { SkodaFeatureAppLoader } from '@skodacustomerjourney/feature-apps-loader-dom';
const localeServiceConfig = { countryCode: 'cz', bid: '260', language: 'cs', currency: 'czk' };
const formsFeatureAppConfig = { formCode: 'cypress_tests_0', isTemp: false };
const skodaFeatureAppLoader = new SkodaFeatureAppLoader('Skoda:feature-apps-integrator', localeServiceConfig);
skodaFeatureAppLoader.loadFeatureApp(
'feature-app-container',
'Skoda:forms',
'https://skoda-forms-api-dev.azurewebsites.net',
'forms-feature-app.umd.js',
formsFeatureAppConfig
);
Feature Services provide shared state and shared functionality to consumers, e.g. Feature Apps. "locale-service" is required and consumed by majority of Skoda feature apps.
- containerId - loader will find container (element) with this id and mount feature application inside.
- featureAppId - The Feature App ID is required to identify the Feature App instance. Multiple Feature App Loaders with the same featureAppId will render the same Feature app instance.
- src - URL of client module bundle. Can be absolute or relative. If relative, loader will download the resource from baseUrl.
- baseUrl - feature apps refers to its own resources that are available on this url.
- config - feature app configuration object. Each feature app has unique configuration. Above is minimal example of configuration of Forms feature application.
Loading multiple feature apps
To load multiple (different or same) feature apps prepare multiple containers in your html and call loadFeatureApp for each feature app you want to load.