Class: GoodData::ReportItem

Inherits:
DashboardItem show all
Defined in:
lib/gooddata/models/metadata/dashboard/report_item.rb

Constant Summary collapse

EMPTY_OBJECT =
{
  :reportItem => {
    :obj => nil,
    :sizeY => 200,
    :sizeX => 300,
    :style => {
      :displayTitle => 1,
      :background => {
        :opacity => 0
      }
    },
    :visualization => {
      :grid => {
        :columnWidths => []
      },
      :oneNumber => {
        :labels => {}
      }
    },
    :positionY => 0,
    :filters => [],
    :positionX => 0
  }
}
ASSIGNABLE_MEMBERS =
DashboardItem::ASSIGNABLE_MEMBERS + [
  :filters,
  :obj,
  :report,
  :style,
  :visualization
]

Instance Attribute Summary

Attributes inherited from DashboardItem

#json, #tab

Attributes inherited from GoodData::Rest::Object

#client, #json, #project

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from DashboardItem

#filters, #filters=, #position_x, #position_x=, #position_y, #position_y=, #size_x, #size_x=, #size_y, #size_y=

Methods included from Mixin::ObjId

#obj_id

Methods inherited from GoodData::Rest::Object

client, default_client, #saved?

Methods included from Mixin::DataPropertyReader

#data_property_reader

Methods included from Mixin::DataPropertyWriter

#data_property_writer

Methods included from Mixin::MetaPropertyReader

#metadata_property_reader

Methods included from Mixin::MetaPropertyWriter

#metadata_property_writer

Methods included from Mixin::MetaGetter

#meta

Methods included from Mixin::DataGetter

#data

Methods included from Mixin::RootKeyGetter

#root_key

Methods included from Mixin::ContentGetter

#content

Constructor Details

#initialize(tab, json) ⇒ ReportItem

Returns a new instance of ReportItem.



59
60
61
# File 'lib/gooddata/models/metadata/dashboard/report_item.rb', line 59

def initialize(tab, json)
  super
end

Class Method Details

.create(tab, item) ⇒ Object



50
51
52
53
54
55
56
# File 'lib/gooddata/models/metadata/dashboard/report_item.rb', line 50

def create(tab, item)
  res = GoodData::ReportItem.new(tab, GoodData::Helpers.deep_dup(GoodData::Helpers.deep_stringify_keys(EMPTY_OBJECT)))
  item.each do |k, v|
    res.send("#{k}=", v) if ASSIGNABLE_MEMBERS.include? k
  end
  res
end

.obj_uri(obj) ⇒ Object



46
47
48
# File 'lib/gooddata/models/metadata/dashboard/report_item.rb', line 46

def obj_uri(obj)
  obj.respond_to?(:uri) ? obj.uri : obj
end

Instance Method Details

#objObject Also known as: object



63
64
65
# File 'lib/gooddata/models/metadata/dashboard/report_item.rb', line 63

def obj
  GoodData::MdObject[data['obj'], :client => tab.dashboard.client, :project => tab.dashboard.project]
end

#obj=(new_obj) ⇒ Object Also known as: object=, report=



69
70
71
# File 'lib/gooddata/models/metadata/dashboard/report_item.rb', line 69

def obj=(new_obj)
  data['obj'] = ReportItem.obj_uri(new_obj)
end

#styleObject



76
77
78
# File 'lib/gooddata/models/metadata/dashboard/report_item.rb', line 76

def style
  data['style']
end

#style=(new_style) ⇒ Object



80
81
82
# File 'lib/gooddata/models/metadata/dashboard/report_item.rb', line 80

def style=(new_style)
  data['style'] = new_style
end

#visualizationObject



84
85
86
# File 'lib/gooddata/models/metadata/dashboard/report_item.rb', line 84

def visualization
  data['visualization']
end

#visualization=(new_visualization) ⇒ Object



88
89
90
# File 'lib/gooddata/models/metadata/dashboard/report_item.rb', line 88

def visualization=(new_visualization)
  data['visualization'] = new_visualization
end