80 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
		
		
			
		
	
	
			80 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| 
								 | 
							
								<!DOCTYPE html>
							 | 
						|||
| 
								 | 
							
								<html>
							 | 
						|||
| 
								 | 
							
								<head>
							 | 
						|||
| 
								 | 
							
								    <meta http-equiv="X-UA-Compatible" content="IE=edge">
							 | 
						|||
| 
								 | 
							
								    <title>jsGrid - Custom Row Renderer</title>
							 | 
						|||
| 
								 | 
							
								    <link rel="stylesheet" type="text/css" href="demos.css" />
							 | 
						|||
| 
								 | 
							
								    <link href='http://fonts.googleapis.com/css?family=Open+Sans:300,600,400' rel='stylesheet' type='text/css'>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    <link rel="stylesheet" type="text/css" href="../css/jsgrid.css" />
							 | 
						|||
| 
								 | 
							
								    <link rel="stylesheet" type="text/css" href="../css/theme.css" />
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    <script src="../external/jquery/jquery-1.8.3.js"></script>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    <script src="../src/jsgrid.core.js"></script>
							 | 
						|||
| 
								 | 
							
								    <script src="../src/jsgrid.load-indicator.js"></script>
							 | 
						|||
| 
								 | 
							
								    <script src="../src/jsgrid.load-strategies.js"></script>
							 | 
						|||
| 
								 | 
							
								    <script src="../src/jsgrid.sort-strategies.js"></script>
							 | 
						|||
| 
								 | 
							
								    <script src="../src/jsgrid.field.js"></script>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    <style>
							 | 
						|||
| 
								 | 
							
								        .client-photo { float: left; margin: 0 20px 0 10px; }
							 | 
						|||
| 
								 | 
							
								        .client-photo img { border-radius: 50%; border: 1px solid #ddd; }
							 | 
						|||
| 
								 | 
							
								        .client-info { margin-top: 10px; }
							 | 
						|||
| 
								 | 
							
								        .client-info p { line-height: 25px; }
							 | 
						|||
| 
								 | 
							
								    </style>
							 | 
						|||
| 
								 | 
							
								</head>
							 | 
						|||
| 
								 | 
							
								<body>
							 | 
						|||
| 
								 | 
							
								    <h1>Custom Row Renderer</h1>
							 | 
						|||
| 
								 | 
							
								    <div id="jsGrid"></div>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    <script>
							 | 
						|||
| 
								 | 
							
								        $(function() {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            $("#jsGrid").jsGrid({
							 | 
						|||
| 
								 | 
							
								                height: "80%",
							 | 
						|||
| 
								 | 
							
								                width: "50%",
							 | 
						|||
| 
								 | 
							
								                autoload: true,
							 | 
						|||
| 
								 | 
							
								                paging: true,
							 | 
						|||
| 
								 | 
							
								                controller: {
							 | 
						|||
| 
								 | 
							
								                    loadData: function() {
							 | 
						|||
| 
								 | 
							
								                        var deferred = $.Deferred();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        $.ajax({
							 | 
						|||
| 
								 | 
							
								                            url: 'http://api.randomuser.me/?results=40',
							 | 
						|||
| 
								 | 
							
								                            dataType: 'jsonp',
							 | 
						|||
| 
								 | 
							
								                            success: function(data){
							 | 
						|||
| 
								 | 
							
								                                deferred.resolve(data.results);
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        });
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        return deferred.promise();
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                },
							 | 
						|||
| 
								 | 
							
								                rowRenderer: function(item) {
							 | 
						|||
| 
								 | 
							
								                    var user = item;
							 | 
						|||
| 
								 | 
							
								                    var $photo = $("<div>").addClass("client-photo").append($("<img>").attr("src", user.picture.large));
							 | 
						|||
| 
								 | 
							
								                    var $info = $("<div>").addClass("client-info")
							 | 
						|||
| 
								 | 
							
								                        .append($("<p>").append($("<strong>").text(user.name.first.capitalize() + " " + user.name.last.capitalize())))
							 | 
						|||
| 
								 | 
							
								                        .append($("<p>").text("Location: " + user.location.city.capitalize() + ", " + user.location.street))
							 | 
						|||
| 
								 | 
							
								                        .append($("<p>").text("Email: " + user.email))
							 | 
						|||
| 
								 | 
							
								                        .append($("<p>").text("Phone: " + user.phone))
							 | 
						|||
| 
								 | 
							
								                        .append($("<p>").text("Cell: " + user.cell));
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    return $("<tr>").append($("<td>").append($photo).append($info));
							 | 
						|||
| 
								 | 
							
								                },
							 | 
						|||
| 
								 | 
							
								                fields: [
							 | 
						|||
| 
								 | 
							
								                    { title: "Clients" }
							 | 
						|||
| 
								 | 
							
								                ]
							 | 
						|||
| 
								 | 
							
								            });
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            String.prototype.capitalize = function() {
							 | 
						|||
| 
								 | 
							
								                return this.charAt(0).toUpperCase() + this.slice(1);
							 | 
						|||
| 
								 | 
							
								            };
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        });
							 | 
						|||
| 
								 | 
							
								    </script>
							 | 
						|||
| 
								 | 
							
								</body>
							 | 
						|||
| 
								 | 
							
								</html>
							 |