Skip to content

v0.4.4

Choose a tag to compare

@github-actions github-actions released this 28 Sep 10:30
· 29 commits to main since this release
f6923a5

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 remaining istanbul ignore carries 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's hide() 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 @searchProvider can 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, DATE and DECIMAL helpers, with examples for reading a value from meta, 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 order on 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