We’ve got a lot of updates to A2 this release, as well as some major progress made in Storybook UI Components. The Media Manager, Pieces and Pages Editors, Widget Editor, Document Manager, and Progress Meters have all made it over the finish line. We’ve also made some big strides towards making the A3 UI a bit friendlier on smaller screens, paving the way for tablet, and eventually mobile editing through implementing responsive patterns for some of the more complex components. We’re continuing to focus on keyboard accessibility across all of the UI components for unsighted users and power users. As we move into the next release cycle, we are quickly approaching the end of our Storybook milestone and into the final phase of our alpha release — integrating our brand new restful backend with the brand new UI. Check out the release notes below for some major A2 updates.
- Users have found it confusing that they have to both publish and commit pieces, such as blog posts, before they can be seen. Starting in 2.108.0, if apostrophe-workflow is present and a piece type has the
contextual: trueoption set, the default published state is now
- When called with a scalar argument,
apos.utils.clonePermanentwill return scalars (strings, booleans, numbers) as-is. This makes it easier to use the method when the argument might or might not be an object that requires cloning.
- Improves help text and labeling on fields.
- The selected text is now only replaced by the document title when “Always Show Current Title” is selected. The original text is stashed for safe-keeping.
- Updated documentation for applying a projection to the join. This is most critical to the common use case of linking PDF files.
xtendpackage with native
Object.assign. Thanks to Bogdan Chadkin for this contribution.
- Adds an
allowedIframeDomainsoption. This works similar to
allowedIframeHostnames, where you would set it to an array of web domains. It would then permit any hostname on those domains to be used in iframe
srcattributes. Thanks to Stanislav Kravchenko for this contribution.
- Adds a warning that enforces single quotes. This will become an error in the next major version.
- “Submit” button is no longer shown to users unless there are modified documents they can submit for review, but not commit themselves. Users tell us this is much less confusing. The legacy behavior can be restored with the
workflowModifiedevent is now recognized, which triggers a refresh of the on-page workflow. This event can be emitting browser-side by calling:
- Workflow “submit / commit” options are properly surfaced after changes are made through palette’s UI.
- Pauses when committing and submitting, to allow asynchronous page content save operations to complete. Increases test stability.
steps.logincan now be called with a username and password. Otherwise it still defaults to
- Functions properly when no sheet name is specified.
- If an error occurs and no user is logged in, logs correctly rather than failing to use
- Provides a powerful phone number entry field, with a country selector and a phone number validator. Based on the libphonenumber-js and iso-countries .
- Introduces multi-select dropdowns as an alternate style choice available to form creators when they select the “checkboxes” widget. Basic CSS is provided as an example.
- Adds the
optionLabelPositionoption, allowing better styling control over labels for radio boxes and checkboxes.
- Basic compatibility with the namespaced static i18n functions introduced in recent releases of Apostrophe. No longer displays just “apostrophe” when it ought to display the key for these namespaced phrases.