1
0
Fork 0
mirror of https://github.com/lidarr/Lidarr synced 2024-12-25 01:02:05 +00:00

Fixed FormBuilder

This commit is contained in:
Mark McDowall 2013-06-25 08:28:40 -07:00
parent 28de886bb1
commit 5e0a66d792
2 changed files with 14 additions and 8 deletions

View file

@ -4,45 +4,50 @@ define(
'handlebars' 'handlebars'
], function (Handlebars) { ], function (Handlebars) {
var formBuilder = function (field) { var _fieldBuilder = function (field) {
if (!field.type) { if (!field.type) {
return Handlebars.helpers.partial.apply(field, return _templateRenderer.apply(field,
[ [
'Form/TextboxTemplate' 'Form/TextboxTemplate'
]); ]);
} }
if (field.type === 'password') { if (field.type === 'password') {
return Handlebars.helpers.partial.apply(field, return _templateRenderer.apply(field,
[ [
'Form/PasswordTemplate' 'Form/PasswordTemplate'
]); ]);
} }
if (field.type === 'checkbox') { if (field.type === 'checkbox') {
return Handlebars.helpers.partial.apply(field, return _templateRenderer.apply(field,
[ [
'Form/CheckboxTemplate' 'Form/CheckboxTemplate'
]); ]);
} }
if (field.type === 'select') { if (field.type === 'select') {
return Handlebars.helpers.partial.apply(field, return _templateRenderer.apply(field,
[ [
'Form/SelectTemplate' 'Form/SelectTemplate'
]); ]);
} }
return Handlebars.helpers.partial.apply(field, return _templateRenderer.apply(field,
[ [
'Form/TextboxTemplate' 'Form/TextboxTemplate'
]); ]);
}; };
var _templateRenderer = function (templateName) {
var templateFunction = Marionette.TemplateCache.get(templateName);
return new Handlebars.SafeString(templateFunction(this));
};
Handlebars.registerHelper('formBuilder', function () { Handlebars.registerHelper('formBuilder', function () {
var ret = ''; var ret = '';
_.each(this.fields, function (field) { _.each(this.fields, function (field) {
ret += this.FieldBuilder(field); ret += _fieldBuilder(field);
}); });
return new Handlebars.SafeString(ret); return new Handlebars.SafeString(ret);

View file

@ -1,7 +1,8 @@
'use strict'; 'use strict';
define( define(
[ [
'Settings/Indexers/Model' 'Settings/Indexers/Model',
'Form/FormBuilder'
], function (IndexerModel) { ], function (IndexerModel) {
return Backbone.Collection.extend({ return Backbone.Collection.extend({
url : window.ApiRoot + '/indexer', url : window.ApiRoot + '/indexer',