kirgudu_base 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (360) hide show
  1. checksums.yaml +15 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +40 -0
  5. data/app/assets/images/kirgudu_base/404-fry.png +0 -0
  6. data/app/assets/images/kirgudu_base/Documents.gif +0 -0
  7. data/app/assets/images/kirgudu_base/Meetings.gif +0 -0
  8. data/app/assets/images/kirgudu_base/Repair.gif +0 -0
  9. data/app/assets/images/kirgudu_base/ajax-loader.gif +0 -0
  10. data/app/assets/images/kirgudu_base/alpha.png +0 -0
  11. data/app/assets/images/kirgudu_base/alpha2.png +0 -0
  12. data/app/assets/images/kirgudu_base/arrow.png +0 -0
  13. data/app/assets/images/kirgudu_base/box.gif +0 -0
  14. data/app/assets/images/kirgudu_base/chosen-sprite.png +0 -0
  15. data/app/assets/images/kirgudu_base/company_pxg.png +0 -0
  16. data/app/assets/images/kirgudu_base/datatables/back_disabled.png +0 -0
  17. data/app/assets/images/kirgudu_base/datatables/back_enabled.png +0 -0
  18. data/app/assets/images/kirgudu_base/datatables/back_enabled_hover.png +0 -0
  19. data/app/assets/images/kirgudu_base/datatables/forward_disabled.png +0 -0
  20. data/app/assets/images/kirgudu_base/datatables/forward_enabled.png +0 -0
  21. data/app/assets/images/kirgudu_base/datatables/forward_enabled_hover.png +0 -0
  22. data/app/assets/images/kirgudu_base/datatables/sort_asc.png +0 -0
  23. data/app/assets/images/kirgudu_base/datatables/sort_asc_disabled.png +0 -0
  24. data/app/assets/images/kirgudu_base/datatables/sort_both.png +0 -0
  25. data/app/assets/images/kirgudu_base/datatables/sort_desc.png +0 -0
  26. data/app/assets/images/kirgudu_base/datatables/sort_desc_disabled.png +0 -0
  27. data/app/assets/images/kirgudu_base/fancybox/blank.gif +0 -0
  28. data/app/assets/images/kirgudu_base/fancybox/fancybox_buttons.png +0 -0
  29. data/app/assets/images/kirgudu_base/fancybox/fancybox_loading.gif +0 -0
  30. data/app/assets/images/kirgudu_base/fancybox/fancybox_overlay.png +0 -0
  31. data/app/assets/images/kirgudu_base/fancybox/fancybox_sprite.png +0 -0
  32. data/app/assets/images/kirgudu_base/favicon.png +0 -0
  33. data/app/assets/images/kirgudu_base/general/clock.png +0 -0
  34. data/app/assets/images/kirgudu_base/general/clock2.png +0 -0
  35. data/app/assets/images/kirgudu_base/general/coffee.png +0 -0
  36. data/app/assets/images/kirgudu_base/general/coffee2.png +0 -0
  37. data/app/assets/images/kirgudu_base/general/flipchart.png +0 -0
  38. data/app/assets/images/kirgudu_base/general/flipchart2.png +0 -0
  39. data/app/assets/images/kirgudu_base/general/sun.png +0 -0
  40. data/app/assets/images/kirgudu_base/general/sun2.png +0 -0
  41. data/app/assets/images/kirgudu_base/glyphicons-halflings-white.png +0 -0
  42. data/app/assets/images/kirgudu_base/glyphicons-halflings.png +0 -0
  43. data/app/assets/images/kirgudu_base/gradient1.png +0 -0
  44. data/app/assets/images/kirgudu_base/hue2.png +0 -0
  45. data/app/assets/images/kirgudu_base/ico_16_4_d.gif +0 -0
  46. data/app/assets/images/kirgudu_base/ico_18_1010.gif +0 -0
  47. data/app/assets/images/kirgudu_base/ico_18_112.gif +0 -0
  48. data/app/assets/images/kirgudu_base/ico_18_2020.gif +0 -0
  49. data/app/assets/images/kirgudu_base/icon-contacts.gif +0 -0
  50. data/app/assets/images/kirgudu_base/icon-employees.gif +0 -0
  51. data/app/assets/images/kirgudu_base/icon-list.gif +0 -0
  52. data/app/assets/images/kirgudu_base/icon-orders-green.gif +0 -0
  53. data/app/assets/images/kirgudu_base/icon-orders.gif +0 -0
  54. data/app/assets/images/kirgudu_base/icon-tenders.gif +0 -0
  55. data/app/assets/images/kirgudu_base/icons-sa7c41345d9.png +0 -0
  56. data/app/assets/images/kirgudu_base/login-corner.png +0 -0
  57. data/app/assets/images/kirgudu_base/login-corner2.png +0 -0
  58. data/app/assets/images/kirgudu_base/logo.png +0 -0
  59. data/app/assets/images/kirgudu_base/maps/m1.png +0 -0
  60. data/app/assets/images/kirgudu_base/maps/m2.png +0 -0
  61. data/app/assets/images/kirgudu_base/maps/m3.png +0 -0
  62. data/app/assets/images/kirgudu_base/meeting-schedule.gif +0 -0
  63. data/app/assets/images/kirgudu_base/menu_icons/calendar.png +0 -0
  64. data/app/assets/images/kirgudu_base/menu_icons/dashboard.png +0 -0
  65. data/app/assets/images/kirgudu_base/menu_icons/forms.png +0 -0
  66. data/app/assets/images/kirgudu_base/menu_icons/gallery.png +0 -0
  67. data/app/assets/images/kirgudu_base/menu_icons/grid.png +0 -0
  68. data/app/assets/images/kirgudu_base/menu_icons/maps.png +0 -0
  69. data/app/assets/images/kirgudu_base/menu_icons/others.png +0 -0
  70. data/app/assets/images/kirgudu_base/menu_icons/statistics.png +0 -0
  71. data/app/assets/images/kirgudu_base/menu_icons/tables.png +0 -0
  72. data/app/assets/images/kirgudu_base/menu_icons/widgets.png +0 -0
  73. data/app/assets/images/kirgudu_base/menu_top/profile-avatar.png +0 -0
  74. data/app/assets/images/kirgudu_base/menu_top/profile-messages.png +0 -0
  75. data/app/assets/images/kirgudu_base/message_avatar1.png +0 -0
  76. data/app/assets/images/kirgudu_base/message_avatar2.png +0 -0
  77. data/app/assets/images/kirgudu_base/message_avatar3.png +0 -0
  78. data/app/assets/images/kirgudu_base/message_avatar4.png +0 -0
  79. data/app/assets/images/kirgudu_base/message_avatar5.png +0 -0
  80. data/app/assets/images/kirgudu_base/message_avatar6.png +0 -0
  81. data/app/assets/images/kirgudu_base/message_avatar7.png +0 -0
  82. data/app/assets/images/kirgudu_base/news-icon-16.gif +0 -0
  83. data/app/assets/images/kirgudu_base/operator-def.png +0 -0
  84. data/app/assets/images/kirgudu_base/patterns/bg_dark.png +0 -0
  85. data/app/assets/images/kirgudu_base/patterns/bg_dark2.png +0 -0
  86. data/app/assets/images/kirgudu_base/patterns/bg_dark3.png +0 -0
  87. data/app/assets/images/kirgudu_base/patterns/whitey.png +0 -0
  88. data/app/assets/images/kirgudu_base/people-16-16-256.gif +0 -0
  89. data/app/assets/images/kirgudu_base/sales_24x24 (1).gif +0 -0
  90. data/app/assets/images/kirgudu_base/sample_avatar_big.jpg +0 -0
  91. data/app/assets/images/kirgudu_base/saturation2.png +0 -0
  92. data/app/assets/images/kirgudu_base/search.png +0 -0
  93. data/app/assets/images/kirgudu_base/toggle.png +0 -0
  94. data/app/assets/images/kirgudu_base/ui-bg_fine-grain_10_e7e7e7_60x60.png +0 -0
  95. data/app/assets/images/kirgudu_base/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  96. data/app/assets/images/kirgudu_base/ui-bg_flat_0_ef4622_40x100.png +0 -0
  97. data/app/assets/images/kirgudu_base/ui-bg_glass_65_ffffff_1x400.png +0 -0
  98. data/app/assets/images/kirgudu_base/ui-bg_highlight-hard_100_e1e1e1_1x100.png +0 -0
  99. data/app/assets/images/kirgudu_base/ui-bg_highlight-hard_100_eeeeee_1x100.png +0 -0
  100. data/app/assets/images/kirgudu_base/ui-bg_highlight-hard_75_dddddd_1x100.png +0 -0
  101. data/app/assets/images/kirgudu_base/ui-bg_inset-soft_95_fef1ec_1x100.png +0 -0
  102. data/app/assets/images/kirgudu_base/ui-icons_454545_256x240.png +0 -0
  103. data/app/assets/images/kirgudu_base/ui-icons_525d66_256x240.png +0 -0
  104. data/app/assets/images/kirgudu_base/ui-icons_cd0a0a_256x240.png +0 -0
  105. data/app/assets/images/kirgudu_base/ui-icons_ffffff_256x240.png +0 -0
  106. data/app/assets/images/kirgudu_base/uploadify-cancel.png +0 -0
  107. data/app/assets/javascripts/kirgudu_base/ajax_form.js +52 -0
  108. data/app/assets/javascripts/kirgudu_base/application.js +15 -0
  109. data/app/assets/javascripts/kirgudu_base/avgrund.js +85 -0
  110. data/app/assets/javascripts/kirgudu_base/bootstrap-alert.js +90 -0
  111. data/app/assets/javascripts/kirgudu_base/bootstrap-button.js +96 -0
  112. data/app/assets/javascripts/kirgudu_base/bootstrap-carousel.js +176 -0
  113. data/app/assets/javascripts/kirgudu_base/bootstrap-collapse.js +158 -0
  114. data/app/assets/javascripts/kirgudu_base/bootstrap-colorpicker.js +520 -0
  115. data/app/assets/javascripts/kirgudu_base/bootstrap-datepicker.js +401 -0
  116. data/app/assets/javascripts/kirgudu_base/bootstrap-dropdown.js +150 -0
  117. data/app/assets/javascripts/kirgudu_base/bootstrap-modal.js +239 -0
  118. data/app/assets/javascripts/kirgudu_base/bootstrap-popover.js +103 -0
  119. data/app/assets/javascripts/kirgudu_base/bootstrap-scrollspy.js +151 -0
  120. data/app/assets/javascripts/kirgudu_base/bootstrap-tab.js +135 -0
  121. data/app/assets/javascripts/kirgudu_base/bootstrap-tooltip.js +275 -0
  122. data/app/assets/javascripts/kirgudu_base/bootstrap-transition.js +60 -0
  123. data/app/assets/javascripts/kirgudu_base/bootstrap-typeahead.js +300 -0
  124. data/app/assets/javascripts/kirgudu_base/bootstrap-wysihtml5.js +458 -0
  125. data/app/assets/javascripts/kirgudu_base/bootstrap.js +6 -0
  126. data/app/assets/javascripts/kirgudu_base/character-limit.js +18 -0
  127. data/app/assets/javascripts/kirgudu_base/chosen.jquery.min.js +10 -0
  128. data/app/assets/javascripts/kirgudu_base/client_main.js +1017 -0
  129. data/app/assets/javascripts/kirgudu_base/delete.js +67 -0
  130. data/app/assets/javascripts/kirgudu_base/excanvas.compiled.js +35 -0
  131. data/app/assets/javascripts/kirgudu_base/fileinput.jquery.js +98 -0
  132. data/app/assets/javascripts/kirgudu_base/fullcalendar.js +5220 -0
  133. data/app/assets/javascripts/kirgudu_base/gmap3.min.js +39 -0
  134. data/app/assets/javascripts/kirgudu_base/highcharts.js +246 -0
  135. data/app/assets/javascripts/kirgudu_base/jdpicker.js +555 -0
  136. data/app/assets/javascripts/kirgudu_base/jnavigate.jquery.min.js +2 -0
  137. data/app/assets/javascripts/kirgudu_base/jquery-ui-1.8.23.custom.min.js +125 -0
  138. data/app/assets/javascripts/kirgudu_base/jquery-ui-1.8.23.custom.min_d9931121.js +125 -0
  139. data/app/assets/javascripts/kirgudu_base/jquery.blockUI.js +534 -0
  140. data/app/assets/javascripts/kirgudu_base/jquery.bookblock.js +533 -0
  141. data/app/assets/javascripts/kirgudu_base/jquery.cookie.js +94 -0
  142. data/app/assets/javascripts/kirgudu_base/jquery.dataTables.js +12092 -0
  143. data/app/assets/javascripts/kirgudu_base/jquery.endless-scroll.js +343 -0
  144. data/app/assets/javascripts/kirgudu_base/jquery.fancybox-buttons.js +121 -0
  145. data/app/assets/javascripts/kirgudu_base/jquery.fancybox-media.js +196 -0
  146. data/app/assets/javascripts/kirgudu_base/jquery.fancybox-thumbs.js +162 -0
  147. data/app/assets/javascripts/kirgudu_base/jquery.fancybox.js +1985 -0
  148. data/app/assets/javascripts/kirgudu_base/jquery.flot.crosshair.js +167 -0
  149. data/app/assets/javascripts/kirgudu_base/jquery.flot.js +2599 -0
  150. data/app/assets/javascripts/kirgudu_base/jquery.flot.pie.js +751 -0
  151. data/app/assets/javascripts/kirgudu_base/jquery.flot.resize.js +60 -0
  152. data/app/assets/javascripts/kirgudu_base/jquery.flot.spider.js +314 -0
  153. data/app/assets/javascripts/kirgudu_base/jquery.flot.stack.js +184 -0
  154. data/app/assets/javascripts/kirgudu_base/jquery.history.js +1 -0
  155. data/app/assets/javascripts/kirgudu_base/jquery.jcarousel.min.js +16 -0
  156. data/app/assets/javascripts/kirgudu_base/jquery.jeditable.js +543 -0
  157. data/app/assets/javascripts/kirgudu_base/jquery.js +2 -0
  158. data/app/assets/javascripts/kirgudu_base/jquery.json-2.3.min.js +23 -0
  159. data/app/assets/javascripts/kirgudu_base/jquery.maskedinput-1.3.js +258 -0
  160. data/app/assets/javascripts/kirgudu_base/jquery.mousewheel-min.js +12 -0
  161. data/app/assets/javascripts/kirgudu_base/jquery.peity.min.js +11 -0
  162. data/app/assets/javascripts/kirgudu_base/jquery.simplemodal-1.4.4.js +716 -0
  163. data/app/assets/javascripts/kirgudu_base/jquery.slides.min.js +7 -0
  164. data/app/assets/javascripts/kirgudu_base/jquery.sparkline.min.js +5 -0
  165. data/app/assets/javascripts/kirgudu_base/jquery.tagsinput.js +354 -0
  166. data/app/assets/javascripts/kirgudu_base/jquery.tools.min.js +17 -0
  167. data/app/assets/javascripts/kirgudu_base/jquery.touchdown.js +54 -0
  168. data/app/assets/javascripts/kirgudu_base/jquery.uniform.min.js +17 -0
  169. data/app/assets/javascripts/kirgudu_base/jquery.uploadify-3.1.js +975 -0
  170. data/app/assets/javascripts/kirgudu_base/jquery.uploadify.min.js +16 -0
  171. data/app/assets/javascripts/kirgudu_base/jquery.url-2.0.js +174 -0
  172. data/app/assets/javascripts/kirgudu_base/jquery.validate.min.js +4 -0
  173. data/app/assets/javascripts/kirgudu_base/jquerypp.custom.js +301 -0
  174. data/app/assets/javascripts/kirgudu_base/justgage.1.0.1.min.js +12 -0
  175. data/app/assets/javascripts/kirgudu_base/main.js +157 -0
  176. data/app/assets/javascripts/kirgudu_base/modernizr.custom.32549.js +815 -0
  177. data/app/assets/javascripts/kirgudu_base/mustache.js +532 -0
  178. data/app/assets/javascripts/kirgudu_base/popbox.js +57 -0
  179. data/app/assets/javascripts/kirgudu_base/raphael.2.1.0.min.js +10 -0
  180. data/app/assets/javascripts/kirgudu_base/scripts.js +1277 -0
  181. data/app/assets/javascripts/kirgudu_base/scripts_OLD.js +204 -0
  182. data/app/assets/javascripts/kirgudu_base/sub_select.js +50 -0
  183. data/app/assets/javascripts/kirgudu_base/swfobject.js +5 -0
  184. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shAutoloader.js +17 -0
  185. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushAS3.js +59 -0
  186. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushAppleScript.js +75 -0
  187. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushBash.js +59 -0
  188. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushCSharp.js +65 -0
  189. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushColdFusion.js +100 -0
  190. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushCpp.js +97 -0
  191. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushCss.js +91 -0
  192. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushDelphi.js +55 -0
  193. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushDiff.js +41 -0
  194. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushErlang.js +52 -0
  195. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushGroovy.js +67 -0
  196. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushJScript.js +52 -0
  197. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushJava.js +57 -0
  198. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushJavaFX.js +58 -0
  199. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushPerl.js +72 -0
  200. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushPhp.js +88 -0
  201. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushPlain.js +33 -0
  202. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushPowerShell.js +74 -0
  203. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushPython.js +64 -0
  204. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushRuby.js +55 -0
  205. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushSass.js +94 -0
  206. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushScala.js +51 -0
  207. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushSql.js +66 -0
  208. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushVb.js +56 -0
  209. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shBrushXml.js +69 -0
  210. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shCore.js +17 -0
  211. data/app/assets/javascripts/kirgudu_base/syntax-highlighter/shLegacy.js +17 -0
  212. data/app/assets/javascripts/kirgudu_base/textarea-autogrow.js +55 -0
  213. data/app/assets/javascripts/kirgudu_base/tiny_mce.js +1 -0
  214. data/app/assets/javascripts/kirgudu_base/watch.js +81 -0
  215. data/app/assets/javascripts/kirgudu_base/web/inputPlaceholder.js +82 -0
  216. data/app/assets/javascripts/kirgudu_base/web/js.js +91 -0
  217. data/app/assets/javascripts/kirgudu_base/web/navigate.js +20 -0
  218. data/app/assets/javascripts/kirgudu_base/web/watch.js +1706 -0
  219. data/app/assets/javascripts/kirgudu_base/wysihtml5-0.3.0.min.js +261 -0
  220. data/app/assets/stylesheets/kirgudu_base/bootstrap.css +4551 -0
  221. data/app/assets/stylesheets/kirgudu_base/chosen.css +397 -0
  222. data/app/assets/stylesheets/kirgudu_base/fullcalendar.css +655 -0
  223. data/app/assets/stylesheets/kirgudu_base/info-message.css +79 -0
  224. data/app/assets/stylesheets/kirgudu_base/jdpicker.css +200 -0
  225. data/app/assets/stylesheets/kirgudu_base/jquery-ui-1.8.23.custom.css +1235 -0
  226. data/app/assets/stylesheets/kirgudu_base/jquery.fancybox-buttons.css +96 -0
  227. data/app/assets/stylesheets/kirgudu_base/jquery.fancybox-thumbs.css +54 -0
  228. data/app/assets/stylesheets/kirgudu_base/jquery.fancybox.css +249 -0
  229. data/app/assets/stylesheets/kirgudu_base/jquery.tagsinput.css +7 -0
  230. data/app/assets/stylesheets/kirgudu_base/main.css +1368 -0
  231. data/app/assets/stylesheets/kirgudu_base/menu.css +159 -0
  232. data/app/assets/stylesheets/kirgudu_base/popbox.css +58 -0
  233. data/app/assets/stylesheets/kirgudu_base/responsive.css +2249 -0
  234. data/app/assets/stylesheets/kirgudu_base/switcher.css +80 -0
  235. data/app/assets/stylesheets/kirgudu_base/syntax-higlignter/shCore.css +226 -0
  236. data/app/assets/stylesheets/kirgudu_base/syntax-higlignter/shCoreDefault.css +328 -0
  237. data/app/assets/stylesheets/kirgudu_base/syntax-higlignter/shCoreDjango.css +331 -0
  238. data/app/assets/stylesheets/kirgudu_base/syntax-higlignter/shCoreEclipse.css +339 -0
  239. data/app/assets/stylesheets/kirgudu_base/syntax-higlignter/shCoreEmacs.css +324 -0
  240. data/app/assets/stylesheets/kirgudu_base/syntax-higlignter/shCoreFadeToGrey.css +328 -0
  241. data/app/assets/stylesheets/kirgudu_base/syntax-higlignter/shCoreMDUltra.css +324 -0
  242. data/app/assets/stylesheets/kirgudu_base/syntax-higlignter/shCoreMidnight.css +324 -0
  243. data/app/assets/stylesheets/kirgudu_base/syntax-higlignter/shCoreRDark.css +324 -0
  244. data/app/assets/stylesheets/kirgudu_base/syntax-higlignter/shThemeDefault.css +117 -0
  245. data/app/assets/stylesheets/kirgudu_base/syntax-higlignter/shThemeDjango.css +120 -0
  246. data/app/assets/stylesheets/kirgudu_base/syntax-higlignter/shThemeEclipse.css +128 -0
  247. data/app/assets/stylesheets/kirgudu_base/syntax-higlignter/shThemeEmacs.css +113 -0
  248. data/app/assets/stylesheets/kirgudu_base/syntax-higlignter/shThemeFadeToGrey.css +117 -0
  249. data/app/assets/stylesheets/kirgudu_base/syntax-higlignter/shThemeMDUltra.css +113 -0
  250. data/app/assets/stylesheets/kirgudu_base/syntax-higlignter/shThemeMidnight.css +113 -0
  251. data/app/assets/stylesheets/kirgudu_base/syntax-higlignter/shThemeRDark.css +113 -0
  252. data/app/assets/stylesheets/kirgudu_base/uploadify.css +92 -0
  253. data/app/controllers/kirgudu_base/admin_controller.rb +91 -0
  254. data/app/controllers/kirgudu_base/application_controller.rb +676 -0
  255. data/app/controllers/kirgudu_base/cabinet_controller.rb +93 -0
  256. data/app/controllers/kirgudu_base/facade_controller.rb +82 -0
  257. data/app/helpers/kirgudu_base/application_helper.rb +486 -0
  258. data/app/helpers/kirgudu_base/breadcrumbs_helper.rb +27 -0
  259. data/app/helpers/kirgudu_base/class_helper.rb +32 -0
  260. data/app/helpers/kirgudu_base/controllers/basic_actions.rb +625 -0
  261. data/app/helpers/kirgudu_base/controllers/container_items_management_actions.rb +118 -0
  262. data/app/helpers/kirgudu_base/controllers/container_items_sorting_actions.rb +64 -0
  263. data/app/helpers/kirgudu_base/controllers/dynamic_pages.rb +30 -0
  264. data/app/helpers/kirgudu_base/controllers/obligatory_filters.rb +29 -0
  265. data/app/helpers/kirgudu_base/controllers/transaction_wrapper.rb +138 -0
  266. data/app/helpers/kirgudu_base/form_builder.rb +474 -0
  267. data/app/helpers/kirgudu_base/gui_helper.rb +443 -0
  268. data/app/helpers/kirgudu_base/models/basic_management_urls.rb +104 -0
  269. data/app/helpers/kirgudu_base/models/data_filter.rb +236 -0
  270. data/app/helpers/kirgudu_base/models/exports.rb +167 -0
  271. data/app/helpers/kirgudu_base/models/filters.rb +32 -0
  272. data/app/helpers/kirgudu_base/models/form_properties.rb +108 -0
  273. data/app/helpers/kirgudu_base/models/form_property.rb +335 -0
  274. data/app/helpers/kirgudu_base/models/methods.rb +64 -0
  275. data/app/helpers/kirgudu_base/models/scopes.rb +157 -0
  276. data/app/helpers/kirgudu_base/models/sorting.rb +99 -0
  277. data/app/helpers/kirgudu_base/models/standard_actions.rb +50 -0
  278. data/app/helpers/kirgudu_base/models/uncloneable_properties.rb +21 -0
  279. data/app/helpers/kirgudu_base/old_form_builder.rb +340 -0
  280. data/app/helpers/kirgudu_base/url_helper.rb +18 -0
  281. data/app/models/kirgudu_base/base_model.rb +293 -0
  282. data/app/models/kirgudu_base/dynamic_pages/action_for.rb +78 -0
  283. data/app/models/kirgudu_base/dynamic_pages/action_for_builder.rb +46 -0
  284. data/app/models/kirgudu_base/dynamic_pages/data_source.rb +111 -0
  285. data/app/models/kirgudu_base/dynamic_pages/data_source_builder.rb +79 -0
  286. data/app/models/kirgudu_base/dynamic_pages/form.rb +99 -0
  287. data/app/models/kirgudu_base/dynamic_pages/form_builder.rb +85 -0
  288. data/app/models/kirgudu_base/dynamic_pages/input_type.rb +17 -0
  289. data/app/models/kirgudu_base/dynamic_pages/on_change.rb +40 -0
  290. data/app/models/kirgudu_base/dynamic_pages/on_change_builder.rb +38 -0
  291. data/app/models/kirgudu_base/dynamic_pages/page.rb +55 -0
  292. data/app/models/kirgudu_base/dynamic_pages/page_builder.rb +63 -0
  293. data/app/models/kirgudu_base/dynamic_pages/property.rb +185 -0
  294. data/app/models/kirgudu_base/dynamic_pages/property_builder.rb +123 -0
  295. data/app/models/kirgudu_base/template.rb +6 -0
  296. data/app/models/kirgudu_base/template_element.rb +6 -0
  297. data/app/views/layouts/kirgudu_base/application.html.erb +141 -0
  298. data/app/views/shared/kirgudu_base/_body_javascripts_files.html.erb +71 -0
  299. data/app/views/shared/kirgudu_base/_body_javascripts_scripts.html.erb +1099 -0
  300. data/app/views/shared/kirgudu_base/_breadcrumbs.html.erb +36 -0
  301. data/app/views/shared/kirgudu_base/_head_javascripts.html.erb +21 -0
  302. data/app/views/shared/kirgudu_base/_head_stylesheets.html.erb +21 -0
  303. data/app/views/shared/kirgudu_base/_index_page_filter.html.erb +43 -0
  304. data/app/views/shared/kirgudu_base/_left_menu_standard_actions.html.erb +57 -0
  305. data/app/views/shared/kirgudu_base/_services_top_line.html.erb +5 -0
  306. data/app/views/shared/kirgudu_base/_top_nav_bar.html.erb +58 -0
  307. data/app/views/shared/kirgudu_base/entry_edit_form_renderer.html.erb +70 -0
  308. data/app/views/shared/kirgudu_base/entry_index_renderer.html.erb +98 -0
  309. data/app/views/shared/kirgudu_base/entry_new_form_renderer.html.erb +68 -0
  310. data/app/views/shared/kirgudu_base/entry_not_found_renderer.html.erb +15 -0
  311. data/app/views/shared/kirgudu_base/entry_show_renderer.html.erb +28 -0
  312. data/app/views/shared/kirgudu_base/manage_images/managing_items_index.html.erb +34 -0
  313. data/app/views/shared/kirgudu_base/manage_images/managing_items_manage.html.erb +72 -0
  314. data/app/views/shared/kirgudu_base/manage_images/managing_items_sort_index.html.erb +33 -0
  315. data/app/views/shared/kirgudu_base/manage_items/managing_items_index.html.erb +42 -0
  316. data/app/views/shared/kirgudu_base/manage_items/managing_items_manage.html.erb +66 -0
  317. data/app/views/shared/kirgudu_base/manage_items/managing_items_sort_index.html.erb +33 -0
  318. data/config/routes.rb +3 -0
  319. data/db/migrate/20131114161828_create_kirgudu_base_templates.rb +17 -0
  320. data/db/migrate/20131114165013_create_kirgudu_base_template_elements.rb +18 -0
  321. data/lib/kirgudu_base/engine.rb +6 -0
  322. data/lib/kirgudu_base/version.rb +4 -0
  323. data/lib/kirgudu_base.rb +5 -0
  324. data/lib/tasks/kirgudu_base_tasks.rake +4 -0
  325. data/test/dummy/README.rdoc +261 -0
  326. data/test/dummy/Rakefile +7 -0
  327. data/test/dummy/app/assets/javascripts/application.js +15 -0
  328. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  329. data/test/dummy/app/controllers/application_controller.rb +4 -0
  330. data/test/dummy/app/helpers/application_helper.rb +3 -0
  331. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  332. data/test/dummy/config/application.rb +60 -0
  333. data/test/dummy/config/boot.rb +11 -0
  334. data/test/dummy/config/database.yml +25 -0
  335. data/test/dummy/config/environment.rb +6 -0
  336. data/test/dummy/config/environments/development.rb +38 -0
  337. data/test/dummy/config/environments/production.rb +68 -0
  338. data/test/dummy/config/environments/test.rb +38 -0
  339. data/test/dummy/config/initializers/backtrace_silencers.rb +8 -0
  340. data/test/dummy/config/initializers/inflections.rb +16 -0
  341. data/test/dummy/config/initializers/mime_types.rb +6 -0
  342. data/test/dummy/config/initializers/secret_token.rb +8 -0
  343. data/test/dummy/config/initializers/session_store.rb +9 -0
  344. data/test/dummy/config/initializers/wrap_parameters.rb +15 -0
  345. data/test/dummy/config/locales/en.yml +5 -0
  346. data/test/dummy/config/routes.rb +5 -0
  347. data/test/dummy/config.ru +4 -0
  348. data/test/dummy/public/404.html +26 -0
  349. data/test/dummy/public/422.html +26 -0
  350. data/test/dummy/public/500.html +25 -0
  351. data/test/dummy/public/favicon.ico +0 -0
  352. data/test/dummy/script/rails +6 -0
  353. data/test/fixtures/kirgudu_base/template_elements.yml +17 -0
  354. data/test/fixtures/kirgudu_base/templates.yml +15 -0
  355. data/test/integration/navigation_test.rb +11 -0
  356. data/test/kirgudu_base_test.rb +8 -0
  357. data/test/test_helper.rb +16 -0
  358. data/test/unit/kirgudu_base/template_element_test.rb +10 -0
  359. data/test/unit/kirgudu_base/template_test.rb +10 -0
  360. metadata +492 -0
