{* New/Edit field form *}
<div id="FieldDialog_{$fid}" class="glm-dialog-box" style="width: 100%" title="Enter a New Custom Field">
<table class="glm-admin-table" style="width: 100%">
- <tr>
- <th class="glm-required">Field Name:</th>
- <td>
- <input id="FieldName_{$fid}" type="text" name="field_name" class="glm-form-text-input-short">
- <br>(for reference - keep short)
- </td>
- </tr>
- <tr>
- <th class="glm-required" style="width: 20%; white-space: nowrap;">User Prompt:</th>
- <td><input id="FieldPrompt_{$fid}" type="text" name="field_prompt" class="glm-form-text-input"></td>
- </tr>
<tr>
<th style="width: 20%; white-space: nowrap;" class="glm-required">Field Type:</th>
<td>
</td>
</tr>
<tr>
+ <th class="glm-required">Field Name:</th>
+ <td>
+ <input id="FieldName_{$fid}" type="text" name="field_name" class="glm-form-text-input-short">
+ <br>(for reference - keep short)
+ </td>
+ </tr>
+ <tr>
+ <th class="glm-required" style="width: 20%; white-space: nowrap;">
+ <span id="UserPrompt_{$fid}">User Prompt:</span>
+ </th>
+ <td>
+ <input id="FieldPrompt_{$fid}" type="text" name="field_prompt" class="glm-form-text-input">
+ <textarea id="FieldComment_{$fid}" name="field_comment" style="width: 100%;"></textarea>
+ </td>
+ </tr>
+ <tr id="FieldPriorityContainer_{$fid}">
<th style="width: 20%; white-space: nowrap;">Important Field:</th>
<td>
<input id="FieldPriorityDisplay_{$fid}" type="checkbox" name="priority_display">
Display when limited output is selected.
</td>
</tr>
- <tr>
+ <tr id="FieldRequiredContainer_{$fid}">
<th style="width: 20%; white-space: nowrap;">Required:</th>
<td><input id="FieldRequired_{$fid}" type="checkbox" name="required"></td>
</tr>
</td>
</tr>
<tr class="FieldRow_{$t.id} FieldRow_{$t.id}_replace">
- <td colspan="5" style="text-align: left; padding-left: 2rem;">Prompt: <span id="DisplayFieldPrompt_{$t.id}">{$t.field_prompt}</span></td>
+ <td colspan="5" style="text-align: left; padding-left: 2rem;">
+ {if $t.field_type!='hr'}
+
+ {if $t.field_type=='comment'}
+ Comment/Description:
+ {else}
+ Prompt:
+ {/if}
+ <span id="DisplayFieldPrompt_{$t.id}">{$t.field_prompt}</span>
+ {/if}
+ </td>
</tr>
{if $t.field_type=='picklist'}
<tr id="PicklistField_{$t.id}" class="picklist-options-container">
$('#FieldSubmit_{$fid}').data('data-fieldId', '');
$('#FieldName_{$fid}').val('');
$('#FieldPrompt_{$fid}').val('');
+ $('#FieldComment_{$fid}').val('');
$('#FieldType_{$fid}').prop('selectedIndex',0);
$('#FieldPriorityDisplay_{$fid}').removeAttr('checked');
$('#FieldRequired_{$fid}').removeAttr('checked');
$('#FieldSubmit_{$fid}').html('New Custom Field');
+ $('#UserPrompt_{$fid}').html('User Prompt:');
+ displayedEditFields();
+
$("#FieldDialog_{$fid}").dialog('open');
});
}
// Collect the new / edited field data
+ var fieldType = $('#FieldType_{$fid}').val();
+ var fieldPrompt = (fieldType == 'comment' ? $('#FieldComment_{$fid}').val() : $('#FieldPrompt_{$fid}').val());
var formData = {
'action': 'glm_members_admin_ajax',
'glm_action': 'customFields',
'option': customFieldSubmitOption,
'fid': '{$fid}',
'fieldId': $('#FieldSubmit_{$fid}').data('data-fieldId'),
- 'field_name': $('#FieldName_{$fid}').val(),
- 'field_prompt': $('#FieldPrompt_{$fid}').val(),
'field_type': $('#FieldType_{$fid}').val(),
+ 'field_name': $('#FieldName_{$fid}').val(),
+ 'field_prompt': fieldPrompt,
'priority_display': $('#FieldPriorityDisplay_{$fid}').is(':checked'),
'required': $('#FieldRequired_{$fid}').is(':checked')
};
$('body').on('click', '.EditFieldButton_{$fid}', editFieldButton_{$fid});
function editFieldButton_{$fid}(e) {
- var fieldId = $(this).attr('data-fieldId');
- var fieldName = $(this).attr('data-fieldName');
- var fieldPrompt = $(this).attr('data-fieldPrompt');
- var fieldType = $(this).attr('data-fieldType');
- var priority = ($(this).attr('data-priority') == 1);
- var required = ($(this).attr('data-required') == 1);
+ var fieldId = $(this).attr('data-fieldId');
+ var fieldName = $(this).attr('data-fieldName');
+ var fieldPrompt = $(this).attr('data-fieldPrompt');
+ var fieldType = $(this).attr('data-fieldType');
+ var priority = ($(this).attr('data-priority') == 1);
+ var required = ($(this).attr('data-required') == 1);
+ var promptText = ( fieldType == "comment" ? 'Comment/Text:' : 'User Prompt:');
$('#FieldSubmit_{$fid}').data('data-fieldId', fieldId);
$('#FieldName_{$fid}').val(fieldName);
$('#FieldPrompt_{$fid}').val(fieldPrompt);
+ $('#FieldComment_{$fid}').val(fieldPrompt);
$('#FieldType_{$fid}').val(fieldType);
$('#FieldPriorityDisplay_{$fid}').prop('checked', priority);
$('#FieldRequired_{$fid}').prop('checked', required);
$('#FieldSubmit_{$fid}').html('Update Custom Field');
+ $('#UserPrompt_{$fid}').html(promptText);
+
+ displayedEditFields(fieldType);
+
$("#FieldDialog_{$fid}").dialog("open");
}
+ // Options Type selection actions
+ $('#FieldType_{$fid}').change( function(event) {
+ var fieldType = $('#FieldType_{$fid}').val();
+ var promptText = ( fieldType == "comment" ? 'Comment/Text:' : 'User Prompt:');
+ $('#UserPrompt_{$fid}').html(promptText);
+
+ displayedEditFields( fieldType );
+
+ $("#FieldDialog_{$fid}").dialog("open");
+ });
+
/*
* Delete Field Dialog
*/
});
// Make fields tables sortable
- $('#FieldsTable_{$fid}').sortable({
+ var regFieldSortable = $('#FieldsTable_{$fid}').sortable({
items: '.sort-field-container',
cursorAt: { top: -20, left: 10 },
handle: ".sortable-handle",
}
});
+
+ // Display edit fields based on field type selected
+ function displayedEditFields( fieldType = '' ) {
+ if (fieldType == 'comment') {
+ $('#FieldPrompt_{$fid}').css("display","none");
+ $('#FieldComment_{$fid}').css("display","inline");
+ $('#FieldPriorityContainer_{$fid}').css("display","none");
+ $('#FieldRequiredContainer_{$fid}').css("display","none");
+ } else if (fieldType == 'hr') {
+ $('#FieldPrompt_{$fid}').css("display","none");
+ $('#FieldComment_{$fid}').css("display","none");
+ $('#FieldPriorityContainer_{$fid}').css("display","none");
+ $('#FieldRequiredContainer_{$fid}').css("display","none");
+ } else {
+ $('#FieldPrompt_{$fid}').css("display","inline");
+ $('#FieldComment_{$fid}').css("display","none");
+ $('#FieldPriorityContainer_{$fid}').css("display","table-row");
+ $('#FieldRequiredContainer_{$fid}').css("display","table-row");
+ }
+ }
+
// Flash an element for a short time
function flashElement(id) {