Git Product home page Git Product logo

react-alerts's Introduction

react-alerts

Description

React alerts component to show global notifications.

Installation

npm install @opuscapita/react-alerts

Demo

View the DEMO

Builds

UMD

The default build with compiled styles in the .js file. Also minified version available in the lib/umd directory.

CommonJS/ES Module

You need to configure your module loader to use cjs or es fields of the package.json to use these module types. Also you need to configure sass loader, since all the styles are in sass format.

API

OCAlertsProvider

Prop name Type Default Description
containerStyle object { bottom: '5px', maxWidth: '650px' } Override container default CSS styles

OCAlerts

Prop name Type Default Description
containerStyle object { bottom: '5px', maxWidth: '650px' } Override container default CSS styles

OCAlert

Function Parameters Returns Description
alertSuccess message, options, onDismiss Alert Id: number Show success alert
alertInfo message, options, onDismiss Alert Id: number Show info alert
alertWarning message, options, onDismiss Alert Id: number Show warning alert
alertError message, options, onDismiss Alert Id: number Show error alert
closeAlert id Close one alert with id
closeAlerts Close all alerts

Options

Attributes Description
timeOut Time in milliseconds in which the alert is closed automatically.

Code example

Simple usage with built-in Redux store

Include the OCAlertsProvider component somewhere in your main component once.

import { OCAlertsProvider } from '@opuscapita/react-alerts';

<div id="myApp">
  <OCAlertsProvider />
</div>

Use alerts anywhere in your application.

import { OCAlert } from '@opuscapita/react-alerts';

// Message can be text or an react element
OCAlert.alertSuccess('The operation was success!');
OCAlert.alertInfo('Click the button to continue.');
OCAlert.alertWarning('Make sure you save the changes before leaving.');
OCAlert.alertError('Something went wrong.');
OCAlert.alertSuccess(<FormattedMessage id="AlertSuccess" />);
// Alerts can have custom timeout, after which the alert is closed
OCAlert.alertInfo('Alert will disappear in 3 seconds', { timeOut: 3000 });

OCAlert.closeAlert(id);
OCAlert.closeAlerts();

Usage with your own Redux store

Instead of using react-alerts' built-in Redux store, you can also use your own store. Like this:

import { OCAlert } from '@opuscapita/react-alerts';
OCAlert.setStore(yourStore)

After this you need to include OCAlerts component somewhere in your application (Note that we're not using the OCAlertsProvider like we did in the previous example)

import { OCAlerts } from '@opuscapita/react-alerts';

// ...

<div className="my-react-application">
  {this.props.children}
  <OCAlerts />
</div>

And lastly, you need to import and initialize the alertsReducer:

import { alertsReducer } from '@opuscapita/react-alerts';
import { combineReducers } from 'redux';

const combinedReducers = {
  // your reducers
  alerts: alertsReducer,
}

react-alerts's People

Contributors

naniantero avatar skarjalainen avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

react-alerts's Issues

componentWillReceiveProps has been renamed

I am getting the following warning from React:

Warning: componentWillReceiveProps has been renamed, and is not recommended for use. See https://fb.me/react-async-component-lifecycle-hooks for details.

* Move data fetching code or side effects to componentDidUpdate.
* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state
* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.

Please update the following components: Connect(OCAlerts), Provider

I am using React version 16.9.0.

Let me know if there is any more information I can provide.

Migration to react js 15.6.2 version

  1. Update peerDependencies:
    "peerDependencies": { "react": "^15.6.2 || ^16.2.0", "react-dom": "^15.6.2 || ^16.2.0" }
  2. Update devDependencies:
    "react": "15.6.2", "react-dom": "15.6.2",
  3. Verify that no reactjs deprecated warnings are present. Otherwise restyle codebase or update old dependencies if it's needed.

Alert box css

The CSS seems to have some problem in aligning the alert component

With react-alerts
image

with react-bootstrap.Alert
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.