Ext version tested:
  • Ext 3.2.1

Adapter used:
  • ext

css used:
  • only default ext-all.css

Browser versions tested against:
  • All

Operating System:
  • WinXP Pro

  • trackResetOnLoad makes no difference for composite fields. trackResetOnLoad is processed in setValues of basicform, including the step to track originalValue. This logic is never called for the compositefield's originalvalues, yet isdirty still asks its fields if they're dirty. This results in isDirty comparing against the original originalValue rather than the one last set by setValues().

Test Case:

Steps to reproduce the problem:
  • Create a composit field
  • Set trackResetOnLoad to true
  • Call setValues() on the form
  • see value of getFieldValues(true)

The result that was expected:
  • Field will not be marked dirty

The result that occurs instead:
  • Field is marked dirty

Screenshot or Video:
  • attached

Possible fix:
  • Make the logic to set originalValue as a new function of Field, and override it in compositField to cascade.