Description
Which component(s) are affected?
Date-time input
Description
While inputting text in the date time editor, internally the value property changes:
- becomes null if the date mask is not filled completely
- becomes the new date when the value is filled completely
However the igcChange event does not fire for neither change, even though the related prop has been changed internally. The event fires only after blur.
Either:
- The intermediate state while typing should not mutate the public value and should instead reflected in some internal property until blur.
or - It should fire igcChange for all internal changes that happen to the public value.
Note: The mismatch between the actual value and when the actual change is emitted becomes a problem if this editor is used in a template where the value can be bound externally, for example as an edit template in the igc-grid. Since any refresh of the template could cause the external value to be re-evaluated and it would no longer match with the internal value, hence it would reset it. Here's a also a sample with grid + date input:
grid+date-time-editor-sample.zip
You'll notice that you cannot input any new value in the date editor, since it constantly resets due to this issue.
Reproduction
- Run the attached sample.
9a30325d-301a-4ba4-a6b2-a4138eafb404.zip - Observe what happens to the value while typing in the input. Note when igcChange is emitted.
Workaround
N/A
Is this a regression?
No or unsure. This never worker, or I haven't tried before.
Affected versions
4.8.1
Browser/OS/Node environment
N/A