0.0.5 • Published 5 months ago

@dzc34bm/feature-apps-loader-dom v0.0.5

Weekly downloads
-
License
ISC
Repository
-
Last release
5 months ago

Skoda feature apps loader

Feature App is a microfrontend that encapsulates a composable and reusable UI. This package provides set of universal React components that simplifies integration of feature applications developed by Skoda.

Installation

npm install @dzc34bm/feature-apps-loader-dom

Usage

Example of integration of Forms feature application.

Prepare the container for feature application somewhere in your html.

<div id="feature-app-container"></div>

Use SkodaFeatureAppLoader mount feature app in container.

import { SkodaFeatureAppLoader } from '@dzc34bm/feature-apps-loader-dom';

import '@skodaflow/web-library/theme/skoda/fonts.css';
import '@skodaflow/web-library/theme/skoda/icons.css';

const localeServiceConfig = { countryCode: 'cz', bid: '260', language: 'cs', currency: 'czk' };
const formsFeatureAppConfig = { formCode: 'cypress_tests_0', isTemp: false, apiKey: '5db0f64741474b43b620f0100d715800' };
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. Each feature app has unique configuration. Above is minimal example of configuration of Forms feature application. Use SkodaFeatureAppLoader anywhere in the scope of SkodaFeatureHubContextProvider. You can use SkodaFeatureAppLoader multiple times to load multiple different or same feature apps in this place.

  • 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