Hi everyone,
We’re building a multi-page defect entry form in Perspective (Ignition 8.1.26), designed for use on iPads and thin clients in a manufacturing setting.
One of the fields requires the operator to specify a production DateTime (exact date and time a defect occurred). This value is bound to a tag:
[BIB_DefectData]FormData/Production_DateTime
(DataType: DateTime
)
What We've Tried So Far:
- Single DateTime Picker
- Useable, but not user-friendly on iPad
- Time selector is too small and not obvious
- Doesn't always allow time change on the first click to edit.
- Split into Two Pickers:
Dpk_Date
→ Date PickerTpk_Time
→ Time Picker- This increased required footprint.
- Then, used
onActionPerformed
scripting to combine them into a custom property (Prod_DateTime
), and wrote that to the tag. - Lots of copy-paste drift and inherited
onAction
configs caused event scope issues - Lost track of which script was triggering what
- The Time Picker started throwing
NoneType
errors because of bad container pathing - Ultimately had to scrap and restart
What We Want Now
We’re looking for a clean, stable solution that works reliably in Perspective app on iPads and ThinClients but also in browsers:
- Accept both date and time input
- Show clear UI feedback (including current selected datetime)
- Allow easy touch input for operators (no hidden AM/PM dropdowns or on-screen keyboard overlap)
- Write the combined DateTime value to the tag
[BIB_DefectData]FormData/Production_DateTime
- Bonus: Live update of tag whenever either value changes
Questions:
- Has anyone solved this cleanly using custom properties and bindings only, without relying on button scripts?
- Is there a better approach than splitting into Date + Time components?
- Is it possible to replace or extend the Time Picker UI to be more touch-friendly?
- Would a custom component or third-party approach help here?
- I was thinking maybe using a button and then performing this in a popup screen.
Thanks in advance for any help. I’m happy to share more screenshots or layout if needed.
—