Sha256: 0b54d971bf596855ec6432ba571b4faead8000a8428975b20f1426a03c84f71a
Contents?: true
Size: 1.11 KB
Versions: 2
Compression:
Stored size: 1.11 KB
Contents
module ActiveAdmin module StateMachine module ViewDSL def state(name = "state", read_only: false) column name do |resource| render_state(resource, name, read_only) end end def render_state(resource, name, read_only) state = resource.send(name) s = resource.class.state_machines[name.to_sym].states[state.to_sym] ret = [ '<div class="status_tag state-' + state + '">' + s.human_name + '</div>', '<div style="height: 10px;"></div>' ] unless read_only events = resource.class.state_machines[name.to_sym].events resource.send("#{name}_events".to_sym).each do |event| ret << link_to( events[event].human_name, send("#{event}_admin_#{resource.class.model_name.singular}_path", id: resource.id, attr: name), method: :put, class: "btn event-#{event}", style: 'margin-bottom: 5px;' ) end end ('<div style="white-space: normal;">' + ret.join(' ') + '</div>').html_safe end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rs-active_admin-state_machine-0.2.1 | lib/active_admin/state_machine/view_dsl.rb |
rs-active_admin-state_machine-0.2.0 | lib/active_admin/state_machine/view_dsl.rb |