Skip to content

[Bug]: IgcDateTimeInput mutates public value property internally while inputting text but does not emit a change event. #1346

Open
@MayaKirova

Description

@MayaKirova

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

  1. Run the attached sample.
    9a30325d-301a-4ba4-a6b2-a4138eafb404.zip
  2. 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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions