0.1.15 • Published 6 years ago

react-message-preview v0.1.15

Weekly downloads
3
License
MIT
Repository
github
Last release
6 years ago

react-message-preview

A React Component - Browser centered Message box with blur background.

On Large Screen

On Small Screen

Examples

  1. Here is the first one to get you started:
import React, { Component } from 'react';
import MessagePreviewer from 'react-message-preview';

class App extends Component {
  constructor(props){
    super(props);
    this.state = {
      showMessagePreview: true,
      count: 1
    }
    this.increment = this.increment.bind(this);
    this.decrement = this.decrement.bind(this);
    this.removePreviewFunction = this.removePreviewFunction.bind(this);
  }

  removePreviewFunction(){
    this.setState({
      showMessagePreview: false
    })
  }
  increment(){
    this.setState({
      count: this.state.count + 1
    })
  }
  decrement(){
    if(this.state.count != 0){
      this.setState({
        count: this.state.count - 1
      })
    }
  }

  render() {
    let self = this;
    return (
      <div className="App">
        {
          self.state.showMessagePreview &&
            <MessagePreviewer
              messageTitle={"Counter"}
              messageText={"Counter : " + self.state.count}
              resetText="Decrement"
              saveText="Increment"
              closePreview={this.removePreviewFunction}
              saveFunction={self.increment}
              resetFunction={self.decrement}
            />
        }
      </div>
    );
  }
}

export default App;

  1. Second one for Advanced params(Only render function re-write)

Here we are overriding

  • CSS of class "preview-div" styles
  • Reset/Cancel button hidden

You can override the props depending on table names given below for reference.

render() {
    let self = this;
    let messageDetails = [];
    if(self.state.count <= 0){
      messageDetails.push(<div>Counter stopped at zero.</div>);
    }
    messageDetails.push(<div>{"Counter : " + self.state.count}</div>);
    return (
      <div className="App">
        {
          this.state.showMessagePreview &&
            <MessagePreviewer
              messageStyle={{top: "15%", color: "green"}}
              messageTitle={"Counter"}
              messageText={messageDetails}
              resetText="Decrement"
              saveText="Increment"
              resetFlagHide={true}
              closePreview={this.removePreviewFunction}
              saveFunction={self.increment}
              resetFunction={self.decrement}
            />
        }
      </div>
    );
  }

Paramters as Props

PropNamesTypeUseDefault
backgroundStyleObjectcss style object to update class="blur-background"{}
messageStyleObjectcss style object to update class="preview-div"{}
titleStyleObjectcss style object to update class="message-title"{}
removePreviewButtonStyleObjectcss style object to update class="cross-button"{}
resetButtonStyleObjectcss style object to update class="button-style reset-button"{}
saveButtonStyleObjectcss style object to update class="button-style save-button"{}
resetFlagHideBooleanShow(default)/Hide Cancel Buttonfalse
closePreviewFunctionFuncton passed from ur project to Close/Hide the preview-
resetFunctionFunctionFuncton passed from ur project for Cancel/Reset action from preview()=>{}
saveFunctionFunctionFuncton passed from ur project to Save/Ok Action from preview()=>{}
messageTitleStringTitle for the preview box.""
messageTextString/ArrayMessage content showing in center of preview box.Pass your msg here.
resetTextStringButton Name on bottom left side.Cancel
saveTextStringButton Name on bottom Right side.Ok

All Props are optional except closePreview function(unless u want my preview to be always on ur screen) :smirk:

As you can see, we can send messageText as Array also. See this to view more on this

Help

Published Guide :heart_eyes:

0.1.15

6 years ago

0.1.14

6 years ago

0.1.12

6 years ago

0.1.11

6 years ago

0.1.10

6 years ago

0.1.9

6 years ago

0.1.8

6 years ago

0.1.7

6 years ago

0.1.6

6 years ago

0.1.5

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago