$(function(){
var employee = {},
popup = null,
popupOptions = {
width: 300,
height: 250,
contentTemplate: function() {
return $("<div />").append(
$("<p>Full Name: <span>" + employee.FirstName +
"</span> <span>" + employee.LastName + "</span></p>"),
$("<p>Birth Date: <span>" + employee.BirthDate + "</span></p>"),
$("<p>Address: <span>" + employee.Address + "</span></p>"),
$("<p>Hire Date: <span>" + employee.HireDate + "</span></p>"),
$("<p>Position: <span>" + employee.Position + "</span></p>")
);
},
showTitle: true,
title: "Information",
visible: false,
dragEnabled: false,
closeOnOutsideClick: true
};
var showInfo = function(data) {
employee = data;
if(popup) {
popup.option("contentTemplate", popupOptions.contentTemplate.bind(this));
} else {
popup = $("#popup").dxPopup(popupOptions).dxPopup("instance");
}
popup.show();
};
$.each(employees, function(i, employee) {
$("<li />").append(
$("<img />").attr("src", employee.Picture),
$("<br />"),
$("<span />").html("<i>" + employee.FirstName + "</i>"),
$("<span />").html(" <i>" + employee.LastName + "</i>"),
$("<br />"),
$("<div />")
.addClass("button-info")
.dxButton({
text: "Details",
onClick: function() {
showInfo(employee);
}
})
).appendTo($("#employees"));
});
});
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>DevExtreme Demo</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>window.jQuery || document.write(decodeURIComponent('%3Cscript src="js/jquery.min.js"%3E%3C/script%3E'))</script>
<link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/20.2.5/css/dx.common.css" />
<link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/20.2.5/css/dx.light.css" />
<script src="https://cdn3.devexpress.com/jslib/20.2.5/js/dx.all.js"></script>
<script src="data.js"></script>
<link rel="stylesheet" type="text/css" href="styles.css" />
<script src="index.js"></script>
</head>
<body class="dx-viewport">
<div class="demo-container">
<div id="container">
<h1>Employees</h1>
<ul id="employees"></ul>
<div id="popup"></div>
</div>
</div>
</body>
</html>
#container {
padding: 10px;
}
#container ul {
list-style-type: none;
text-align: center;
}
#container ul li {
display: inline-block;
width: 160px;
margin: 10px;
}
#container ul li img{
width: 100px;
}
.button-info {
margin: 10px;
}
.dx-popup-content p {
margin-bottom: 10px;
margin-top: 0;
}
var employees = [{
"ID": 7,
"FirstName": "Sandra",
"LastName": "Johnson",
"Prefix": "Mrs.",
"Position": "Controller",
"Picture": "../../../../images/employees/06.png",
"BirthDate": "1974/11/15",
"HireDate": "2005/05/11",
"Notes": "Sandra is a CPA and has been our controller since 2008. She loves to interact with staff so if you've not met her, be certain to say hi.\r\n\r\nSandra has 2 daughters both of whom are accomplished gymnasts.",
"Address": "4600 N Virginia Rd."
}, {
"ID": 10,
"FirstName": "Kevin",
"LastName": "Carter",
"Prefix": "Mr.",
"Position": "Shipping Manager",
"Picture": "../../../../images/employees/07.png",
"BirthDate": "1978/01/09",
"HireDate": "2009/08/11",
"Notes": "Kevin is our hard-working shipping manager and has been helping that department work like clockwork for 18 months.\r\n\r\nWhen not in the office, he is usually on the basketball court playing pick-up games.",
"Address": "424 N Main St."
}, {
"ID": 11,
"FirstName": "Cynthia",
"LastName": "Stanwick",
"Prefix": "Ms.",
"Position": "HR Assistant",
"Picture": "../../../../images/employees/08.png",
"BirthDate": "1985/06/05",
"HireDate": "2008/03/24",
"Notes": "Cindy joined us in 2008 and has been in the HR department for 2 years. \r\n\r\nShe was recently awarded employee of the month. Way to go Cindy!",
"Address": "2211 Bonita Dr."
}, {
"ID": 30,
"FirstName": "Kent",
"LastName": "Samuelson",
"Prefix": "Dr.",
"Position": "Ombudsman",
"Picture": "../../../../images/employees/02.png",
"BirthDate": "1972/09/11",
"HireDate": "2009/04/22",
"Notes": "As our ombudsman, Kent is on the front-lines solving customer problems and helping our partners address issues out in the field. He is a classically trained musician and is a member of the Chamber Orchestra.",
"Address": "12100 Mora Dr"
}];