Class: RedmineExtensions::QueryOutput
- Inherits:
-
Object
- Object
- RedmineExtensions::QueryOutput
show all
- Defined in:
- lib/redmine_extensions/query_output.rb
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(query_presenter) ⇒ QueryOutput
Returns a new instance of QueryOutput.
39
40
41
|
# File 'lib/redmine_extensions/query_output.rb', line 39
def initialize(query_presenter)
@query = query_presenter
end
|
Instance Attribute Details
Returns the value of attribute query.
4
5
6
|
# File 'lib/redmine_extensions/query_output.rb', line 4
def query
@query
end
|
Class Method Details
.available_for?(query) ⇒ Boolean
Take query and decide if it is possible to render it by this output
35
36
37
|
# File 'lib/redmine_extensions/query_output.rb', line 35
def self.available_for?(query)
true
end
|
.available_output_klasses_for(query) ⇒ Object
21
22
23
24
25
26
27
|
# File 'lib/redmine_extensions/query_output.rb', line 21
def self.available_output_klasses_for(query)
result = []
registered_outputs.each do |name, output|
result << output if output.available_for?(query)
end
result
end
|
.available_outputs_for(query) ⇒ Object
15
16
17
18
19
|
# File 'lib/redmine_extensions/query_output.rb', line 15
def self.available_outputs_for(query)
registered_outputs.select do |name, output|
output.available_for?(query)
end.keys
end
|
.output_klass_for(output) ⇒ Object
29
30
31
|
# File 'lib/redmine_extensions/query_output.rb', line 29
def self.output_klass_for(output)
registered_outputs[output.to_sym]
end
|
.register_output(name, klass, options = {}) ⇒ Object
7
8
9
|
# File 'lib/redmine_extensions/query_output.rb', line 7
def self.register_output(name, klass, options={})
registered_outputs[name] = klass
end
|
.registered_outputs ⇒ Object
11
12
13
|
# File 'lib/redmine_extensions/query_output.rb', line 11
def self.registered_outputs
@registered_outputs ||= {}
end
|
Instance Method Details
87
88
89
|
# File 'lib/redmine_extensions/query_output.rb', line 87
def edit_form
'easy_queries/form_'+key+'_settings'
end
|
#enabled? ⇒ Boolean
55
56
57
|
# File 'lib/redmine_extensions/query_output.rb', line 55
def enabled?
query.outputs.output_enabled?(key)
end
|
91
92
93
|
# File 'lib/redmine_extensions/query_output.rb', line 91
def h
@query.h
end
|
63
64
65
66
|
# File 'lib/redmine_extensions/query_output.rb', line 63
def
content = options["#{key}_header".to_sym]
h.content_tag(:h3, content.html_safe) unless content.blank?
end
|
47
48
49
|
# File 'lib/redmine_extensions/query_output.rb', line 47
def key
self.class.name.split('::').last.sub(/Output$/, '').underscore
end
|
51
52
53
|
# File 'lib/redmine_extensions/query_output.rb', line 51
def label
h.l('label_easy_query_output.'+key)
end
|
#render_data ⇒ Object
43
44
45
|
# File 'lib/redmine_extensions/query_output.rb', line 43
def render_data;
raise NotImplemented
end
|
#render_edit ⇒ Object
80
81
82
83
84
85
|
# File 'lib/redmine_extensions/query_output.rb', line 80
def render_edit
h.content_tag(:fieldset, class: "easy-query-filters-field #{key}_settings", style: ('display: none;' unless enabled? )) do
h.content_tag(:legend, label) +
h.render(self.edit_form, query: query, modul_uniq_id: query.modul_uniq_id, action: 'edit')
end
end
|
#render_edit_box(style = :check_box, options = {}) ⇒ Object
68
69
70
71
72
73
74
75
76
77
78
|
# File 'lib/redmine_extensions/query_output.rb', line 68
def render_edit_box(style=:check_box, options={})
raise 'Style of edit box is not allowed' unless [:check_box, :radio_button].include?(style)
box_id = "#{options[:modul_uniq_id]}_output_#{key}"
options[:class] ||= "#{options[:modul_uniq_id]}content_switch"
r = ''
r << h.send("#{style}_tag" , "#{options[:block_name]}[output]", key, enabled?, id: box_id, class: options[:class])
r << h.label_tag(box_id, h.l('label_easy_query_output.' + key), :class => 'inline')
r
end
|
#variables ⇒ Object
59
60
61
|
# File 'lib/redmine_extensions/query_output.rb', line 59
def variables
options.merge(easy_query: @query, output: self)
end
|