Class: Decidim::PadIframeCell
- Inherits:
-
ViewModel
- Object
- ViewModel
- Decidim::PadIframeCell
- Defined in:
- app/cells/decidim/pad_iframe_cell.rb
Overview
This cell is used to render an iframe to embed an Etherpad from a Paddable model.
Instance Method Summary collapse
- #base_iframe_url ⇒ Object
- #blank_read_only_pad? ⇒ Boolean
- #current_organization ⇒ Object
- #iframe_id ⇒ Object
- #iframe_url ⇒ Object
- #paddable ⇒ Object
- #show ⇒ Object
- #url_options ⇒ Object
Instance Method Details
#base_iframe_url ⇒ Object
34 35 36 37 38 |
# File 'app/cells/decidim/pad_iframe_cell.rb', line 34 def base_iframe_url return paddable.pad_public_url if paddable.pad_is_writable? paddable.pad_read_only_url end |
#blank_read_only_pad? ⇒ Boolean
48 49 50 |
# File 'app/cells/decidim/pad_iframe_cell.rb', line 48 def blank_read_only_pad? paddable.pad_is_visible? && !paddable.pad_is_writable? && paddable.pad.text.blank? end |
#current_organization ⇒ Object
44 45 46 |
# File 'app/cells/decidim/pad_iframe_cell.rb', line 44 def current_organization current_user.organization end |
#iframe_id ⇒ Object
17 18 19 |
# File 'app/cells/decidim/pad_iframe_cell.rb', line 17 def iframe_id "etherpad-#{paddable.id}" end |
#iframe_url ⇒ Object
21 22 23 |
# File 'app/cells/decidim/pad_iframe_cell.rb', line 21 def iframe_url @iframe_url ||= [base_iframe_url, "?", ].join end |
#paddable ⇒ Object
40 41 42 |
# File 'app/cells/decidim/pad_iframe_cell.rb', line 40 def paddable model end |
#show ⇒ Object
9 10 11 12 13 14 15 |
# File 'app/cells/decidim/pad_iframe_cell.rb', line 9 def show return unless current_user return unless paddable.pad_is_visible? return if blank_read_only_pad? render end |
#url_options ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'app/cells/decidim/pad_iframe_cell.rb', line 25 def URI.encode_www_form( userName: current_user.nickname, showControls: true, showLineNumbers: true, lang: current_user.locale ) end |