setting the field value of to '' would trigger
the 'change' event which would then disable
the sport/dport/proto comboboxes too early, an empty
form would have the comboboxes disabled too
instead keep the field to a null value if it is empty, but force
it to '' before sending to the pve-proxy
also makes the macro selector keyboard editable, similar to
the other comboboxes in the input panel
Also moves to full declarative style for
IPProtocolSelector, saves 11 lines of of boilerplate code
(works when the store is local and not pulled over the API)
API changes in ExtJS6 involved here:
* 'checkchange' event passes now the record index instead of the whole record
* record.fields is now an array of Field objects, before it was an Object