1
0

custom-row-renderer.html 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  5. <title>jsGrid - Custom Row Renderer</title>
  6. <link rel="stylesheet" type="text/css" href="demos.css" />
  7. <link href='http://fonts.googleapis.com/css?family=Open+Sans:300,600,400' rel='stylesheet' type='text/css'>
  8. <link rel="stylesheet" type="text/css" href="../css/jsgrid.css" />
  9. <link rel="stylesheet" type="text/css" href="../css/theme.css" />
  10. <script src="../external/jquery/jquery-1.8.3.js"></script>
  11. <script src="../src/jsgrid.core.js"></script>
  12. <script src="../src/jsgrid.load-indicator.js"></script>
  13. <script src="../src/jsgrid.load-strategies.js"></script>
  14. <script src="../src/jsgrid.sort-strategies.js"></script>
  15. <script src="../src/jsgrid.field.js"></script>
  16. <style>
  17. .client-photo { float: left; margin: 0 20px 0 10px; }
  18. .client-photo img { border-radius: 50%; border: 1px solid #ddd; }
  19. .client-info { margin-top: 10px; }
  20. .client-info p { line-height: 25px; }
  21. </style>
  22. </head>
  23. <body>
  24. <h1>Custom Row Renderer</h1>
  25. <div id="jsGrid"></div>
  26. <script>
  27. $(function() {
  28. $("#jsGrid").jsGrid({
  29. height: "80%",
  30. width: "50%",
  31. autoload: true,
  32. paging: true,
  33. controller: {
  34. loadData: function() {
  35. var deferred = $.Deferred();
  36. $.ajax({
  37. url: 'http://api.randomuser.me/?results=40',
  38. dataType: 'jsonp',
  39. success: function(data){
  40. deferred.resolve(data.results);
  41. }
  42. });
  43. return deferred.promise();
  44. }
  45. },
  46. rowRenderer: function(item) {
  47. var user = item;
  48. var $photo = $("<div>").addClass("client-photo").append($("<img>").attr("src", user.picture.large));
  49. var $info = $("<div>").addClass("client-info")
  50. .append($("<p>").append($("<strong>").text(user.name.first.capitalize() + " " + user.name.last.capitalize())))
  51. .append($("<p>").text("Location: " + user.location.city.capitalize() + ", " + user.location.street))
  52. .append($("<p>").text("Email: " + user.email))
  53. .append($("<p>").text("Phone: " + user.phone))
  54. .append($("<p>").text("Cell: " + user.cell));
  55. return $("<tr>").append($("<td>").append($photo).append($info));
  56. },
  57. fields: [
  58. { title: "Clients" }
  59. ]
  60. });
  61. String.prototype.capitalize = function() {
  62. return this.charAt(0).toUpperCase() + this.slice(1);
  63. };
  64. });
  65. </script>
  66. </body>
  67. </html>