@@ -0,0 +1,533 @@
1
+ /**
2
+ * jquery.bookblock.js v1.0.2
3
+ * http://www.codrops.com
4
+ *
5
+ * Licensed under the MIT license.
6
+ * http://www.opensource.org/licenses/mit-license.php
7
+ *
8
+ * Copyright 2012, Codrops
9
+ * http://www.codrops.com
10
+ */
11
+
12
+ ;( function( $, window, undefined ) {
13
+
14
+ 'use strict';
15
+
16
+ // global
17
+ var Modernizr = window.Modernizr;
18
+
19
+ $.BookBlock = function( options, element ) {
20
+
21
+ this.$el = $( element );
22
+ this._init( options );
23
+
24
+ };
25
+
26
+ // the options
27
+ $.BookBlock.defaults = {
28
+ // speed for the flip transition in ms.
29
+ speed : 1000,
30
+ // easing for the flip transition.
31
+ easing : 'ease-in-out',
32
+ // if set to true, both the flipping page and the sides will have an overlay to simulate shadows
33
+ shadows : true,
34
+ // opacity value for the "shadow" on both sides (when the flipping page is over it).
35
+ // value : 0.1 - 1
36
+ shadowSides : 0.2,
37
+ // opacity value for the "shadow" on the flipping page (while it is flipping).
38
+ // value : 0.1 - 1
39
+ shadowFlip : 0.1,
40
+ // perspective value
41
+ perspective : 1300,
42
+ // if we should show the first item after reaching the end.
43
+ circular : false,
44
+ // if we want to specify a selector that triggers the next() function. example: '#bb-nav-next'.
45
+ nextEl : '',
46
+ // if we want to specify a selector that triggers the prev() function.
47
+ prevEl : '',
48
+ // autoplay. If true it overwrites the circular option to true!
49
+ autoplay : false,
50
+ // time (ms) between page switch, if autoplay is true.
51
+ interval : 3000,
52
+ // callback after the flip transition.
53
+ // page is the current item's index.
54
+ // isLimit is true if the current page is the last one (or the first one).
55
+ onEndFlip : function( page, isLimit ) { return false; },
56
+ // callback before the flip transition.
57
+ // page is the current item's index.
58
+ onBeforeFlip : function( page ) { return false; }
59
+ };
60
+
61
+ $.BookBlock.prototype = {
62
+
63
+ _init : function( options ) {
64
+
65
+ // options.
66
+ this.options = $.extend( true, {}, $.BookBlock.defaults, options );
67
+ // set the perspective
68
+ this.$el.css( 'perspective', this.options.perspective );
69
+ // items.
70
+ this.$items = this.$el.children( '.bb-item' );
71
+ // total items.
72
+ this.itemsCount = this.$items.length;
73
+ // current item.
74
+ this.current = 0;
75
+ // show first item.
76
+ this.$current = this.$items.eq( this.current ).show();
77
+ // get width of this.$el
78
+ // this will be necessary to create the flipping layout.
79
+ this.elWidth = this.$el.width();
80
+ // https://github.com/twitter/bootstrap/issues/2870.
81
+ var transEndEventNames = {
82
+ 'WebkitTransition' : 'webkitTransitionEnd',
83
+ 'MozTransition' : 'transitionend',
84
+ 'OTransition' : 'oTransitionEnd',
85
+ 'msTransition' : 'MSTransitionEnd',
86
+ 'transition' : 'transitionend'
87
+ };
88
+ this.transEndEventName = transEndEventNames[ Modernizr.prefixed( 'transition' ) ];
89
+ // support (3dtransforms && transitions).
90
+ this.support = Modernizr.csstransitions && Modernizr.csstransforms3d;
91
+
92
+ this._initEvents();
93
+
94
+ if( this.options.autoplay ) {
95
+
96
+ this.options.circular = true;
97
+ this._startSlideshow();
98
+
99
+ }
100
+
101
+ },
102
+ _initEvents : function() {
103
+
104
+ var self = this;
105
+
106
+ if( this.options.nextEl !== '' ) {
107
+
108
+ $( this.options.nextEl ).on( 'click.bookblock', function() {
109
+
110
+ self._stopSlideshow();
111
+ self._navigate( 'next' );
112
+ return false;
113
+
114
+ } );
115
+
116
+ }
117
+
118
+ if( this.options.prevEl !== '' ) {
119
+
120
+ $( this.options.prevEl ).on( 'click.bookblock', function() {
121
+
122
+ self._stopSlideshow();
123
+ self._navigate( 'prev' );
124
+ return false;
125
+
126
+ } );
127
+
128
+ }
129
+
130
+ },
131
+ // public method: flips next
132
+ next : function() {
133
+
134
+ this._stopSlideshow();
135
+ this._navigate( 'next' );
136
+
137
+ },
138
+ // public method: flips back
139
+ prev : function() {
140
+
141
+ this._stopSlideshow();
142
+ this._navigate( 'prev' );
143
+
144
+ },
145
+ // public method: goes to a specific page.
146
+ jump : function( page ) {
147
+
148
+ page -= 1;
149
+
150
+ if( page === this.current || page >= this.itemsCount || page < 0 ) {
151
+
152
+ return false;
153
+
154
+ }
155
+
156
+ this._stopSlideshow();
157
+ this._navigate( page > this.current ? 'next' : 'prev', page );
158
+
159
+ },
160
+ // public method: check if isAnimating is true
161
+ isActive : function() {
162
+
163
+ return this.isAnimating;
164
+
165
+ },
166
+ _navigate : function( dir, page ) {
167
+
168
+ if( this.isAnimating ) {
169
+
170
+ return false;
171
+
172
+ }
173
+
174
+ // callback trigger
175
+ this.options.onBeforeFlip( this.current );
176
+
177
+ this.isAnimating = true;
178
+ this.$current = this.$items.eq( this.current );
179
+
180
+ if( page !== undefined ) {
181
+
182
+ this.current = page;
183
+
184
+ }
185
+ else if( dir === 'next' ) {
186
+
187
+ if( !this.options.circular && this.current === this.itemsCount - 1 ) {
188
+
189
+ this.end = true;
190
+
191
+ }
192
+ else {
193
+
194
+ this.current = this.current < this.itemsCount - 1 ? this.current + 1 : 0;
195
+
196
+ }
197
+
198
+ }
199
+ else if( dir === 'prev' ) {
200
+
201
+ if( !this.options.circular && this.current === 0 ) {
202
+
203
+ this.end = true;
204
+
205
+ }
206
+ else {
207
+
208
+ this.current = this.current > 0 ? this.current - 1 : this.itemsCount - 1;
209
+
210
+ }
211
+
212
+ }
213
+
214
+ if( !this.options.circular && this.end ) {
215
+
216
+ this.$nextItem = this.$current;
217
+
218
+ }
219
+ else {
220
+
221
+ this.$nextItem = this.$items.eq( this.current );
222
+
223
+ }
224
+
225
+ if( !this.support ) {
226
+
227
+ this._layoutNoSupport( dir );
228
+
229
+ }
230
+ else {
231
+
232
+ this._layout( dir );
233
+
234
+ }
235
+
236
+ },
237
+ // with no support we consider no 3d transforms and transitions
238
+ _layoutNoSupport : function( dir ) {
239
+
240
+ this.$items.hide();
241
+
242
+ this.$nextItem.show();
243
+
244
+ this.end = false;
245
+ this.isAnimating = false;
246
+
247
+ var isLimit = dir === 'next' && this.current === this.itemsCount - 1 || dir === 'prev' && this.current === 0;
248
+ // callback trigger
249
+ this.options.onEndFlip( this.current, isLimit );
250
+
251
+ },
252
+ // creates the necessary layout for the 3d animation, and triggers the transitions
253
+ _layout : function( dir ) {
254
+
255
+ var self = this,
256
+
257
+ // basic structure:
258
+ // 1 element for the left side.
259
+ $s_left = this._addSide( 'left', dir ),
260
+ // 1 element for the flipping/middle page
261
+ $s_middle = this._addSide( 'middle', dir ),
262
+ // 1 element for the right side
263
+ $s_right = this._addSide( 'right', dir ),
264
+ // overlays
265
+ $o_left = $s_left.find( 'div.bb-overlay' ),
266
+ $o_middle_f = $s_middle.find( 'div.bb-flipoverlay:first' ),
267
+ $o_middle_b = $s_middle.find( 'div.bb-flipoverlay:last' ),
268
+ $o_right = $s_right.find( 'div.bb-overlay' ),
269
+ speed = this.options.speed;
270
+
271
+ this.$items.hide();
272
+ this.$el.prepend( $s_left, $s_middle, $s_right );
273
+
274
+ if( this.end ) {
275
+
276
+ speed = 400;
277
+
278
+ }
279
+
280
+ $s_middle.css( {
281
+ transition : 'all ' + speed + 'ms ' + this.options.easing
282
+ } ).on( this.transEndEventName, function( event ) {
283
+
284
+ if( event.target.className === 'bb-page' ) {
285
+
286
+ self.$el.children( 'div.bb-page' ).remove();
287
+ self.$nextItem.show();
288
+
289
+ self.end = false;
290
+ self.isAnimating = false;
291
+
292
+ var isLimit = dir === 'next' && self.current === self.itemsCount - 1 || dir === 'prev' && self.current === 0;
293
+
294
+ // callback trigger
295
+ self.options.onEndFlip( self.current, isLimit );
296
+
297
+ }
298
+
299
+ } );
300
+
301
+ if( dir === 'prev' ) {
302
+
303
+ $s_middle.css( {
304
+ transform : 'rotateY(-180deg)'
305
+ } );
306
+
307
+ }
308
+
309
+ // overlays
310
+ if( this.options.shadows && !this.end ) {
311
+
312
+ var o_left_style = ( dir === 'next' ) ? { transition : 'opacity ' + this.options.speed / 2 + 'ms ' + 'linear' + ' ' + this.options.speed / 2 + 'ms' } : { transition : 'opacity ' + this.options.speed / 2 + 'ms ' + 'linear', opacity : this.options.shadowSides },
313
+ o_middle_f_style = ( dir === 'next' ) ? { transition : 'opacity ' + this.options.speed / 2 + 'ms ' + 'linear' } : { transition : 'opacity ' + this.options.speed / 2 + 'ms ' + 'linear' + ' ' + this.options.speed / 2 + 'ms', opacity : this.options.shadowFlip },
314
+ o_middle_b_style = ( dir === 'next' ) ? { transition : 'opacity ' + this.options.speed / 2 + 'ms ' + 'linear' + ' ' + this.options.speed / 2 + 'ms', opacity : this.options.shadowFlip } : { transition : 'opacity ' + this.options.speed / 2 + 'ms ' + 'linear' },
315
+ o_right_style = ( dir === 'next' ) ? { transition : 'opacity ' + this.options.speed / 2 + 'ms ' + 'linear', opacity : this.options.shadowSides } : { transition : 'opacity ' + this.options.speed / 2 + 'ms ' + 'linear' + ' ' + this.options.speed / 2 + 'ms' };
316
+
317
+ $o_middle_f.css( o_middle_f_style );
318
+ $o_middle_b.css( o_middle_b_style );
319
+ $o_left.css( o_left_style );
320
+ $o_right.css( o_right_style );
321
+
322
+ }
323
+
324
+ setTimeout( function() {
325
+
326
+ var style = ( dir === 'next' ) ? 'rotateY(-180deg)' : 'rotateY(0deg)';
327
+
328
+ if( self.end ) {
329
+
330
+ // first && last pages lift up 15 deg when we can't go further.
331
+ style = ( dir === 'next' ) ? 'rotateY(-15deg)' : 'rotateY(-165deg)';
332
+
333
+ }
334
+
335
+ $s_middle.css( {
336
+ transform : style
337
+ } );
338
+
339
+ // overlays
340
+ if( self.options.shadows && !self.end ) {
341
+
342
+ $o_middle_f.css( {
343
+ opacity : ( dir === 'next' ) ? self.options.shadowFlip : 0
344
+ } );
345
+
346
+ $o_middle_b.css( {
347
+ opacity : ( dir === 'next' ) ? 0 : self.options.shadowFlip
348
+ } );
349
+
350
+ $o_left.css( {
351
+ opacity : ( dir === 'next' ) ? self.options.shadowSides : 0
352
+ } );
353
+
354
+ $o_right.css( {
355
+ opacity : ( dir === 'next' ) ? 0 : self.options.shadowSides
356
+ } );
357
+
358
+ }
359
+
360
+
361
+ }, 30 );
362
+
363
+ },
364
+ // adds the necessary sides (bb-page) to the layout
365
+ _addSide : function( side, dir ) {
366
+
367
+ var $side;
368
+
369
+ switch( side ) {
370
+
371
+ case 'left' :
372
+ /*
373
+ <div class="bb-page" style="z-index:2;">
374
+ <div class="bb-back">
375
+ <div class="bb-outer">
376
+ <div class="bb-content">
377
+ <div class="bb-inner">
378
+ dir==='next' ? [content of current page] : [content of next page]
379
+ </div>
380
+ </div>
381
+ <div class="bb-overlay"></div>
382
+ </div>
383
+ </div>
384
+ </div>
385
+ */
386
+ $side = $( '<div class="bb-page"><div class="bb-back"><div class="bb-outer"><div class="bb-content" style="width:' + this.elWidth + 'px"><div class="bb-inner">' + ( dir==='next' ? this.$current.html() : this.$nextItem.html() ) + '</div></div><div class="bb-overlay"></div></div></div></div>' ).css( 'z-index', 102 );
387
+ break;
388
+
389
+ case 'middle' :
390
+ /*
391
+ <div class="bb-page" style="z-index:3;">
392
+ <div class="bb-front">
393
+ <div class="bb-outer">
394
+ <div class="bb-content">
395
+ <div class="bb-inner">
396
+ dir==='next' ? [content of current page] : [content of next page]
397
+ </div>
398
+ </div>
399
+ <div class="bb-flipoverlay"></div>
400
+ </div>
401
+ </div>
402
+ <div class="bb-back">
403
+ <div class="bb-outer">
404
+ <div class="bb-content">
405
+ <div class="bb-inner">
406
+ dir==='next' ? [content of next page] : [content of current page]
407
+ </div>
408
+ </div>
409
+ <div class="bb-flipoverlay"></div>
410
+ </div>
411
+ </div>
412
+ </div>
413
+ */
414
+ $side = $( '<div class="bb-page"><div class="bb-front"><div class="bb-outer"><div class="bb-content" style="left:' + ( - this.elWidth / 2 ) + 'px;width:' + this.elWidth + 'px"><div class="bb-inner">' + ( dir==='next' ? this.$current.html() : this.$nextItem.html() ) + '</div></div><div class="bb-flipoverlay"></div></div></div><div class="bb-back"><div class="bb-outer"><div class="bb-content" style="width:' + this.elWidth + 'px"><div class="bb-inner">' + ( dir==='next' ? this.$nextItem.html() : this.$current.html() ) + '</div></div><div class="bb-flipoverlay"></div></div></div></div>' ).css( 'z-index', 103 );
415
+ break;
416
+
417
+ case 'right' :
418
+ /*
419
+ <div class="bb-page" style="z-index:1;">
420
+ <div class="bb-front">
421
+ <div class="bb-outer">
422
+ <div class="bb-content">
423
+ <div class="bb-inner">
424
+ dir==='next' ? [content of next page] : [content of current page]
425
+ </div>
426
+ </div>
427
+ <div class="bb-overlay"></div>
428
+ </div>
429
+ </div>
430
+ </div>
431
+ */
432
+ $side = $( '<div class="bb-page"><div class="bb-front"><div class="bb-outer"><div class="bb-content" style="left:' + ( - this.elWidth / 2 ) + 'px;width:' + this.elWidth + 'px"><div class="bb-inner">' + ( dir==='next' ? this.$nextItem.html() : this.$current.html() ) + '</div></div><div class="bb-overlay"></div></div></div></div>' ).css( 'z-index', 101 );
433
+ break;
434
+
435
+ }
436
+
437
+ return $side;
438
+
439
+ },
440
+ _startSlideshow : function() {
441
+
442
+ var self = this;
443
+
444
+ this.slideshow = setTimeout( function() {
445
+
446
+ self._navigate( 'next' );
447
+
448
+ if( self.options.autoplay ) {
449
+
450
+ self._startSlideshow();
451
+
452
+ }
453
+
454
+ }, this.options.interval );
455
+
456
+ },
457
+ _stopSlideshow : function() {
458
+
459
+ if( this.options.autoplay ) {
460
+
461
+ clearTimeout( this.slideshow );
462
+ this.options.autoplay = false;
463
+
464
+ }
465
+
466
+ }
467
+
468
+ };
469
+
470
+ var logError = function( message ) {
471
+
472
+ if ( window.console ) {
473
+
474
+ window.console.error( message );
475
+
476
+ }
477
+
478
+ };
479
+
480
+ $.fn.bookblock = function( options ) {
481
+
482
+ var instance = $.data( this, 'bookblock' );
483
+
484
+ if ( typeof options === 'string' ) {
485
+
486
+ var args = Array.prototype.slice.call( arguments, 1 );
487
+
488
+ this.each(function() {
489
+
490
+ if ( !instance ) {
491
+
492
+ logError( "cannot call methods on bookblock prior to initialization; " +
493
+ "attempted to call method '" + options + "'" );
494
+ return;
495
+
496
+ }
497
+
498
+ if ( !$.isFunction( instance[options] ) || options.charAt(0) === "_" ) {
499
+
500
+ logError( "no such method '" + options + "' for bookblock instance" );
501
+ return;
502
+
503
+ }
504
+
505
+ instance[ options ].apply( instance, args );
506
+
507
+ });
508
+
509
+ }
510
+ else {
511
+
512
+ this.each(function() {
513
+
514
+ if ( instance ) {
515
+
516
+ instance._init();
517
+
518
+ }
519
+ else {
520
+
521
+ instance = $.data( this, 'bookblock', new $.BookBlock( options, this ) );
522
+
523
+ }
524
+
525
+ });
526
+
527
+ }
528
+
529
+ return instance;
530
+
531
+ };
532
+
533
+ } )( jQuery, window );