keppler 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +6 -0
  3. data/README.md +43 -0
  4. data/Rakefile +2 -0
  5. data/bin/console +15 -0
  6. data/bin/keppler +5 -0
  7. data/bin/setup +7 -0
  8. data/installer/core/Gemfile +113 -0
  9. data/installer/core/Guardfile +18 -0
  10. data/installer/core/README.md +87 -0
  11. data/installer/core/Rakefile +6 -0
  12. data/installer/core/_config.yml +1 -0
  13. data/installer/core/app/assets/images/admin/favicon.png +0 -0
  14. data/installer/core/app/assets/images/admin/logo.png +0 -0
  15. data/installer/core/app/assets/images/admin/logo2.png +0 -0
  16. data/installer/core/app/assets/images/admin/profile-menu.jpg +0 -0
  17. data/installer/core/app/assets/images/admin/search.png +0 -0
  18. data/installer/core/app/assets/images/admin/slice-icon-orange.png +0 -0
  19. data/installer/core/app/assets/images/admin/slice-icon.png +0 -0
  20. data/installer/core/app/assets/images/admin/slice.png +0 -0
  21. data/installer/core/app/assets/images/admin/slice_white.png +0 -0
  22. data/installer/core/app/assets/images/admin/space.png +0 -0
  23. data/installer/core/app/assets/images/app/Home_Keppler.png +0 -0
  24. data/installer/core/app/assets/images/app/Home_Keppler2.png +0 -0
  25. data/installer/core/app/assets/images/app/keppler-front.png +0 -0
  26. data/installer/core/app/assets/images/app/slice-front.png +0 -0
  27. data/installer/core/app/assets/javascripts/admin/application.coffee +15 -0
  28. data/installer/core/app/assets/javascripts/admin/dropdown_top.js +7 -0
  29. data/installer/core/app/assets/javascripts/admin/file_upload.coffee +21 -0
  30. data/installer/core/app/assets/javascripts/admin/img_preview.js +18 -0
  31. data/installer/core/app/assets/javascripts/admin/main.coffee +42 -0
  32. data/installer/core/app/assets/javascripts/admin/notification.js +11 -0
  33. data/installer/core/app/assets/javascripts/admin/preview_template.js +21 -0
  34. data/installer/core/app/assets/javascripts/admin/sidebar.js +20 -0
  35. data/installer/core/app/assets/javascripts/admin/sort.coffee +8 -0
  36. data/installer/core/app/assets/javascripts/app/application.js.coffee +5 -0
  37. data/installer/core/app/assets/javascripts/app/front.js +129 -0
  38. data/installer/core/app/assets/javascripts/app/google_analytics.js.coffee +5 -0
  39. data/installer/core/app/assets/javascripts/ckeditor/config.js +130 -0
  40. data/installer/core/app/assets/javascripts/keppler_ga_dashboard/view-selector2.js +196 -0
  41. data/installer/core/app/assets/javascripts/vue_admin/index.js +87 -0
  42. data/installer/core/app/assets/stylesheets/admin/application.scss +43 -0
  43. data/installer/core/app/assets/stylesheets/admin/components/layouts/_footer.scss +5 -0
  44. data/installer/core/app/assets/stylesheets/admin/components/layouts/_settings.scss +35 -0
  45. data/installer/core/app/assets/stylesheets/admin/components/module/_show.scss +0 -0
  46. data/installer/core/app/assets/stylesheets/admin/components/navigation/_navbar.scss +79 -0
  47. data/installer/core/app/assets/stylesheets/admin/components/navigation/_sidebar.scss +91 -0
  48. data/installer/core/app/assets/stylesheets/admin/components/paginator/_paginator.scss +53 -0
  49. data/installer/core/app/assets/stylesheets/admin/pages/_devise.scss +162 -0
  50. data/installer/core/app/assets/stylesheets/admin/pages/_files.scss +83 -0
  51. data/installer/core/app/assets/stylesheets/admin/pages/_form.scss +163 -0
  52. data/installer/core/app/assets/stylesheets/admin/pages/_header.scss +34 -0
  53. data/installer/core/app/assets/stylesheets/admin/pages/_index.scss +331 -0
  54. data/installer/core/app/assets/stylesheets/admin/pages/_listing.scss +29 -0
  55. data/installer/core/app/assets/stylesheets/admin/pages/_navbar.scss +36 -0
  56. data/installer/core/app/assets/stylesheets/admin/pages/_pageslide.scss +125 -0
  57. data/installer/core/app/assets/stylesheets/admin/pages/_preloader.scss +283 -0
  58. data/installer/core/app/assets/stylesheets/admin/pages/_search.scss +220 -0
  59. data/installer/core/app/assets/stylesheets/admin/pages/_show.scss +17 -0
  60. data/installer/core/app/assets/stylesheets/admin/pages/_sidebar.scss +64 -0
  61. data/installer/core/app/assets/stylesheets/admin/pages/_switchs.scss +47 -0
  62. data/installer/core/app/assets/stylesheets/admin/pages/_themes.scss +74 -0
  63. data/installer/core/app/assets/stylesheets/admin/utils/_base.scss +66 -0
  64. data/installer/core/app/assets/stylesheets/admin/utils/_mixins.scss +26 -0
  65. data/installer/core/app/assets/stylesheets/admin/utils/_theme.scss +94 -0
  66. data/installer/core/app/assets/stylesheets/admin/utils/_variables.scss +79 -0
  67. data/installer/core/app/assets/stylesheets/app/application.scss +29 -0
  68. data/installer/core/app/assets/stylesheets/app/base/_base_project.scss +17 -0
  69. data/installer/core/app/assets/stylesheets/app/base/_typography.scss +1 -0
  70. data/installer/core/app/assets/stylesheets/app/components/_buttons.scss +0 -0
  71. data/installer/core/app/assets/stylesheets/app/components/_inputs.scss +0 -0
  72. data/installer/core/app/assets/stylesheets/app/components/_navbar.scss +21 -0
  73. data/installer/core/app/assets/stylesheets/app/layout/_container.scss +0 -0
  74. data/installer/core/app/assets/stylesheets/app/layout/_footer.scss +15 -0
  75. data/installer/core/app/assets/stylesheets/app/layout/_header.scss +0 -0
  76. data/installer/core/app/assets/stylesheets/app/pages/_front.sass +58 -0
  77. data/installer/core/app/assets/stylesheets/app/plugins/_bootstrap_override.scss +37 -0
  78. data/installer/core/app/assets/stylesheets/app/plugins/_font_awesome.scss +2 -0
  79. data/installer/core/app/assets/stylesheets/app/plugins/_keppler.scss +54 -0
  80. data/installer/core/app/assets/stylesheets/app/plugins/_npogress.scss +2 -0
  81. data/installer/core/app/assets/stylesheets/app/utils/_mixins.scss +18 -0
  82. data/installer/core/app/assets/stylesheets/app/utils/_variables.scss +28 -0
  83. data/installer/core/app/assets/stylesheets/errors/application.scss +3 -0
  84. data/installer/core/app/assets/stylesheets/errors/errors.scss +120 -0
  85. data/installer/core/app/assets/stylesheets/vendor/admin-lte/_skin-blue.scss +141 -0
  86. data/installer/core/app/controllers/admin/admin_controller.rb +72 -0
  87. data/installer/core/app/controllers/admin/customizes_controller.rb +109 -0
  88. data/installer/core/app/controllers/admin/meta_tags_controller.rb +124 -0
  89. data/installer/core/app/controllers/admin/scripts_controller.rb +131 -0
  90. data/installer/core/app/controllers/admin/settings_controller.rb +111 -0
  91. data/installer/core/app/controllers/admin/users_controller.rb +119 -0
  92. data/installer/core/app/controllers/app/app_controller.rb +23 -0
  93. data/installer/core/app/controllers/app/front_controller.rb +10 -0
  94. data/installer/core/app/controllers/application_controller.rb +96 -0
  95. data/installer/core/app/controllers/devise/sessions_controller.rb +104 -0
  96. data/installer/core/app/controllers/errors_controller.rb +28 -0
  97. data/installer/core/app/helpers/admin_helper.rb +117 -0
  98. data/installer/core/app/helpers/application_helper.rb +21 -0
  99. data/installer/core/app/helpers/customizes_helper.rb +2 -0
  100. data/installer/core/app/helpers/fronts_helper.rb +2 -0
  101. data/installer/core/app/helpers/scaffolds_helper.rb +2 -0
  102. data/installer/core/app/inputs/checkbox_material_input.rb +75 -0
  103. data/installer/core/app/inputs/file_material_input.rb +33 -0
  104. data/installer/core/app/mailers/application_mailer.rb +28 -0
  105. data/installer/core/app/models/appearance.rb +5 -0
  106. data/installer/core/app/models/application_record.rb +3 -0
  107. data/installer/core/app/models/concerns/activity_history.rb +9 -0
  108. data/installer/core/app/models/concerns/clone_record.rb +12 -0
  109. data/installer/core/app/models/customize.rb +154 -0
  110. data/installer/core/app/models/front.rb +2 -0
  111. data/installer/core/app/models/google_analytics_setting.rb +4 -0
  112. data/installer/core/app/models/meta_tag.rb +41 -0
  113. data/installer/core/app/models/role.rb +11 -0
  114. data/installer/core/app/models/script.rb +30 -0
  115. data/installer/core/app/models/setting.rb +17 -0
  116. data/installer/core/app/models/smtp_setting.rb +5 -0
  117. data/installer/core/app/models/social_account.rb +4 -0
  118. data/installer/core/app/models/user.rb +44 -0
  119. data/installer/core/app/policies/application_policy.rb +16 -0
  120. data/installer/core/app/policies/controller_policy.rb +53 -0
  121. data/installer/core/app/policies/customize_policy.rb +9 -0
  122. data/installer/core/app/policies/meta_tag_policy.rb +9 -0
  123. data/installer/core/app/policies/script_policy.rb +9 -0
  124. data/installer/core/app/policies/setting_policy.rb +9 -0
  125. data/installer/core/app/policies/user_policy.rb +17 -0
  126. data/installer/core/app/uploaders/attachment_uploader.rb +44 -0
  127. data/installer/core/app/uploaders/ckeditor_attachment_file_uploader.rb +36 -0
  128. data/installer/core/app/uploaders/ckeditor_picture_uploader.rb +47 -0
  129. data/installer/core/app/uploaders/template_uploader.rb +44 -0
  130. data/installer/core/app/views/admin/customizes/_description.html.haml +13 -0
  131. data/installer/core/app/views/admin/customizes/_form.html.haml +33 -0
  132. data/installer/core/app/views/admin/customizes/_listing.html.haml +15 -0
  133. data/installer/core/app/views/admin/customizes/_switch_default_template.html.haml +16 -0
  134. data/installer/core/app/views/admin/customizes/_switch_template.html.haml +22 -0
  135. data/installer/core/app/views/admin/customizes/index.html.haml +38 -0
  136. data/installer/core/app/views/admin/customizes/new.html.haml +4 -0
  137. data/installer/core/app/views/admin/layouts/_footer.html.haml +8 -0
  138. data/installer/core/app/views/admin/layouts/_head.html.haml +8 -0
  139. data/installer/core/app/views/admin/layouts/_header.html.haml +7 -0
  140. data/installer/core/app/views/admin/layouts/_listing_preloader.haml +5 -0
  141. data/installer/core/app/views/admin/layouts/_messages.html.haml +4 -0
  142. data/installer/core/app/views/admin/layouts/_navigation.html.haml +46 -0
  143. data/installer/core/app/views/admin/layouts/_preloader.html.haml +9 -0
  144. data/installer/core/app/views/admin/layouts/_search.html.haml +8 -0
  145. data/installer/core/app/views/admin/layouts/_sidebar.html.haml +63 -0
  146. data/installer/core/app/views/admin/layouts/application.html.haml +23 -0
  147. data/installer/core/app/views/admin/layouts/index/remote_messages.js.haml +9 -0
  148. data/installer/core/app/views/admin/meta_tags/_description.html.haml +13 -0
  149. data/installer/core/app/views/admin/meta_tags/_form.html.haml +57 -0
  150. data/installer/core/app/views/admin/meta_tags/_index_show.html.haml +26 -0
  151. data/installer/core/app/views/admin/meta_tags/_listing.html.haml +39 -0
  152. data/installer/core/app/views/admin/meta_tags/edit.html.haml +2 -0
  153. data/installer/core/app/views/admin/meta_tags/index.html.haml +80 -0
  154. data/installer/core/app/views/admin/meta_tags/new.html.haml +2 -0
  155. data/installer/core/app/views/admin/meta_tags/reload.js.haml +5 -0
  156. data/installer/core/app/views/admin/meta_tags/show.html.haml +29 -0
  157. data/installer/core/app/views/admin/meta_tags/show.js.haml +4 -0
  158. data/installer/core/app/views/admin/scripts/_description.html.haml +13 -0
  159. data/installer/core/app/views/admin/scripts/_form.html.haml +31 -0
  160. data/installer/core/app/views/admin/scripts/_index_show.html.haml +26 -0
  161. data/installer/core/app/views/admin/scripts/_listing.html.haml +42 -0
  162. data/installer/core/app/views/admin/scripts/edit.html.haml +1 -0
  163. data/installer/core/app/views/admin/scripts/index.html.haml +82 -0
  164. data/installer/core/app/views/admin/scripts/new.html.haml +1 -0
  165. data/installer/core/app/views/admin/scripts/reload.js.haml +5 -0
  166. data/installer/core/app/views/admin/scripts/show.html.haml +29 -0
  167. data/installer/core/app/views/admin/scripts/show.js.haml +4 -0
  168. data/installer/core/app/views/admin/settings/_form.html.haml +9 -0
  169. data/installer/core/app/views/admin/settings/components/_preview.html.haml +30 -0
  170. data/installer/core/app/views/admin/settings/edit.html.haml +4 -0
  171. data/installer/core/app/views/admin/settings/fields/_appearance.html.haml +62 -0
  172. data/installer/core/app/views/admin/settings/fields/_basic_information.html.haml +48 -0
  173. data/installer/core/app/views/admin/settings/fields/_email_setting.html.haml +17 -0
  174. data/installer/core/app/views/admin/settings/fields/_google_analytics_setting.html.haml +28 -0
  175. data/installer/core/app/views/admin/settings/fields/_social_accounts.html.haml +42 -0
  176. data/installer/core/app/views/admin/users/_description.html.haml +13 -0
  177. data/installer/core/app/views/admin/users/_form.html.haml +59 -0
  178. data/installer/core/app/views/admin/users/_index_show.html.haml +24 -0
  179. data/installer/core/app/views/admin/users/_listing.html.haml +49 -0
  180. data/installer/core/app/views/admin/users/edit.html.haml +1 -0
  181. data/installer/core/app/views/admin/users/index.html.haml +72 -0
  182. data/installer/core/app/views/admin/users/new.html.haml +1 -0
  183. data/installer/core/app/views/admin/users/reload.js.haml +5 -0
  184. data/installer/core/app/views/admin/users/show.html.haml +36 -0
  185. data/installer/core/app/views/admin/users/show.js.haml +4 -0
  186. data/installer/core/app/views/app/front/index.html.haml +180 -0
  187. data/installer/core/app/views/app/layouts/_footer.html.haml +3 -0
  188. data/installer/core/app/views/app/layouts/_google_analytics.html.haml +14 -0
  189. data/installer/core/app/views/app/layouts/_head.html.haml +22 -0
  190. data/installer/core/app/views/app/layouts/_messages.html.haml +6 -0
  191. data/installer/core/app/views/app/layouts/_meta_tags.html.haml +9 -0
  192. data/installer/core/app/views/app/layouts/_navigation.html.haml +13 -0
  193. data/installer/core/app/views/app/layouts/_navigation_links.html.haml +6 -0
  194. data/installer/core/app/views/app/layouts/application.html.haml +10 -0
  195. data/installer/core/app/views/application_mailer/testing.html.haml +1 -0
  196. data/installer/core/app/views/devise/mailer/reset_password_instructions.html.haml +6 -0
  197. data/installer/core/app/views/devise/passwords/edit.html.haml +27 -0
  198. data/installer/core/app/views/devise/passwords/new.html.haml +22 -0
  199. data/installer/core/app/views/devise/registrations/edit.html.erb +48 -0
  200. data/installer/core/app/views/devise/registrations/new.html.erb +19 -0
  201. data/installer/core/app/views/devise/sessions/new.html.haml +30 -0
  202. data/installer/core/app/views/errors/internal_server_error.html.haml +7 -0
  203. data/installer/core/app/views/errors/not_authorized.html.haml +7 -0
  204. data/installer/core/app/views/errors/not_found.html.haml +7 -0
  205. data/installer/core/app/views/errors/unprocessable.html.haml +7 -0
  206. data/installer/core/app/views/kaminari/_first_page.html.haml +11 -0
  207. data/installer/core/app/views/kaminari/_gap.html.haml +8 -0
  208. data/installer/core/app/views/kaminari/_last_page.html.haml +11 -0
  209. data/installer/core/app/views/kaminari/_next_page.html.haml +11 -0
  210. data/installer/core/app/views/kaminari/_page.html.haml +10 -0
  211. data/installer/core/app/views/kaminari/_paginator.html.haml +18 -0
  212. data/installer/core/app/views/kaminari/_prev_page.html.haml +11 -0
  213. data/installer/core/app/views/keppler_ga_dashboard/dashboard/analytics.html.haml +600 -0
  214. data/installer/core/app/views/layouts/errors/_head.html.haml +3 -0
  215. data/installer/core/app/views/layouts/errors/application.html.haml +11 -0
  216. data/installer/core/app/views/layouts/mailers/mailer.html.haml +3 -0
  217. data/installer/core/app/views/layouts/mailers/mailer.text.haml +1 -0
  218. data/installer/core/app/views/layouts/templates/application.html.haml +1 -0
  219. data/installer/core/app/views/public_activity/layout/_create.html.haml +45 -0
  220. data/installer/core/app/views/public_activity/layout/_destroy.html.haml +15 -0
  221. data/installer/core/app/views/public_activity/layout/_update.html.haml +45 -0
  222. data/installer/core/app/views/public_activity/session/_create.html.haml +13 -0
  223. data/installer/core/app/views/public_activity/session/_destroy.html.haml +13 -0
  224. data/installer/core/app/views/templates/kaminari/_first_page.html.haml +9 -0
  225. data/installer/core/app/views/templates/kaminari/_gap.html.haml +8 -0
  226. data/installer/core/app/views/templates/kaminari/_last_page.html.haml +9 -0
  227. data/installer/core/app/views/templates/kaminari/_next_page.html.haml +9 -0
  228. data/installer/core/app/views/templates/kaminari/_page.html.haml +10 -0
  229. data/installer/core/app/views/templates/kaminari/_paginator.html.haml +18 -0
  230. data/installer/core/app/views/templates/kaminari/_prev_page.html.haml +9 -0
  231. data/installer/core/bin/bundle +3 -0
  232. data/installer/core/bin/rails +4 -0
  233. data/installer/core/bin/rake +4 -0
  234. data/installer/core/bin/setup +29 -0
  235. data/installer/core/bin/spring +15 -0
  236. data/installer/core/config.ru +4 -0
  237. data/installer/core/config/application.rb +46 -0
  238. data/installer/core/config/boot.rb +7 -0
  239. data/installer/core/config/database.yml +25 -0
  240. data/installer/core/config/environment.rb +10 -0
  241. data/installer/core/config/environments/development.rb +57 -0
  242. data/installer/core/config/environments/production.rb +105 -0
  243. data/installer/core/config/environments/test.rb +44 -0
  244. data/installer/core/config/gaAuth/gauth_key.p12 +0 -0
  245. data/installer/core/config/initializers/assets.rb +14 -0
  246. data/installer/core/config/initializers/cookies_serializer.rb +3 -0
  247. data/installer/core/config/initializers/date_formats.rb +2 -0
  248. data/installer/core/config/initializers/devise.rb +259 -0
  249. data/installer/core/config/initializers/filter_parameter_logging.rb +5 -0
  250. data/installer/core/config/initializers/inflections.rb +16 -0
  251. data/installer/core/config/initializers/keppler_configuration.rb +9 -0
  252. data/installer/core/config/initializers/mime_types.rb +6 -0
  253. data/installer/core/config/initializers/paginate_kaminari_configuration.rb +12 -0
  254. data/installer/core/config/initializers/rolify.rb +10 -0
  255. data/installer/core/config/initializers/route_traslator.rb +3 -0
  256. data/installer/core/config/initializers/session_store.rb +5 -0
  257. data/installer/core/config/initializers/simple_form.rb +170 -0
  258. data/installer/core/config/initializers/simple_form_bootstrap.rb +155 -0
  259. data/installer/core/config/initializers/time_formats.rb +2 -0
  260. data/installer/core/config/initializers/wrap_parameters.rb +15 -0
  261. data/installer/core/config/locales/devise.en.yml +61 -0
  262. data/installer/core/config/locales/devise.es.yml +62 -0
  263. data/installer/core/config/locales/en.yml +380 -0
  264. data/installer/core/config/locales/es.yml +420 -0
  265. data/installer/core/config/locales/routes.en.yml +4 -0
  266. data/installer/core/config/locales/routes.es.yml +5 -0
  267. data/installer/core/config/locales/simple_form.en.yml +45 -0
  268. data/installer/core/config/locales/simple_form.es.yml +95 -0
  269. data/installer/core/config/locales/social_share_button.es.yml +10 -0
  270. data/installer/core/config/menu.yml +53 -0
  271. data/installer/core/config/puma.rb +56 -0
  272. data/installer/core/config/routes.rb +94 -0
  273. data/installer/core/config/sitemap.rb +27 -0
  274. data/installer/core/config/spring.rb +6 -0
  275. data/installer/core/db/migrate/20140812203549_devise_create_users.rb +50 -0
  276. data/installer/core/db/migrate/20140812210925_rolify_create_roles.rb +19 -0
  277. data/installer/core/db/migrate/20151221173228_create_activities.rb +23 -0
  278. data/installer/core/db/migrate/20160122201215_create_settings.rb +15 -0
  279. data/installer/core/db/migrate/20160126141856_create_smtp_settings.rb +14 -0
  280. data/installer/core/db/migrate/20160128131802_create_scripts.rb +11 -0
  281. data/installer/core/db/migrate/20160128151351_create_google_analytics_settings.rb +12 -0
  282. data/installer/core/db/migrate/20160128193740_create_social_accounts.rb +25 -0
  283. data/installer/core/db/migrate/20160201134918_create_meta_tags.rb +13 -0
  284. data/installer/core/db/migrate/20160201210520_create_appearances.rb +11 -0
  285. data/installer/core/db/migrate/20170603145521_create_customizes.rb +10 -0
  286. data/installer/core/db/migrate/20171225023933_create_scaffolds.rb +10 -0
  287. data/installer/core/db/schema.rb +172 -0
  288. data/installer/core/db/seeds.rb +45 -0
  289. data/installer/core/lib/generators/keppler_front/keppler_front_generator.rb +139 -0
  290. data/installer/core/lib/generators/keppler_front/templates/controllers/controller.rb +17 -0
  291. data/installer/core/lib/generators/keppler_front/templates/views/template.html.haml +180 -0
  292. data/installer/core/lib/generators/keppler_relation/keppler_relation_generator.rb +219 -0
  293. data/installer/core/lib/generators/keppler_scaffold/keppler_scaffold_generator.rb +240 -0
  294. data/installer/core/lib/generators/keppler_scaffold/templates/controllers/controller.rb +143 -0
  295. data/installer/core/lib/generators/keppler_scaffold/templates/models/model.rb +41 -0
  296. data/installer/core/lib/generators/keppler_scaffold/templates/policies/policy.rb +9 -0
  297. data/installer/core/lib/generators/keppler_scaffold/templates/views/_description.html.haml +13 -0
  298. data/installer/core/lib/generators/keppler_scaffold/templates/views/_form.html.haml +60 -0
  299. data/installer/core/lib/generators/keppler_scaffold/templates/views/_index_show.html.haml +24 -0
  300. data/installer/core/lib/generators/keppler_scaffold/templates/views/_listing.html.haml +64 -0
  301. data/installer/core/lib/generators/keppler_scaffold/templates/views/edit.html.haml +1 -0
  302. data/installer/core/lib/generators/keppler_scaffold/templates/views/index.html.haml +97 -0
  303. data/installer/core/lib/generators/keppler_scaffold/templates/views/new.html.haml +1 -0
  304. data/installer/core/lib/generators/keppler_scaffold/templates/views/reload.js.haml +5 -0
  305. data/installer/core/lib/generators/keppler_scaffold/templates/views/show.html.haml +65 -0
  306. data/installer/core/lib/generators/keppler_scaffold/templates/views/show.js.haml +4 -0
  307. data/installer/core/lib/keppler_configuration.rb +12 -0
  308. data/installer/core/lib/templates/haml/scaffold/_form.html.haml +10 -0
  309. data/installer/core/plugins/keppler_ga_dashboard/Gemfile +15 -0
  310. data/installer/core/plugins/keppler_ga_dashboard/MIT-LICENSE +20 -0
  311. data/installer/core/plugins/keppler_ga_dashboard/README.md +51 -0
  312. data/installer/core/plugins/keppler_ga_dashboard/Rakefile +37 -0
  313. data/installer/core/plugins/keppler_ga_dashboard/app/assets/javascripts/keppler_ga_dashboard/active-users.js +64 -0
  314. data/installer/core/plugins/keppler_ga_dashboard/app/assets/javascripts/keppler_ga_dashboard/active-users.js.map +1 -0
  315. data/installer/core/plugins/keppler_ga_dashboard/app/assets/javascripts/keppler_ga_dashboard/dashboard.coffee +13 -0
  316. data/installer/core/plugins/keppler_ga_dashboard/app/assets/javascripts/keppler_ga_dashboard/date-range-selector.js +2 -0
  317. data/installer/core/plugins/keppler_ga_dashboard/app/assets/javascripts/keppler_ga_dashboard/date-range-selector.js.map +1 -0
  318. data/installer/core/plugins/keppler_ga_dashboard/app/assets/javascripts/keppler_ga_dashboard/view-selector2.js +196 -0
  319. data/installer/core/plugins/keppler_ga_dashboard/app/assets/javascripts/keppler_ga_dashboard/view-selector2.js.map +1 -0
  320. data/installer/core/plugins/keppler_ga_dashboard/app/assets/stylesheets/dashboard.scss +83 -0
  321. data/installer/core/plugins/keppler_ga_dashboard/app/controllers/keppler_ga_dashboard/dashboard_controller.rb +48 -0
  322. data/installer/core/plugins/keppler_ga_dashboard/app/helpers/keppler_ga_dashboard/application_helper.rb +4 -0
  323. data/installer/core/plugins/keppler_ga_dashboard/app/helpers/keppler_ga_dashboard/dashboard_helper.rb +14 -0
  324. data/installer/core/plugins/keppler_ga_dashboard/app/views/keppler_ga_dashboard/dashboard/analytics.html.haml +359 -0
  325. data/installer/core/plugins/keppler_ga_dashboard/bin/rails +12 -0
  326. data/installer/core/plugins/keppler_ga_dashboard/config/menu.yml +6 -0
  327. data/installer/core/plugins/keppler_ga_dashboard/config/routes.rb +3 -0
  328. data/installer/core/plugins/keppler_ga_dashboard/keppler_ga_dashboard.gemspec +22 -0
  329. data/installer/core/plugins/keppler_ga_dashboard/lib/keppler_ga_dashboard.rb +10 -0
  330. data/installer/core/plugins/keppler_ga_dashboard/lib/keppler_ga_dashboard/engine.rb +5 -0
  331. data/installer/core/plugins/keppler_ga_dashboard/lib/keppler_ga_dashboard/tasks/install.rb +58 -0
  332. data/installer/core/plugins/keppler_ga_dashboard/lib/keppler_ga_dashboard/version.rb +3 -0
  333. data/installer/core/plugins/keppler_ga_dashboard/lib/tasks/keppler_ga_dashboard_tasks.rake +13 -0
  334. data/installer/core/public/favicon.ico +0 -0
  335. data/installer/core/public/humans.txt +20 -0
  336. data/installer/core/public/robots.txt +5 -0
  337. data/installer/core/test/controllers/admin_controller_test.rb +11 -0
  338. data/installer/core/test/controllers/errors_controller_test.rb +24 -0
  339. data/installer/core/test/controllers/frontend_controller_test.rb +9 -0
  340. data/installer/core/test/controllers/fronts_controller_test.rb +49 -0
  341. data/installer/core/test/controllers/meta_tags_controller_test.rb +49 -0
  342. data/installer/core/test/controllers/scaffolds_controller_test.rb +49 -0
  343. data/installer/core/test/controllers/scripts_controller_test.rb +49 -0
  344. data/installer/core/test/controllers/settings_controller_test.rb +49 -0
  345. data/installer/core/test/controllers/users_controller_test.rb +18 -0
  346. data/installer/core/test/fixtures/appearances.yml +11 -0
  347. data/installer/core/test/fixtures/caches.yml +7 -0
  348. data/installer/core/test/fixtures/fronts.yml +7 -0
  349. data/installer/core/test/fixtures/google_adwords.yml +13 -0
  350. data/installer/core/test/fixtures/google_analytics_settings.yml +13 -0
  351. data/installer/core/test/fixtures/meta_tags.yml +13 -0
  352. data/installer/core/test/fixtures/roles.yml +11 -0
  353. data/installer/core/test/fixtures/scaffolds.yml +9 -0
  354. data/installer/core/test/fixtures/scripts.yml +11 -0
  355. data/installer/core/test/fixtures/settings.yml +13 -0
  356. data/installer/core/test/fixtures/smtp_settings.yml +17 -0
  357. data/installer/core/test/fixtures/social_accounts.yml +39 -0
  358. data/installer/core/test/fixtures/users.yml +10 -0
  359. data/installer/core/test/helpers/admin_helper_test.rb +4 -0
  360. data/installer/core/test/helpers/frontend_helper_test.rb +4 -0
  361. data/installer/core/test/mailers/application_mailer_test.rb +7 -0
  362. data/installer/core/test/mailers/previews/application_mailer_preview.rb +4 -0
  363. data/installer/core/test/models/apparence_test.rb +7 -0
  364. data/installer/core/test/models/cache_test.rb +7 -0
  365. data/installer/core/test/models/front_test.rb +7 -0
  366. data/installer/core/test/models/google_analytics_setting_test.rb +7 -0
  367. data/installer/core/test/models/meta_tag_test.rb +7 -0
  368. data/installer/core/test/models/role_test.rb +7 -0
  369. data/installer/core/test/models/scaffold_test.rb +7 -0
  370. data/installer/core/test/models/script_test.rb +7 -0
  371. data/installer/core/test/models/setting_test.rb +7 -0
  372. data/installer/core/test/models/smtp_setting_test.rb +7 -0
  373. data/installer/core/test/models/social_account_test.rb +7 -0
  374. data/installer/core/test/models/user_test.rb +7 -0
  375. data/installer/core/test/test_helper.rb +16 -0
  376. data/installer/core/vendor/assets/javascripts/bounce.min.js +5 -0
  377. data/installer/db_conf/conf.yml +50 -0
  378. data/installer/lib/conf.rb +31 -0
  379. data/installer/lib/scaffold.rb +10 -0
  380. data/installer/run.sh +19 -0
  381. data/installer/scripts/bin.sh +61 -0
  382. data/lib/keppler.rb +7 -0
  383. data/lib/keppler/cli.rb +12 -0
  384. data/lib/keppler/cli/generate.rb +19 -0
  385. data/lib/keppler/version.rb +3 -0
  386. metadata +497 -0
