<td><%= idToSelect(fieldName, model.attributes[fieldName], foreignFields[fieldName], "humanReadableName", readOnly) %></td>\r
<% } else if (inputType[fieldName] == "checkbox") { %>\r
<td><input type="checkbox" name="<%= fieldName %>" <% if (model.attributes[fieldName]) print("checked"); %><%= readOnly %>></td>\r
+ <% } else if (inputType[fieldName] == "picker") { %>\r
+ <% lookupFunc = makeIdToName(model.m2mFields[fieldName], "humanReadableName"); %>\r
+ <td><%= xosPickerTemplate({pickedItems: model.attributes[fieldName], unpickedItems: model.getChoices(fieldName,true), id: "picker_" + fieldName, detailView: detailView, lookupFunc: lookupFunc}) %></td>\r
<% } else if (fieldName=="backend_status") { %>\r
<td><%= xosBackendStatusTextTemplate.apply(this, args) %></td>\r
<% } else { %>\r
</div>
</script>
+
+<script type="text/template" id="xos-picker-template">
+ <!-- arguments: unpickedItems, pickedItems -->
+ <div id="<%= id %>">
+ <div class="picker_row">
+ <div class="picker_column">\r
+ <div>Available</div>\r
+ <select name="pickerfrom" class="select-picker-from" multiple size="5">\r
+ <% _.each(unpickedItems, function(item) { %>\r
+ <option value="<%= item %>"><%= lookupFunc? lookupFunc(item) : item %></option>
+ <% });%>\r
+ </select>\r
+ </div>\r
+ <div class="picker_column">\r
+ <br>\r
+ <div class="btn btn-success btn-picker-add">Add »</div><br><br>\r
+ <div class="btn btn-success btn-picker-remove">« Remove</div>\r
+ </div>\r
+ <div class="picker_column">\r
+ <div>Selected</div>\r
+ <select name="pickerto" class="select-picker-to" multiple size="5">\r
+ <% _.each(pickedItems, function(item) { %>\r
+ <option value="<%= item %>"><%= lookupFunc ? lookupFunc(item) : item %></option>
+ <% }); %>\r
+ </select>\r
+ </div>\r
+ <div class="picker_column">\r
+ <br>\r
+ <div class="btn btn-success btn-picker-up">Up</div><br><br>\r
+ <div class="btn btn-success btn-picker-down">Down</div>\r
+ </div>\r
+ </div>
+ </div>
+ <% detailView.viewInitializers.push( function() { init_picker("#" + id); } ); %>
+</script>
+
<script>
xosInlineDetailButtonsTemplate = _.template($("#xos-inline-detail-buttons-template").html());
xosListHeaderTemplate = _.template($("#xos-list-header-template").html());
xosDetailLinkTemplate = _.template($("#xos-detail-link-template").html());
xosBackendStatusIconTemplate = _.template($("#xos-backend-status-icon-template").html());
xosBackendStatusTextTemplate = _.template($("#xos-backend-status-text-template").html());
+xosPickerTemplate = _.template($("#xos-picker-template").html());
</script>