I spoke too soon, the page renders, however the field that renders as a custom picklist no longer updates. Here is the code in it’s entirety.
var field = arguments[0];
var value = arguments[1];
$ = skuid.$;
// Build the Options for the PICKLIST
var customOpts = [
{ label: ‘–None–’, value: “” },
{ label: ‘Initial product install’ },
{ label: ‘Importing my gold image’ },
{ label: ‘Creating unattend file and initial desktop deployment’ },
{ label: ‘Layering a new application’ },
{ label: ‘Updating an OS or application layer’ },
{ label: ‘Right sizing my deployment’ },
{ label: ‘Desktop problem (booting, runtime behavior or performance)’ },
{ label: ‘A feature in the management console is not working as expected’ },
{ label: ‘Just a question’ },
{ label: ‘Unidesk web site problem’ },
{ label: ‘Documentation problem’ },
{ label: ‘Other’ }
];
// set the default value in the model
//field.model.updateRow(field.row, field.id, ‘’);
field.model.updateRow(field.row, field.id, ‘’, { initiatorId: field._GUID });
// Render the options as a PICKLIST
var customSelect = skuid.ui.renderers.PICKLIST.edit({
entries : customOpts,
required : true,
value : value
}).change(function() {
// Update the row in the target object
if ($(this).val() == ‘Other’) {
$(‘#textProblemOther’).show();
field.model.updateRow(field.row,field.id,$(‘#textProblemOther’).val());
}
else {
$(‘#textProblemOther’).hide();
field.model.updateRow(field.row,field.id,skuid.$(this).val());
}
});
// Append the PICKLIST to the DOM element
field.element.append(customSelect);
// Now create the text field to support the ‘Other’ use case
var textContent = skuid.ui.renderers.TEXT.edit(field, value).change(function() {
field.model.updateRow(field.row,field.id,skuid.$(this).val());
});
// set the id and make it invisible to start
textContent[0].id = ‘textProblemOther’;
textContent[0].style.display = ‘none’;
// and add to the DOM
field.element.append(textContent);