@@ -0,0 +1,11 @@
1
+ function notify(notice){
2
+ new Noty({
3
+ text: notice,
4
+ layout: 'bottomCenter',
5
+ timeout: 2000,
6
+ animation: {
7
+ open: 'animated bounceIn', // Animate.css class names
8
+ close: 'animated flipOutX' // Animate.css class names
9
+ }
10
+ }).show();
11
+ }
@@ -0,0 +1,21 @@
1
+ $(document).ready(function() {
2
+ $('#xs').click(function() {
3
+ $('#box-body').animate({ 'width': '35%' }, 300)
4
+ })
5
+
6
+ $('#md').click(function() {
7
+ $('#box-body').animate({ 'width': '70%' }, 300)
8
+ })
9
+
10
+ $('#lg').click(function() {
11
+ $('#box-body').animate({ 'width': '100%' }, 300)
12
+ })
13
+
14
+ $('#reload').click(function() {
15
+ $('iframe').attr('src', "/")
16
+ })
17
+
18
+ $('.icon-trash').click(function() {
19
+ $('#spinner').css('display', 'block')
20
+ })
21
+ });
@@ -0,0 +1,20 @@
1
+ $(function ($) {
2
+ var $body = $('body'),
3
+ $slice = $('#sidebar-footer .brand')
4
+
5
+ // On click, capture state and save it in localStorage
6
+ $($.AdminLTE.options.sidebarToggleSelector).click(function () {
7
+ localStorage.setItem('sidebar', $body.hasClass('sidebar-collapse') ? 1 : 0);
8
+ });
9
+
10
+ // On ready, read the set state and collapse if needed
11
+ if (localStorage.getItem('sidebar') === '0') {
12
+ $body.addClass('disable-animations sidebar-collapse');
13
+ $slice.toggleClass('hidden')
14
+ requestAnimationFrame(function () {
15
+ $body.removeClass('disable-animations');
16
+ });
17
+ }
18
+
19
+
20
+ });
@@ -0,0 +1,8 @@
1
+ jQuery ->
2
+ $('#objects-container').sortable
3
+ axis: 'y'
4
+ handle: '.drop'
5
+ distance: 20
6
+ update: ->
7
+ $.post($(this).data('update-url'), $(this).sortable('serialize'))
8
+ moveDropdown()
@@ -0,0 +1,5 @@
1
+ #= require jquery
2
+ #= require jquery_ujs
3
+ #= require bootstrap
4
+ #= require bootstrap-sprockets
5
+ #= require_tree .
@@ -0,0 +1,129 @@
1
+ Keppler = $('#keppler .front-logo')
2
+ Social = $('#keppler .front-social')
3
+ Slice = $('#keppler .front-footer')
4
+ Mouse = $('#keppler .mouse-scroll')
5
+ function scrollFunction(){
6
+ scroll = $(window).scrollTop()
7
+ if (scroll <= 559) {
8
+ $('.front').css({
9
+ position: 'relative',
10
+ top: 0,
11
+ height: '616px'
12
+ })
13
+ // Keppler.css({
14
+ // transform: 'translate(0%, -186.96px) scale(0.3328)'
15
+ // })
16
+ Social.css({
17
+ display: 'inline',
18
+ opacity: 1
19
+ })
20
+ Slice.css({
21
+ display: 'inline',
22
+ opacity: 1
23
+ })
24
+ Mouse.css({
25
+ display: 'block',
26
+ opacity: 1
27
+ })
28
+ // $('#documentation').css({
29
+ // 'margin-top': '100vh'
30
+ // })
31
+ if (scroll <= 10) {
32
+ Keppler.css({
33
+ transform: 'scale(1)'
34
+ })
35
+ Social.css('opacity', '1')
36
+ Slice.css({
37
+ opacity: 1,
38
+ transform: 'scale(1)'
39
+ })
40
+ }
41
+ if (scroll > 10 && scroll <= 60) {
42
+ Keppler.css({
43
+ transform: 'scale('+(1-('0.'+scroll)*0.1)+')'
44
+ })
45
+ Social.css('opacity', 1-('0.'+scroll))
46
+ Mouse.css('opacity', 1-('0.'+scroll))
47
+ Slice.css({
48
+ opacity: 1-('0.'+scroll),
49
+ transform: 'scale('+(1-('0.'+scroll))+')'
50
+ })
51
+ }
52
+ if (scroll > 60 && scroll <= 99) {
53
+ Keppler.css({
54
+ transform: 'scale('+(1-('0.'+scroll)*0.1)+')'
55
+ })
56
+ Social.css('opacity', 1-('0.'+scroll))
57
+ Mouse.css('opacity', 1-('0.'+scroll))
58
+ Slice.css({
59
+ opacity: 1-('0.'+scroll),
60
+ transform: 'scale('+(1-('0.'+scroll))+')'
61
+ })
62
+ }
63
+ if (scroll > 99 && scroll <= 559) {
64
+ Keppler.css({
65
+ transform: 'translate(0%, -'+(scroll-(100))*0.41+'px) scale('+(1-('0.'+scroll)*1.2)+')'
66
+ })
67
+ Social.css({
68
+ display: 'none',
69
+ opacity: 0
70
+ })
71
+ Mouse.css({
72
+ display: 'none',
73
+ opacity: 0
74
+ })
75
+ Slice.css({
76
+ display: 'none',
77
+ opacity: 0
78
+ })
79
+ }
80
+ $('#documentation').css({
81
+ 'margin-top': '0',
82
+ position: 'relative'
83
+ })
84
+ }
85
+ else {
86
+ $('.front').css({
87
+ position: 'fixed',
88
+ width: '100%',
89
+ top: '-554.4px'
90
+ })
91
+ Keppler.css({
92
+ transform: 'translate(0%, -186.96px) scale(0.3328)'
93
+ })
94
+ Social.css({
95
+ display: 'none',
96
+ opacity: 0
97
+ })
98
+ Mouse.css({
99
+ display: 'none',
100
+ opacity: 0
101
+ })
102
+ Slice.css({
103
+ display: 'none',
104
+ opacity: 0
105
+ })
106
+ $('#documentation').css({
107
+ 'margin-top': '616px'
108
+ })
109
+ }
110
+ // console.log(scroll)
111
+ }
112
+ $(document).ready(function() {
113
+ $('pre code').each(function(i, block) {
114
+ // hljs.highlightBlock(block);
115
+ });
116
+ scrollFunction()
117
+ Mouse = $('.mouse-scroll')
118
+ Mouse.click(function(){
119
+ for(i=0;i<616;i++) {
120
+ setTimeout(function(){
121
+ $('html').scrollTop(i);
122
+ }, 200)
123
+ }
124
+ })
125
+ });
126
+
127
+ $( window ).scroll(function() {
128
+ scrollFunction()
129
+ })
@@ -0,0 +1,5 @@
1
+ jQuery ->
2
+ $(document).on 'page:change', ->
3
+ if window.ga?
4
+ ga('set', 'location', location.href.split('#')[0])
5
+ ga('send', 'pageview', { "title": document.title })
@@ -0,0 +1,130 @@
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ CKEDITOR.editorConfig = function( config )
7
+ {
8
+ // Define changes to default configuration here. For example:
9
+ // config.language = 'fr';
10
+ // config.uiColor = '#AADC6E';
11
+
12
+ /* Filebrowser routes */
13
+ // The location of an external file browser, that should be launched when "Browse Server" button is pressed.
14
+ config.filebrowserBrowseUrl = "/ckeditor/attachment_files";
15
+
16
+ // The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Flash dialog.
17
+ config.filebrowserFlashBrowseUrl = "/ckeditor/attachment_files";
18
+
19
+ // The location of a script that handles file uploads in the Flash dialog.
20
+ config.filebrowserFlashUploadUrl = "/ckeditor/attachment_files";
21
+
22
+ // The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Link tab of Image dialog.
23
+ config.filebrowserImageBrowseLinkUrl = "/ckeditor/pictures";
24
+
25
+ // The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Image dialog.
26
+ config.filebrowserImageBrowseUrl = "/ckeditor/pictures";
27
+
28
+ // The location of a script that handles file uploads in the Image dialog.
29
+ config.filebrowserImageUploadUrl = "/ckeditor/pictures";
30
+
31
+ // The location of a script that handles file uploads.
32
+ config.filebrowserUploadUrl = "/ckeditor/attachment_files";
33
+
34
+ config.allowedContent = true;
35
+
36
+ // Rails CSRF token
37
+ config.filebrowserParams = function(){
38
+ var csrf_token, csrf_param, meta,
39
+ metas = document.getElementsByTagName('meta'),
40
+ params = new Object();
41
+
42
+ for ( var i = 0 ; i < metas.length ; i++ ){
43
+ meta = metas[i];
44
+
45
+ switch(meta.name) {
46
+ case "csrf-token":
47
+ csrf_token = meta.content;
48
+ break;
49
+ case "csrf-param":
50
+ csrf_param = meta.content;
51
+ break;
52
+ default:
53
+ continue;
54
+ }
55
+ }
56
+
57
+ if (csrf_param !== undefined && csrf_token !== undefined) {
58
+ params[csrf_param] = csrf_token;
59
+ }
60
+
61
+ return params;
62
+ };
63
+
64
+ config.addQueryString = function( url, params ){
65
+ var queryString = [];
66
+
67
+ if ( !params ) {
68
+ return url;
69
+ } else {
70
+ for ( var i in params )
71
+ queryString.push( i + "=" + encodeURIComponent( params[ i ] ) );
72
+ }
73
+
74
+ return url + ( ( url.indexOf( "?" ) != -1 ) ? "&" : "?" ) + queryString.join( "&" );
75
+ };
76
+
77
+ // Integrate Rails CSRF token into file upload dialogs (link, image, attachment and flash)
78
+ CKEDITOR.on( 'dialogDefinition', function( ev ){
79
+ // Take the dialog name and its definition from the event data.
80
+ var dialogName = ev.data.name;
81
+ var dialogDefinition = ev.data.definition;
82
+ var content, upload;
83
+
84
+ if (CKEDITOR.tools.indexOf(['link', 'image', 'attachment', 'flash'], dialogName) > -1) {
85
+ content = (dialogDefinition.getContents('Upload') || dialogDefinition.getContents('upload'));
86
+ upload = (content == null ? null : content.get('upload'));
87
+
88
+ if (upload && upload.filebrowser && upload.filebrowser['params'] === undefined) {
89
+ upload.filebrowser['params'] = config.filebrowserParams();
90
+ upload.action = config.addQueryString(upload.action, upload.filebrowser['params']);
91
+ }
92
+ }
93
+ });
94
+
95
+ // Toolbar groups configuration.
96
+ config.toolbar = [
97
+ { name: 'document', groups: [ 'mode', 'document', 'doctools' ], items: [ 'Source'] },
98
+ { name: 'clipboard', groups: [ 'clipboard', 'undo' ], items: [ 'Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo' ] },
99
+ // { name: 'editing', groups: [ 'find', 'selection', 'spellchecker' ], items: [ 'Find', 'Replace', '-', 'SelectAll', '-', 'Scayt' ] },
100
+ // { name: 'forms', items: [ 'Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField' ] },
101
+ { name: 'links', items: [ 'Link', 'Unlink', 'Anchor' ] },
102
+ { name: 'insert', items: [ 'Image', 'Flash', 'Table', 'HorizontalRule', 'SpecialChar' ] },
103
+ { name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ], items: [ 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote', 'CreateDiv', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock' ] },
104
+ '/',
105
+ { name: 'styles', items: [ 'Styles', 'Format', 'Font', 'FontSize' ] },
106
+ { name: 'colors', items: [ 'TextColor', 'BGColor', "Maximize" ] },
107
+ { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ], items: [ 'Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat' ] }
108
+ ];
109
+
110
+ config.toolbar_mini = [
111
+ { name: 'document', items: [ 'Source', '-', 'Preview' ]},
112
+ { name: 'clipboard', groups: [ 'undo' ], items: [ 'Undo', 'Redo' ] },
113
+ { name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ], items: [ 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock' ] },
114
+ { name: 'colors', items: [ 'TextColor', 'BGColor' ] },
115
+ { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ], items: [ 'Bold', 'Italic', 'Underline', 'Strike' ] },
116
+ { name: 'insert', items: [ 'Image', 'Table', 'HorizontalRule', "Maximize" ] },
117
+ { name: 'styles', items: [ 'Styles', 'Format', 'Font', 'FontSize' ] }
118
+ ];
119
+
120
+ config.toolbar_short = [
121
+ { name: 'document', items: [ 'Source', '-', 'Preview' ]},
122
+ { name: 'clipboard', groups: [ 'undo' ], items: [ 'Undo', 'Redo' ] },
123
+ { name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ], items: [ 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock' ] },
124
+ { name: 'colors', items: [ 'TextColor', 'BGColor' ] },
125
+ { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ], items: [ 'Bold', 'Italic', 'Underline', 'Strike' ] },
126
+ { name: 'insert', items: [ 'HorizontalRule', "Maximize" ] },
127
+ { name: 'styles', items: [ 'Styles', 'Format', 'Font', 'FontSize' ] }
128
+ ];
129
+
130
+ };
@@ -0,0 +1,196 @@
1
+ ! function(t) {
2
+ function e(r) {
3
+ if (i[r]) return i[r].exports;
4
+ var s = i[r] = {
5
+ exports: {},
6
+ id: r,
7
+ loaded: !1
8
+ };
9
+ return t[r].call(s.exports, s, s.exports, e), s.loaded = !0, s.exports
10
+ }
11
+ var i = {};
12
+ return e.m = t, e.c = i, e.p = "", e(0)
13
+ }([function(t, e, i) {
14
+ "use strict";
15
+
16
+ function r(t) {
17
+ return t && t.__esModule ? t : {
18
+ "default": t
19
+ }
20
+ }
21
+ var s = i(1),
22
+ n = r(s);
23
+ gapi.analytics.ready(function() {
24
+ function t(t, e, i) {
25
+ t.innerHTML = e.map(function(t) {
26
+ var e = t.id == i ? "selected " : " ";
27
+ return "<option " + e + 'value="' + t.id + '">' + t.name + "</option>"
28
+ }).join("")
29
+ }
30
+
31
+ function e(t) {
32
+ return t.ids || t.viewId ? {
33
+ prop: "viewId",
34
+ value: t.viewId || t.ids && t.ids.replace(/^ga:/, "")
35
+ } : t.propertyId ? {
36
+ prop: "propertyId",
37
+ value: t.propertyId
38
+ } : t.accountId ? {
39
+ prop: "accountId",
40
+ value: t.accountId
41
+ } : void 0
42
+ }
43
+ gapi.analytics.createComponent("ViewSelector2", {
44
+ execute: function() {
45
+ return this.setup_(function() {
46
+ this.updateAccounts_(), this.changed_ && (this.render_(), this.onChange_())
47
+ }.bind(this)), this
48
+ },
49
+ set: function(t) {
50
+ if (!!t.ids + !!t.viewId + !!t.propertyId + !!t.accountId > 1) throw new Error('You cannot specify more than one of the following options: "ids", "viewId", "accountId", "propertyId"');
51
+ if (t.container && this.container) throw new Error("You cannot change containers once a view selector has been rendered on the page.");
52
+ var e = this.get();
53
+ return (e.ids != t.ids || e.viewId != t.viewId || e.propertyId != t.propertyId || e.accountId != t.accountId) && (e.ids = null, e.viewId = null, e.propertyId = null, e.accountId = null), gapi.analytics.Component.prototype.set.call(this, t)
54
+ },
55
+ setup_: function(t) {
56
+ function e() {
57
+ n["default"].get().then(function(e) {
58
+ i.summaries = e, i.accounts = i.summaries.all(), t()
59
+ }, function(t) {
60
+ i.emit("error", t)
61
+ })
62
+ }
63
+ var i = this;
64
+ gapi.analytics.auth.isAuthorized() ? e() : gapi.analytics.auth.on("success", e)
65
+ },
66
+ updateAccounts_: function() {
67
+ var t, i, r, s = this.get(),
68
+ n = e(s);
69
+ if (n) switch (n.prop) {
70
+ case "viewId":
71
+ t = this.summaries.getProfile(n.value), i = this.summaries.getAccountByProfileId(n.value), r = this.summaries.getWebPropertyByProfileId(n.value);
72
+ break;
73
+ case "propertyId":
74
+ r = this.summaries.getWebProperty(n.value), i = this.summaries.getAccountByWebPropertyId(n.value), t = r && r.views && r.views[0];
75
+ break;
76
+ case "accountId":
77
+ i = this.summaries.getAccount(n.value), r = i && i.properties && i.properties[0], t = r && r.views && r.views[0]
78
+ } else i = this.accounts[0], r = i && i.properties && i.properties[0], t = r && r.views && r.views[0];
79
+ i || r || t ? (i != this.account || r != this.property || t != this.view) && (this.changed_ = {
80
+ account: i && i != this.account,
81
+ property: r && r != this.property,
82
+ view: t && t != this.view
83
+ }, this.account = i, this.properties = i.properties, this.property = r, this.views = r && r.views, this.view = t, this.ids = t && "ga:" + t.id) : this.emit("error", new Error("You do not have access to " + n.prop.slice(0, -2) + " : " + n.value))
84
+ },
85
+ render_: function() {
86
+ var e = this.get();
87
+ this.container = "string" == typeof e.container ? document.getElementById(e.container) : e.container, this.container.innerHTML = e.template || this.template;
88
+ var i = this.container.querySelectorAll("select"),
89
+ r = this.accounts,
90
+ s = this.properties || [{
91
+ name: "(Empty)",
92
+ id: ""
93
+ }],
94
+ n = this.views || [{
95
+ name: "(Empty)",
96
+ id: ""
97
+ }];
98
+ t(i[0], r, this.account.id), t(i[1], s, this.property && this.property.id), t(i[2], n, this.view && this.view.id), i[0].onchange = this.onUserSelect_.bind(this, i[0], "accountId"), i[1].onchange = this.onUserSelect_.bind(this, i[1], "propertyId"), i[2].onchange = this.onUserSelect_.bind(this, i[2], "viewId")
99
+ },
100
+ onChange_: function() {
101
+ var t = {
102
+ account: this.account,
103
+ property: this.property,
104
+ view: this.view,
105
+ ids: this.view && "ga:" + this.view.id
106
+ };
107
+ this.changed_ && (this.changed_.account && this.emit("accountChange", t), this.changed_.property && this.emit("propertyChange", t), this.changed_.view && (this.emit("viewChange", t), this.emit("idsChange", t), this.emit("change", t.ids))), this.changed_ = null
108
+ },
109
+ onUserSelect_: function(t, e) {
110
+ var i = {};
111
+ i[e] = t.value, this.set(i), this.execute()
112
+ },
113
+ template: '<div class="ViewSelector2 row"> <div class="ViewSelector2-item col s4" style="display:none;"> <label>Cuenta</label> <select class="form-control"></select> </div> <div class="ViewSelector2-item col-lg-6"> <label>Propiedad</label> <select class="form-control"></select> </div> <div class="ViewSelector2-item col-lg-6"> <label>Vista</label> <select class="form-control"></select> </div></div>'
114
+ })
115
+ })
116
+ }, function(t, e, i) {
117
+ function r() {
118
+ var t = gapi.client.request({
119
+ path: o
120
+ }).then(function(t) {
121
+ return t
122
+ });
123
+ return new t.constructor(function(e, i) {
124
+ var r = [];
125
+ t.then(function s(t) {
126
+ var a = t.result;
127
+ a.items ? r = r.concat(a.items) : i(new Error("You do not have any Google Analytics accounts. Go to http://google.com/analytics to sign up.")), a.startIndex + a.itemsPerPage <= a.totalResults ? gapi.client.request({
128
+ path: o,
129
+ params: {
130
+ "start-index": a.startIndex + a.itemsPerPage
131
+ }
132
+ }).then(s) : e(new n(r))
133
+ }).then(null, i)
134
+ })
135
+ }
136
+ var s, n = i(2),
137
+ o = "/analytics/v3/management/accountSummaries";
138
+ t.exports = {
139
+ get: function(t) {
140
+ return t && (s = null), s || (s = r())
141
+ }
142
+ }
143
+ }, function(t, e, i) {
144
+ function r(t) {
145
+ this.accounts_ = t, this.webProperties_ = [], this.profiles_ = [], this.accountsById_ = {}, this.webPropertiesById_ = this.propertiesById_ = {}, this.profilesById_ = this.viewsById_ = {};
146
+ for (var e, i = 0; e = this.accounts_[i]; i++)
147
+ if (this.accountsById_[e.id] = {
148
+ self: e
149
+ }, e.webProperties) {
150
+ s(e, "webProperties", "properties");
151
+ for (var r, n = 0; r = e.webProperties[n]; n++)
152
+ if (this.webProperties_.push(r), this.webPropertiesById_[r.id] = {
153
+ self: r,
154
+ parent: e
155
+ }, r.profiles) {
156
+ s(r, "profiles", "views");
157
+ for (var o, a = 0; o = r.profiles[a]; a++) this.profiles_.push(o), this.profilesById_[o.id] = {
158
+ self: o,
159
+ parent: r,
160
+ grandParent: e
161
+ }
162
+ }
163
+ }
164
+ }
165
+
166
+ function s(t, e, i) {
167
+ Object.defineProperty ? Object.defineProperty(t, i, {
168
+ get: function() {
169
+ return t[e]
170
+ }
171
+ }) : t[i] = t[e]
172
+ }
173
+ r.prototype.all = function() {
174
+ return this.accounts_
175
+ }, s(r.prototype, "all", "allAccounts"), r.prototype.allWebProperties = function() {
176
+ return this.webProperties_
177
+ }, s(r.prototype, "allWebProperties", "allProperties"), r.prototype.allProfiles = function() {
178
+ return this.profiles_
179
+ }, s(r.prototype, "allProfiles", "allViews"), r.prototype.get = function(t) {
180
+ if (!!t.accountId + !!t.webPropertyId + !!t.propertyId + !!t.profileId + !!t.viewId > 1) throw new Error('get() only accepts an object with a single property: either "accountId", "webPropertyId", "propertyId", "profileId" or "viewId"');
181
+ return this.getProfile(t.profileId || t.viewId) || this.getWebProperty(t.webPropertyId || t.propertyId) || this.getAccount(t.accountId)
182
+ }, r.prototype.getAccount = function(t) {
183
+ return this.accountsById_[t] && this.accountsById_[t].self
184
+ }, r.prototype.getWebProperty = function(t) {
185
+ return this.webPropertiesById_[t] && this.webPropertiesById_[t].self
186
+ }, s(r.prototype, "getWebProperty", "getProperty"), r.prototype.getProfile = function(t) {
187
+ return this.profilesById_[t] && this.profilesById_[t].self
188
+ }, s(r.prototype, "getProfile", "getView"), r.prototype.getAccountByProfileId = function(t) {
189
+ return this.profilesById_[t] && this.profilesById_[t].grandParent
190
+ }, s(r.prototype, "getAccountByProfileId", "getAccountByViewId"), r.prototype.getWebPropertyByProfileId = function(t) {
191
+ return this.profilesById_[t] && this.profilesById_[t].parent
192
+ }, s(r.prototype, "getWebPropertyByProfileId", "getPropertyByViewId"), r.prototype.getAccountByWebPropertyId = function(t) {
193
+ return this.webPropertiesById_[t] && this.webPropertiesById_[t].parent
194
+ }, s(r.prototype, "getAccountByWebPropertyId", "getAccountByPropertyId"), t.exports = r
195
+ }]);
196
+ //# sourceMappingURL=view-selector2.js.map