aleph_analytics 0.0.0.alpha
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.md +0 -0
- data/Gemfile +70 -0
- data/Gemfile.lock +489 -0
- data/LICENSE +21 -0
- data/Procfile +2 -0
- data/README.md +1 -0
- data/ROADMAP.md +7 -0
- data/Rakefile +9 -0
- data/app/assets/fonts/octicons-local.ttf +0 -0
- data/app/assets/fonts/octicons.eot +0 -0
- data/app/assets/fonts/octicons.svg +183 -0
- data/app/assets/fonts/octicons.ttf +0 -0
- data/app/assets/fonts/octicons.woff +0 -0
- data/app/assets/javascripts/angular/aleph.js.es6 +90 -0
- data/app/assets/javascripts/angular/config/schema_completer_config.js.es6 +71 -0
- data/app/assets/javascripts/angular/controllers/alerts/alert_index_controller.js.es6 +16 -0
- data/app/assets/javascripts/angular/controllers/alerts/alert_show_controller.js.es6 +99 -0
- data/app/assets/javascripts/angular/controllers/controllers.js.es6 +65 -0
- data/app/assets/javascripts/angular/controllers/query/query_index_controller.js.es6 +80 -0
- data/app/assets/javascripts/angular/controllers/query/query_repl_controller.js.es6 +147 -0
- data/app/assets/javascripts/angular/controllers/query/query_show_controller.js.es6 +43 -0
- data/app/assets/javascripts/angular/controllers/schema/schema_index_controller.js.es6 +61 -0
- data/app/assets/javascripts/angular/controllers/snippet/snippet_index_controller.js.es6 +80 -0
- data/app/assets/javascripts/angular/directives/directives.js.es6 +30 -0
- data/app/assets/javascripts/angular/directives/query/query_details_directive.js.es6 +87 -0
- data/app/assets/javascripts/angular/directives/query/query_version_sidebar_directive.js.es6 +65 -0
- data/app/assets/javascripts/angular/directives/result/result_directive.js.es6 +59 -0
- data/app/assets/javascripts/angular/directives/result/results_directive.js.es6 +30 -0
- data/app/assets/javascripts/angular/directives/visualization_directive.js.es6 +101 -0
- data/app/assets/javascripts/angular/filters/filters.js.es6 +27 -0
- data/app/assets/javascripts/angular/services/alert/alert.js.es6 +51 -0
- data/app/assets/javascripts/angular/services/alert/alert_resource.js.es6 +10 -0
- data/app/assets/javascripts/angular/services/lib/ace_completers.js.es6 +29 -0
- data/app/assets/javascripts/angular/services/lib/ace_sql_parse.js.es6 +156 -0
- data/app/assets/javascripts/angular/services/lib/action_handler.js.es6 +73 -0
- data/app/assets/javascripts/angular/services/lib/alert_flash.js.es6 +30 -0
- data/app/assets/javascripts/angular/services/lib/default_ace_configurator_service.js.es6 +74 -0
- data/app/assets/javascripts/angular/services/lib/github_url_service.js.es6 +53 -0
- data/app/assets/javascripts/angular/services/lib/keyword_completer.js.es6 +36 -0
- data/app/assets/javascripts/angular/services/lib/local_resource.js.es6 +20 -0
- data/app/assets/javascripts/angular/services/lib/lock_service.js.es6 +48 -0
- data/app/assets/javascripts/angular/services/lib/locking_poll_service.js.es6 +42 -0
- data/app/assets/javascripts/angular/services/lib/matcher_runner.js.es6 +65 -0
- data/app/assets/javascripts/angular/services/lib/navigation_guard.js.es6 +45 -0
- data/app/assets/javascripts/angular/services/lib/open_repl_service.js.es6 +56 -0
- data/app/assets/javascripts/angular/services/lib/page_title_manager.js.es6 +38 -0
- data/app/assets/javascripts/angular/services/lib/pagination.js.es6 +114 -0
- data/app/assets/javascripts/angular/services/lib/pagination_components.js.es6 +91 -0
- data/app/assets/javascripts/angular/services/lib/parameter_methods.js.es6 +35 -0
- data/app/assets/javascripts/angular/services/lib/role_model.js.es6 +21 -0
- data/app/assets/javascripts/angular/services/lib/schema_completer.js.es6 +56 -0
- data/app/assets/javascripts/angular/services/lib/selection_tag_input.js.es6 +42 -0
- data/app/assets/javascripts/angular/services/lib/server_configurations.js.es6 +15 -0
- data/app/assets/javascripts/angular/services/lib/spinner_state.js.es6 +45 -0
- data/app/assets/javascripts/angular/services/lib/tag_resource.js.es6 +14 -0
- data/app/assets/javascripts/angular/services/model/collection_dirty_awareness.js.es6 +33 -0
- data/app/assets/javascripts/angular/services/model/collection_model_base.js.es6 +75 -0
- data/app/assets/javascripts/angular/services/model/dirty_aware_collection_model.js.es6 +31 -0
- data/app/assets/javascripts/angular/services/model/dirty_aware_model.js.es6 +50 -0
- data/app/assets/javascripts/angular/services/model/model_base.js.es6 +80 -0
- data/app/assets/javascripts/angular/services/model/model_state.js.es6 +51 -0
- data/app/assets/javascripts/angular/services/model/models.js.es6 +15 -0
- data/app/assets/javascripts/angular/services/model/unpersisted_model.js.es6 +20 -0
- data/app/assets/javascripts/angular/services/model_generation/model_factory.js.es6 +28 -0
- data/app/assets/javascripts/angular/services/model_generation/model_generation.js.es6 +13 -0
- data/app/assets/javascripts/angular/services/model_generation/model_manager.js.es6 +86 -0
- data/app/assets/javascripts/angular/services/model_generation/resource_factory.js.es6 +38 -0
- data/app/assets/javascripts/angular/services/model_generation/standard_collection_model.js.es6 +25 -0
- data/app/assets/javascripts/angular/services/model_generation/standard_model.js.es6 +38 -0
- data/app/assets/javascripts/angular/services/query/query.js.es6 +55 -0
- data/app/assets/javascripts/angular/services/query/query_handler.js.es6 +40 -0
- data/app/assets/javascripts/angular/services/query/query_loader.js.es6 +54 -0
- data/app/assets/javascripts/angular/services/query/query_request_transformers.js.es6 +26 -0
- data/app/assets/javascripts/angular/services/query/query_resource.js.es6 +21 -0
- data/app/assets/javascripts/angular/services/query/query_tab.js.es6 +63 -0
- data/app/assets/javascripts/angular/services/query/query_versions.js.es6 +21 -0
- data/app/assets/javascripts/angular/services/result/result.js.es6 +26 -0
- data/app/assets/javascripts/angular/services/result/result_poller.js.es6 +30 -0
- data/app/assets/javascripts/angular/services/result/result_runner.js.es6 +48 -0
- data/app/assets/javascripts/angular/services/result/results.js.es6 +10 -0
- data/app/assets/javascripts/angular/services/schema/schema_column.js.es6 +93 -0
- data/app/assets/javascripts/angular/services/schema/schema_column_resource.js.es6 +12 -0
- data/app/assets/javascripts/angular/services/schema/schema_columns.js.es6 +57 -0
- data/app/assets/javascripts/angular/services/schema/schema_comment_resource.js.es6 +12 -0
- data/app/assets/javascripts/angular/services/services.js.es6 +140 -0
- data/app/assets/javascripts/angular/services/snippet/ace_snippet_manager.js.es6 +44 -0
- data/app/assets/javascripts/angular/services/visualization/source_renderer.js.es6 +70 -0
- data/app/assets/javascripts/angular/services/visualization/visualization.js.es6 +47 -0
- data/app/assets/javascripts/angular/services/visualization/visualization_service.js.es6 +67 -0
- data/app/assets/javascripts/angular/services/visualization/visualizations.js.es6 +11 -0
- data/app/assets/javascripts/application.js +22 -0
- data/app/assets/javascripts/lib/key_binding.js +24 -0
- data/app/assets/javascripts/lib/serialized_storage.js +11 -0
- data/app/assets/javascripts/lib/underscore_contrib/array_builders.js +190 -0
- data/app/assets/javascripts/lib/underscore_contrib/function_predicates.js +95 -0
- data/app/assets/javascripts/lib/underscore_contrib/object_builders.js +111 -0
- data/app/assets/javascripts/lib/underscore_contrib/object_selectors.js +112 -0
- data/app/assets/javascripts/lib/underscore_contrib/util_existential.js +15 -0
- data/app/assets/javascripts/lib/utils.js +29 -0
- data/app/assets/stylesheets/alert_bar.css.sass +13 -0
- data/app/assets/stylesheets/alerts.css.sass +66 -0
- data/app/assets/stylesheets/application.css.sass +35 -0
- data/app/assets/stylesheets/comments.css.sass +7 -0
- data/app/assets/stylesheets/index_components.css.sass +105 -0
- data/app/assets/stylesheets/queries.css.sass +110 -0
- data/app/assets/stylesheets/repl.css.sass +59 -0
- data/app/assets/stylesheets/results.css.sass +25 -0
- data/app/assets/stylesheets/schemas.css.sass +56 -0
- data/app/assets/stylesheets/sessions.css.sass +9 -0
- data/app/assets/stylesheets/shared.css.sass +157 -0
- data/app/assets/stylesheets/sidebar.css.sass +85 -0
- data/app/assets/stylesheets/snippets.css.sass +15 -0
- data/app/assets/stylesheets/sort_bar.css.sass +10 -0
- data/app/assets/stylesheets/spinners.css.sass +67 -0
- data/app/assets/stylesheets/summary.css.sass +16 -0
- data/app/assets/stylesheets/variables.css.sass +110 -0
- data/app/assets/stylesheets/visualizations.css.sass +15 -0
- data/app/controllers/alerts_controller.rb +72 -0
- data/app/controllers/application_controller.rb +38 -0
- data/app/controllers/columns_controller.rb +21 -0
- data/app/controllers/queries_controller.rb +85 -0
- data/app/controllers/query_versions_controller.rb +38 -0
- data/app/controllers/result_csvs_controller.rb +29 -0
- data/app/controllers/results_controller.rb +53 -0
- data/app/controllers/roles_controller.rb +9 -0
- data/app/controllers/schema_comments_controller.rb +47 -0
- data/app/controllers/snippets_controller.rb +67 -0
- data/app/controllers/tags_controller.rb +19 -0
- data/app/controllers/visualizations_controller.rb +61 -0
- data/app/mailers/alert_mailer.rb +8 -0
- data/app/models/ability.rb +31 -0
- data/app/models/alert.rb +139 -0
- data/app/models/alert_execution.rb +25 -0
- data/app/models/query.rb +85 -0
- data/app/models/query_execution.rb +39 -0
- data/app/models/query_role.rb +3 -0
- data/app/models/query_version.rb +61 -0
- data/app/models/result.rb +67 -0
- data/app/models/schema_comment.rb +3 -0
- data/app/models/snippet.rb +3 -0
- data/app/models/user.rb +19 -0
- data/app/models/visualization.rb +7 -0
- data/app/serializers/alert_serializer.rb +10 -0
- data/app/serializers/query_index_serializer.rb +7 -0
- data/app/serializers/query_serializer.rb +8 -0
- data/app/serializers/query_version_serializer.rb +3 -0
- data/app/serializers/result_serializer.rb +3 -0
- data/app/views/alert_mailer/alert_failing_email.html.haml +17 -0
- data/app/views/alerts/_index.html.haml +10 -0
- data/app/views/alerts/_index_item.html.haml +25 -0
- data/app/views/alerts/_index_sidebar.html.haml +20 -0
- data/app/views/alerts/_index_sort_bar.html.haml +22 -0
- data/app/views/alerts/_show.html.haml +90 -0
- data/app/views/application/_rollbar.html.erb +9 -0
- data/app/views/application/index.html.haml +1 -0
- data/app/views/application/unauthorized.html.haml +5 -0
- data/app/views/application/unauthorized.json +3 -0
- data/app/views/devise/sessions/new.html.haml +22 -0
- data/app/views/layouts/application.html.haml +78 -0
- data/app/views/queries/_alert.html.haml +6 -0
- data/app/views/queries/_comments.html.haml +5 -0
- data/app/views/queries/_index.html.haml +15 -0
- data/app/views/queries/_index_item.html.haml +37 -0
- data/app/views/queries/_index_sidebar.html.haml +58 -0
- data/app/views/queries/_index_sort_bar.html.haml +29 -0
- data/app/views/queries/_query_details.html.haml +81 -0
- data/app/views/queries/_query_version_sidebar.html.haml +46 -0
- data/app/views/queries/_repl.html.haml +79 -0
- data/app/views/queries/_results.html.haml +29 -0
- data/app/views/queries/_role_template.html.haml +3 -0
- data/app/views/queries/_show.html.haml +28 -0
- data/app/views/queries/_tag_template.html.haml +3 -0
- data/app/views/results/_show.html.haml +45 -0
- data/app/views/schemas/_index.html.haml +47 -0
- data/app/views/snippets/_index.html.haml +30 -0
- data/app/views/snippets/_index_item.html.haml +20 -0
- data/app/views/visualizations/_show.html.haml +83 -0
- data/bin/aleph +71 -0
- data/bin/bundle +3 -0
- data/bin/executables/bundle_runner.rb +12 -0
- data/bin/executables/clock.rb +7 -0
- data/bin/executables/deps.rb +10 -0
- data/bin/executables/import_env_variables.rb +17 -0
- data/bin/executables/init_db.rb +7 -0
- data/bin/executables/lib/config_generator.rb +51 -0
- data/bin/executables/lib/env_writer.rb +25 -0
- data/bin/executables/lib/import_env_file.rb +19 -0
- data/bin/executables/lib/seeder.rb +14 -0
- data/bin/executables/lib/utils.rb +30 -0
- data/bin/executables/playground.rb +130 -0
- data/bin/executables/seed_playground_db.rb +9 -0
- data/bin/executables/update_db.rb +7 -0
- data/bin/executables/web_server.rb +12 -0
- data/bin/executables/worker.rb +7 -0
- data/bin/rails +4 -0
- data/bin/rake +4 -0
- data/config/application.rb +59 -0
- data/config/attribute-map.yml +4 -0
- data/config/boot.rb +4 -0
- data/config/database.yml +40 -0
- data/config/environment.rb +5 -0
- data/config/environments/development.rb +37 -0
- data/config/environments/playground.rb +55 -0
- data/config/environments/production.rb +68 -0
- data/config/environments/staging.rb +75 -0
- data/config/environments/test.rb +46 -0
- data/config/initializers/01_internalize_configurations.rb +70 -0
- data/config/initializers/action_controller_renderers.rb +15 -0
- data/config/initializers/active_model_serializer.rb +7 -0
- data/config/initializers/assets.rb +8 -0
- data/config/initializers/backtrace_silencers.rb +7 -0
- data/config/initializers/cookies_serializer.rb +3 -0
- data/config/initializers/default_enviorment_variables.rb +8 -0
- data/config/initializers/devise.rb +297 -0
- data/config/initializers/filter_parameter_logging.rb +4 -0
- data/config/initializers/haml.rb +1 -0
- data/config/initializers/inflections.rb +16 -0
- data/config/initializers/mime_types.rb +4 -0
- data/config/initializers/net_http.rb +1 -0
- data/config/initializers/pester.rb +15 -0
- data/config/initializers/rails_admin.rb +27 -0
- data/config/initializers/redis.rb +14 -0
- data/config/initializers/rollbar.rb +45 -0
- data/config/initializers/session_store.rb +3 -0
- data/config/initializers/sql_logging_patch.rb +7 -0
- data/config/initializers/to_bool.rb +29 -0
- data/config/initializers/wrap_parameters.rb +14 -0
- data/config/locales/devise.en.yml +62 -0
- data/config/locales/en.yml +23 -0
- data/config/puma.rb +10 -0
- data/config/resque-pool.yml +15 -0
- data/config/resque.yml +10 -0
- data/config/routes.rb +33 -0
- data/config/secrets.yml +26 -0
- data/config.ru +4 -0
- data/db/migrate/20140710204753_database_begin.rb +150 -0
- data/lib/aleph_log_formatter.rb +5 -0
- data/lib/authentication.rb +17 -0
- data/lib/aws_s3.rb +7 -0
- data/lib/clock.rb +7 -0
- data/lib/compilable_parameter.rb +50 -0
- data/lib/count_publisher.rb +26 -0
- data/lib/csv_helper/aws.rb +30 -0
- data/lib/csv_helper/base.rb +20 -0
- data/lib/csv_helper/local.rb +18 -0
- data/lib/csv_serializer.rb +23 -0
- data/lib/csv_service.rb +12 -0
- data/lib/github/blob.rb +23 -0
- data/lib/github/commit.rb +37 -0
- data/lib/github/pusher.rb +94 -0
- data/lib/github/refs.rb +39 -0
- data/lib/github/tree.rb +29 -0
- data/lib/github.rb +64 -0
- data/lib/interaction/query_creation.rb +27 -0
- data/lib/interaction/query_interaction.rb +35 -0
- data/lib/interaction/query_update.rb +62 -0
- data/lib/interaction/result_creation.rb +48 -0
- data/lib/pagination_search/attribute_set.rb +61 -0
- data/lib/pagination_search/base_relation.rb +80 -0
- data/lib/pagination_search/hash_paginate.rb +74 -0
- data/lib/pagination_search/paginated_records.rb +16 -0
- data/lib/pagination_search/pagination.rb +12 -0
- data/lib/pagination_search/search_conditions.rb +59 -0
- data/lib/query_version_support.rb +14 -0
- data/lib/redis_result_row_count.rb +26 -0
- data/lib/redshift_connection_pool.rb +8 -0
- data/lib/redshift_pg/connection.rb +44 -0
- data/lib/redshift_pg/redshift_pg.rb +15 -0
- data/lib/result_csv_generator.rb +40 -0
- data/lib/role.rb +40 -0
- data/lib/sample_skimmer.rb +30 -0
- data/lib/schema_comment_matcher.rb +27 -0
- data/lib/schemas/descriptor.rb +85 -0
- data/lib/schemas/descriptors.rb +10 -0
- data/lib/schemas/paginate.rb +21 -0
- data/lib/schemas/redis_store.rb +22 -0
- data/lib/simple_cache.rb +13 -0
- data/lib/sql_compiler.rb +33 -0
- data/lib/summarizer.rb +18 -0
- data/lib/tasks/karma.rake +32 -0
- data/lib/tasks/resque_setup.rake +18 -0
- data/playground_data/1.csv +13 -0
- data/playground_data/aleph.playground.sqlite3 +0 -0
- data/public/404.html +26 -0
- data/public/422.html +26 -0
- data/public/500.html +25 -0
- data/public/aleph.png +0 -0
- data/public/assets/.sprockets-manifest-24b5998edb20c5b4d6edf39d44cd3ff7.json +1 -0
- data/public/assets/FontAwesome-9ccfa32dd4cd1b8e83f68899d85bd5e6.otf +0 -0
- data/public/assets/ZeroClipboard-8b5c117b88fe37e32fd34a70fdf60026.swf +0 -0
- data/public/assets/angular/aleph.js-19b4df67407de5dab249abfc391c0eaf.es6 +90 -0
- data/public/assets/angular/config/schema_completer_config.js-1b696920b5e04f75620630d75117b201.es6 +71 -0
- data/public/assets/angular/controllers/alerts/alert_index_controller.js-4344581b1e9b456c3f991f96bb4d403d.es6 +16 -0
- data/public/assets/angular/controllers/alerts/alert_show_controller.js-a984dc82fbcac380cdc8682bf8986933.es6 +99 -0
- data/public/assets/angular/controllers/controllers.js-7431ae468ea2f0d392661448a61cfdf3.es6 +65 -0
- data/public/assets/angular/controllers/query/query_index_controller.js-828eadeee6a971b11b5c07f65f0c6def.es6 +80 -0
- data/public/assets/angular/controllers/query/query_repl_controller.js-3c4bac22e41766e2e83e720d53acade3.es6 +147 -0
- data/public/assets/angular/controllers/query/query_show_controller.js-020c83fd94ece7d55bd94b9981a40083.es6 +43 -0
- data/public/assets/angular/controllers/schema/schema_index_controller.js-d0d790d168b49caefa4b8f7993c928f1.es6 +61 -0
- data/public/assets/angular/controllers/snippet/snippet_index_controller.js-9191ee2e37d16d5807b8a7f45530a6c2.es6 +80 -0
- data/public/assets/angular/directives/directives.js-44fda752585bddc5d026feaab8b14108.es6 +30 -0
- data/public/assets/angular/directives/query/query_details_directive.js-2dd979e2463826558f166d9dc9e2c8a9.es6 +87 -0
- data/public/assets/angular/directives/query/query_version_sidebar_directive.js-b19ba8a9bf4e66c5740e9b9f9495cee1.es6 +65 -0
- data/public/assets/angular/directives/result/result_directive.js-76c151e9277e35578f92b076c2fa5b06.es6 +59 -0
- data/public/assets/angular/directives/result/results_directive.js-fcbf9750790823a11ca313e630bd2b0f.es6 +30 -0
- data/public/assets/angular/directives/visualization_directive.js-82cb45a52eba62deb283a3699add1b33.es6 +101 -0
- data/public/assets/angular/filters/filters.js-48cdb16fc89337e861c9f18ad57fd9bf.es6 +27 -0
- data/public/assets/angular/services/alert/alert.js-a76ea96e948de324fcc00f3ef3ecae4e.es6 +51 -0
- data/public/assets/angular/services/alert/alert_resource.js-ac68ea99936eb213c0fb37d4fbb1511a.es6 +10 -0
- data/public/assets/angular/services/lib/ace_completers.js-5353182bc538210dad12865ad6a060fd.es6 +29 -0
- data/public/assets/angular/services/lib/ace_sql_parse.js-4114a8ad4fe4dbf4f72c0ab7fca22e83.es6 +156 -0
- data/public/assets/angular/services/lib/action_handler.js-85a8f75f507efcf2fe950fa7717b6976.es6 +73 -0
- data/public/assets/angular/services/lib/alert_flash.js-7a4fe7ef5510a224677a12ecf2fe973b.es6 +30 -0
- data/public/assets/angular/services/lib/default_ace_configurator_service.js-9b83d6b53495dafe10bfed5074c3ec01.es6 +74 -0
- data/public/assets/angular/services/lib/github_url_service.js-719084a625f60d20c24097f00813b481.es6 +53 -0
- data/public/assets/angular/services/lib/keyword_completer.js-560b51694457619401c72431dd7b647e.es6 +36 -0
- data/public/assets/angular/services/lib/local_resource.js-9b57357ed203c783708e48154721242a.es6 +20 -0
- data/public/assets/angular/services/lib/lock_service.js-32eb33fda9c27fb5643b25c63099b52c.es6 +48 -0
- data/public/assets/angular/services/lib/locking_poll_service.js-d0271cc07d20ec73291e7175e1714d42.es6 +42 -0
- data/public/assets/angular/services/lib/matcher_runner.js-bd63f4c6ad965716c5b793d3c4602563.es6 +65 -0
- data/public/assets/angular/services/lib/navigation_guard.js-5c7497900f99319f3ef76b83662c20cd.es6 +45 -0
- data/public/assets/angular/services/lib/open_repl_service.js-2332490470ea58f3e5ce7f6fe5dd2659.es6 +56 -0
- data/public/assets/angular/services/lib/page_title_manager.js-227f9ddb49d23bfa934bf216ef96ccbd.es6 +38 -0
- data/public/assets/angular/services/lib/pagination.js-baa9a496d01b87f90c588c51864d1533.es6 +114 -0
- data/public/assets/angular/services/lib/pagination_components.js-4fcc03120d1299713347b487f1e8fd44.es6 +91 -0
- data/public/assets/angular/services/lib/parameter_methods.js-16ecb25ffb24d5870dfc17f9f408fa5b.es6 +35 -0
- data/public/assets/angular/services/lib/role_model.js-3d5072f279676294e7d17cbb4bb3adb5.es6 +21 -0
- data/public/assets/angular/services/lib/schema_completer.js-d04d49642967fd9f8e2c95e0df81f2ae.es6 +56 -0
- data/public/assets/angular/services/lib/selection_tag_input.js-86cc6d564c108d722951b6fcd2b51221.es6 +42 -0
- data/public/assets/angular/services/lib/server_configurations.js-fd8c16a3d02926e7597240566808c141.es6 +15 -0
- data/public/assets/angular/services/lib/spinner_state.js-315bb62df18f9370a89f8b865eb1766a.es6 +45 -0
- data/public/assets/angular/services/lib/tag_resource.js-8849bbdd579bd38b36a362bed926c2f2.es6 +14 -0
- data/public/assets/angular/services/model/collection_dirty_awareness.js-8a78450bd8b565fb03633ab735893508.es6 +33 -0
- data/public/assets/angular/services/model/collection_model_base.js-8092335acde425d28718c1a9fc677d39.es6 +75 -0
- data/public/assets/angular/services/model/dirty_aware_collection_model.js-6f4d2b409a033f5ffc6bd5a747df2046.es6 +31 -0
- data/public/assets/angular/services/model/dirty_aware_model.js-ec1a086f3ec459827dbd5381bd970975.es6 +50 -0
- data/public/assets/angular/services/model/model_base.js-9fd807dfdf4f26afe60d8e282ca08e6c.es6 +80 -0
- data/public/assets/angular/services/model/model_state.js-3e96e381ea7a9eff857081ffbf3a8bab.es6 +51 -0
- data/public/assets/angular/services/model/models.js-6798762a6e263be75c7c4e9f8a19da66.es6 +15 -0
- data/public/assets/angular/services/model/unpersisted_model.js-49597959c989e68c713fd826743bb7b5.es6 +20 -0
- data/public/assets/angular/services/model_generation/model_factory.js-0bccc6a2e9b4738c67230fc68d9780ae.es6 +28 -0
- data/public/assets/angular/services/model_generation/model_generation.js-f08c6eff199b5ad02b2e2bdf866d69ff.es6 +13 -0
- data/public/assets/angular/services/model_generation/model_manager.js-b05d8f00bc4499c50098ae31013de88c.es6 +86 -0
- data/public/assets/angular/services/model_generation/resource_factory.js-e8ce2f4be9383d885dbb965c8e425bab.es6 +38 -0
- data/public/assets/angular/services/model_generation/standard_collection_model.js-19c44dc3a937a85d825c5a2f020a6769.es6 +25 -0
- data/public/assets/angular/services/model_generation/standard_model.js-74439b041eebfc7e0fad454cf6e32192.es6 +38 -0
- data/public/assets/angular/services/query/query.js-7b6228d0a5c1a6ea76242f4aa49aafd0.es6 +55 -0
- data/public/assets/angular/services/query/query_handler.js-d8cb3c66bcf6d16cd13bb5bcd0921496.es6 +40 -0
- data/public/assets/angular/services/query/query_loader.js-1fbc8b859778d46b73b9adc300984851.es6 +54 -0
- data/public/assets/angular/services/query/query_request_transformers.js-522901477c7848324cd5c014005a85c8.es6 +26 -0
- data/public/assets/angular/services/query/query_resource.js-b809fbfd1c379619fa07ef8e52509810.es6 +21 -0
- data/public/assets/angular/services/query/query_tab.js-fe34f5e6d0c813d2d92838be14cd6783.es6 +63 -0
- data/public/assets/angular/services/query/query_versions.js-aa3aec9021354a7394797101ea500887.es6 +21 -0
- data/public/assets/angular/services/result/result.js-be8178c80c767a651a97537b2b0149d5.es6 +26 -0
- data/public/assets/angular/services/result/result_poller.js-b15617d53f164cbe5636bb5573a70504.es6 +30 -0
- data/public/assets/angular/services/result/result_runner.js-ce2c5b3121c8e67903c302e600749c14.es6 +48 -0
- data/public/assets/angular/services/result/results.js-53088d6088f6b4783b274a64322d361c.es6 +10 -0
- data/public/assets/angular/services/schema/schema_column.js-3908faecc9874fa08484d7490701a7d4.es6 +93 -0
- data/public/assets/angular/services/schema/schema_column_resource.js-a6982ce9698b104192c4e455300df455.es6 +12 -0
- data/public/assets/angular/services/schema/schema_columns.js-c63a16e2e0778a885bd27c7cf2ed7d88.es6 +57 -0
- data/public/assets/angular/services/schema/schema_comment_resource.js-20254ea1a4e7b4850c9f21f9619130ce.es6 +12 -0
- data/public/assets/angular/services/services.js-6225c5ea24a9082506d1932d7884b53b.es6 +140 -0
- data/public/assets/angular/services/snippet/ace_snippet_manager.js-dbbba5d8ad5040042b469b294c4d7228.es6 +44 -0
- data/public/assets/angular/services/visualization/source_renderer.js-d7274c88b067a35f2e91bf7f39be7d47.es6 +70 -0
- data/public/assets/angular/services/visualization/visualization.js-23e36c87721aa263dd3f99769027cabb.es6 +47 -0
- data/public/assets/angular/services/visualization/visualization_service.js-25de86b5ceef60cf2b1dfde5fb0e9216.es6 +67 -0
- data/public/assets/angular/services/visualization/visualizations.js-1227bc3dcd67e85c8050d82360a26d53.es6 +11 -0
- data/public/assets/application-9153e0bf570016651e5eb8c67e037d3a.css +10 -0
- data/public/assets/application-ef5c2ae95804ac9785f190a9aea7ad8b.js +149 -0
- data/public/assets/bootstrap/glyphicons-halflings-regular-448c34a56d699c29117adc64c43affeb.woff2 +0 -0
- data/public/assets/bootstrap/glyphicons-halflings-regular-89889688147bd7575d6327160d64e760.svg +288 -0
- data/public/assets/bootstrap/glyphicons-halflings-regular-e18bbf611f2a2e43afc071aa2f4e1512.ttf +0 -0
- data/public/assets/bootstrap/glyphicons-halflings-regular-f4769f9bdb7466be65088239c12046d1.eot +0 -0
- data/public/assets/bootstrap/glyphicons-halflings-regular-fa2772327f55d8198301fdb8bcfc8158.woff +0 -0
- data/public/assets/fontawesome-webfont-4f0022f25672c7f501c339cbf98d9117.ttf +0 -0
- data/public/assets/fontawesome-webfont-776d58f453c8fe5d6a89e9c31ee223ff.svg +504 -0
- data/public/assets/fontawesome-webfont-90186830c9c50a0fed932494581761d9.eot +0 -0
- data/public/assets/fontawesome-webfont-926c93d201fe51c8f351e858468980c3.woff2 +0 -0
- data/public/assets/fontawesome-webfont-fdf491ce5ff5b2da02708cd0e9864719.woff +0 -0
- data/public/assets/glyphicons-halflings-regular-0a5c48c69a25a93e37ed62db813387fa.svg +229 -0
- data/public/assets/glyphicons-halflings-regular-47da44498fc073d9fff9ab0cdb0bef8e.ttf +0 -0
- data/public/assets/glyphicons-halflings-regular-5eae1f7217b606d3580dd70ac840fea1.woff +0 -0
- data/public/assets/glyphicons-halflings-regular-aa16cd35628e6dddf56e766c9aa4ae63.eot +0 -0
- data/public/assets/jquery-ui/ui-bg_flat_0_aaaaaa_40x100-2a44fbdb7360c60122bcf6dcef0387d8.png +0 -0
- data/public/assets/jquery-ui/ui-bg_flat_75_ffffff_40x100-8692e6efddf882acbff144c38ea7dfdf.png +0 -0
- data/public/assets/jquery-ui/ui-bg_glass_55_fbf9ee_1x400-f8f4558e0b92ff2cd6136781533902ec.png +0 -0
- data/public/assets/jquery-ui/ui-bg_glass_65_ffffff_1x400-e5a8f32e28fd5c27bf0fed33c8a8b9b5.png +0 -0
- data/public/assets/jquery-ui/ui-bg_glass_75_dadada_1x400-c12c6510dad3ebfa64c8a30e959a2469.png +0 -0
- data/public/assets/jquery-ui/ui-bg_glass_75_e6e6e6_1x400-f4254356c2a8c9a383205ef2c4de22c4.png +0 -0
- data/public/assets/jquery-ui/ui-bg_glass_95_fef1ec_1x400-5a3be2d8fff8324d59aec3df7b0a0c83.png +0 -0
- data/public/assets/jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100-72c593d16e998952cd8d798fee33c6f3.png +0 -0
- data/public/assets/jquery-ui/ui-icons_222222_256x240-9129e086dc488d8bcaf808510bc646ba.png +0 -0
- data/public/assets/jquery-ui/ui-icons_2e83ff_256x240-25162bf857a8eb83ea932a58436e1049.png +0 -0
- data/public/assets/jquery-ui/ui-icons_454545_256x240-771099482bdc1571ece41073b1752596.png +0 -0
- data/public/assets/jquery-ui/ui-icons_888888_256x240-faf6f5dc44e713178784c1fb053990aa.png +0 -0
- data/public/assets/jquery-ui/ui-icons_cd0a0a_256x240-5d8808d43cefca6f6781a5316d176632.png +0 -0
- data/public/assets/octicons-0a82c1edade24862533bbe96ebeaea47.eot +0 -0
- data/public/assets/octicons-103abd6cc0199e2519ef6f1aac4bb0e0.ttf +0 -0
- data/public/assets/octicons-adc17600a2b7a648eba306c2e1426b85.svg +183 -0
- data/public/assets/octicons-be82065223a03ba577de159d97a5d63d.woff +0 -0
- data/public/assets/octicons-local-72e4167c13648cb89e9e96cdd212cb82.ttf +0 -0
- data/public/assets/rails_admin/aristo/images/bg_fallback-a7547e71656b1e538b93ddb49dfc98d3.png +0 -0
- data/public/assets/rails_admin/aristo/images/icon_sprite-415c1eec8a2d31d217d4d1d5a1d44345.png +0 -0
- data/public/assets/rails_admin/aristo/images/progress_bar-449b2fab5cf4122c17a416f6e26569fe.gif +0 -0
- data/public/assets/rails_admin/aristo/images/slider_handles-ba57b6efb64ca6263f77ce2624ad71ee.png +0 -0
- data/public/assets/rails_admin/aristo/images/ui-icons_222222_256x240-a2c05c5e967f9cf4dae51c1243b3b93c.png +0 -0
- data/public/assets/rails_admin/aristo/images/ui-icons_454545_256x240-a7a7eff72c4f562524dc472824aab656.png +0 -0
- data/public/assets/rails_admin/base/README-f7dd742c2237cb1959438b94c7503a41.txt +2 -0
- data/public/assets/rails_admin/bootstrap/glyphicons-halflings-d4fef5262f29f592560fb59918a1c052.png +0 -0
- data/public/assets/rails_admin/bootstrap/glyphicons-halflings-white-9bbc6e9602998a385c2ea13df56470fd.png +0 -0
- data/public/assets/rails_admin/bullet_black-06d345566cf9e0f97a23bb07ab3d50d9.png +0 -0
- data/public/assets/rails_admin/bullet_white-469b537fa21b7143f719578f7426825d.png +0 -0
- data/public/assets/rails_admin/calendar-697f5a44753da70028cfd04b98ac45d2.png +0 -0
- data/public/assets/rails_admin/clock-0cc82b549af3df4f730a02335f54b0df.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_background-7aaa2a726200c0ac3ba43c01f073a93d.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_hex-cbc06f4015cbb276a3dd966e1be37c25.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_hsb_b-2315aba3c2fbbcfcc22869b21836c31d.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_hsb_h-3120023551e3601467cf52e1c8aaae9e.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_hsb_s-77a77892bdef0906fdfc3426d06108fd.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_indic-f485d07540a89502e36dc1a55cec05d0.gif +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_overlay-4b2dd6f78c4aac5cc932e845698b2db5.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_rgb_b-2315aba3c2fbbcfcc22869b21836c31d.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_rgb_g-475afe3f4f69e59ff30a445384a8d961.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_rgb_r-02de28945293fe2fd026c9be3b89955a.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_select-cdf55197d05f18c552dc35bdb858fa2a.gif +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_submit-9912e5cf348e0be359ff9b1078fbb7da.png +0 -0
- data/public/assets/rails_admin/colorpicker/custom_background-a0ab8ff3e2b85b1f8ed5a4d86967471b.png +0 -0
- data/public/assets/rails_admin/colorpicker/custom_hex-065e780d7b89f7dda63a472caa7c2bdd.png +0 -0
- data/public/assets/rails_admin/colorpicker/custom_hsb_b-66f5963cf1a0a2680acbcac2bb77f40d.png +0 -0
- data/public/assets/rails_admin/colorpicker/custom_hsb_h-cd1f2e27122aeca17af416f328b758cd.png +0 -0
- data/public/assets/rails_admin/colorpicker/custom_hsb_s-ca6f3e4f0c1fc2cb110c788018369e07.png +0 -0
- data/public/assets/rails_admin/colorpicker/custom_indic-04660eb352eb259581a36a0fe8da2d4d.gif +0 -0
- data/public/assets/rails_admin/colorpicker/custom_rgb_b-64bc0c5110f84efe32e82c58d50660f6.png +0 -0
- data/public/assets/rails_admin/colorpicker/custom_rgb_g-33fe011475956750a457b1f93f1b9075.png +0 -0
- data/public/assets/rails_admin/colorpicker/custom_rgb_r-18f2ee37089d850c52b212d8a31aac92.png +0 -0
- data/public/assets/rails_admin/colorpicker/custom_submit-9d0a14eebb9ae04edfb8099827a42968.png +0 -0
- data/public/assets/rails_admin/colorpicker/select-76bd5c10f34de24b73ff4454735d3e18.png +0 -0
- data/public/assets/rails_admin/colorpicker/select2-d3fea9a451ac2c29bcd4a82b6e4f326a.png +0 -0
- data/public/assets/rails_admin/colorpicker/slider-db040ce7280fc74269e330a862e738e6.png +0 -0
- data/public/assets/rails_admin/jquery.colorpicker-7c36c2fac54a031f6e0dfe6ad137cfb1.js +1 -0
- data/public/assets/rails_admin/jquery.colorpicker-e402a30af31a4ba5957fec816dc9239c.css +1 -0
- data/public/assets/rails_admin/logo-9b479a57b493ee824767163101a5409f.png +0 -0
- data/public/assets/rails_admin/magnifier-4fcdfd820ff2e951458af3d1309ab20c.png +0 -0
- data/public/assets/rails_admin/multiselect/icon_sprite-415c1eec8a2d31d217d4d1d5a1d44345.png +0 -0
- data/public/assets/rails_admin/multiselect/ui-icon-circle-triangle-n-dark-32c1cfdd900379bf62658e475fb2ba38.png +0 -0
- data/public/assets/rails_admin/multiselect/ui-icon-circle-triangle-n-light-73160d919a189ba13bd4387e3623b7e9.png +0 -0
- data/public/assets/rails_admin/multiselect/ui-icon-circle-triangle-s-dark-c15e6bff59c80c5473236cf77870f31d.png +0 -0
- data/public/assets/rails_admin/multiselect/ui-icon-circle-triangle-s-light-fbf43811420f67d49d4dc64c7817f72c.png +0 -0
- data/public/assets/rails_admin/rails_admin-d25a684b9f690652469ceb212fbe7b95.js +328 -0
- data/public/assets/rails_admin/rails_admin-d85fb3c8bbff377491ed5af5239cf185.css +8 -0
- data/public/assets/resque_web/application-b29b34115c3ad5c539f26114fc91e584.css +4 -0
- data/public/assets/resque_web/application-d2bc6e68cf7c6215e804fe9e3f46f1d0.js +111 -0
- data/public/assets/resque_web/idle-53474088772d9917bd463b19efa32fc3.png +0 -0
- data/public/assets/resque_web/lifebuoy-0281230b31ba4078685f4df3e8169534.png +0 -0
- data/public/assets/resque_web/poll-af53f85832c41a9cde68b08cb09711f1.png +0 -0
- data/public/assets/resque_web/rails-9c0a079bdd7701d7e729bd956823d153.png +0 -0
- data/public/assets/resque_web/working-26a36c5119cbdcc64ebade2c5f8c389d.png +0 -0
- data/public/assets/twitter/bootstrap/glyphicons-halflings-2516339970d710819585f90773aebe0a.png +0 -0
- data/public/assets/twitter/bootstrap/glyphicons-halflings-white-9bbc6e9602998a385c2ea13df56470fd.png +0 -0
- data/public/bg_big.svg +2 -0
- data/public/bg_new.svg +2 -0
- data/public/favicon.ico +0 -0
- data/public/resources/keyword_config.json +51 -0
- data/public/resources/visualization/area.html +17 -0
- data/public/resources/visualization/area_step.html +17 -0
- data/public/resources/visualization/bar.html +17 -0
- data/public/resources/visualization/custom.html +6 -0
- data/public/resources/visualization/line.html +16 -0
- data/public/resources/visualization/presets.json +13 -0
- data/public/resources/visualization/scatter.html +17 -0
- data/public/resources/visualization/spline.html +17 -0
- data/public/resources/visualization/spline_area.html +17 -0
- data/public/resources/visualization/stacked_area.html +18 -0
- data/public/resources/visualization/stacked_bar.html +18 -0
- data/public/resources/visualization/stacked_spline_area.html +18 -0
- data/public/resources/visualization/template.json +12 -0
- data/public/robots.txt +2 -0
- data/vendor/assets/javascripts/ace/ace.js +18655 -0
- data/vendor/assets/javascripts/ace/ext-language_tools.js +1937 -0
- data/vendor/assets/javascripts/ace/mode-html.js +2794 -0
- data/vendor/assets/javascripts/ace/mode-pgsql.js +1503 -0
- data/vendor/assets/javascripts/ace/snippets/coffee.js +102 -0
- data/vendor/assets/javascripts/ace/snippets/css.js +974 -0
- data/vendor/assets/javascripts/ace/snippets/haml.js +27 -0
- data/vendor/assets/javascripts/ace/snippets/html.js +835 -0
- data/vendor/assets/javascripts/ace/snippets/html_elixir.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/html_ruby.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/javascript.js +202 -0
- data/vendor/assets/javascripts/ace/snippets/json.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/jsp.js +106 -0
- data/vendor/assets/javascripts/ace/snippets/jsx.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/less.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/mysql.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/pgsql.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/plain_text.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/rhtml.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/sass.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/scss.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/snippets.js +16 -0
- data/vendor/assets/javascripts/ace/snippets/sql.js +33 -0
- data/vendor/assets/javascripts/ace/snippets/sqlserver.js +76 -0
- data/vendor/assets/javascripts/ace/snippets/svg.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/text.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/textile.js +37 -0
- data/vendor/assets/javascripts/ace/theme-monokai.js +105 -0
- data/vendor/assets/javascripts/angular-filter/angular-filter.js +2271 -0
- data/vendor/assets/javascripts/angular-hotkeys/hotkeys.js +1523 -0
- data/vendor/assets/javascripts/angular-selection-model/selection-model.js +563 -0
- data/vendor/assets/javascripts/angular-spinner/treasure-overlay-spinner.js +53 -0
- data/vendor/assets/javascripts/angular-ui-ace/ui-ace.js +298 -0
- data/vendor/assets/javascripts/angular-ui-bootstrap/ui-bootstrap-tpls-0.14.3.js +8503 -0
- data/vendor/assets/javascripts/d3/c3.min.js +5 -0
- data/vendor/assets/javascripts/d3/d3.v3.min.js +5 -0
- data/vendor/assets/javascripts/infinite-scroll/infinite-scroll.js +186 -0
- data/vendor/assets/javascripts/ng-clip/ngClip.js +84 -0
- data/vendor/assets/javascripts/ng-tags-input/ng-tags-input.min.js +1 -0
- data/vendor/assets/javascripts/pluralize/pluralize.js +453 -0
- data/vendor/assets/javascripts/underscore-js/underscore.js +1548 -0
- data/vendor/assets/stylesheets/angular-hotkeys/hotkeys.css +110 -0
- data/vendor/assets/stylesheets/angular-spinner/treasure-overlay-spinner.css +136 -0
- data/vendor/assets/stylesheets/c3/c3.min.css +1 -0
- data/vendor/assets/stylesheets/ng-tags-input/ng-tags-input.bootstrap.min.css +1 -0
- data/vendor/assets/stylesheets/ng-tags-input/ng-tags-input.min.css +1 -0
- data/vendor/assets/stylesheets/octicons/README.md +1 -0
- data/vendor/assets/stylesheets/octicons/sprockets-octicons.scss +217 -0
- metadata +600 -0
@@ -0,0 +1,78 @@
|
|
1
|
+
!!!
|
2
|
+
%html{'ng-app' => 'aleph', 'ng-strict-di' => true}
|
3
|
+
%base{href: '/'}
|
4
|
+
%head
|
5
|
+
%title{ 'ng-bind' => 'pageTitleManager.title' }
|
6
|
+
%script
|
7
|
+
= render partial: 'application/rollbar'
|
8
|
+
= stylesheet_link_tag 'application', media: 'all'
|
9
|
+
= javascript_include_tag 'application'
|
10
|
+
= favicon_link_tag '/favicon.ico'
|
11
|
+
%script#queryIndex{type: 'text/ng-template'}
|
12
|
+
= render partial: 'queries/index'
|
13
|
+
%script#queryRepl{type: 'text/ng-template'}
|
14
|
+
= render partial: 'queries/repl'
|
15
|
+
%script#showQuery{type: 'text/ng-template'}
|
16
|
+
= render partial: 'queries/show'
|
17
|
+
%script#queryDetails{type: 'text/ng-template'}
|
18
|
+
= render partial: 'queries/query_details'
|
19
|
+
%script#results{type: 'text/ng-template'}
|
20
|
+
= render partial: 'queries/results'
|
21
|
+
%script#result{type: 'text/ng-template'}
|
22
|
+
= render partial: 'results/show'
|
23
|
+
%script#visualization{type: 'text/ng-template'}
|
24
|
+
= render partial: 'visualizations/show'
|
25
|
+
%script#schemaIndex{type: 'text/ng-template'}
|
26
|
+
= render partial: 'schemas/index'
|
27
|
+
%script#tag-template{type: 'text/ng-template'}
|
28
|
+
= render partial: 'queries/tag_template'
|
29
|
+
%script#role-template{type: 'text/ng-template'}
|
30
|
+
= render partial: 'queries/role_template'
|
31
|
+
%script#query-version-sidebar{type: 'text/ng-template'}
|
32
|
+
= render partial: 'queries/query_version_sidebar'
|
33
|
+
%script#alertIndex{type: 'text/ng-template'}
|
34
|
+
= render partial: 'alerts/index'
|
35
|
+
%script#alertShow{type: 'text/ng-template'}
|
36
|
+
= render partial: 'alerts/show'
|
37
|
+
%script#snippetIndex{type: 'text/ng-template'}
|
38
|
+
= render partial: 'snippets/index'
|
39
|
+
%script#comments-template{type: 'text/ng-template'}
|
40
|
+
= render partial: 'queries/comments'
|
41
|
+
:javascript
|
42
|
+
window.flash = #{flash.to_hash.to_json};
|
43
|
+
%body{ 'ng-controller' => 'BodyController',
|
44
|
+
'ng-init' => "ServerConfigurations.setConfigs('#{app_config}')" }
|
45
|
+
-# note: ApplicationController::ALLOWABLE_CONFIGS determines which configs the server chooses to expose
|
46
|
+
%treasure-overlay-spinner{ 'active' => 'SpinnerState.isActive()' }
|
47
|
+
%nav.transparent.navbar.navbar-inverse.navbar-static-top{role: :navigation, 'ng-controller' => 'NavBarController'}
|
48
|
+
%div.container-fluid
|
49
|
+
%div.navbar-header
|
50
|
+
%a.pull-left{href: '#'}
|
51
|
+
%img.brand-logo{src: '/aleph.png'}
|
52
|
+
%a.navbar-brand{href: '/'} ALEPH
|
53
|
+
%a.navbar-text{href: '/queries', 'ng-class' => "{active: pathIncludes('queries')}"}
|
54
|
+
%span.glyphicon.glyphicon-question-sign.glyphicons-lg.glyphicon-low
|
55
|
+
Queries
|
56
|
+
%a.navbar-text{href: '/alerts', 'ng-class' => "{active: pathIncludes('alerts')}"}
|
57
|
+
%span.glyphicon.glyphicon-bell.glyphicons-lg.glyphicon-low
|
58
|
+
Alerts
|
59
|
+
%a.navbar-text{href: '/snippets', 'ng-class' => "{active: pathIncludes('snippets')}"}
|
60
|
+
%span.glyphicon.glyphicon-scissors.glyphicons-lg.glyphicon-low
|
61
|
+
Snippets
|
62
|
+
%a.navbar-text{href: '/schemas', 'ng-class' => "{active: pathIncludes('schemas')}"}
|
63
|
+
%span.glyphicon.glyphicon-list.glyphicons-lg.glyphicon-med
|
64
|
+
Schemas
|
65
|
+
%ul.nav.navbar-nav.navbar-right
|
66
|
+
%li
|
67
|
+
- if user_signed_in?
|
68
|
+
%p.navbar-text #{current_user.name}
|
69
|
+
%li
|
70
|
+
= link_to('Logout', destroy_user_session_path, :method => :delete)
|
71
|
+
.alert-bar{ 'ng-controller' => 'AlertBarController' }
|
72
|
+
%uib-alert.alert-fade-out.ellipsis{ 'ng-repeat' => 'alert in alerts',
|
73
|
+
'type' => '{{alert.type}}',
|
74
|
+
'close' => 'dismiss()',
|
75
|
+
'dismiss-on-timeout' => 9000,
|
76
|
+
'ng-bind' => 'alert.message' }
|
77
|
+
%div.content.container-fluid
|
78
|
+
= yield
|
@@ -0,0 +1,15 @@
|
|
1
|
+
.query-index
|
2
|
+
.col-md-10.index-items.top10
|
3
|
+
%ul{ 'infinite-scroll' => 'queryIdxCtrl.pagination.loadMore()',
|
4
|
+
'infinite-scroll-distance' => '0.5' }
|
5
|
+
%li.item-header
|
6
|
+
= render partial: 'queries/index_sort_bar'
|
7
|
+
%li.item-container{ 'ng-repeat' => 'query in queryIdxCtrl.pagination.items()',
|
8
|
+
'selection-model' => '',
|
9
|
+
'selection-model-mode' => 'multiple',
|
10
|
+
'selection-model-selected-items' => 'queryIdxCtrl.selectedQueries',
|
11
|
+
'selection-model-cleanup-strategy' => 'deselect',
|
12
|
+
'selection-model-on-change' => 'queryIdxCtrl.onSelection()' }
|
13
|
+
= render partial: 'queries/index_item'
|
14
|
+
.col-md-2
|
15
|
+
= render partial: 'queries/index_sidebar'
|
@@ -0,0 +1,37 @@
|
|
1
|
+
.index-item
|
2
|
+
.row
|
3
|
+
.col-md-1.summary-badges
|
4
|
+
%span.badge#versions{ 'ng-bind' => 'query.summary.versions',
|
5
|
+
'uib-tooltip' => '{{query.summary.versions}} versions' }
|
6
|
+
%span.badge#comments{ 'ng-bind' => 'query.summary.comments',
|
7
|
+
'uib-tooltip' => '{{query.summary.comments}} comments' }
|
8
|
+
.col-md-3
|
9
|
+
%strong
|
10
|
+
%a{ 'ng-href' => '/queries/{{query.id}}',
|
11
|
+
'uib-tooltip' => "Show details for '{{query.title}}'",
|
12
|
+
'tooltip-delay' => 700,
|
13
|
+
'tooltip-placement' => 'top' }
|
14
|
+
.ellipsis{ 'ng-bind' => 'query.title' }
|
15
|
+
.col-md-4
|
16
|
+
%div#author
|
17
|
+
%a{ 'href' => '#',
|
18
|
+
'ng-bind' => 'query.latest_author_name',
|
19
|
+
'ng-click' => "queryIdxCtrl.pagination.setSearch('author:' + query.latest_author_name, true)",
|
20
|
+
'uib-tooltip' => "Filter by {{query.latest_author_name}}",
|
21
|
+
'tooltip-delay' => 700,
|
22
|
+
'tooltip-placement' => 'top' }
|
23
|
+
%div#updated-at
|
24
|
+
%span{ 'ng-bind' => 'query.updated_at | date:dateFormat: "UTC"' }
|
25
|
+
%div#created-at
|
26
|
+
%span{ 'ng-bind' => 'query.created_at | date:dateFormat: "UTC"' }
|
27
|
+
.col-md-2
|
28
|
+
%span.label.tag{ 'ng-repeat' => 'tag in query.tags | limitTo:5 | orderBy',
|
29
|
+
'ng-bind' => 'tag',
|
30
|
+
'ng-class' => 'tag',
|
31
|
+
'ng-click' => "queryIdxCtrl.pagination.setSearch('tags:' + tag, false)",
|
32
|
+
'uib-tooltip' => 'Filter by {{tag}}',
|
33
|
+
'tooltip-delay' => 700,
|
34
|
+
'tooltip-placement' => 'top'}
|
35
|
+
.col-md-2
|
36
|
+
%span.label.tag.roles{ 'ng-repeat' => 'role in query.roles | limitTo:5 | orderBy',
|
37
|
+
'ng-bind' => 'role' }
|
@@ -0,0 +1,58 @@
|
|
1
|
+
.index-sidebar
|
2
|
+
.row
|
3
|
+
.input-group.input-group-sm
|
4
|
+
.input-group-btn
|
5
|
+
%button.btn.btn-inverse.btn-sm{ 'ng-click' => 'queryIdxCtrl.pagination.clearSearch()' }
|
6
|
+
%i.glyphicon.glyphicon-remove{ 'ng-if' => 'queryIdxCtrl.pagination.searchText' }
|
7
|
+
%i.glyphicon.glyphicon-search{ 'ng-if' => '!queryIdxCtrl.pagination.searchText' }
|
8
|
+
%input.form-control{ 'placeholder' => 'Search Queries',
|
9
|
+
'id' => 'fulltext-search',
|
10
|
+
'ng-model' => 'queryIdxCtrl.pagination.searchText',
|
11
|
+
'ng-model-options' => '{debounce: 400}',
|
12
|
+
'ng-change' => 'queryIdxCtrl.pagination.triggerSearch()' }
|
13
|
+
.row.top30
|
14
|
+
%span.menu-label
|
15
|
+
.octicon.octicon-three-bars
|
16
|
+
Menu Actions
|
17
|
+
.row.top5
|
18
|
+
%button.btn.btn-default.btn-sm.btn-format.right5{ 'ng-click' => 'queryIdxCtrl.openRepl()' }
|
19
|
+
%span.glyphicon.glyphicon-plus.glyphicons-xs.glyphicon-low
|
20
|
+
New Query
|
21
|
+
.row.top5
|
22
|
+
%button.btn.btn-warning.btn-sm.btn-format{ 'ng-click' => 'queryIdxCtrl.deselectAll()',
|
23
|
+
'ng-show' => 'queryIdxCtrl.selectedQueries.length > 0 && queryIdxCtrl.pagination.isPristine()' }
|
24
|
+
%span.glyphicon.glyphicon-remove.glyphicons-xs.glyphicon-low
|
25
|
+
Deselect
|
26
|
+
.row.top15{ 'ng-if' => 'queryIdxCtrl.selectedQueries.length > 1' }
|
27
|
+
%span.menu-label
|
28
|
+
.octicon.octicon-tag
|
29
|
+
Batch Update Tags
|
30
|
+
%tags-input{ 'ng-model' => 'queryIdxCtrl.tagsSelectionInput.selectedTags',
|
31
|
+
'template' => 'tag-template',
|
32
|
+
'placeholder' => 'Batch add tag',
|
33
|
+
'on-tag-added' => 'queryIdxCtrl.tagsSelectionInput.add($tag)',
|
34
|
+
'on-tag-removed' => 'queryIdxCtrl.tagsSelectionInput.remove($tag)' }
|
35
|
+
%auto-complete{ 'source' => 'queryIdxCtrl.loadTags($query)' }
|
36
|
+
.row.top10{ 'ng-if' => 'queryIdxCtrl.selectedQueries.length > 1' }
|
37
|
+
%span.menu-label
|
38
|
+
.octicon.octicon-organization
|
39
|
+
Batch Update Roles
|
40
|
+
%tags-input{ 'ng-model' => 'queryIdxCtrl.rolesSelectionInput.selectedTags',
|
41
|
+
'template' => 'role-template',
|
42
|
+
'placeholder' => 'Batch add role',
|
43
|
+
'on-tag-added' => 'queryIdxCtrl.rolesSelectionInput.add($tag)',
|
44
|
+
'on-tag-removed' => 'queryIdxCtrl.rolesSelectionInput.remove($tag)',
|
45
|
+
'add-from-autocomplete-only' => 'true' }
|
46
|
+
%auto-complete{ 'source' => 'queryIdxCtrl.loadRoles($query)'}
|
47
|
+
.row.top5{ 'ng-if' => 'queryIdxCtrl.pagination.isDirty()' }
|
48
|
+
%button.btn.btn-primary.btn-xs.btn-format-xs.right5{ 'ng-click' => 'queryIdxCtrl.revert()' }
|
49
|
+
%span.glyphicon.glyphicon-refresh.glyphicons-xs.glyphicon-low
|
50
|
+
Revert
|
51
|
+
%button.btn.btn-danger.btn-xs.btn-format-xs{ 'ng-click' => 'queryIdxCtrl.save()' }
|
52
|
+
%span.glyphicon.glyphicon-floppy-saved.glyphicons-xs.glyphicon-low
|
53
|
+
Save
|
54
|
+
.row.top10{ 'ng-if' => 'queryIdxCtrl.selectedQueries.length === 1' }
|
55
|
+
%span.menu-label
|
56
|
+
.octicon.octicon-eye.menu-label
|
57
|
+
Query Preview
|
58
|
+
%textarea.query-preview.top5{ 'ng-bind' => 'queryIdxCtrl.selectedQueries[0].latest_body', 'readonly' => '' }
|
@@ -0,0 +1,29 @@
|
|
1
|
+
.sort-bar
|
2
|
+
.row
|
3
|
+
.col-md-1
|
4
|
+
%strong SUMMARY
|
5
|
+
.col-md-3
|
6
|
+
%strong
|
7
|
+
%a{ 'ng-click' => 'queryIdxCtrl.pagination.setSort("title")', 'title' => 'Sort By Title' }
|
8
|
+
TITLE
|
9
|
+
.glyphicon.glyphicon-sort.tiny-icon
|
10
|
+
.col-md-4
|
11
|
+
%div#author
|
12
|
+
%strong
|
13
|
+
%a{ 'ng-click' => 'queryIdxCtrl.pagination.setSort("author")', 'title' => 'Sort By Author' }
|
14
|
+
AUTHOR
|
15
|
+
.glyphicon.glyphicon-sort.tiny-icon
|
16
|
+
%div#updated-at
|
17
|
+
%strong
|
18
|
+
%a{ 'ng-click' => 'queryIdxCtrl.pagination.setSort("updated_at")', 'title' => 'Sort By Updated' }
|
19
|
+
UPDATED
|
20
|
+
.glyphicon.glyphicon-sort.tiny-icon
|
21
|
+
%div#created-at
|
22
|
+
%strong
|
23
|
+
%a{ 'ng-click' => 'queryIdxCtrl.pagination.setSort("created_at")', 'title' => 'Sort By Created' }
|
24
|
+
CREATED
|
25
|
+
.glyphicon.glyphicon-sort.tiny-icon
|
26
|
+
.col-md-2
|
27
|
+
%strong TAGS
|
28
|
+
.col-md-2
|
29
|
+
%strong ROLES
|
@@ -0,0 +1,81 @@
|
|
1
|
+
.panel.panel-default.no-border
|
2
|
+
%form{ 'ng-submit' => 'queryDetailsCtrl.updateQuery()',
|
3
|
+
'name' => 'queryDetailsCtrl.form',
|
4
|
+
'id' => 'form',
|
5
|
+
'novalidate' => '' }
|
6
|
+
= text_field_tag :query_title, '', placeholder: 'Query title', 'ng-model' => 'queryDetailsCtrl.query.item.title', 'ng-blur' => 'queryDetailsCtrl.updateQuery()', class: 'query-title-form'
|
7
|
+
%div{ 'uib-popover' => 'Read Only!',
|
8
|
+
'popover-trigger' => 'mouseenter',
|
9
|
+
'popover-popup-delay' => 500,
|
10
|
+
'popover-placement' => 'right' }
|
11
|
+
%div{ 'ui-ace' => '{mode: \'pgsql\', onLoad: queryDetailsCtrl.aceLoaded}',
|
12
|
+
'ng-model' => 'queryDetailsCtrl.query.item.version.body' }
|
13
|
+
.panel-heading
|
14
|
+
%span.btn-group
|
15
|
+
= link_to queries_path, class: 'btn btn-sm btn-default', 'uib-tooltip' => 'Home', 'tooltip-append-to-body' => 'true', 'tooltip-popup-delay' => 800 do
|
16
|
+
%span.glyphicon.glyphicon-home.glyphicons-lg.glyphicon-low
|
17
|
+
%button.btn.btn-sm.btn-primary{ 'ng-click' => 'queryDetailsCtrl.runQuery()',
|
18
|
+
'uib-tooltip' => 'Run Query',
|
19
|
+
'tooltip-append-to-body' => 'true',
|
20
|
+
'tooltip-popup-delay' => 800 }
|
21
|
+
%span.glyphicon.glyphicon-play.glyphicons-lg.glyphicon-low
|
22
|
+
%button.btn.btn-sm.btn-info{ 'ng-click' => 'queryDetailsCtrl.openRepl()',
|
23
|
+
'uib-tooltip' => 'Edit',
|
24
|
+
'tooltip-append-to-body' => 'true',
|
25
|
+
'tooltip-popup-delay' => 800 }
|
26
|
+
%span.glyphicon.glyphicon-edit.glyphicons-lg.glyphicon-low
|
27
|
+
%a.btn.btn-sm.btn-danger{ 'ng-disabled' => '!queryDetailsCtrl.query.item.id',
|
28
|
+
'ng-click' => 'queryDetailsCtrl.deleteQuery()',
|
29
|
+
'ng-confirm-click' => 'Are you sure you want to delete this query?',
|
30
|
+
'uib-tooltip' => 'Delete',
|
31
|
+
'tooltip-append-to-body' => 'true',
|
32
|
+
'tooltip-popup-delay' => 800 }
|
33
|
+
%span.glyphicon.glyphicon-trash.glyphicons-lg.glyphicon-low
|
34
|
+
%span.btn-group#query-btns.pull-right
|
35
|
+
%button.btn.btn-sm.btn-warning{ 'uib-tooltip' => 'Click to comment',
|
36
|
+
'tooltip-append-to-body' => 'true',
|
37
|
+
'tooltip-placement' => 'left',
|
38
|
+
'tooltip-popup-delay' => 800,
|
39
|
+
'uib-popover-template' => "'comments-template'",
|
40
|
+
'popover-is-open' => 'queryDetailsCtrl.commentDialogOpen',
|
41
|
+
'popover-title' => 'Comment',
|
42
|
+
'ng-click' => 'queryDetailsCtrl.toggleCommentDialog()' }
|
43
|
+
%span.glyphicon.glyphicon-comment.glyphicons-lg.glyphicon-low
|
44
|
+
.row
|
45
|
+
.col-md-4
|
46
|
+
%table.table.table-striped.table-fixed.table-condensed.white-background.small-font
|
47
|
+
%thead
|
48
|
+
%tr
|
49
|
+
%th Parameter
|
50
|
+
%th Default Value
|
51
|
+
%th Type
|
52
|
+
%tbody
|
53
|
+
%tr{'ng-repeat' => "parameter in queryDetailsCtrl.query.item.version.parameters | orderBy: 'name'", id: 'pd-{{$index}}'}
|
54
|
+
%td{style: 'max-width: 150px'}
|
55
|
+
.ellipsis{ 'ng-bind' => 'parameter.name',
|
56
|
+
'popover' => "'{{parameter.name}}'",
|
57
|
+
'popover-trigger' => 'mouseenter',
|
58
|
+
'popover-popup-delay' => 1000,
|
59
|
+
'popover-placement' => 'right' }
|
60
|
+
%td
|
61
|
+
%span{'ng-bind' => 'parameter.default'}
|
62
|
+
%td
|
63
|
+
%span{'ng-bind' => 'parameter.type'}
|
64
|
+
.col-md-4
|
65
|
+
.panel.panel-default.tag-panel.small-font
|
66
|
+
.panel-heading.bold Tags
|
67
|
+
%tags-input{ 'ng-model' => 'queryDetailsCtrl.query.item.tags',
|
68
|
+
'template' => 'tag-template',
|
69
|
+
'on-tag-added' => 'queryDetailsCtrl.updateQuery()',
|
70
|
+
'on-tag-removed' => 'queryDetailsCtrl.updateQuery()' }
|
71
|
+
%auto-complete{'source' => 'queryDetailsCtrl.loadTags($query)'}
|
72
|
+
.col-md-4
|
73
|
+
.panel.panel-default.tag-panel.small-font
|
74
|
+
.panel-heading.bold Roles
|
75
|
+
%tags-input{ 'ng-model' => 'queryDetailsCtrl.query.item.roles',
|
76
|
+
'template' => 'role-template',
|
77
|
+
'on-tag-added' => 'queryDetailsCtrl.updateQuery()',
|
78
|
+
'on-tag-removed' => 'queryDetailsCtrl.updateQuery()',
|
79
|
+
'placeholder' => 'Add a role',
|
80
|
+
'add-from-autocomplete-only' => 'true' }
|
81
|
+
%auto-complete{'source' => 'queryDetailsCtrl.loadRoles($query)'}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
.sidebar
|
2
|
+
.row
|
3
|
+
.current-version
|
4
|
+
%strong Current Version: {{qvSidebarCtrl.query.item.version.version}}
|
5
|
+
%p
|
6
|
+
.octicon.octicon-calendar
|
7
|
+
{{qvSidebarCtrl.query.item.version.created_at | date:dateFormat: "UTC"}}
|
8
|
+
%br
|
9
|
+
.octicon.octicon-pencil
|
10
|
+
{{qvSidebarCtrl.query.item.version.author_name}}
|
11
|
+
.row{ 'ng-if' => 'qvSidebarCtrl.githubIsEnabled()' }
|
12
|
+
.github-links
|
13
|
+
%span.octicon.octicon-mark-github
|
14
|
+
%a{'ng-href' => '{{qvSidebarCtrl.githubHistory}}'} Git History
|
15
|
+
%br
|
16
|
+
%span.octicon.octicon-mark-github
|
17
|
+
%a{'ng-href' => '{{qvSidebarCtrl.githubCommit}}'} Git Commit
|
18
|
+
%br
|
19
|
+
%span.octicon.octicon-mark-github
|
20
|
+
%span{ 'ng-if' => 'qvSidebarCtrl.selectedVersions.length !== 2',
|
21
|
+
'style' => 'opacity:0.5' } Git Compare
|
22
|
+
%a{ 'ng-if' => 'qvSidebarCtrl.selectedVersions.length === 2',
|
23
|
+
'ng-href' => '{{qvSidebarCtrl.githubCompare}}' } Git Compare
|
24
|
+
.row
|
25
|
+
.versions
|
26
|
+
%ul
|
27
|
+
%li{ 'ng-repeat' => 'queryVersion in qvSidebarCtrl.versions.items() | orderBy: "version" : true',
|
28
|
+
'selection-model' => '',
|
29
|
+
'selection-model-mode' => 'multiple',
|
30
|
+
'selection-model-selected-items' => 'qvSidebarCtrl.selectedVersions',
|
31
|
+
'selection-model-cleanup-strategy' => 'deselect',
|
32
|
+
'selection-model-on-change' => 'qvSidebarCtrl.figureGithubUrl()',
|
33
|
+
'uib-popover' => "{{queryVersion.comment}}",
|
34
|
+
'popover-trigger' => 'mouseenter',
|
35
|
+
'popover-append-to-body' => 'true',
|
36
|
+
'popover-placement' => 'left',
|
37
|
+
'popover-popup-delay' => 1000 }
|
38
|
+
%table
|
39
|
+
%tr
|
40
|
+
%td.list-item
|
41
|
+
%a{ 'ng-click' => 'qvSidebarCtrl.loadQueryByVersion(queryVersion.id)' } Version {{queryVersion.version}}
|
42
|
+
%td.summary-badges
|
43
|
+
%span.badge#results{ 'ng-bind' => 'queryVersion.summary.results',
|
44
|
+
'uib-tooltip' => '{{queryVersion.summary.results}} results',
|
45
|
+
'tooltip-append-to-body' => 'true' }
|
46
|
+
%span.glyphicon.glyphicon-comment.glyphicons-xs.pulsating-comment{ 'ng-if' => 'qvSidebarCtrl.hasComment(queryVersion)' }
|
@@ -0,0 +1,79 @@
|
|
1
|
+
.query-repl
|
2
|
+
.modal-header
|
3
|
+
.row
|
4
|
+
.col-md-12.zero-padding
|
5
|
+
.input-group.input-group-sm
|
6
|
+
%input.input-sm#query-title{ 'placeholder' => 'Enter query title here',
|
7
|
+
'ng-model' => 'queryRepl.query.item.title',
|
8
|
+
'ng-readonly' => 'queryRepl.query.isPersisted()',
|
9
|
+
'ng-class' => "{'label-like': queryRepl.query.isPersisted()}" }
|
10
|
+
.input-group-btn
|
11
|
+
%button.btn.btn-sm.btn-primary{ 'ng-click' => 'queryRepl.runQuery()',
|
12
|
+
'ng-disabled' => '!queryRepl.validToRun()'} Run
|
13
|
+
%span{ 'style' => 'display: inline-block',
|
14
|
+
'tooltip-enable' => '!queryRepl.validToSave()',
|
15
|
+
'uib-tooltip' => '{{queryRepl.saveToolTipText()}}',
|
16
|
+
'tooltip-trigger' => 'queryRepl.mouseenter'}
|
17
|
+
%button.btn.btn-sm.btn-info{ 'ng-click' => 'queryRepl.save()',
|
18
|
+
'ng-disabled' => '!queryRepl.validToSave()'} Save
|
19
|
+
%button.btn.btn-sm.btn-warning{ 'ng-click' => 'queryRepl.exit()' } Exit
|
20
|
+
.modal-body
|
21
|
+
.row
|
22
|
+
.col-md-6
|
23
|
+
.ace{ 'ui-ace' => '{mode: \'pgsql\', onLoad: queryRepl.aceLoaded}',
|
24
|
+
'ng-model' => 'queryRepl.query.item.version.body' }
|
25
|
+
%table.table.table-fixed.table-condensed.parameters-table
|
26
|
+
%thead
|
27
|
+
%tr
|
28
|
+
%th Parameter
|
29
|
+
%th Value
|
30
|
+
%th Type
|
31
|
+
%th Action
|
32
|
+
%tbody
|
33
|
+
%tr{ 'ng-repeat' => 'parameter in queryRepl.query.item.version.parameters | orderBy: parameter.name', 'id' => 'pd-{{$index}}' }
|
34
|
+
%td
|
35
|
+
%input.name{ 'type' => 'text', 'ng-model' => 'parameter.name' }
|
36
|
+
%td
|
37
|
+
%input.default{ 'type' => 'text',
|
38
|
+
'placeholder' => '{{parameter.default}}',
|
39
|
+
'ng-model' => 'queryRepl.resultRunner.substitutionValues[parameter.name]' }
|
40
|
+
%td
|
41
|
+
%select.type{ 'ng-model' => 'parameter.type' }
|
42
|
+
%option raw
|
43
|
+
%option string
|
44
|
+
%option number
|
45
|
+
%option date
|
46
|
+
%option timestamp
|
47
|
+
%td
|
48
|
+
%a.btn.btn-xs.btn-default{ 'ng-click' => 'queryRepl.query.item.version.parameters.splice($index, 1)' } Remove
|
49
|
+
%tfoot
|
50
|
+
%tr
|
51
|
+
%td
|
52
|
+
%button.btn.btn-xs.btn-primary{ 'ng-click' => 'queryRepl.query.detectParameters()' } Detect Parameters
|
53
|
+
%td{colspan: 2}
|
54
|
+
%td
|
55
|
+
%button.btn.btn-xs.btn-default{ 'ng-click' => 'queryRepl.query.addParameter()' } Add
|
56
|
+
.col-md-6
|
57
|
+
%ul.list-group
|
58
|
+
%li.list-group-item.result-list-item{ 'ng-repeat' => 'result in queryRepl.results.collection | orderBy: "item.created_at" : true' }
|
59
|
+
.error-messsage.animate-if{ 'ng-if' => 'result.item.status == "failed"' }
|
60
|
+
%span{ 'ng-bind' => 'result.item.error_message' }
|
61
|
+
.throbber-loader.animate-if{ 'ng-if' => '!result.item.sample_data && result.item.status != "failed"' }
|
62
|
+
%span{ 'ng-if' => 'result.item.status == "enqueued"' }
|
63
|
+
Enqueued for {{result.item.enqueue_duration | humanReadableDuration}}
|
64
|
+
%span{ 'ng-if' => 'result.item.status == "running"' } Running for {{result.item.run_duration | humanReadableDuration}}
|
65
|
+
.result-box.animate-if{ 'ng-if' => 'result.item.sample_data' }
|
66
|
+
%div{ 'ng-if' => 'result.item.status === "complete"' }
|
67
|
+
{{result.item.row_count}} rows returned
|
68
|
+
%span.glyphicon.glyphicon-cloud-download.glyphicons-xs.looks-like-clickable.pull-right{ 'title' => 'Download result',
|
69
|
+
'target' => '_blank',
|
70
|
+
'ng-click' => 'queryRepl.getCsv(result.item.id)' }
|
71
|
+
%span{ 'ng-if' => 'result.item.status === "processing"' } {{result.item.row_count}} rows returned so far, full result still processing
|
72
|
+
.scrollable
|
73
|
+
%table.table.table-hover.table-condensed.table-fixed
|
74
|
+
%thead
|
75
|
+
%tr
|
76
|
+
%th{ 'ng-repeat' => 'column in result.item.headers track by $index', 'ng-bind' => 'column' }
|
77
|
+
%tbody
|
78
|
+
%tr.data{ 'ng-repeat' => 'row in result.item.sample_data track by $index' }
|
79
|
+
%td{ 'ng-repeat' => 'column in row track by $index', 'ng-bind' => 'column' }
|
@@ -0,0 +1,29 @@
|
|
1
|
+
.panel.panel-default
|
2
|
+
.panel-heading
|
3
|
+
.metadata
|
4
|
+
.pull-right
|
5
|
+
%button.btn.btn-sm.btn-primary#runQuery{ 'ng-disabled' => '!resultsCtrl.query.item.id',
|
6
|
+
'ng-click' => 'resultsCtrl.runQuery()' }
|
7
|
+
Run
|
8
|
+
%span.glyphicon.glyphicon-play.glyphicons-lg.glyphicon-low
|
9
|
+
%dl.query-metadata
|
10
|
+
%dt Version:
|
11
|
+
%dd{ 'ng-bind' => 'resultsCtrl.query.item.version.version' }
|
12
|
+
%br
|
13
|
+
%dt Created:
|
14
|
+
%dd{ 'ng-bind' => 'resultsCtrl.query.item.version.created_at | date: "yyyy-MM-dd hh:mm:ss" : "UTC"' }
|
15
|
+
%br
|
16
|
+
%dt Author:
|
17
|
+
%dd{ 'ng-bind' => 'resultsCtrl.query.item.version.author_name' }
|
18
|
+
%details{ 'ng-if' => 'resultsCtrl.query.item.version.parameters.length > 0' }
|
19
|
+
%summary Specify Substitution Parameters For This Run
|
20
|
+
%ul
|
21
|
+
%li.parameter{ 'ng-repeat' => "parameter in resultsCtrl.query.item.version.parameters | orderBy: 'name'" }
|
22
|
+
%label{ 'for' => 'parameter-{{parameter.name}}',
|
23
|
+
'ng-bind' => 'parameter.name' }:
|
24
|
+
%input{ 'id' => 'parameter-{{parameter.name}}',
|
25
|
+
'placeholder' => '{{parameter.default}}',
|
26
|
+
'ng-model' => 'resultsCtrl.resultRunner.substitutionValues[parameter.name]' }
|
27
|
+
%ul.list-group
|
28
|
+
%li.result.list-group-item.panel.panel-default.result-panel{ 'ng-repeat' => 'result in resultsCtrl.results.collection | orderBy: "item.created_at" : true' }
|
29
|
+
%result{'result' => 'result', 'results' => 'resultsCtrl.results'}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
.show-query
|
2
|
+
.row.top10
|
3
|
+
.col-md-10
|
4
|
+
%uib-tabset{ type: 'pills' }
|
5
|
+
%uib-tab{ heading: 'Query',
|
6
|
+
active: 'queryShowCtrl.tabs.query.active',
|
7
|
+
select: 'queryShowCtrl.setTabInUrl("query")' }
|
8
|
+
.under-pills-space
|
9
|
+
%query-details{ 'query' => 'queryShowCtrl.query',
|
10
|
+
'result-runner' => 'queryShowCtrl.resultRunner' }
|
11
|
+
%uib-tab{ heading: 'Results',
|
12
|
+
active: 'queryShowCtrl.tabs.results.active',
|
13
|
+
select: 'queryShowCtrl.setTabInUrl("results")' }
|
14
|
+
.under-pills-space
|
15
|
+
%results{ 'query' => 'queryShowCtrl.query',
|
16
|
+
'results' => 'queryShowCtrl.results',
|
17
|
+
'result-runner' => 'queryShowCtrl.resultRunner' }
|
18
|
+
%uib-tab{ heading: 'Visualizations',
|
19
|
+
active: 'queryShowCtrl.tabs.visualizations.active',
|
20
|
+
select: 'queryShowCtrl.setTabInUrl("visualizations")' }
|
21
|
+
.under-pills-space
|
22
|
+
%visualization{ 'query-version-id' => 'queryShowCtrl.queryVersionId' ,
|
23
|
+
'query-id' => 'queryShowCtrl.queryId',
|
24
|
+
'results' => 'queryShowCtrl.results' }
|
25
|
+
.col-md-2
|
26
|
+
%query-version-sidebar{ 'query' => 'queryShowCtrl.query',
|
27
|
+
'versions' => 'queryShowCtrl.queryVersions',
|
28
|
+
'component-callbacks' => 'queryShowCtrl.componentCallbacks' }
|
@@ -0,0 +1,45 @@
|
|
1
|
+
.panel-heading
|
2
|
+
.btn-group.actions.pull-right{ 'ng-if' => 'resultCtrl.result.item.status == "complete" || resultCtrl.result.item.status == "failed"' }
|
3
|
+
%a.btn.btn-xs.btn-warning.btn-delete{ 'ng-disabled' => '!resultCtrl.result.item',
|
4
|
+
'ng-click' => 'resultCtrl.deleteResult()',
|
5
|
+
'ng-confirm-click' => 'Are you sure you want to delete this result?' } Delete Result
|
6
|
+
%a.btn.btn-xs.btn-default.btn-csv{ 'ng-disabled' => 'resultCtrl.result.item.status != "complete"',
|
7
|
+
'target' => '_self',
|
8
|
+
'ng-click' => 'resultCtrl.getCsv()' } Download CSV
|
9
|
+
.run_duration{ 'ng-if' => 'resultCtrl.result.item.status == "complete" || resultCtrl.result.item.status == "failed"'}
|
10
|
+
Started: {{resultCtrl.result.item.started_at | date: 'yyyy-MM-dd hh:mm:ss' : 'UTC'}}
|
11
|
+
%br
|
12
|
+
Ended: {{resultCtrl.result.item.completed_at | date: 'yyyy-MM-dd hh:mm:ss' : 'UTC'}}
|
13
|
+
%br
|
14
|
+
Run duration: {{resultCtrl.result.item.run_duration | humanReadableDuration }}
|
15
|
+
%span.pull-right{ 'ng-if' => 'resultCtrl.result.item.status == "processing"' } {{resultCtrl.result.item.row_count}} rows returned so far, still processing full result and csv
|
16
|
+
%details{ 'ng-if' => 'resultCtrl.resultHasParameters()' }
|
17
|
+
%summary Parameters
|
18
|
+
%dl
|
19
|
+
%div{ 'ng-repeat' => 'parameter in resultCtrl.result.item.parameters | objectDotKeys | orderBy: parameter' }
|
20
|
+
%dt{ 'ng-bind' => 'parameter + ":"' }
|
21
|
+
%dd{ 'ng-bind' => 'resultCtrl.result.item.parameters[parameter]' }
|
22
|
+
%span{ 'ng-if' => 'resultCtrl.result.item.status == "complete" || resultCtrl.result.item.status == "processing"' }
|
23
|
+
.row-count
|
24
|
+
%strong {{resultCtrl.result.item.row_count}} rows returned
|
25
|
+
.scrollable{ 'ng-class' => "{ 'high-row-count': resultCtrl.result.item.row_count > 10, 'med-row-count': resultCtrl.result.item.row_count > 2 && resultCtrl.result.item.row_count <= 10 }" }
|
26
|
+
%table.table.table-hover.table-condensed.table-fixed.query-results{ 'ng-if' => 'resultCtrl.result.item.sample_data' }
|
27
|
+
%thead
|
28
|
+
%tr
|
29
|
+
%th{ 'ng-repeat' => 'column in resultCtrl.result.item.headers track by $index',
|
30
|
+
'ng-bind' => 'column' }
|
31
|
+
%tbody
|
32
|
+
%tr.data{ 'ng-repeat' => 'row in resultCtrl.result.item.sample_data track by $index' }
|
33
|
+
%td{ 'ng-repeat' => 'column in row track by $index', 'ng-bind' => 'column' }
|
34
|
+
%tr{ 'ng-if' => 'resultCtrl.result.item.sample_data.length !== resultCtrl.result.item.row_count' }
|
35
|
+
%td{ 'ng-repeat' => 'column in resultCtrl.result.item.sample_data[0] track by $index' } ...
|
36
|
+
.too-many-rows.alert-warning{ 'ng-if' => 'resultCtrl.result.item.sample_data.length !== resultCtrl.result.item.row_count' }
|
37
|
+
%strong {{resultCtrl.result.item.sample_data.length}} rows displayed above. {{resultCtrl.result.item.row_count - resultCtrl.result.item.sample_data.length}} additional rows not displayed; please download the CSV to see them all.
|
38
|
+
%span{ 'ng-if' => 'resultCtrl.result.item.status == "failed"' }
|
39
|
+
This query failed with the message:
|
40
|
+
%br
|
41
|
+
%span{ style: 'font-weight: bold; white-space: pre-wrap;' }
|
42
|
+
{{resultCtrl.result.item.error_message}}
|
43
|
+
%span{ 'ng-if' => 'resultCtrl.result.item.status == "enqueued"' }
|
44
|
+
Waiting to run. Enqueued for {{resultCtrl.result.item.enqueue_duration | humanReadableDuration}}
|
45
|
+
%span{ 'ng-if' => 'resultCtrl.result.item.status == "running"' } Running for {{resultCtrl.result.item.run_duration | humanReadableDuration}}
|
@@ -0,0 +1,47 @@
|
|
1
|
+
.schema-index
|
2
|
+
.panel-heading
|
3
|
+
.row
|
4
|
+
.col-sm-6.no-padding.no-margin
|
5
|
+
.input-group.input-group-sm
|
6
|
+
.input-group-btn
|
7
|
+
%button.btn.btn-inverse.btn-sm{ 'ng-click' => 'schemaIdxCtrl.pagination.clearSearch()' }
|
8
|
+
%i.glyphicon.glyphicon-remove{ 'ng-if' => 'schemaIdxCtrl.pagination.searchText' }
|
9
|
+
%i.glyphicon.glyphicon-search{ 'ng-if' => '!schemaIdxCtrl.pagination.searchText' }
|
10
|
+
%input.form-control{ 'placeholder' => 'Search Schemas',
|
11
|
+
'id' => 'fulltext-search',
|
12
|
+
'ng-model' => 'schemaIdxCtrl.pagination.searchText',
|
13
|
+
'ng-model-options' => '{debounce: 400}',
|
14
|
+
'ng-change' => 'schemaIdxCtrl.pagination.triggerSearch()',
|
15
|
+
'typeahead-on-select' => 'schemaIdxCtrl.pagination.triggerSearch()',
|
16
|
+
'uib-typeahead' => 'tavs for tavs in schemaIdxCtrl.typeAheadValues($viewValue) | limitTo: 15' }
|
17
|
+
.panel-body{ 'infinite-scroll' => 'schemaIdxCtrl.pagination.loadMore()',
|
18
|
+
'infinite-scroll-distance' => '0.5' }
|
19
|
+
.row
|
20
|
+
.col-sm-10.no-padding.no-margin
|
21
|
+
.no-list-style{ 'ng-repeat' => "(schema, tables) in schemaIdxCtrl.pagination.collection() | groupBy: 'item.schema'" }
|
22
|
+
%li.schema-table-row.top17{ 'ng-repeat' => " (table, columns) in tables | groupBy: 'item.table'" }
|
23
|
+
.schema-table-header
|
24
|
+
{{schema}}.{{table}}
|
25
|
+
.padding3
|
26
|
+
.row.margin2{ 'ng-repeat' => 'column in columns' }
|
27
|
+
.col-sm-4
|
28
|
+
%span{ 'ng-bind' => 'column.item.column' }
|
29
|
+
.col-sm-1
|
30
|
+
%span{ 'ng-bind' => 'column.item.type' }
|
31
|
+
.col-sm-7
|
32
|
+
%form{ 'ng-submit' => 'column.save()' }
|
33
|
+
%input.input-xs.form-control{ 'placeholder' => 'Add column description',
|
34
|
+
'ng-blur' => 'column.save()',
|
35
|
+
'ng-model' => 'column.item.comment_text',
|
36
|
+
'ng-class' => "{ 'dirty-bg': column.isDirty() }" }
|
37
|
+
.col-sm-2.summary-sidebar
|
38
|
+
%h4 Schema Directory
|
39
|
+
%p
|
40
|
+
.no-list-style{ 'ng-repeat' => "(schema, tables) in schemaIdxCtrl.directory() | groupBy: 'schema'" }
|
41
|
+
%details
|
42
|
+
%summary
|
43
|
+
%a{ 'ng-click' => "schemaIdxCtrl.pagination.setSearch('schema:' + schema + ' match_type:exact')",
|
44
|
+
'ng-bind' => 'schema' }
|
45
|
+
%li{ 'ng-repeat' => 'row in tables', style: 'padding-left: 10px; list-style-type: circle' }
|
46
|
+
%a{ 'ng-click' => "schemaIdxCtrl.pagination.setSearch(schema + '.' + row.table)" }
|
47
|
+
.ellipsis{ 'ng-bind' => 'row.table' }
|