@opengeoweb/core
TypeScript icon, indicating that this package has built-in type declarations

9.15.0 • Public • Published

current version coverage

Core

React component library with Core components for the opengeoweb project. This library was generated with Nx.

Installation

npm install @opengeoweb/core @opengeoweb/store @opengeoweb/timeslider @redux-eggs/redux-toolkit @redux-eggs/saga-extension

Use

You can use any component exported from core by importing them. Some components need to be wrapped in the CoreThemeProvider, or CoreThemeStoreProvider for a connected component. You can also pass in your own theme if needed. Below you can find a simplified example on how the MapViewConnect component and several mapActions could be used:

import { useDispatch } from 'react-redux';
import {
  MapViewConnect,
  LegendConnect,
  LegendMapButtonConnect,
  CoreThemeStoreProvider,
} from '@opengeoweb/core';
import { mapActions } from '@opengeoweb/store';
import { TimeSliderConnect } from '@opengeoweb/timeslider';
import { createStore } from '@redux-eggs/redux-toolkit';
import { getSagaExtension } from '@redux-eggs/saga-extension';

const store = createStore({
  extensions: [getSagaExtension()],
});

const ConnectedMapWithTimeSlider = ({ mapId }) => {
  const dispatch = useDispatch();

  React.useEffect(() => {
    // set layers
    dispatch(mapActions.setLayers({ layers: [radarLayer], mapId }));
    // baseLayers
    dispatch(
      mapActions.setBaseLayers({
        mapId,
        layers: [baseLayerGrey, overLayer],
      }),
    );
  }, []);

  return (
    <CoreThemeStoreProvider store={store}>
      <LegendConnect initialActiveMapId={mapId} />
      <LegendMapButtonConnect mapId={mapId} />
      <MapViewConnect mapId={mapId} displayTimeInMap />
      <TimeSliderConnect sourceId="timeslider-1" mapId={mapId} />
    </CoreThemeStoreProvider>
  );
};

export default ConnectedMapWithTimeSlider;

Documentation

https://opengeoweb.gitlab.io/opengeoweb/docs/core/

Readme

Keywords

none

Package Sidebar

Install

npm i @opengeoweb/core

Weekly Downloads

347

Version

9.15.0

License

Apache-2.0

Unpacked Size

486 kB

Total Files

267

Last publish

Collaborators

  • maartenplieger
  • btorrente
  • ernstdevreede
  • loescornelisknmi