The Custom Fields
Fields
Consist of a name - cannot be duplicates or null
Types - string, number, port, password, file, folder, bool
Number/port has numeric input type
Number input accepts the letter 'e'
Password shows symbols instead of encrypted value
Should it show the unencrypted password as symbols? Different lengths
File has file browser button with file selection option
Folder has folder browser button with folder selection option
Passwords get encrypted
Bool is a true/false flag
Port opens modal to find next available port
View Mode
Display custom field name
Display the field type
Display the field value if it exists
If the field is null show add value text that enables editing of the field
If a field does not contain in the config the fields - name, type, and value - do not render
Handle rendering if the table DNE and is null
If a field has an unrecognized type do not render it
Inline Edit Mode
Allow user to edit just the value
Provide relevant widget to populate value
Customize Mode
Reorder the fields by dragging them
Changing type wipes out the value field
Delete rows by clicking x
Add rows by clicking add field
When there are no fields, default to one empty row
If there is a row with a value but no name throw an error on save
If there is a duplicated field name, throw an error