- Toolchain migrated to Vite
- onInit event triggers during the init of jet views
- Predefined _hidden view
- Views can be overridden at runtime
- App can have a custom view loader
- Objects can be used as view params
- Ability to define app and view params through config() or show() commands
- Jetapp view doesn't copy methods of the app on self
- Popup subviews leave empty elements in parent collections
- The ability to use a map of overrides in the view config
- Improved TypeScript support (locate views through generics)
- Correct handling of top-level JetView submodules on navigation
- Fixes to routers
- Better routing logic (including subviews)
- webix.fullscreen support for JetView elements
- Typed results for navigation rejections (NavigationBlocked error)
- UnloadGuard: optimizations to guard triggers
- Various other fixes
- The ability to show views in new windows
- The ability to show windows like other views by including them in the app URL
- Several same-level subviews can have their own app URLs and work independently of each other
- Menu plugin can change URL parameters
- User plugin: the ability to add several pages accessible for non-authorized users
- Locale plugin: additional configuration property for setting Webix locales
- Locale plugin: the ability to split localization and load parts on demand
- Locale plugin: the ability to configure Polyglot
- Locale plugin: the ability to disable locale loading from jet-locales
- UrlRouter shares the same settings with HashRouter
- Webix Jet supports IE11+
- HashRouter works more stable during in-browser navigation
- New SubRouter that enables navigation in sub-modules
- The ability to use Webix Jet without Webpack
- The ability to import Webix code as a module
- getUrl() and getUrlString() for app and view
- removeView() of Webix widgets triggers destroy() of the Jet views inside them
- getSubView() and contains() can be called for JetApp
- The refresh() method for app and view returns a promise
- view.refresh() works for views with sub-elements
- app.refresh() works when an app is inside a Webix Jet view
- app.refresh() triggers refresh of the top view instead of using its own custom logic
- The order of destroy and init events: first, the old view is destroyed, then the new view is initialized
- new WJET utility for faster prototyping
- JetView has the refresh() method
- better support for ES6 modules: app.views can return a promise of an ES6 module, which can be used for code-splitting
- the ability to compile a Jet app into a standalone bundle and use it in other apps or as is
- the ability to compile a Jet app as a component and use it as a Webix widget
- this.$$() returns widgets from the current Jet view only
- JetView class instances can be created in config()
- TypeScript support
- new API:
- UrlParam plugin
- ability to set optional path for the Locale plugin
- "app:user:login" and "app:user:logout" events
- show and getSubView APIs updated
- this.ui updated
- allows to define custom HTML parent
- can be used with JetView classes
- ability to remove "!" from the hash URL
- ability to return a promise from the config method of a view
- HashRouter supports config.routes
- views can define string-to-string mapping
Major update after version 0.5:
- views and app modules as ES6 classes
- using Webpack as a module bundler
- ability to choose among 4 routers
- ability to use 6 plugins for common tasks