build.js 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. /**
  2. * @name build.js
  3. * @author Philipp Maurer
  4. * @author Tobias Reich
  5. * @copyright 2012 by Philipp Maurer, Tobias Reich
  6. */
  7. /*
  8. Build Functions
  9. This functions are used to generate HTML-Code.
  10. */
  11. function buildDivider(title) {
  12. return "<div class='divider fadeIn'><h1>" + title + "</h1></div>";
  13. }
  14. function buildAlbum(albumJSON) {
  15. if(!albumJSON) return "";
  16. if(!albumJSON.thumb0) albumJSON.thumb0 = "img/no_images.png";
  17. if(!albumJSON.thumb1) albumJSON.thumb1 = "img/no_images.png";
  18. if(!albumJSON.thumb2) albumJSON.thumb2 = "img/no_images.png";
  19. if(!albumJSON.title) albumJSON.title = "Untitled";
  20. if(albumJSON.title.length>18) albumJSON.title = albumJSON.title.substr(0, 18) + "...";
  21. var album = "";
  22. album += "<div class='album' data-id='" + albumJSON.id + "'>";
  23. album += "<img src='" + albumJSON.thumb2 + "' width='200' height='200' alt='thumb'>";
  24. album += "<img src='" + albumJSON.thumb1 + "' width='200' height='200' alt='thumb'>";
  25. album += "<img src='" + albumJSON.thumb0 + "' width='200' height='200' alt='thumb'>";
  26. album += "<div class='overlay'>";
  27. album += "<h1>" + albumJSON.title + "</h1>";
  28. album += "<a>" + albumJSON.sysdate + "</a>";
  29. album += "</div>";
  30. if(albumJSON.star=="1") album += "<a class='badge red icon-star'></a>";
  31. if(albumJSON.public=="1") album += "<a class='badge red icon-rss'></a>";
  32. if(albumJSON.unsorted=="1") album += "<a class='badge red icon-reorder'></a>";
  33. album += "</div>";
  34. return album;
  35. }
  36. function buildPhoto(photoJSON) {
  37. if(photoJSON=="") return "";
  38. if(!photoJSON.title) photoJSON.title = "";
  39. if(!photoJSON.thumbUrl) photoJSON.thumbUrl = "img/no_image.png";
  40. if(photoJSON.title.length>18) photoJSON.title = photoJSON.title.substr(0, 18) + "...";
  41. var photo = "";
  42. photo += "<div class='photo' data-id='" + photoJSON.id + "'>";
  43. photo += "<img src='" + photoJSON.thumbUrl + "' width='200' height='200' alt='thumb'>";
  44. photo += "<div class='overlay'>";
  45. photo += "<h1>" + photoJSON.title + "</h1>";
  46. photo += "<a>" + photoJSON.sysdate + "</a>";
  47. photo += "</div>";
  48. if(photoJSON.star=="1") photo += "<a class='badge red icon-star'></a>";
  49. if(photoJSON.public=="1") photo += "<a class='badge red icon-rss'></a>";
  50. photo += "</div>";
  51. return photo;
  52. }
  53. function buildModal(title, text, button, func) {
  54. var modal = "";
  55. modal += "<div class='message_overlay fadeIn'>";
  56. modal += "<div class='message center'>";
  57. modal += "<h1>" + title + "</h1>";
  58. modal += "<a class='close icon-remove-sign'></a>";
  59. modal += "<p>" + text + "</p>";
  60. $.each(button, function(index) {
  61. if (index==0) modal += "<a onclick='message_click(" + index + ")' class='button active'>" + this + "</a>";
  62. else modal += "<a onclick='message_click(" + index + ")' class='button'>" + this + "</a>";
  63. });
  64. modal += "</div>";
  65. modal += "<script>";
  66. modal += "function message_click(action) {";
  67. modal += "switch (action) {";
  68. $.each(func, function(index) {
  69. modal += "case " + index + ":";
  70. modal += this.toString();
  71. modal += "break;";
  72. });
  73. modal += "} closeModal(); }";
  74. modal += "</script>";
  75. modal += "</div>";
  76. return modal;
  77. }
  78. function buildAddModal() {
  79. var modal = "";
  80. modal += "<div class='message_overlay fadeIn'>";
  81. modal += "<div class='message center add'>";
  82. modal += "<h1>Add Album or Photo</h1>";
  83. modal += "<a class='close icon-remove-sign'></a>";
  84. modal += "<div id='add_album' class='add_album'>";
  85. modal += "<div class='icon icon-folder-close'></div>";
  86. modal += "<a>Add new Album</a>";
  87. modal += "</div>";
  88. modal += "<div id='add_photo' class='add_album'>";
  89. modal += "<div class='icon icon-picture'></div>";
  90. modal += "<a>Upload new Photo</a>";
  91. modal += "</div>";
  92. modal += "</div>";
  93. modal += "</div>";
  94. return modal;
  95. }
  96. function buildSignInModal() {
  97. var modal = "";
  98. modal += "<div class='message_overlay'>";
  99. modal += "<div class='message center'>";
  100. modal += "<h1><a class='icon-lock'></a> Sign in</h1>";
  101. modal += "<div class='sign_in'>";
  102. modal += "<label>Username:</label><input id='username' type='text' name='' value=''>";
  103. modal += "<label>Password:</label><input id='password' type='password' name='' value=''>";
  104. modal += "</div>";
  105. modal += "<div id='version'>Version " + version + "</div>";
  106. modal += "<a onclick='login()' class='button active'>Sign in</a>";
  107. modal += "</div>";
  108. modal += "</div>";
  109. return modal;
  110. }
  111. function buildUploadModal() {
  112. var modal = "";
  113. modal += "<div class='upload_overlay fadeIn'>";
  114. modal += "<div class='upload_message center'>";
  115. modal += "<a class='icon-upload'></a>";
  116. modal += "<div class='progressbar'><div></div></div>";
  117. modal += "</div>";
  118. modal += "</div>";
  119. return modal;
  120. }
  121. function buildContextMenu(items) {
  122. var menu = "";
  123. menu += "<div class='contextmenu_bg'></div>";
  124. menu += "<div class='contextmenu'>";
  125. menu += "<table>";
  126. menu += "<tbody>";
  127. $.each(items, function(index) {
  128. if (items[index][1].length!=0) {
  129. menu += "<tr><td onclick='" + items[index][1] + "; closeContextMenu();'>" + items[index][0] + "</td></tr>";
  130. }
  131. });
  132. menu += "</tbody>";
  133. menu += "</table>";
  134. menu += "</div>";
  135. return menu;
  136. }
  137. function buildInfobox(photo) {
  138. var infobox = "";
  139. infobox += "<div class='header'><h1>About</h1><a class='icon-remove-sign'></a></div>";
  140. infobox += "<div class='wrapper'>";
  141. if (photo.public==1) photo.public = "Public"; else photo.public = "Private";
  142. infos = [
  143. ["", "Basics"],
  144. ["Name", photo.title],
  145. ["Uploaded", photo.sysdate],
  146. ["Description", photo.description + " <div id='edit_description'><a class='icon-pencil'></a></div>"],
  147. ["", "Image"],
  148. ["Size", photo.size],
  149. ["Format", photo.type],
  150. ["Resolution", photo.width + " x " + photo.height],
  151. ["", "Camera"],
  152. ["Captured", photo.takedate],
  153. ["Make", photo.make],
  154. ["Type/Model", photo.model],
  155. ["Shutter Speed", photo.shutter],
  156. ["Aperture", photo.aperture],
  157. ["Focal Length", photo.focal],
  158. ["ISO", photo.iso],
  159. ["", "Share"],
  160. ["Privacy", photo.public],
  161. ["Short Link", photo.shortlink]
  162. ];
  163. $.each(infos, function(index) {
  164. if (infos[index][1]==""||infos[index][1]==undefined||infos[index][1]==null) infos[index][1] = "-";
  165. if (infos[index][0]=="") {
  166. infobox += "</table>";
  167. infobox += "<div class='separater'><h1>" + infos[index][1] + "</h1></div>";
  168. infobox += "<table id='infos'>";
  169. } else {
  170. infobox += "<tr>";
  171. infobox += "<td>" + infos[index][0] + "</td>";
  172. infobox += "<td>" + infos[index][1] + "</td>";
  173. infobox += "</tr>";
  174. }
  175. });
  176. infobox += "</table>";
  177. infobox += "<div class='bumper'></div>";
  178. infobox += "</div>";
  179. return infobox;
  180. }