Module: Tenon::ItemVersionHelper

Defined in:
app/helpers/tenon/item_version_helper.rb

Instance Method Summary collapse

Instance Method Details

#autosaving_form_for(obj, opts = {}, &blk) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# File 'app/helpers/tenon/item_version_helper.rb', line 3

def autosaving_form_for(obj, opts = {}, &blk)
  data = build_data(obj, opts)

  default_opts = {
    builder: Tenon::FormBuilder,
    data: data,
    validate: true
  }

  form_for(obj, default_opts.merge(opts), &blk)
end


29
30
31
32
# File 'app/helpers/tenon/item_version_helper.rb', line 29

def clear_draft_link
  path = url_for(version: nil)
  link_to 'Load Active Version', path, class: 'delete-link'
end

#item_version_active_path(obj) ⇒ Object



44
45
46
47
48
49
50
# File 'app/helpers/tenon/item_version_helper.rb', line 44

def item_version_active_path(obj)
  if obj.persisted?
    polymorphic_path [:edit, obj]
  else
    new_polymorphic_path obj.class
  end
end


34
35
36
37
38
39
40
41
42
# File 'app/helpers/tenon/item_version_helper.rb', line 34

def load_draft_link(obj)
  path = item_versions_path(item_type: obj.class.to_s, item_id: obj.id)
  data = {
    'modal-remote' => true,
    'modal-title' => 'Load Draft',
    'modal-handler' => 'ItemVersionIndexHandler'
  }
  link_to 'Load Draft', path, class: 'delete-link', data: data
end


15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'app/helpers/tenon/item_version_helper.rb', line 15

def save_draft_link(obj)
  path = new_item_version_path(item_type: class_for(obj), item_id: obj.id)
  css_class = 'draft'
  data = {
    'modal-remote' => true,
    'modal-handler' => 'NewItemVersionHandler',
    'modal-title' => 'Save Draft'
  }
  link_to path, class: css_class, data: data do
    (:i, 'cloud_queue', class: 'material-icon') +
    'Save Draft'
  end
end