The part's mappings: each row with a property or a default, then the orphans (which a save refuses).
True when the input can be mapped: not server-set, and of a type a property can fill.
The dashboard properties whose type fits the row's input.
The type a row's default takes: the input's type, or text for an input that takes any value.
What the part dialog refuses: undeclared or server-set inputs, missing properties, mismatched types, bad defaults.
Mappings to inputs the part doesn't declare (for example a view property renamed since).