<${wrapper} name="${name}" class="${klass}" type="${type}">` +
(opts ? ((() => {
const result = [];
for (let v of opts) {
const $elem = $(`<${elem}/>`);
if ($.isArray(v)) {
$elem.text(v[0]).val(v[1]);
} else {
$elem.text(v);
}
result.push($elem.wrap('').parent().html());
}
return result;
})()).join('') : '') +
`${wrapper}>` +
"";
[wrapper, elem, opts, type, klass] = []; // unset any temporary variables
}
html += "";
const form = $(html).appendTo('body');
$('body').trigger('modal_dialog:before_open', [form]);
form.dialog({
modal: true,
open(event, ui) {
$('body').trigger('modal_dialog:after_open', [form]);
},
dialogClass: 'active_admin_dialog',
buttons: {
OK() {
callback($(this).serializeObject());
$(this).dialog('close');
},
Cancel() {
$(this).dialog('close').remove();
}
}
});
};