diff --git a/app/assets/images/layout/connectors/dataobservatory.svg b/app/assets/images/layout/connectors/dataobservatory.svg new file mode 100644 index 0000000000..470321921a --- /dev/null +++ b/app/assets/images/layout/connectors/dataobservatory.svg @@ -0,0 +1,63 @@ + + \ No newline at end of file diff --git a/app/helpers/frontend_config_helper.rb b/app/helpers/frontend_config_helper.rb index 48c881935f..236c96c840 100644 --- a/app/helpers/frontend_config_helper.rb +++ b/app/helpers/frontend_config_helper.rb @@ -39,6 +39,7 @@ module FrontendConfigHelper config[:postgres_enabled] = Cartodb.get_config(:connectors, 'postgres', 'enabled') config[:sqlserver_enabled] = Cartodb.get_config(:connectors, 'sqlserver', 'enabled') config[:hive_enabled] = Cartodb.get_config(:connectors, 'hive', 'enabled') + config[:dataobservatory_enabled] = Cartodb.get_config(:connectors, 'dataobservatory', 'enabled') config[:max_asset_file_size] = Cartodb.get_config(:assets, 'max_file_size') config[:watcher_ttl] = Cartodb.get_config(:watcher, 'ttl') || 60 config[:licenses] = Carto::License.all diff --git a/assets/stylesheets/common/create/listing/imports_options.scss b/assets/stylesheets/common/create/listing/imports_options.scss index 7026005d5b..1cb55ee602 100644 --- a/assets/stylesheets/common/create/listing/imports_options.scss +++ b/assets/stylesheets/common/create/listing/imports_options.scss @@ -178,7 +178,8 @@ $import-button-width: 174px; } &:not(.is-enterprise) .ImportButton__tag--beta, - &:not(.is-enterprise) .ImportButton__tag--soon { + &:not(.is-enterprise) .ImportButton__tag--soon, + &:not(.is-enterprise) .ImportButton__tag--new { @extend .ImportButton__tag:first-of-type; } @@ -292,8 +293,20 @@ $import-button-width: 174px; } } +.is-highlighted { + background-color: $cNavyBlue; + color: $cStructure-grayBkg; + border-color: transparent; + + .ImportButton__tag { + background-color: rgba(255, 255, 255, 0.16); + border-color: transparent; + } +} + .is-beta .ImportButton__tag--beta, .is-soon .ImportButton__tag--soon, +.is-new .ImportButton__tag--new, .is-enterprise .ImportButton__tag--enterprise { display: inline-block; } @@ -327,6 +340,7 @@ $import-button-width: 174px; @include importIcon(postgresql); @include importIcon(arcgis); @include importIcon(twitter); +@include importIcon(dataobservatory); .SelectedImport { &__header { diff --git a/assets/stylesheets/variables/colors.scss b/assets/stylesheets/variables/colors.scss index 5116ad0961..30a92bcd14 100644 --- a/assets/stylesheets/variables/colors.scss +++ b/assets/stylesheets/variables/colors.scss @@ -58,3 +58,4 @@ $cNotification: #73C86B; // CARTO colors $cLocationBlue: #1785FB; +$cNavyBlue: #2e51e8; diff --git a/config/app_config.yml.sample b/config/app_config.yml.sample index c7278816b8..38438d976c 100644 --- a/config/app_config.yml.sample +++ b/config/app_config.yml.sample @@ -764,6 +764,9 @@ defaults: &defaults bigquery: enabled: false max_rows: 1000000 + dataobservatory: + enabled: true + max_rows: 1000000 enforce_non_empty_layer_css: false dataservices: enabled: diff --git a/config/routes.rb b/config/routes.rb index 631c8d3eb2..f235777f5d 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -178,7 +178,8 @@ CartoDB::Application.routes.draw do get '(/user/:user_domain)(/u/:user_domain)/dashboard/datasets/catalog' => 'visualizations#index', as: :datasets_catalog_index get '(/user/:user_domain)(/u/:user_domain)/dashboard/datasets/catalog/:id' => 'visualizations#index', as: :ddatasets_catalog_show get '(/user/:user_domain)(/u/:user_domain)/dashboard/datasets/do-catalog' => 'visualizations#index', as: :datasets_docatalog_index - get '(/user/:user_domain)(/u/:user_domain)/dashboard/datasets/do-catalog/summary' => 'visualizations#index', as: :datasets_docatalog_summary + get '(/user/:user_domain)(/u/:user_domain)/dashboard/datasets/do-catalog/:type/:id' => 'visualizations#index', as: :datasets_docatalog_dataset_summary + get '(/user/:user_domain)(/u/:user_domain)/dashboard/datasets/do-catalog/:type/:id/data' => 'visualizations#index', as: :datasets_docatalog_dataset_data get '(/user/:user_domain)(/u/:user_domain)/dashboard/datasets/:page' => 'visualizations#index', as: :datasets_page get '(/user/:user_domain)(/u/:user_domain)/dashboard/datasets/tag/:tag' => 'visualizations#index', as: :datasets_tag get '(/user/:user_domain)(/u/:user_domain)/dashboard/datasets/tag/:tag/:page' => 'visualizations#index', as: :datasets_tag_page diff --git a/lib/assets/javascripts/builder/components/modals/add-layer/content/imports/import-options.js b/lib/assets/javascripts/builder/components/modals/add-layer/content/imports/import-options.js index 8566540c73..aa3beaf4f6 100755 --- a/lib/assets/javascripts/builder/components/modals/add-layer/content/imports/import-options.js +++ b/lib/assets/javascripts/builder/components/modals/add-layer/content/imports/import-options.js @@ -236,5 +236,17 @@ module.exports = { name: 'hive', title: 'Hive', type: 'database' + }, + DataObservatory: { + view: null, + enabled: function (config, userModel) { return config.get('dataobservatory_enabled'); }, + name: 'dataobservatory', + title: 'CARTO Data Observatory', + type: 'dataobservatory', + options: { + new: true, + highlighted: true, + link: '/dashboard/datasets/do-catalog/' + } } }; diff --git a/lib/assets/javascripts/builder/components/modals/add-layer/content/imports/imports-selector/import-button.tpl b/lib/assets/javascripts/builder/components/modals/add-layer/content/imports/imports-selector/import-button.tpl index f0947549bd..72f25710db 100755 --- a/lib/assets/javascripts/builder/components/modals/add-layer/content/imports/imports-selector/import-button.tpl +++ b/lib/assets/javascripts/builder/components/modals/add-layer/content/imports/imports-selector/import-button.tpl @@ -4,6 +4,7 @@