Sha256: e50981ba28d2a21003acb182c0e251fbadab81998682f99c3a4f929435d81c1b
Contents?: true
Size: 1.19 KB
Versions: 5
Compression:
Stored size: 1.19 KB
Contents
ActiveAdmin.modal_dialog = (message, inputs, callback)-> html = """<form id="dialog_confirm" title="#{message}"><ul>""" for name, type of inputs if /^(datepicker|checkbox|text)$/.test type wrapper = 'input' else if type is 'textarea' wrapper = 'textarea' else if $.isArray type [wrapper, elem, opts, type] = ['select', 'option', type, ''] else throw new Error "Unsupported input type: {#{name}: #{type}}" klass = if type is 'datepicker' then type else '' html += """<li> <label>#{name.charAt(0).toUpperCase() + name.slice(1)}</label> <#{wrapper} name="#{name}" class="#{klass}" type="#{type}">""" + (if opts then ( for v in opts if $.isArray v "<#{elem} value=#{v[1]}>#{v[0]}</#{elem}>" else "<#{elem}>#{v}</#{elem}>" ).join '' else '') + "</#{wrapper}>" + "</li>" [wrapper, elem, opts, type, klass] = [] # unset any temporary variables html += "</ul></form>" $(html).appendTo('body').dialog modal: true buttons: OK: -> callback $(@).serializeObject() $(@).dialog('close') Cancel: -> $(@).dialog('close').remove()
Version data entries
5 entries across 5 versions & 2 rubygems