'use strict'; define(['app', 'handlebars'], function (App,Handlebars) { Handlebars.registerHelper('formBuilder', function () { var ret = ""; _.each(this.fields, function (field) { ret += NzbDrone.Form.FieldBuilder(field); }); return new Handlebars.SafeString(ret); }); NzbDrone.Form.FieldBuilder = function (field) { if (!field.type) { return Handlebars.helpers.partial.apply(field, ['Form/TextboxTemplate']); } if (field.type === 'password') { return Handlebars.helpers.partial.apply(field, ['Form/PasswordTemplate']); } if (field.type === 'checkbox') { return Handlebars.helpers.partial.apply(field, ['Form/CheckboxTemplate']); } if (field.type === 'select') { return Handlebars.helpers.partial.apply(field, ['Form/SelectTemplate']); } return Handlebars.helpers.partial.apply(field, ['Form/TextboxTemplate']); }; });