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


Description:
  • 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.