Bryntum Core version history
7.3.x - Unreleased
FEATURES / ENHANCEMENTS
TextAreaFieldhas a newautoHeightconfig that makes the textarea automatically grow and shrink vertically to fit its content. Recommended to combine with amax-heightCSS rule to cap the growthChatPanelnow uses aTextAreaField(withautoHeightenabled) instead of aTextFieldfor the message input, allowing multiline messages. A newmessageTriggersPlacementconfig ('side'/'below') controls whether trigger buttons appear next to or below the text areaWidget.focus()method now accepts anoptionsparameter supportingpreventScroll(defaults totrueto avoid unexpected scrolling) andfocusVisible(to force showing or hiding focus indication). By default, focus indication is automatically shown for keyboard navigation but hidden for mouse clicks- AI feature now tracks token usage (
inputTokens,outputTokens,totalTokens) on each AI response message record. WhendebugModeis enabled, each API call logs current and cumulative token usage to the console - Container has a new
labelWidthconfig that applies to all its children (more convenient than doing it through thedefaultsconfig + allows changing the default globally) Model.applyDefaults()now also handles field defaults. When a key matches a defined field name, the field's default value is updated so that new instances use the new default. Non-field keys are passed through to the superclass to handle config defaults as before (#12865)
API CHANGES
- The AI feature's prompt history (ArrowUp/ArrowDown to cycle previous messages) is no longer automatically saved to
localStorage. Instead, configure the newpromptHistoryconfig with an array (e.g. loaded fromlocalStorage) and listen to thepromptHistoryUpdateevent to persist changes. SetpromptHistoryto[]ortrueto enable with an empty history. Previously this was always on and tied tolocalStorage— now the application controls persistence AIChatMessageModelhas new fields:inputTokens,outputTokens,totalTokensfor tracking API token consumptionAIMessagetypedef now includes an optionalusageproperty of typeAITokenUsage- [BREAKING]
relayAllnow propagatesreturn falsefrom the relay target back to the original event trigger, which may abort event processing. Previously,return falsefrom relayed listeners was silently ignored
STYLING CHANGES
- Removed
content: var(--fa)convenience CSS rule from.b-icon::before/.b-fw-icon::before. Font Awesome icon classes likefa-booknow require thefabase class (e.g.,fa fa-book) (#12790) - When setting
labelWidthon a field, the label now gets bothmin-widthandwidthstyles to ensure the label does not expand beyond the configured width. This also applies the.b-has-label-widthclass to the label element, which enables text wrapping
BUG FIXES
- #5009 - [TypeScript]
Base.mixin()return type changed fromFunctiontotypeof Base, allowingclass MyWidget extends Button.mixin(MyMixin) {}to compile without errors - #12451 - [TypeScript]
Tooltip.triggeredByEventtyped asEventinstead ofPointerEvent
7.2.x - Unreleased
BUG FIXES
- #12632 -
FieldFilterPickercrashed with array-valued column data when usingisIncludedInoperator - #12934 - [BUG] Crash in TreeGrid when sparseIndex is enabled
- #12966 - Panel toolbar
border : truecaused rounded corners on bbar and doubled borders on tbar
7.2.3 - 2026-04-09
STYLING CHANGES
- Tweaked CSS for Material 3 fields without
labelPositionspecified, to match layout used whenlabelPosition: 'above'is set (#12858)
BUG FIXES
- #9401 - Allow number editor to allow entering decimals starting with period
- #12486 - [Salesforce] List virtualization broken in Locker Service when
IntersectionObserverunavailable - #12777 - Class extending
TextAreaPickerFieldwith customPanelpicker broke after upgrade - #12815 -
Combowith chained store not updating correctly - #12852 - Pinch zoom renders floating widgets out of place
- #12884 - STM redo produces wrong sort order when tree store has an active filter
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.2.2 - 2026-03-19
FEATURES / ENHANCEMENTS
- The
KeyMapmixin'skeyMapproperty now accepts atargetSelectorproperty which filters keystrokes to only those originating from inside elements matching the specified CSS selector
BUG FIXES
- #11888 - German locale unit names should be capitalized (nouns are always capitalized in German)
- #12666 -
DomHelper.highlightanimation not visible on elements without Bryntum styling - #12703 -
Combochangeevent not fired when settingpanel.valueswith remoteAjaxStore - #12722 - Empty
DisplayFieldhas incorrect (smaller) height - #12744 -
idFieldwithpersist: falseis still included in modification data sent to backend - #12750 -
DatePickereditMonthset tofalseshould useinertnotdisabled - #12779 - [SALESFORCE]
Objects.clone()not handlingSecureNodeListcorrectly - #12798 - HSL color definitions missing
%on saturation broke colors on older Safari/iOS - #12804 -
DateTimeFieldTAB key trapped focus whenTimeFieldwas hidden - #12848 - Spacer sorted to end when toolbar items defined using object form
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.2.1 - 2026-02-26
BUG FIXES
- #12589 - Scrollbar missing in multi-select Combo when selected items exceed maxHeight
- #12726 -
StoreChaineddoes not refresh on master store batch operations
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.2.0 - 2026-02-24
FEATURES / ENHANCEMENTS
Widget.query()/Widget.queryAll()now support#idand[attr=value]selectors, and accept widget instances directly (returned as-is) (#1979)
API CHANGES
- Removed the internal
chainkey frompluginConfig. Useafterinstead, which has the same functionality. Theafterkey is symmetric withbefore(#12581)
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.1.3 - 2026-02-18
BUG FIXES
- #7209 - Docked panel overlay not working in RTL mode
- #10394 -
ComboonChangeevent reporteduserAction: truewhen value was set programmatically while picker was open - #12609 - Collapsed child panels inside a
drawerPanelhad their collapse-revealer headers hidden - #12625 -
TabPanelcrashed when configuringtabBarwithdockset to'left' - #12637 - Inputs misaligned when labelPosition is null
- #12659 - Crash in
DomClassList.assignTowhen element has no CSS classes
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.1.2 - 2026-02-09
FEATURES / ENHANCEMENTS
- Improved "bundle loaded multiple times" exception to show import URLs (#9296)
BUG FIXES
- #2048 - Override util issues
- #4801 - Field label text should not be selectable
- #7632 - UndoRedo control still shows transactions after clearing queue
- #11317 - Typescript for Model class does not allow overriding
isPersistable - #11766 - MessageDialog:
Buttontext not visible when ariaLabel matches text - #12502 - FontAwesome 6 "regular" import breaks checkbox and other icons
- #12512 -
CheckboxGroupdid not firechangeevent when setting value viaContainer.record - #12513 - Tree node move operations now respect
reapplyFilterOnAddconfig - #12515 - [TypeScript]
Store.filter()can now be called without arguments to reapply filters - #12560 -
RadioGroupitems misalignment wheninlineisfalse
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.1.1 - 2026-01-22
FEATURES / ENHANCEMENTS
- List
virtualizeconfig is now public, allowing virtualization to be disabled in environments whereIntersectionObserveris unavailable (e.g., Salesforce Locker Service)
BUG FIXES
- #9860 -
Tab.indexproperty now available in TypeScript types - #10279 -
Store.sortreturnsPromise<any|null>instead ofPromise<any>|nullin TypeScript - #12490 - Font Awesome Pro style prefixes (
fa-light,fa-regular, etc.) no longer get basefaclass added
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.1.0 - 2025-12-19
FEATURES / ENHANCEMENTS
- Added
dragSelectproperty toDatePickerwhich means that if you are usingmultiSelect, a drag over cells will select the date range
API CHANGES
- Sliders used
labelWidthfor both their value label and their main label. Now,labelWidthonly affects the main label, while a newvalueLabelWidthconfig controls the width of the value label (#12395)
STYLING CHANGES
- Added a new
fluent2theme, available in both a light and dark variant (#10338)
BUG FIXES
- #12246 - Padded
ButtonGroupneeds:activebutton styling - #12394 -
.b-outerrule should not be seen in a deep widget hierarchy
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.0.2 - 2025-12-16
BUG FIXES
- #10235 - Invalid group order if state doesn't have ascending key
- #12330 - Grid
v6,v7filter pagination param incorrect inAjaxStore - #12350 - Drawer Panel should close by default when clicking outside its element
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.0.1 - 2025-12-05
BUG FIXES
- #12271 - Row reordering causes data issues when grouping enabled
- #12315 - Drawer
Paneldoes not close when clicking outside it by default - #12324 -
Delayableleaking timeout map
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.0.0 - 2025-11-25
- We are proud to announce version
7.0of our products. In this update we have overhauled the look and feel of all products, introducing a new CSS variable based theming system with the following new themes available:- Svalbard - our new default theme, flat and modern
- Visby - inspired by the town's old ring wall, uses more borders
- Material3 - newer material, up from v1
- Stockholm - a refreshed classic
- High contrast - more contrast between text and backgrounds
- A special thanks to everyone who helped us by testing our alpha and beta versions. Your feedback and support have been invaluable
FEATURES / ENHANCEMENTS
- All Bryntum products have had a major visual overhaul, modernizing not only their look but also the underlying CSS. See the "Styling changes" section below for more details, and be sure to check out our updated demos
- Updated versioning scheme: for Alpha and Beta pre-releases now follow semantic versioning format (e.g.,
7.0.0-alpha.1,7.0.0-beta.1) - Containers (
Container,Panel,Popup) now use a CSS grid layout by default. When also configured withlabelPosition: 'align-before', field labels will be laid out in the first column, and fields in the second column - [TypeScript] Improved TypeScript definitions to support function parameters in typedef declarations
API CHANGES
- [BREAKING] The
modeconfig ofMaskwas removed. Style the mask using CSS instead - [BREAKING] The
getTranslateX/Y()fns ofDomHelpernow only handle thetranslateproperty, it no longer parsestransformvariants
STYLING CHANGES
- We have transitioned to using individual transform properties, e.g.
translate,scale&rotateinstead of legacytransform
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
6.3.4 - 2025-11-20
FEATURES / ENHANCEMENTS
- [VUE-3] Vue 3 npm wrapper packages now include
typesdeclaration inpackage.json(#12014)
API CHANGES
DateTimeFielddocs updated clarifying that the input configs cannot be set on this field. Instead, should be configured directly on the underlyingDateFieldandTimeFieldconfigs.
BUG FIXES
- #11915 -
Containerwithout items config indefaultConfigdoes not work - #11975 - Setting inputWidth on date time field crashes
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.3.3 - 2025-10-06
FEATURES / ENHANCEMENTS
- Added direction parameter when setting a
sortFnonsortablecolumn configuration, and addeddirectionparameter tosortable(#11639) - Update documentation section "Clicking in complex widget" to have same function name (#11750)
- Setting
createOnUnmatchedtotrueon aCombowill now create a record for the initial value, or a value programmatically set later, if the value does not exist in the store for the combo (#11781)
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.3.2 - 2025-09-15
BUG FIXES
- #11704 - Column filtering with filterbar resets the
resourceStorefilters
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.3.1 - 2025-08-07
FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.3.0 - 2025-07-21
FEATURES / ENHANCEMENTS
- [REACT] React components can now be used to render the events content. Day, Week, Month, List, Agenda, Timeline, Week Resources and Month Resources modes are supported (#8272)
- Added
Chartsfeature, which leverages the newChartandChartDesignerwidgets to enable developers and end users to easily create charts and visualize data directly from selected cells in a Grid (#8442) - Add
valueLockedconfig toFieldFilterPicker, to complement existingoperatorLockedandpropertyLockedconfigs (#11184) - Updated documentation regarding embedded text on
formatfunction (#11522)
LOCALE UPDATES
- Moved translations from section
PanelCollapsertoObject - Changed the
Object.collapseandObject.expandkeys to lowercase for consistency
DEMOS
- [REACT] Added a new
renderingdemo showing the ability of the Calendar to render React components as events content. The demo is located in theexamples/frameworks/react-vite/renderingfolder
BUG FIXES
- #11304 - Panel collapse icon does not display any tooltip
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.2.5 - 2025-07-09
FEATURES / ENHANCEMENTS
- Linked records (created using
record.link()) now have a publicoriginalRecordproperty that points to the original record. And the original record has alinkedRecordsarray that contains all the links to it
BUG FIXES
- #11584 -
applyChangesetcrashes on remotely filtered store
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.2.4 - 2025-06-18
FEATURES / ENHANCEMENTS
- The
unloadmethod has been added to a lazy loaded store. For a regular store, it removes the specified records from the store and reloads the next time they are needed. For a tree store, it clears all the child nodes of the specified parent nodes, and reloads them the next time they are needed
API CHANGES
- [DEPRECATED] The
remoteChildCountfield on aTreeNodewas deprecated and will be removed in7.0
BUG FIXES
- #11246 - Avoid re-triggering
onChangelistener after select oneCombooption then move focus from input
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.2.3 - 2025-05-27
BUG FIXES
- #11045 - Case sensitive filtering is inconsistent
- #11344 -
Slidercomponent cannot be used withinPopupcomponent
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.2.2 - 2025-05-13
FEATURES / ENHANCEMENTS
- Added
showButtonsconfig toSplitterto enable/disable the collapse/expand buttons (#2406) Listnow has optional support for displaying text when empty, using the newemptyTextconfig
STYLING CHANGES
- The
emptyTextshown in aCombo's picker has been promoted to an actual element with the.b-empty-textCSS class applied to it, instead of a harder to style pseudo-element
BUG FIXES
- #10474 - Cannot add items into container after remove previous using
destroy() - #10986 -
Store.searchshould get the fields fromrecord.fieldsinstead ofrecord.fieldNames - #11170 - Clicking "Don't show again" in Hints popup doesn't work
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.2.1 - 2025-04-23
BUG FIXES
- #11104 - Resizing
Popupsometimes does not stop after mouse up
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.2.0 - 2025-04-10
FEATURES / ENHANCEMENTS
- Popups can now be resized on all sides and corners via the new
resizableproperty (#6856) - Decimal separator and group separator for formatted numbers can now be configured globally using new static properties on
NumberFormat:decimalSeparatorandgroupSeparator(#11016) - [BREAKING] Since most apps have a build process that includes a transpilation step, starting with
v6.2.0we use the minimum possible transpile polyfills for the source code inside the@bryntum/core-thinnpm package to ensure that it works for all currently supported frameworks. Previously, each source file was transpiled with more polyfills, which introduced unnecessary overhead from transpilation helper functions. After this change, the size of your built app should be reduced. If you encounter issues with your framework's builder parsing the code, consider upgrading to a newer framework version that supports the latest ECMAScript specification (#10797)
API CHANGES
- The
Widget.accessibilityproperty has been removed. We now detect when keyboard control is being used, and this can be read from the newWidget.focusVisibleproperty - The type of the
valueproperty on checkboxes was for legacy reasonsString, it has now been changed to the more expectedBoolean - [BREAKING] The
AjaxHelper.fetch()utility function no longer appliescredentials: 'include'by default, to better match how the nativefetchAPI works. This change also affectsAjaxStore, if used by your app to handle data (#10886)
STYLING CHANGES
multiSelectLists now display empty checkbox icons when unselected and checked checkboxes when selected
LOCALE UPDATES
- Added translation keys
Object.informationandObject.showDetails,Object.to,Object.at,Object.on,Object.editing,Object.settings,Object.go
BUG FIXES
- #10373 -
Filterdropdown should include thesameDayandsameTimeoperators - #10811 -
counts.entries().map is not a functioninArrayHelper.countUniquein Safari
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.1.9 - 2025-04-07
FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.1.8 - 2025-04-01
FEATURES / ENHANCEMENTS
- We've launched nightly npm package builds on our Bryntum npm server. Versions follow the format
X.Y.Z-nightly.YYYYMMDD(e.g.6.1.8-nightly.20250330), reflecting the current version and publish date - Panel
headerconfig now accepts aniconClsproperty to show an icon in the header
API CHANGES
- The
Widget'selementAttributesconfig is now public allowing to specify attributes to assign to the root element of this widget (#10940)
BUG FIXES
- #10701 - Update
AjaxStorebeforeRequestandafterRequestparameters docs - #10938 - [HIGH PRIO] Incorrect CSS
sourceMappingURLin Bryntum thin npm packages
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.1.7 - 2025-02-21
FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.1.6 - 2025-01-31
BUG FIXES
- #2518 - [HIGH PRIO] Material:
ComboLabel overlaps with trigger - #10516 -
TimeFieldlabel misaligned if initial value has not been set - #10571 - Error when syncing custom dependency model with extra fields
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.38.0
6.1.5 - 2024-12-25
BUG FIXES
- #10395 - Error when focusing document body after dialog opened from context menu
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.38.0
6.1.4 - 2024-12-09
FEATURES / ENHANCEMENTS
- Apps can now override
Model.generateIdto generate custom ids for phantom records (#9831) - Added a new config
closeOnEscapeto control whether pressing the[ESC]key will close the popup - Starting with the
6.1.4release, there are now trial versions of thin NPM packages available on our NPM server. These can be used to evaluate combining multiple products before purchasing a license. Please check the "What's new" guide for the details
API CHANGES
- Tree stores has a new
keepExpandedOnLoadconfig that defaults tofalse. When set totrue, the tree will restore matching nodes expansion state after a reload (#10017) - For more similar behavior between browsers,
DateHelper.parsenow ignores very short strings and discards any dates with a year before 1900 when falling back tonew Date()parsing. This affectsDateFields usingstrictParsing: false(the default). Before this change, Chrome parsed'2'asFeb 2001, while Safari parsed it asJan 0002
BUG FIXES
- #10291 - Error in Gantt: when adding a predecessor, siblings disappeared in the column editor
- #10403 -
DurationFieldignoresunitconfig
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.38.0
6.1.3 - 2024-11-18
FEATURES / ENHANCEMENTS
- By configuring a data field with
complexMapping : false, it can now point to a data property containing a dot (.), for example{ "member.name" : "value" }. Previously (since v4.1), the dot was always interpreted as a nested object path (#10168)
API CHANGES
- [VUE 2] reached end of life on December 31, 2023. As a result, we will no longer be updating our Vue 2 components. While the components will continue to exist, we will remove them in a future release and recommend that you upgrade to Vue 3 for continued support
STYLING CHANGES
- Certain color adjustment functions in SASS has been deprecated and will be removed from SASS in a future version. To be prepared for that, we have replaced our usages of these functions with the new ones. In general, this should not affect the look of components, with reservation for minor color variations (for more information, see https://sass-lang.com/documentation/breaking-changes/color-functions)
BUG FIXES
- #9018 - [HIGH PRIO] Localization doesn't work for Microsoft Dynamics CRM Online
- #10135 - Fix horizontal dragging of widgets in RTL viewports
- #10258 -
showAnimationdoes not animate the Popup - #10278 - Define the
GridSelectionModetype - #10309 - Error in
Combogrouping after updating to6.1.0
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.38.0
6.1.2 - 2024-10-11
API CHANGES
- New events
beforeStateSaveandbeforeStateApplyadded to manage component's state object
BUG FIXES
- #9892 - Updating column text does not get reflected in State
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
6.1.1 - 2024-09-27
API CHANGES
- [TypeScript] New
ComboModelclass used forCombo'slistItemTplanddisplayValueRendererconfigs in TypeScript applications (#9942)
BUG FIXES
- #10089 -
beforeRequestandafterRequestevents missing in6.1.0version
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
6.1.0 - 2024-09-18
FEATURES / ENHANCEMENTS
AjaxStorehas new configs that lets you transform incoming and outgoing data:transformLoadedData,transformCreationData,transformModificationData,transformRemovalData(#8314)- The regular non-Ajax
Storenow has the ability to accept remote paging, sorting and filtering (#9363) - The
FilterBarfeature now supports remote filtering without usingAjaxStore
BUG FIXES
- #8182 - Enhance
TimeFieldwith option to show list of interval times - #9876 -
DateRangeFieldpicker wrongly scrolls right one month when picker is shown (Firefox only)
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
6.0.6 - 2024-09-13
BUG FIXES
- #9298 -
LazyLoadbeforeLoadevent isn't triggered - #9872 - Records are not persisted when group is collapsed
- #9912 -
TimeField's picker is not aligned on scroll
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
6.0.5 - 2024-08-30
BUG FIXES
- #8211 - [HIGH PRIO]
DatePickershould support selecting multiple dates with click - #9468 - Crash when selecting date in fullscreen docs fiddle
- #9712 -
store.createRecord()behavior different withuseRawData
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
6.0.4 - 2024-08-02
FEATURES / ENHANCEMENTS
- The difference between
Model.fieldsandModel.allFieldswas clarified in the documentation (#9700)
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
6.0.3 - 2024-07-26
FEATURES / ENHANCEMENTS
- The plugin processing has been updated to correctly handle multiple plugin configurations
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
6.0.2 - 2024-07-24
FEATURES / ENHANCEMENTS
- Bumped the built-in version of FontAwesome Free to
v6.6.0, which includes a new table-cells-row-unlock icon sponsored by Bryntum
BUG FIXES
- #8878 - Wrong
sourceMappingURLfor CSS theme file oncore-thinpackage
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
6.0.1 - 2024-07-05
FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
6.0.0 - 2024-06-28
FEATURES / ENHANCEMENTS
- Added a new
DateRangeFieldwidget for picking a range of dates (#1888) - Convert button to menuitem on Toolbar overflow where appropriate (#2298)
- Programmatically expanding & collapsing a Panel was made easier by adding
expandPanel()andcollapsePanel()methods (#5871) - The
AjaxStore'scommitfunction now queues calls being made while already committing instead of aborting and returningfalse. Previously, when a commit was finished, all Store changes were cleared. Now, only changes related to the actual commit will be cleared, so any changes being made after the commit call and before the commit finishes will be left untouched (#7980) - Elevate
tabIndexconfig from TextField to Field (#8010) ButtonGroupshould allow multiple toggled buttons (#8142)- Add
tabIndexconfig to Button (#8166) - [TypeScript] Class configs
*Config(e.g.ButtonConfig) now provide type declarations forlistenersparameter in*.d.tsfiles - [TypeScript] Class configs
*Config(e.g.ButtonConfig) types now have optional parameters in*.d.tsfiles.*Configtype can be used instead ofPartial<*Config>declaration - Bumped the built-in version of FontAwesome Free to
v6.5.2, which includes a new table-cells-row-lock icon sponsored by Bryntum - [Angular] Bryntum Angular wrapper now exports
Bryntum...Propstypes (e.g.BryntumButtonProps) which match the configs available for a wrapper component (e.g.BryntumButtonComponent). Wrappers code is now delivered with documentation inside, that helps in setting up the components
API CHANGES
- [VUE-3] Bryntum Vue-3 thin wrapper now exports
Bryntum...Propstypes (e.g.BryntumButtonProps) which match the configs available for a wrapper component (e.g.<bryntum-button>). Wrappers code is now delivered with documentation and TypeScript sources inside (#3085) - [DEPRECATED] The
WidgetHelperutility class has been deprecated and will be removed in a future release. Use the corresponding widget class instead -Widget,ToastorMask(#6103) - [BREAKING] The
useRawDatasetting onStoreis now enabled by default, but with all sub-settings disabled. This means that the incoming data object will be used as is, without being cloned. Which will boost data loading performance, but is potentially a breaking change if the data object is reused / used in other parts of the application (#8335) - [BREAKING] In
6.0.0-alpha-2we changed the default value foruseRawDataon stores totrue. This boosted record creation performance by not cloning the incoming data object. However, this change has lead to some issues, and we are now taking a step back. It will once again default tofalsewhen supplying data inline, and instead only totruewhen data is loaded remotely using anAjaxStoreor aCrudManager(#9289)
STYLING CHANGES
- The Stockholm theme got some slight tweaks to panel header (removed bottom border) and tab panel styling (replaced active tab background with thick bottom border) for a more modern look (#8440)
BUG FIXES
- #190 - Widget masking should be a FIFO process
- #1714 - Repurpose
store.datato return something meaningful - #4933 - Toggleable button loses state when moved to toolbar overflow menu
- #6441 - Instance config values should not be overridden by responsive configs
- #6854 - Pressed state lost as button in
ButtonGroupenters an overflow menu - #8135 - Mask class should extend Widget
- #8189 - Change Field
highlightExternalChangedefault value to false - #8409 - Crash when selecting date in
DateRangeFieldwith null value - #8459 - [HIGH PRIO] Carousel should support swipe gesture scrolling for mobile/touch
- #8463 - Widgets in overflow menu fire events twice
- #8523 -
SlideToggleinside overflow menu triggers 2 change events - #8612 - Code panel collapse animation reveals vertical placeholder at the end of the animation
- #8698 - Panel header changes size when collapsing / expanding panel in Stockholm theme
- #8813 - [HIGH PRIO]
Toolbaritems lose their value when moved into toolbar overflow menu - #9085 - [REACT]
6.0.0-alpha-3thin packages"Can't resolve 'vs/editor/editor.main'"error on build - #9400 - Button menu onFoo listeners don't work when called from overflow menu
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.13 - 2024-06-26
BUG FIXES
- #8949 - Warn when store data is loaded, and some records have no
idset - #9368 -
NumberField.wrapAroundprocessed incorrectly when spin down goes below the min
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.12 - 2024-06-13
API CHANGES
- [VUE] [REACT] When using wrappers for Vue or React,
syncDataOnLoadis by default set totrueon all stores configured on the wrapped Widget. Starting from5.6.12, stores with a configuredreadUrlwill have theirsyncDataOnLoaddefault tonull
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.11 - 2024-05-21
FEATURES / ENHANCEMENTS
AjaxStorehas a new config calledincludeChildrenInRemoveRequest, that controls if a remove request includes the id of a removed parent and all its children, or just the id of the removed parent (#8099)
API CHANGES
- After a docs regression, several APIs flagged to be hidden in subclasses were still visible in the docs. These APIs are now correctly hidden (#9140)
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.10 - 2024-04-24
FEATURES / ENHANCEMENTS
Storehas a newhasChangesproperty, it is cheaper thanchangesto use if you only need to know if there are changes or notAjaxStorehas a newparamsInBodyconfig that allows sending parameters in the request body instead of the URL query string (#4058)- Model (=records) has a new
getUnmodified()function that returns the unmodified value of a field (#9029)
BUG FIXES
- #8918 - Arrow buttons should rotate icon in RTL mode
- #8965 - [HIGH PRIO] Toolbar overflow synced excessively
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.9 - 2024-04-09
FEATURES / ENHANCEMENTS
- Records that relates to other records with the use of the
Modelclass's staticrelationsconfig can now propagate their changes to the related records stores. This is useful if you have multiple widgets that you want to refresh when a related record changes. The new behavior is opt-in, you need to set the newpropagateRecordChangesproperty on theRelationConfigobject (#8671)
LOCALE UPDATES
- Added Brazilian Portuguese translation (
'PtBr') (#8747)
BUG FIXES
- #8761 -
Popuppositioning incorrect when maximized withcenteredandmaximizable - #8815 -
DateTimeFieldeditor onColumnthrows an error on start editing - #8875 -
DateHelperstartOfweek method does not return correct output for Sunday
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.8 - 2024-03-04
FEATURES / ENHANCEMENTS
- The
Listclass now has atitleproperty, which shows a title above the first item (#8714)
BUG FIXES
- #8547 - [TypeScript] Improve constructor declarations
- #8694 -
DatePickershould always navigate to the month of the selected date
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.7 - 2024-02-22
API CHANGES
- The
StateTrackingManager(STM) will by default (ifautoRecordistrue) merge update actions on the same record (in same transaction), keeping the oldest, and the newest values. A transaction will almost always only contain one update action per record. If the previous behaviour is desired, you can configure theStateTrackingManagerwithautoRecordMergeUpdateActionsset tofalse. If you're not usingautoRecord, then the transaction action can be merged by calling theStateTrackingManager's newmergeTransactionUpdateActionsfunction before the end of the transaction Widget.getById()method is now public (#8403)
BUG FIXES
- #8537 - [DOCS] Make private
clsconfigs onCalendarPanelpublic
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.6 - 2024-01-31
FEATURES / ENHANCEMENTS
- Bumped built-in FontAwesome Free to version
6.5.1 - All frameworks demo applications have been verified and updated to be compatible with Node.js 20
- New
syncSortoption for chained stores, to always keep chained store data in the same order as the master store (#8286)
API CHANGES
- To boost record creation performance, records now cache their
id(it is accessed very frequently, helps performance a bit) and join their store(s) in a more efficient way. As a side effect, a record no longer has astoresarray prior to joining a store, previously it was there as an empty array from start. We don't think this will affect any code, but wanted to share the change in case it does
BUG FIXES
- #7836 - [TYPESCRIPT] Missing layout classes and config types
- #8198 -
DurationFielddoes not show error tooltip when inputting invalid data - #8239 -
ContextMenusaligned below click point instead of to the side - #8249 - Group menu position issue
- #8269 - [HIGH PRIO] Issue with appending a child to a collapsed parent in a filtered tree store
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.5 - 2024-01-09
API CHANGES
- [TypeScript]
elementparameter forElementListenerConfigtypedef andEventHelper.addListenermethod has been changed toEventTargettype (#8139) Point.from()method will return a point relative to the page coordinates instead of screen coordinates as ofv6.0
BUG FIXES
- #7964 - [REACT] JSX doesn't work in Popups
- #8160 - Runtime error
Cannot read properties of undefined (reading 'defaultView') - #8188 - [DOCS] Nonexisting
afterConstructorfunction documented - #8191 -
PickerFieldwithautoExpand : truedoes not show picker when clicking trigger icon
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.4 - 2023-12-21
BUG FIXES
- #7958 - Property
typeis missing inDataFieldConfig - #8024 - Event editor bottom toolbar missing top padding
- #8028 - Store
min/maxfunctions returning inconsistent values - #8084 - Hide
scrollableconfig from Menu docs
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.3 - 2023-12-13
FEATURES / ENHANCEMENTS
- The
Toastclass has asideconfig which may be specified as'top'to show the toast at the top of the screen (#7910)
BUG FIXES
- #1334 - Should be possible to delete a chip with backspace key
- #1335 - Typed text not removed after selecting value in multiselect combo
- #7888 - Dock
start/endin footer configuration crashes the app - #7923 -
AjaxStorecommit requests not always sent - #7942 - Separator for combo box not working
- #8003 -
minWidthof aligned widget calculated wrong when percentage is involved
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.2 - 2023-11-24
FEATURES / ENHANCEMENTS
- Added support for wrapping time when reaching min/max using steppers in the time picker (#7580)
BUG FIXES
- #8213 -
NumberFormatConfigtypescript class is missing several configs due to docs issue inNumberFormat
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.1 - 2023-11-17
BUG FIXES
- #7471 - Overriding feature's
keyMapfrom Widget doesn't work - #7703 -
NumberFieldlimits typed input tominimumFractionDigitsnotmaximumFractionDigits - #7754 - [Frameworks] Thin packages not working with
pnpm - #7810 - Undo/redo with outdent error
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.0 - 2023-10-26
FEATURES / ENHANCEMENTS
- This release introduces a new set of npm packages and framework components, that allows combining multiple Bryntum products in the same application. These packages contain the product specific code only, as opposed to the current packages that has all code for the products each product builds upon (for example Scheduler contains Grid & Core). The new packages are called
thinpackages, and moving forward it will be the recommended way of using Bryntum products in npm based applications (for all supported frameworks). See the "What's new" guide for more information @bryntum/core-thinbundle includes scss theme files insass/themesfolder (#7445)- The
Listwidget now supports collapse / expand of groups (#7405) - [TypeScript] Functions and events declarations in typings were improved to contain all available parameters and return type (#6961, #4456)
- Infer field types for
autofields when usingFieldFilterPickerwith store data present (#7691)
API CHANGES
- [BREAKING]
Core.util.helper.Pointclass has been moved to solve circular module dependencies. It is now a named export of theCore.util.helper.Rectanglemodule. Check upgrading guide for the details
LOCALE UPDATES
- There is a new locale key
selectValue : 'Select value'which is used by theFieldFilterPickerwhen creating filters on relation-type fields
BUG FIXES
- #7527 - Summary row obscures docked scrollbar
- #7724 - Slider styling is wrong when placed on a Toolbar in Classic light theme
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.5.5 - 2023-10-23
BUG FIXES
- #279 -
ObjectHelper.isEqualfails if compared object has cyclic links - #2024 - Slider tooltip should be configurable
- #7641 - Bryntum Combo and Tag Combo empty text appearing
null - #7693 - Align anchor arrow colour detection wrong when mouse is over adjacent element
5.5.4 - 2023-10-05
BUG FIXES
- #7563 - Combo value not updated in the input is some cases
5.5.3 - 2023-09-15
FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
5.5.2 - 2023-08-30
BUG FIXES
- #7351 -
findByFieldmethod does not pick up empty string
5.5.1 - 2023-08-16
BUG FIXES
- #3504 - Issue in
DurationFieldsetting units
5.5.0 - 2023-07-31
FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
5.4.2 - 2023-07-26
BUG FIXES
- #6866 - Not possible to switch am/pm in time picker in mobile Safari
- #7127 - Id collision error when creating new event using an external button on
EventListmode
5.4.1 - 2023-07-13
BUG FIXES
- #3285 - Existing records not tracked when a store is added to STM
5.4.0 - 2023-06-30
FEATURES / ENHANCEMENTS
- Two new widgets for editing colors has been added in this release. Firstly, there is the
ColorPicker, which lets the user select from a range of pre-defined colors. It is not built for stand-alone usage, but meant to be used in aMenuor as a picker for aPickerField. There is also theColorFieldwhich can be used as a normal form field to display and edit a color value. It uses theColorPickeras its color picker (#2939) Widgethas a new config,maximizeOnMobilewhich takes effect only onfloatingwidgets on a mobile device. It causes the widget to be maximized instead of positioned in order to accommodate the mobile virtual keyboard (#6522)- On mobile devices,
type : 'checkbox'is rendered as aslidetogglewidget. The API and value is the same, it is just a more appropriate UI for the platform - Improved and condensed
FieldFilterPickerlayout for better use of space (#6232)
5.3.8 - 2023-06-28
FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
5.3.7 - 2023-06-20
BUG FIXES
- #7025 -
Comboshould handle being destroyed in item/select/change listeners - #7028 - Incorrect examples for
fieldsconfig inFieldFilterPickerdocs
5.3.6 - 2023-05-26
API CHANGES
- The
changeevent for theFieldFilterPickerGroupnow includes an additional propertyvalidFilters, the subset of filters that are complete and valid (#6774)
BUG FIXES
- #6805 -
includeInSubsetcreates duplicate records in the store - #6833 - Enabling/disabling filter checkbox in
FieldFilterPickerGroupthrows error on the console
5.3.5 - 2023-05-11
BUG FIXES
- #6384 - Inconsistent tool order in header of inline collapsed panel
5.3.4 - 2023-04-28
FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
5.3.3 - 2023-04-21
BUG FIXES
- #6166 -
createOnUnmatchedonly creates new record onEnterkey press
5.3.2 - 2023-04-04
BUG FIXES
- #6428 -
FullScreen.requestmethod should movefloatRootinto thefullscreenedelement - #6433 - Escape key not working in example filter field
5.3.1 - 2023-03-17
FEATURES / ENHANCEMENTS
- Tree store now applies filters/sorters to any new data when calling
applyChangeset()(#6155)
API CHANGES
- Date parsing was made more forgiving in regard to character used to separate date parts. For example these strings are now all acceptable as
HH:mm:10:20,10 20,10-20,10/20(#6344)
BUG FIXES
- #6312 - Splitter does not move after updating to 5.3.0
- #6328 -
'move'eventoldParentshould passrootNodewhen moving a node from therootNode
5.3.0 - 2023-03-02
FEATURES / ENHANCEMENTS
- There is a new
storefield type (StoreDataField) which can be used for fields on records that holds arrays. The array will be converted to a store, manipulating the store will flag the record as modified. On serialization the store will be converted back to an array - Lots (but not all) of the not so informative
objecttypes in our TypeScript typings have been replaced with more specific types. Objects that in our JavaScript are used as maps are now declared asRecord<keyType, valueType>, and for functions that accept object arguments many are replaced with anonymous type declarations, such as{ foo: string, bar: number }(Partially fixed #5176) AjaxHelper.fetchnow supports using request body to pass parameters for non-GET requests. Please checkaddQueryParamsToBodyargument in the method documentation (#2855)- The model relation system, a data layer concept used internally to link a
ResourceTimeRangeto aResourcein Scheduler, was made public. It allows you to define one-to-many relations between models in arelationsblock when subclassingModel(#3222)
API CHANGES
- [DEPRECATED]
LocaleManager.registerLocaleandLocaleManager.extendLocaleare deprecated.LocaleHelper.publishLocaleshould be used instead. - [DEPRECATED] The type of the
fieldsconfig forFieldFilterPickerandFieldFilterPickerGroupwidgets has changed from array ofFieldOptions toObjectmap ofFieldOptions keyed by field name. The array type is now deprecated
LOCALE UPDATES
- Locales format and process for applying locales have been simplified
- New locales for 31 languages have been added. Currently available languages are listed in the localization guide (Guides/Customization/Localization)
BUG FIXES
- #6212 - Infinite loop when chaining stores using
syncDataOnLoad
5.2.10 - 2023-02-17
API CHANGES
- Recently browsers have added support for Unicode 15, which changes the output of
Intl.DateTimeFormatwhen formatting time to includeAM/PM. Those browsers now use "thin space" (\u202f) instead of regular space. This affects theDateHelper.format()function, but likely you do not need to take any action in your application. It also affectsDateHelper.parse(), which has been updated to support the new unicode space (#6193)
BUG FIXES
- #5791 -
EventHelper's listeners for.b-using-keyboardbreak iOS dragging - #6039 - Resource order not applied with
syncDataOnLoad - #6092 - Wrong type for
FetchOptions - #6186 - Should be possible to get the previous parent in move event
5.2.9 - 2023-01-30
BUG FIXES
- #5526 - Cannot open second mask using static call
- #6014 - Button menu listeners get duplicated when changing the menu
- #6071 - DomHelper
getRootElementthrowing error on creating dependency
5.2.8 - 2023-01-19
BUG FIXES
- #5386 - Improved panel collapse animation when collapsed panel header is perpendicular to expanded
- #5804 - Material panel toolbar padding not symmetric
5.2.7 - 2023-01-11
FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
5.2.6 - 2022-12-28
BUG FIXES
- #5783 - Calendar dropdown getting focused when click on the label
- #5821 -
constrainTonot applied unless component is shown usingalignTo - #5838 - Combo clearable trigger doesn't reset validation
5.2.5 - 2022-12-16
FEATURES / ENHANCEMENTS
- Store now applies filters/sorters to any new data when calling
applyChangeset()(#5534) - Added field
orderedParentIndexto resolve position of the child in the ordered children array (#5353)
BUG FIXES
- #5674 - Combo not sized the same when editable vs non-editable
- #5692 - Combos should be able to share Stores
- #5730 -
indexis ignored when insert into filtered store - #5732 - Combo should update value collection silently when replacing store
- #5780 - ICS export datetime stamp is not UTC
5.2.4 - 2022-11-28
BUG FIXES
- #5595 - Fix panel collapse icon directions
5.2.3 - 2022-11-17
BUG FIXES
- #5518 - Undo does not recognise zero and null values as a change
- #5537 -
tabPanel.add()crashes the app - #5587 - Do not patch
offsetX/offsetY
5.2.2 - 2022-11-08
API CHANGES
- [DEPRECATED] The behaviour of the
store.datagetter will be changed in 6.0. Currently, it returns the initial raw dataset, in 6.0 it will be changed to have the more expected behaviour of returning the data objects for the current state instead (#5499)
BUG FIXES
- #5491 -
onToolClicknot working correctly (even withcallOnFunctions: true)
5.2.1 - 2022-10-28
API CHANGES
TreeNode.isRootproperty is now public (#5471)
BUG FIXES
- #5409 -
Field'sfetchInputValueignores theinputValueAttrsetting - #5451 -
DatePickeranimation glitch - #5480 -
EventHelperhas globally visible breaking side effects
5.2.0 - 2022-10-13
FEATURES / ENHANCEMENTS
- Menu has a
separatorconfig to make it easier to visually separate menu items - The responsive state objects used in the
responsiveconfig of theResponsivemixin now support aonceproperty to allow configs to only be set on first activation of the state - The
Core.helper.DateHelperclass has a new methodformatRangemethod which can format date ranges, as well as new formatting options for week numbers - Added new
FieldFilterPickerandFieldFilterPickerGroupwidgets, providing UI to manage a set of CollectionFilters
API CHANGES
- [DEPRECATED] The
DomHelper.up()function was deprecated, use nativeelement.closest()instead
BUG FIXES
- #2512 - Implement
ignoreParentReadOnlyconfig onWidget
5.1.5 - 2022-10-12
FEATURES / ENHANCEMENTS
- New records are assigned a generated
idif none is provided. The generatedidis meant to be temporary (a phantomid), and should be replaced by the backend on commit. Previously theidwas based on a global counter incremented with each assignment. That simplistic scheme assured no two records got the sameidduring a session, but if an application serialized the generatedid(note, they should not) and then reloaded it, it would eventually collide with a new generatedid. To prevent this, the generatedids are now based on a random UUID instead - Stores now by default show a warning on console when loading records that has generated
ids, as a reminder that it should be replaced by the backend on commit
BUG FIXES
- #4645 - Improve error message "Bryntum bundle included twice"
- #5341 -
Pickeris shown forCombowithkeyStrokeFilterDelayafter clearing value
5.1.4 - 2022-09-29
FEATURES / ENHANCEMENTS
- FilterBar feature now allows you to configure
operatorandcaseSensitiveon a column'sfilterableconfig object
BUG FIXES
- #4974 -
AjaxStorecontinuously making remote requests after store grouping whensortParamNameis set - #5213 -
DatePickercan't move months if min date is after current date - #5214 -
AjaxStorecontinuously making remote requests after store sorting withsyncDataOnLoadset totrue - #5282 - Make
AjaxStoreurls changeable
5.1.3 - 2022-09-09
BUG FIXES
- #415 - Improve docs on formatting currency values on
NumberField - #5125 - Setting an initial value for
activeTabon aTabPanelno longer animates that tab into view - #5136 -
callOnFunctions: truetriggers an error when on function is not set - #5182 -
TimeFieldshould keep date if user types in the value - #5201 -
Storesort useslocaleComparefor non-string types
5.1.2 - 2022-08-29
FEATURES / ENHANCEMENTS
- Configs that accept configuration options for a widget (or other class) are now (mostly) documented to accept a typed config object rather than a plain object. For example instead of
{Object} tooltip - A tooltip configuration object, it is now{TooltipConfig} tooltip - A tooltip configuration object. This improves our TypeScript typings (transforms toPartial<TooltipConfig>in typings) when using such configs, but also improves our docs by linking to the configs of the type - Added a
keepDateconfig to theTimeField. By default, it is false and sets date component of the field value toJanuary 1st. Set it to true to keep original value intact and only change the time component (#5058) - Excel export feature now accepts a
rowsarray to export only certain rows instead of the full dataset
BUG FIXES
- #4953 -
Listcomponent does not process the disabled config - #5088 - Crash when entering number into paging toolbar
pagefield
5.1.1 - 2022-07-28
BUG FIXES
- #4958 - List store reload needs to reset selection if no incoming records match previous selection
5.1.0 - 2022-07-21
FEATURES / ENHANCEMENTS
- Updated the built-in version of FontAwesome Free to
6.1.1 - Our TypeScript typings for string types that have a predefined set of alternatives was improved to only accept those alternatives. For example previously the
dockconfig which was previously declared asdock: stringis nowdock : 'top'|'right'|'bottom'|'left' KeyMapis a mixin that allows for standardized and customizable keyboard shortcuts functionality.KeyMapis by default mixed in toWidgetand therefore available to allWidget's child classes. There is a new guide Guides/Customization/Keyboard shortcuts describing how to customize currently integrated keyboard shortcuts (#4300, #4313, #4328)
BUG FIXES
- #4683 - Menu misaligned after window resizing
- #4696 - Parents sorted below children in docs
- #4697 - Too dark code background in docs
- #4936 - Combo with
autoexpand: truecloses immediately on first click of dropdown arrow
5.0.7 - 2022-07-13
BUG FIXES
- #4916 -
Fullscreenis not working on mobile Safari
5.0.6 - 2022-06-20
BUG FIXES
- #841 - Add
searchAllRecordsflag to store search functions - #4146 - TaskEditor clears time when editing events with datetime picker
- #4804 - Radiobutton hover effect incorrectly positioned in Material theme when on RTL
5.0.5 - 2022-05-30
BUG FIXES
- #4350 - Fixed various panel collapse issues
- #4592 -
UndoRedoneeds thetransactionsComboemptyTextlocalized - #4636 - Model field is not exposed correctly if data is not preloaded to the store
- #4657 - Cannot navigate out of the datetime field using
Shift + Tab
5.0.4 - 2022-05-11
API CHANGES
- Container's
autoUpdateRecordconfig was made public. Set it totrueto update record fields when child fields change (#4073) - Model's
clearChangesfunction parameterincludeDescendantsmade public. Set it tofalseto not clear changes on a node's descendants (#4565)
5.0.3 - 2022-04-26
BUG FIXES
- #4496 - createOnUnmatched doc is wrong
5.0.2 - 2022-04-13
API CHANGES
- Deprecated
showByPoint()in Widget, it will be removed in version 6.0. UseshowBy()instead
BUG FIXES
- #2796 - Allow customizing Roboto path in material theme
- #3548 -
SimpleEditshould cancel when scrolled out of view - #4333 - Gantt task editor end date picker arrows are not working
- #4334 - Material radio button circle misaligned
- #4351 - Listeners object breaks click functionality
- #4360 - Wrong color of checkbox checkmark in Stockholm theme
- #4373 - Panel collapse arrow pointing in wrong direction initially
- #4377 - Change radio button to use
<div>for the selected circle - #4398 -
Tooltipsshould useallowOver:trueif they are shown with visible and enable tools or items - #4404 - List needs a simple selection API
- #4406 - Fixed items in disabled
fieldset/radiogroupnot being disabled
5.0.1 - 2022-03-04
BUG FIXES
- #4105 - Adjust splitter hover and moving width
- #4244 - Corrected
RadioGroupinteraction withautoUpdateRecordnot producing the correct value
5.0.0 - 2022-02-21
FEATURES / ENHANCEMENTS
Modelhas a newreadOnlyfield that is respected by UI level editing features to disallow editing records havingreadOnly : true. It does not directly affect the datalayer, meaning that you can still programmatically edit the records (#665)- New
RadioandRadioGroupwidgets were added (#1357) windowreferences are replaced withglobalThiswhich is supported in all modern browsers and across different JS environments (#4071)- Updated FontAwesome Free to version 6, which includes some new icons sponsored by Bryntum in the charts category: https://fontawesome.com/search?m=free&c=charts-diagrams&s=solid
API CHANGES
- [BREAKING] TextAreaField was renamed to TextAreaPickerField to serve only as a picker-type field. A new TextAreaField widget was added which is used in Gantt's NotesTab
- [BREAKING] TextAreaPickerField's
inlineconfig has been removed, use TextAreaField instead - Store's
toJSON()method now ignores all local filters and returns all records (#4101) - The following previously deprecated configs, functions etc. where removed:
- Config
DatePicker#editOnHover- no replacement, no longer relevant - Argument
newId.deepforModel#copy()- previously replaced by separatedeepargument - Config
DateDataField#dateFormat- previously replaced byformatconfig - Config
ContextMenuBase#menuConfig- previously replaced bymenuconfig - Function
ObjectHelper.allKeys()- previously replaced bykeys()function - Function
StringHelper.capitalizeFirstLetter()- previously replaced bycapitalize()function - Function
StringHelper.lowercaseFirstLetter()- previously replaced byuncapitalize()function - Argument
config.elementforScrollManager#startMonitoring()- previously replaced byconfig.scrollablesarg - Config
Button#menuIconCls- previously replaced bymenuIconconfig - Config
Tooltip.htmlno longer handles returningfalseas a way of flagging the tooltip content as async - previously replaced by theshowAsyncMessageconfig - Param
recordof theStore#moveevent - previously replaced with therecordsparam - Old
TreeNode#insertChild()signature - previously replaced with current(childRecord, before, silent)signature - Argument
returnAllforDomHelper.createElement- previously replaced byoptions.returnAll
- Config
BUG FIXES
- #758 - State mixin to use configurable's
onConfigChangehook - #3665 - DateField and DatePicker accessibility
- #3947 - Inconsistent right / bottom padding in MessageDialog
- #3952 - Wrong border bottom color for panel header
- #4022 - Panel collapse icon
- #4086 - Allow derived classes to adjust delayable method options
4.3.8 - 2022-02-07
FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
4.3.7 - 2022-02-02
FEATURES / ENHANCEMENTS
- Added public
dragStart/drag/dropevents to Splitter class (#4060)
BUG FIXES
- #3770 - Fix handling of initially collapsed panels with configured size
- #4041 -
TextAreaignores arrowDown key press - #4080 - Sub-menu closes when moving over gap
- #4082 - Relayed listeners do not trigger onFunctions
4.3.6 - 2022-01-13
BUG FIXES
- #3788 - Minimum value for duration field in Task Editor works incorrect
- #3945 - Cannot select text in popup
- #3958 - Fix panel collapser docs for
directionconfig - #3978 - Clicking selected day cell in datepicker causes refresh
- #3987 - StoreSync fails when using tree data with lazy loaded parent nodes
- #3990 - Chrome & Content Security Policy causes failure because of debug code section
4.3.5 - 2021-12-24
BUG FIXES
- #3848 - Animator transitions now properly track their timers
- #3928 - DateHelper
kformat behaves incorrectly
4.3.4 - 2021-12-13
BUG FIXES
- #3674 - Collapsed Panel fixes its container's height
- #3816 -
moveevent is not triggered when moving a node in aTreeStore - #3840 - The
menuconfig for a button with onlylistenersis now treated as the config for the menu and not an item named "listeners" - #3850 - [TypeScript] Missing static properties in typings
- #3855 - Setting a ModelDataField in a record could recurse infinitely
4.3.3 - 2021-11-30
BUG FIXES
- #3625 - Panels that collapse right now display the expand tool on the top, clicking header of collapsed panel will expand the panel
- #3637 - When tooltip uses a
forSelectorandtrackMouse, moving within its active target can hide it - #3644 - Menu hide does not cause
subMenuhide whensubMenuis from anoverflowconfig button clone - #3670 - STM
resetQueueerror if a transaction is being recorded - #3674 - Remove unnecessary
min-height/min-widthon collapsed panels sized by their container - #3678 - Widget
draggabledoes not constrain - #3740 - Support async
beforeShowevent on a widget - #3749 - Panels with no header now work when
collapsible : { tool : null }is specified (collapse and expand must be performed via the API)
4.3.2 - 2021-10-29
FEATURES/ENHANCEMENTS
- New PasswordField widget added
- New Field
inputTypeconfig allowing to specify the native input element type used by the field
BUG FIXES
- #3566 -
LocaleHelpershould not throw exception when trying totrimLocalewith non-existent key - #3622 - Edited cell is not marked when initial cell value is
0orundefined
4.3.1 - 2021-10-21
FEATURES / ENHANCEMENTS
- Bumped builtin Font Awesome Free to version 5.15.4
BUG FIXES
- #3567 - Minified css bundle contains unicode chars
4.3.0 - 2021-10-12
FEATURES/ENHANCEMENTS
- Panels can now be collapsed when configured as
collapsible(#914)
API CHANGES
- [DEPRECATED] Buttons
menuIconClsconfig was deprecated in favor of the newmenuIconconfig, which better matches the naming of other configs
BUG FIXES
- #3457 - Fix toolbar overflow handling of text field when typing
4.2.7 - 2021-10-01
FEATURES / ENHANCEMENTS
- You can now control if the widget tooltip should be shown when the widget is disabled using the
showTooltipWhenDisabledconfig ComboBoxcan now be configured to accept unmatched typed filter strings to create a new record Use thecreateOnUnmatchedconfig to enable this. This may be configured as a function to create the new record in an app-specific way (#3249)
BUG FIXES
4.2.6 - 2021-09-15
FEATURES / ENHANCEMENTS
- You can now control if the widget tooltip should be shown when the widget is disabled using the
showTooltipWhenDisabledconfig
BUG FIXES
- #3179 - Tooltip is not shown for a disabled button
4.2.5 - 2021-09-08
FEATURES / ENHANCEMENTS
- The API documentation now better communicates when a field or property accepts multiple input types but uses a single type for output. For example date fields on models, which usually accepts a
StringorDatebut always outputs aDate(#2933)
BUG FIXES
- #3373 - Combo blank entry is less tall
4.2.4 - 2021-08-27
BUG FIXES
- #3096 - Slider#showTooltip: false does not disable tooltip
- #3294 - List should update its selection prior to firing its item event
- #3302 - TreeStore#move does not update tree contents properly
- #3332 - [LWC] Exception when realigning popup
4.2.3 - 2021-08-05
FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
4.2.2 - 2021-07-21
BUG FIXES
- #416 - TreeNode children field cannot be mapped
- #1632 - Splitter should handle if flex direction changes
- #3039 - Fixed incorrect
dragcancelfiring when only a click (and no drag) occurred - #3151 - TabPanel should fire
beforeTabChangeevent - #3168 - Date picker doesn't allow to navigate to month if minimum value is set
4.2.1 - 2021-07-07
FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
4.2.0 - 2021-06-30
FEATURES / ENHANCEMENTS
- MessageDialog class now has a
promptmethod and analertmethod (#2653) - Added a new
bubbleEventsconfig to specify events that should always bubble. Useful for example on fields in a container, to bubblechangeevents and catch them in a listener on the container
API CHANGES
- Added a new
Responsivemixin that can be mixed into widgets to allow responsive behaviour (#2672) - [BREAKING]
GlobalEventsis no longer exposed onwindow. If you use it in your application, import it instead
BUG FIXES
- #2459 - Support for drop down with grouped list
- #2556 - List is not updated when record id is modified
4.1.6 - 2021-06-23
FEATURES / ENHANCEMENTS
- ButtonGroup now fires
toggleevent when a button in the group is toggled - Button fires
toggleevent only when itspressedstate is changed
BUG FIXES
- #278 - Calling tree store removeAll(true) unbinds rootNode from store
- #3008 - Remove childElementCount usages, unsupported in LWC
- #3078 - Avatars initials not rendering inside perfect circle
4.1.5 - 2021-06-09
BUG FIXES
- #1299 - Add "select all" option for multi-select combo
- #1596 - Collapsed groups disappear when using filterBar
4.1.4 - 2021-05-28
FEATURES / ENHANCEMENTS
- Buttons now has a new style
b-transparentthat renders them without background or borders (#2853)
BUG FIXES
- #2104 - "Core" code not isomorphic
- #2502 - Allow multiple Droppable per element
- #2775 - Combo replaces its store data on set value if filterParamName defined
- #2828 - Memory leak when replacing project instance
- #2834 - Core should not use b-fa for icon prefix
- #2874 - Filter field should not grow when X is shown
4.1.3 - 2021-05-13
FEATURES / ENHANCEMENTS
- Bumped the built-in version of FontAwesome Free to 5.15.3 and added missing imports to allow stacked icons etc
- Bumped the
@babel/preset-envconfig target tochrome: 75for the UMD and Module bundles. This decreased bundle sizes and improved performance for modern browsers
BUG FIXES
- #2866 - Missing method return value type for
DomHelper.isInViewandDomHelper.isFocusable
4.1.2 - 2021-04-27
BUG FIXES
- #2677 - Fixed improper toolbar overflow handling of buttons with menus
4.1.1 - 2021-04-23
FEATURES / ENHANCEMENTS
- Popups can now be maximized to fill the visible viewport
- New config
autoHeighton Tab Panel to set the height of all tabs to match the tab with the highest content - Display field can now accept a template formatting its value, which can now also be markup (#2641)
BUG FIXES
- #109 - Slider label should not have right margin
- #491 - Store loadChildren should remove existing children
- #2410 - List hide/show methods lose parent promises
- #2482 - MultiSelect Combo set value doesn't work when configured filterSelected : true
- #2504 - Toolbar's overflow button should begin life hidden
- #2533 - Panel items laid out using spacing by default
- #2579 - Popup should be maximizable
- #2616 - Varying padding-left in Panel
- #2662 - Toolbar can create duplicate IDs in overflow menu
- #2671 - parentIndex field has incorrect value after clearing filters
4.1.0 - 2021-04-02
FEATURES / ENHANCEMENTS
- API code improvements for better XSS injection protection
- Model fields can now be marked with
alwaysWriteto ensure important data fields are always included when updates - Refactored
TabPanelbase class toPanelfromContainer. ThePanelclass's algorithm for handling docked items (such astbarandbbar) was enhanced to work with the newtabBarconfig ofTabPanelusing the newstripsconfig. Thestripsconfig is liketoolsexcept it is designed for toolbars. The items instripshave adockconfig to specify the edge to which they dock ('top','left','bottom', or'right') or, alternatively,'header'or'pre-header'to position the toolbar in the panel's header after or before the title, respectively. These items also use theirweightconfig to determine their docking order. The higher the item'sweight, the closer it will be to the panel's central body element (#1837) - Refactored the tab strip of
TabPanelinto aTabBarwidget that extendsToolbar. This uses the newtabBarconfig ofTabPanelto add an item to the newstripsconfig ofPanel. ThetabBaruses itsweightconfig to order it along withtbarandbbarof thePanel. ThetabBaralso inherits theoverflowfeature ofToolbar(#1827) - Panel now has a
bodyClsconfig to place CSS classes on the body element - DatePicker now supports
cellRendererto output custom contents into the date cells (#2498)
BUG FIXES
- #876 -
store.queryshould search through all records when searchAllRecords is true - #1819 - DatePicker styling issues
- #2128 - Support for top-positioned field labels
- #2194 - Setting
titleon item in aTabPanelnow updates the text of the tab in the tab bar - #2235 - Not possible to type in negative numbers to the number field
- #2273 - Toast shows blank space at right side
- #2317 - Date picker jumps to wrong month when clicking next
- #2435 - TabPanel issues
- #2439 - Drag and drop selects text in Safari
4.0.7 - 2021-01-12
FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
4.0.6 - 2020-11-03
BUG FIXES
- #1413 - Card layout change animation
- #2075 - Widget's
newInstancetooltip cannot be dynamically reconfigured
4.0.5 - 2020-12-15
BUG FIXES
- #1826 - Setting hidden/disabled property to tabs in TabPanel does not work as expected
4.0.4 - 2020-12-09
FEATURES/ENHANCEMENTS
- Added config to specify allowed units (DurationField.allowedUnits) for the duration field (#1891)
4.0.3 - 2020-11-17
BUG FIXES
- #1811 - Number field
changeOnSpinflag doesn't work as expected
4.0.2 - 2020-11-04
FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
4.0.1 - 2020-11-03
BUG FIXES
- #1218 - ComboBox list should be anchored to top/bottom sides only
- #1729 - Added border color for disabled button
4.0.0 - 2020-10-19
API CHANGES
- Mask
progressandmaxProgressare now public properties - The
Core/adapterdirectory has been removed. There are no Widget adapters. All Widget classes register themselves with theWidgetclass, and theWidgetclass is the source of Widgettypemapping and Widget registration and lookup byid - Toolbars now have an inner element to wrap their child items with the class
'b-toolbar-content'If you had customized CSS which targeted toolbar items, this may need to change
FEATURES/ENHANCEMENTS
- Added new 'filterfield' to filter a Store
- Added new class
Core.helper.XMLHelperwith method to convert object to XML format - Added XSS protection functions:
StringHelper.encodeHtmlandStringHelper.xss - The
Toolbarclass now has anoverflowconfig which may bescrollormenuto specify how overflowing toolbar items can be accessed
BUG FIXES
- #1349 - Not possible to type into field with text selected
- #1483 - Fixed time format with AM/PM removing the "0" changing from 09:00 PM to 9:00 PM
- #1542 - Scheduler put inside of panel gets narrow with overlay scrollbar
- #1555 - Changed time format with AM/PM to return minutes only if is greater than "0" for
Enlocalization - #1644 - Fixed
NumberFieldenforcement of min/max values to allow typing beyond those ranges - #1694 - Label overlaps start trigger in material theme
- #1779 - Label overlaps trigger icon in DateTimeField if value is empty
3.0.2 - 2020-01-29
FEATURES/ENHANCEMENTS
- The core.module.js bundle is now lightly transpiled to ECMAScript 2015 using Babel to work with more browsers out of the box
- parentIndex is now a public field of TreeNode (#358)
- Font Awesome 5 Pro was replaced with Font Awesome 5 Free as the default icon font (MIT / SIL OFL license)
- Font Awesome should be bound to font-weight 900 (#596)
- The default year for our time components has been changed, they now use 2020 instead of 1970. For example, whatever time you set to the TimeField, the date will be Jan 1, 2020
- All widgets which contain other widgets can now be set to
readOnly : truein addition to Field widgets This means it is easy to "lock" a UI to allow it to display information to users who may not have authorization to modify data - The
Widgetalignconfig's object form now accepts themonitorResizeoption, specifying that during aligned visibility, the Widget should monitor its target's size, and realign if it changes - The
StateTrackingManagernow fires a newdisabledevent indicating its disabled state
API CHANGES
- ObjectHelper#setPath method became chainable: it returns passed object instance
- DateHelper.getTime now accepts date as a parameter to extract time of
- Added DateHelper.defaultParseFormat property to allow separate formats for date/time parsing and formatting
- Model#copy now accepts an object with new values used to create the copy
- DEPRECATED: Model#copy no longer accepts passing
deepproperty of the first parameter. Use 2nd parameter to indicate deep copying instead - Removed not used localizations
DateHelper.shortWeek,DateHelper.shortQuarter,DateHelper.week,InstancePlugin.fnMissing,InstancePlugin.overrideFnMissing - Added
Model.clearChangesmethod to clear record modifications without reverting them - Added
DateHelper.getWeekNumbermethod to get week number by date - Model fields in derived classes are now merged with corresponding model fields (by name) in super classes. This allows serialization and other attributes to be inherited when a derived class only wants to change the
defaultValueor other attribute of the field - The
dateFormatconfig fortype='date'model fields has been simplified toformat
BUG FIXES
- #742 - Not persistable data change may initiate a commit with an empty object
- #756 - Cannot copy task when using deep: true flag
- #330 - Id collision happens when you add or move records after filters are cleared
- #422 - Theme switching leaks elements and crashes if changing multiple times with slow network
- #492 - Button pressed/hover state sticks after click
- #501 - DateHelper can't parse time with milliseconds correctly
- #719 - Direction of sorting gets changed after each sort call with a sorting function provided
- #729 - Field validation messages should be localizable
- #769 - Popup is not aligned to target properly with constrainTo
- #872 - Card layout Containers (eg
TabPanel) now use the Widgethide/showAPI to hide and show child items meaning that apps can detect and react to these lifecycle events - #975 - STM doesn't update store changes properly
- #1393 - Combo's field overwritten during type-to-filter
3.0.1 - 2020-01-16
FEATURES/ENHANCEMENTS
- Store can now remove individual filters by filter id or Filter instance using
store.removeFilter(#462)
BUG FIXES
- #2 - Not possible to enter 00:00 into time field
- #213 - The
FilePickerwould fire twochangeevents on each file selection. IE11 and Edge would also not fire thechangeevent correctly, often not firing on the first user selection. Both issues have been corrected - #253 - Fixed exception when a popup (such as a context menu) would lose focus due to an active editor's
invalidAction: 'block'setting. Such editors return focus to themselves when invalid, causing the popup to hide itself in the middle of itsshow()call - #258 - CheckBox should be usable as a field
3.0.0 - 2019-12-20
FEATURES/ENHANCEMENTS
- Added
leadingZeroesconfig option for NumberField (#7524) - Localization. Common localizable words and phrases may now be added to a common
Objectblock of properties and will be accessible to all classes - Added support for named listeners (#43)
API CHANGES
-
BREAKING: Model no longer considers
nullas a valid id on records. It is now handled the same way as if id was undefined, meaning that a generated id will be assigned instead. If you usenullas id on a record in your code, this change might be breakingWe recommend to always supply an id for records from your backend, and there is a new setting on Store to enforce that. Configuring Store with
allowNoId: falsewill make it throw if a record without id is loaded (#8570) -
Masknow accepts atargetconfig instead of anelementconfig. The constructor converts anelementin the config object to the newtargetconfig, but passingelementis now deprecated -
BREAKING: The
elementproperty of aMaskinstance is now the mask's primary element (as with widgets). This could break applications if they were to access this property and expect to have the mask's target (which is now accessed via the mask'stargetproperty) -
NumberField no longer uses native stepping with the arrow keys, instead it implements its own with configurable behaviour. See the new
changeOnSpinconfig -
DomHelper.createElement()now accepts options as an object for its 2nd parameter. If aBooleanis passed, it is still interpreted as thereturnAllparameterTo pass
returnAllin the new form:createElement(..., { returnAll: true });
BUG FIXES
- #9212 - Adding FilePicker as widget for column