Repository navigation
v0.4.4
v0.4.4 ~ "An interactive component playground, signature pad, verified 100% test coverage, and a report builder for order reporting"
Highlights
- Interactive component playground — every component documented at
fleetbase.io/docs/ui now has a page where you can change its
arguments and watch the real component react, plus a minimal view the documentation site embeds
in an iframe. Argument state travels in the URL, so a configured example is a shareable link.
Built from the addon's own dummy application, so the previews are the real components with the
real styles — see PLAYGROUND.md. - Signature pad — a new
<SignaturePad>component and a matching custom field
type for capturing signatures. - Verified 100% test coverage — 5,400 tests now cover every statement, branch,
function and line in the addon, enforced by a coverage gate in CI with Codecov
upload. Every remainingistanbul ignorecarries a reason naming the specific
thing that makes its code unreachable. - Defects fixed along the way — the coverage work surfaced and fixed real bugs,
including: popover arrows are now actually positioned against their target,
popover'shide()no longer spins requestAnimationFrame forever, the conditions
panel in the query builder opens only when there are selected columns to filter
on, sidebar search results from a@searchProvidercan open nested sections via
result.path, report widgets can change their report after the first pick,
kanban card update/delete actions fire, array inputs no longer write the
KeyboardEvent into the array, and@openDelay={{0}}means zero. - Documentation refreshed — the README now points at the official documentation site and the
playground instead of 79 links to files that no longer existed, and reports the correct
AGPL-3.0-or-later licence. - Report builder for order reporting — goes with fleetbase/core-api v1.6.64 and fleetbase/fleetops v0.6.70:
- Group By, Sort and Conditions offer computed columns, so a report can group by a month bucket or sort by a calculated value.
- A grouped report can be sorted by its aggregates, such as "Sum of Quantity", and Count Distinct is a new aggregate.
- Summary columns such as Total Orders get their own "Summaries" section in the column picker, with a note on what they return.
- The computed column editor lists the JSON,
DATEandDECIMALhelpers, with examples for reading a value frommeta, bucketing by month and referencing a related column. The column name defaults to the label.
- Default dashboard order — widgets on the default dashboard are laid out by a numeric
orderon the widget definition (lowest first), so extensions can place their widgets together without depending on registration order. - Fix: report builder condition values lost focus after every keystroke, including both ends of a range.
- Fix: a field removed through a "Selected Fields" chip stayed checked, because
<Checkbox>did not follow@checked. A field loaded from a saved report was also added twice when toggled. - Fix: the computed column editor added an empty column when the name was blank, and renaming a column while editing added a copy. Saved reports now keep their computed columns when reopened.
- Fix: tall modals can grow and the overlay scrolls with its margins intact, and the modals manager forwards its size, position and scrollable options to the modal.
Need help?
What's Changed
- Fix eight contained defects found during the coverage work by @roncodes in #144
- Fix five behavioural defects; two need a product decision by @roncodes in #145
- Delete confirmed dead code; scope the coverage gate to first-party source by @roncodes in #147
- Adopt eslint-plugin-qunit and a rule for unguarded handler arguments by @roncodes in #148
- Rebuild translations-editor around stable rows by @roncodes in #149
- Replace ember-radio-button with a native implementation by @roncodes in #150
- Make model-select's infinite scroll actually work by @roncodes in #151
- Let the resource-identity cell actually compact by @roncodes in #152
- Stop custom-fields-manager refetching a subject on every tab change by @roncodes in #153
- Batch A: close the small coverage gaps, record the unreachable ones by @roncodes in #154
- Batch B (part 1): modal.js by @roncodes in #155
- Batch B (part 2): six components, and the test shapes that were hiding gaps by @roncodes in #157
- Batch B (part 3): seven more components, and where the remaining gaps actually live by @roncodes in #158
- Batch B (part 4): four components, and two categories of unreachable code by @roncodes in #159
- Batch B (part 5): a test that passed for the opposite reason by @roncodes in #160
- Batch B (part 6): two "blockers" that were not, and a multi-value filter that kept one value by @roncodes in #161
- full-calendar: actually stop the listener leak by @roncodes in #162
- Work through DEFECTS.md: sixteen of seventeen entries by @roncodes in #163
- Fix coverage collection: post from Testem.afterTests, not QUnit.done by @roncodes in #165
- feat(template-builder): finish the table's query data mode by @roncodes in #164
- Raise testem's disconnect timeout; trim DEFECTS.md to what is open by @roncodes in #166
- smart-nav-menu: one pinned-list resolver, not two (DEFECTS #18) by @roncodes in #167
- Add verified test coverage, coverage gating in CI, and Codecov upload by @roncodes in #143
- feat(signature-pad): add signature pad component and custom field type by @roncodes in #156
- Add interactive playground for documented UI components by @roncodes in #168
- fix(permissions): honour permission on bulk actions and header items by @roncodes in #185
- Release v0.4.4 by @roncodes in #184
Full Changelog: v0.4.3...v0.4.4