feat(forms): autocomplete CompanyPicker on Project + billing forms + conventions doc (PMS-367) #255
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/pms-367-company-picker-and-form-conventions"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Finishes the create-form consistency sweep (PMS-367). PMS-352 (merged) already moved Asset + Contract onto the autocomplete
CompanyPicker; this converts the remaining native company dropdowns and documents the conventions.Company picker (AC1) - every call site now uses
CompanyPickerSelectCompanyPicker(required: false - company is optional on a project)SelectCompanyPicker(required)SelectCompanyPicker(required); onselect clears the dependent invoice like the old onchange didSelectThe payment invoice picker (with the "(Unapplied payment)" option) stays a
Select- it is an invoice picker, not a company picker.Other reference pickers (AC2)
Audited: assignee/User pickers and the fixed lookups (work type, status, priority, tax rate, payment term) stay native
Select- small bounded lists where autocomplete buys nothing.AssetPickerandContactPicker(large lists) are already autocomplete. The full rationale + every call site is in the doc.Convention doc (AC3)
dev-docs/form-conventions.md: (1) autocomplete-vs-native-Select picker rule + every Company picker call site, and (2) the modal-vs-full-page convention (top-level entity creates = full pages; child-of-parent creates = modals). The sweep found the app already follows the modal/full-page split - no mismatch to fix (AC4).Documented follow-up (AC4)
The time-entry Work Item picker (a dual-source ticket/project
Selecton Log Time) stays native: it needs a new combined autocomplete component and the open-ticket list is usually modest. Recorded in the doc rather than blocking this PR.Verification
wasm
cargo check,cargo clippy --target wasm32-unknown-unknown --lib -- -D warnings, andcargo fmt --all --checkall pass.#PMS-367