jQWidgets
  • Documentation
  • License and Pricing
  • Services
  • Community
    • Forums
    • Blogs
    • Follow Us
    • Client Login
  • About
    • About Us
    • Contact Us
    • FAQ
  • Demo
  • Download

React UI Components

  • Javascript/jQuery
  • Angular
  • Vue
  • React
  • Custom Elements
  • ASP .NET MVC
  • Showcase Demos
  • Responsive Design
  • Theme Builder
Show Demo List

React UI Components

  • jqxGrid
  • jqxTabs
  • jqxTextArea
  • jqxWindow
  • jqxKnob
  • jqxResponsivePanel
  • jqxChart
  • jqxMenu
  • jqxInput
  • jqxDocking
  • jqxGauge
  • jqxNavBar
  • jqxPivotGrid
  • jqxTree
  • jqxPasswordInput
  • jqxNotification
  • jqxBarGauge
  • jqxSortable
  • jqxScheduler
  • jqxNavigationBar
  • jqxMaskedInput
  • jqxPopOver
  • jqxExpander
  • jqxLoader
  • jqxTreeGrid
  • jqxListMenu
  • jqxComplexInput
  • jqxTooltip
  • jqxRating
  • jqxDraw
  • jqxDataTable
  • jqxToolBar
  • jqxFormattedInput
  • jqxColorPicker
  • jqxRangeSelector
  • jqxDragDrop
  • jqxTreeMap
  • jqxComboBox
  • jqxNumberInput
  • jqxScrollView
  • jqxSlider
  • jqxPanel
  • jqxEditor
  • jqxDropDownList
  • jqxDateTimeInput
  • jqxProgressBar
  • jqxScrollBar
  • jqxValidator
  • jqxRibbon
  • jqxListBox
  • jqxCalendar
  • jqxFileUpload
  • jqxSplitter
  • jqxValidator
  • jqxLayout
  • jqxButtons
  • jqxKanban
  • jqxBulletChart
  • jqxDockingLayout

jqxPopover

  • Default Functionality
  • Positioning
  • Bottom Positioning
  • Modal Popover
  • Right to Left Layout
Theme:
  • Demo
  • App.htm
  • App.js
ReactJS Popover demo. Popover is positioned above the clicked button
View Employees
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title id="Description">
        ReactJS Popover demo. Popover is positioned above the clicked button
    </title>
    <link rel="stylesheet" href="../jqwidgets/styles/jqx.base.css" type="text/css" />
    <script type="text/javascript" src="../scripts/demos.js"></script>
    <script type="text/javascript" src="../jqwidgets/jqxcore.js"></script>
    <script type="text/javascript" src="../jqwidgets/jqxpopover.js"></script>
    <script type="text/javascript" src="../jqwidgets/jqxbuttons.js"></script>
    <style>
        body, html {
            padding: 0;
            margin: 0;
        }
    </style>
</head>
<body>
    <div class="example-description" style="margin-bottom: 3em">
        ReactJS Popover demo. Popover is positioned above the clicked button
    </div>
    <div id="app"></div>
    <script src="../build/popover_bottompositioning.bundle.js"></script>
</body>
</html>

import React from 'react';
import ReactDOM from 'react-dom';

import JqxPopover from '../../../jqwidgets-react/react_jqxpopover.js';
import JqxButton from '../../../jqwidgets-react/react_jqxbuttons.js';

class App extends React.Component {
    componentDidMount() {
        let data = new Array();
        let firstNames = ['Nancy', 'Andrew', 'Janet', 'Margaret', 'Steven', 'Michael', 'Robert', 'Laura', 'Anne'];
        let lastNames = ['Davolio', 'Fuller', 'Leverling', 'Peacock', 'Buchanan', 'Suyama', 'King', 'Callahan', 'Dodsworth'];
        let titles = ['Sales Representative', 'Vice President, Sales', 'Sales Representative', 'Sales Representative', 'Sales Manager', 'Sales Representative', 'Sales Representative', 'Inside Sales Coordinator', 'Sales Representative'];

        let employeesDiv = document.getElementById('employees');

        for (let i = 0; i < firstNames.length; i++) {
            let row = {};
            row['firstname'] = firstNames[i];
            row['lastname'] = lastNames[i];
            row['title'] = titles[i];
            let imgurl = '../images/' + firstNames[i].toLowerCase() + '.png';
            let img = '<img height="50" width="45" src="' + imgurl + '"/>';
            let table = '<table style="min-width: 150px;"><tr><td style="width: 55px;" rowspan="2">' + img + '</td><td>' + firstNames[i] + " " + lastNames[i] + '</td></tr><tr><td>' + titles[i] + '</td></tr></table>';
            employeesDiv.innerHTML += table;
        }
    }
    render() {
        return (
            <div>
                <JqxPopover
                    offset={{ left: 0, top: 0 }}
                    showCloseButton={true}
                    arrowOffsetValue={0}
                    position={'top'}
                    title={'Employees'}
                    selector={'#container'}
                >
                    <div id="employees" />
                </JqxPopover>
                <div style={{ height: 60, borderWidth: 0, position: 'absolute', width: '100%', bottom: 0, borderStyle: 'solid', paddingTop: 10, paddingBottom: 10, boxSizing: 'border-box' }} className='jqx-widget-header'>
                    <div id="container">
                        <JqxButton value='View Employees' style={{ marginLeft: '50%', float: 'left', left: -75, top: 0, position: 'relative', padding: '8px 12px', borderRadius: 6 }}
                            width={140} height={40} template={'primary'}
                        />
                    </div>
                </div>
            </div>
        )
    }
}

ReactDOM.render(<App />, document.getElementById('app'));

Employees
Nancy Davolio
Sales Representative
Andrew Fuller
Vice President, Sales
Janet Leverling
Sales Representative
Margaret Peacock
Sales Representative
Steven Buchanan
Sales Manager
Michael Suyama
Sales Representative
Robert King
Sales Representative
Laura Callahan
Inside Sales Coordinator
Anne Dodsworth
Sales Representative
jQWidgets
  • Facebook
  • Youtube
  • Google +
  • Demo
  • Download
  • Documentation
  • License and Pricing
  • Services
  • Forums
  • About
  • Terms of Use
  • Privacy Policy
  • Contact Us

jQWidgets © 2011-2019. All Rights Reserved.