Sha256: ba0c20bb1d15e2f035b5492f1bd6fc38438a9ae65d41cbef9e952390b2864cc7
Contents?: true
Size: 1.23 KB
Versions: 14
Compression:
Stored size: 1.23 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 dialogClass: 'active_admin_dialog' buttons: OK: -> callback $(@).serializeObject() $(@).dialog('close') Cancel: -> $(@).dialog('close').remove()
Version data entries
14 entries across 14 versions & 2 rubygems