Skip to content

Commit 159ff20

Browse files
committed
[NEP-18619]: Addressing review comments
1 parent 87fa686 commit 159ff20

File tree

4 files changed

+14
-33
lines changed

4 files changed

+14
-33
lines changed

lib/superset/dashboard/datasets/list.rb

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ module Superset
77
module Dashboard
88
module Datasets
99
class List < Superset::Request
10-
attr_reader :id, :include_filter_datasets # dashboard id
10+
attr_reader :id, :include_filter_datasets # id - dashboard id
1111

1212
def self.call(id)
1313
self.new(id).list
1414
end
1515

16-
def initialize(id, include_filter_datasets = false)
17-
@id = id
16+
def initialize(dashboard_id:, include_filter_datasets: false)
17+
@id = dashboard_id
1818
@include_filter_datasets = include_filter_datasets
1919
end
2020

@@ -50,7 +50,7 @@ def datasets_details
5050
private
5151

5252
def filter_dataset_ids
53-
@filter_dataset_ids ||= Dashboard::Filters::List.new(id).perform
53+
@filter_dataset_ids ||= dashboard.filter_configuration.map { |c| c['targets'] }.flatten.compact.map { |c| c['datasetId'] }.flatten.compact
5454
end
5555

5656
def filter_datasets(filter_dataset_ids_not_used_in_charts)
@@ -88,7 +88,11 @@ def rows
8888

8989
# when displaying a list of datasets, show dashboard title as well
9090
def title
91-
@title ||= [id, Superset::Dashboard::Get.new(id).title].join(' ')
91+
@title ||= [id, dashboard.title].join(' ')
92+
end
93+
94+
def dashboard
95+
@dashboard = Superset::Dashboard::Get.new(id)
9296
end
9397
end
9498
end

lib/superset/dashboard/filters/list.rb

Lines changed: 0 additions & 27 deletions
This file was deleted.

lib/superset/dashboard/get.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ def title
2525
def json_metadata
2626
JSON.parse(result['json_metadata'])
2727
end
28+
29+
def filter_configuration
30+
json_metadata['native_filter_configuration'] || []
31+
end
2832

2933
def positions
3034
JSON.parse(result['position_json'])

lib/superset/services/duplicate_dashboard.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ def new_dashboard
183183

184184
# retrieve the datasets that will be duplicated
185185
def source_dashboard_datasets
186-
@source_dashboard_datasets ||= Superset::Dashboard::Datasets::List.new(source_dashboard_id, true).datasets_details
186+
@source_dashboard_datasets ||= Superset::Dashboard::Datasets::List.new(dashboard_id: source_dashboard_id, include_filter_datasets: true).datasets_details
187187
rescue => e
188188
raise "Unable to retrieve datasets for source dashboard #{source_dashboard_id}: #{e.message}"
189189
end

0 commit comments

Comments
 (0)