Releases: spxbhuhb/zakadabar-stack
2022.6.20
This release contains a major addition: permission based authorization. There are no major breaking
changes, applications that worked before should continue to work. Permissions are optional.
Structure
changed
- upgrade Kotlin to 1.7.0
Core
added
authorizeByPermission
function to authorize execution by permissionPermissionBlProvider
interface for permission based authorizationSimplePermissionAuthorizer
authorizer for permission based authorizationappPermissions
variable for storing application permissionsAppPermissionsBase
class to for hard-coded permissionswith*Permission
functions forZkExecutor
andZkElement
changed
Executor
now has two new properties:permissionNames
andpermissionIds
lowExecutor
now uses sets instead of lists middleZkExecutor
now has a new property:permissions
lowZkExecutor
now uses sets instead of lists middleSessionBo
now uses sets instead of lists middleZkExecutor
now has a new property:permissions
StackSession
now has two new properties:permissionNames
andpermissionIds
lowStackSession
now uses sets instead of lists middle- ZkChip now use
text: nowrap
in CSS to prevent chip text wrapping low
Lib: Accounts
added
- permissions, which can be used in conjunction with rules
changed
- add unique index to the account name in the account table
Legend
Changes with marker very low and such are technically breaking changes. However, they are
not major modifications and in most cases they should not break anything. Notes after the marker
are the places worth to check. If you extended them you may have to apply the change to your own class also.
2022.6.2
NOTE Changes with marker very low and such are technically breaking changes. However, they are
not major modifications and in most cases they should not break anything. Notes after the marker
are the places worth to check. If you extended them you may have to apply the change to your own class also.
Structure
- CliKt dependency to 3.4.2
- Kaml dependency to 0.44.0
- Logback dependency to 1.2.11
Core
added
ZkSideBar.arrowClose
when true, clicking on the text does not close sidebar groupsZkSideBar.arrowSize
changes the size of the sidebar open/close icon size
changed
LogAuditor
now usesserver.settings.logReads
to check if reads should be logged or not, default is to logServerSettingsBo.logReads
to log only data modification and do not log list, read, query operationsZkSideBar.arrowOpen
effects only group open, for close useZkSideBar.arrowClose
very lowZkButton.onClick
now focuses on itself beforeevent.preventDefault
very low
fixed
- select dropdown now closes when clicking on a button
Documentation
fixed
- obsoleted information about
Server.logReads
Lib:Cookbook
added
- SideBar Arrow Options recipe
2022.5.26
NOTE Changes with marker very low and such are technically breaking changes. However, they are
not major modifications and in most cases they should not break anything. Notes after the marker
are the places worth to check. If you extended them you may have to apply the change to your own class also.
Core
added
- ZkTable.icon configuration parameter
changed
- ZkNotificationIcon internal DOM structure and positioning
fixed
- ZkTable variable header height now works with legacy ui
- ZkBlobField upload maximum bug
Cookbook
- Table Local Title with Icon recipe
2022.5.25
NOTE Changes with marker very low and such are technically breaking changes. However, they are
not major modifications and in most cases they should not break anything. Notes after the marker
are the places worth to check. If you extended them you may have to apply the change to your own class also.
Lib: Accounts
changed
Account
page: remove the padding around the account form middle
Lib: SoftUi
- add documentation about the default layout
- normalize page paddings
2022.5.21
NOTE Changes with marker very low and such are technically breaking changes. However, they are
not major modifications and in most cases they should not break anything. Notes after the marker
are the places worth to check. If you extended them you may have to apply the change to your own class also.
Core
added
- style specification interfaces, extended by style classes
- option to use the native, browser supplied date editor for LocalDate fields #107
LocaleAwareComparator
for locale aware text comparison #105ZkTable.fixHeaderHeight
to enable non-fixed header height #106ZkSideBar.arrowAfter
option to put the open/close arrow after the sidebarZkSideBar.arrowOpen
option to open/close groups only when clicked on arrow, but not for title- option to change sidebar open/close arrow icons
ZkSideBar.styles
property to customize styles per instance
changed
ZkCssStyleSheet
now implementsCssStyleSpec
zk*Styles
now implement a style spec interface lowZkAttachmentsField
andZkImagesField
now allows click on the area to select files #103List<T>.by
now usesLocaleAwareComparator
ZkNote
DOM: separator between the title and the contentZkTable
sort sign now has non-transparent backgroundexecutor
parameter for mail convenience functions to make server side use easierZkSideBarItem
now has asideBar
parameter low
fixed
- empty multi-level table bugfix #104
ZkAttachmentsField
andZkImagesField
now refuses multi-upload when it would go over maximum allowed entries- empty opening page because of response code 440 when EmptySessionManager is used
removed
- minimized section function from
ZkSideBar
Lib: Markdown
- default maximum width of the markdown view is now 800px
- change TOC font size from 80% to 12px
Lib: SoftUi
added
- new UI theme inspired by Soft UI from Creative Tim
Site
- switched to Soft UI
2022.5.3
NOTE Changes with marker very low and such are technically breaking changes. However, they are
not major modifications and in most cases they should not break anything. Notes after the marker
are the places worth to check. If you extended them you may have to apply the change to your own class also.
Versions
changed
- upgrade PostgreSQL JDBC to 42.3.4
Core
added
ZkTable.sort
- sorts the data of the table (callsmultiSort
whenmultiLevel
is true)ZkTable.multiSort
- sorts a multi-level list of rows
changed
- columns should call
ZkTable.sort
instead of modifyingfullData
in place low (modifying fullData works whenmultiLevel
is false) - made thes functions open in
ZkTable
:setData
,redraw
,addPlaceHolderRow
,render
fixed
- sort works for multi-level tables
2022.4.25
NOTE Changes with marker very low and such are technically breaking changes. However, they are
not major modifications and in most cases they should not break anything. Notes after the marker
are the places worth to check. If you extended them you may have to apply the change to your own class also.
Core
changed
ZkTable
- now supports variable row heights, see the Variable Table Row Height recipe
- this shouldn't be a breaking change, table should work as before when
fixedRowHeight
is true (the default)
- this shouldn't be a breaking change, table should work as before when
- now partially (sorting doesn't work) supports multi-level rows
- this shouldn't be a breaking change, table should work as before when
multiLevel
is false (the default)
- this shouldn't be a breaking change, table should work as before when
- replace interception observer based virtualization with scroll event based one middle (might have bugs)
- add
renderData
which is derived fromfilteredData
, see comments for details middle (if you use filteredData) - cells are now full ZkElement objects (instead of a simple "td" HTMLElement)
- now supports variable row heights, see the Variable Table Row Height recipe
zkHtmlStyles
is referenced from built-in themes as it seems that the compiler optimized it out low
Cookbook
added
- Variable Table Row Height recipe
- Multi Level Table recipe
Site
changed
- add
margin = "auto"
to note element style
2022.4.8
Core
added
dropColumnIfExists
convenience method for Exposed tables
changed
- select field dropdown width is now aligned with field width #102
UUID
now uses a string serializer instead of the default
removed
zakadabar.core.util.fork
function (create a CoroutineScope and use launch)
Lib: Schedule
fixed
- loading UUID from the Yaml configuration file now works for string UUID
- subscription persistence handling problems
- DB upgrade problem with the
node_address
column
Android
added
ZkLiteDriver.useByteArrayBlob
whentrue
the ResultSet returns with ByteArray instead of ZkLiteBlob
2022.4.6
Core
added
- option for local communication (no HTTP/Ktor) inside the same VM
- option to specify communication overrides (baseUrl, namespace, etc.) per call or per class
CommConfig
class to store global configuration parameters and provide helper functionscommConfig
property (null by default) to constructor ofActionBoCompanion
,EntityBoCompanion
,QueryBoCompanion
executor
andconfig
optional parameter for all comm methodsAccountPublicV2
contains the UUID of the account, decided to keep the original as it is to avoid compatibility problemsAccountBlProvider
new functions:anonymousV2
readPublicV2
autheticateV2
executorFor(String)
- dangerous, avoids authenticationexecutorFor(UUID)
- dangerous, avoids authentication
TestCompanionBase
mock executors for conveniencemockAnonymous
mockLoggedIn
mockSo
changed
Executor
now contains the UUID of the account low (add the UUID if you manually create an executor)CommBase.baseUrl
is now deprecated, replace withCommConfig.global = CommConfig("https:/...")
BlobComm.upload
now has additional parameters very low (pass callback as named parameter)ZkFullScreenImageView
has adeleteButton
constructor parameter very low (add the parameter to the call)ZkImagePreview
has adeleteButton
constructor parameter very low (add the parameter to the call)
Lib:Markdown
added
shell
language
Lib:Schedule
changed
- major refactor, works with authentication/multiple workers
Lib:Lucene
added
- very basic indexing and query based on the Lucene demo
Cookbook
added
Upload And Download Attachments
recipeUpload and Download Images
recipe
Site
added
- search
2022.3.21
NOTE Changes with marker very low and such are technically breaking changes. However, they are
not major modifications and in most cases they should not break anything. Notes after the marker
are the places worth to check. If you extended them you may have to apply the change to your own class also.
Core
added
ZkTitleBarStyles.localTitleBarText
CSS parameterZkModalBase.addButtons
property - hides the button row completelyZkModalBase.launch
function - launches the dialog without waiting for closeZkTable
counter option, see "Table With Counter" recipe- handling of multiple modals very low
(ZkModalBase, ZkModalContainer)
changed
ZkTitleBarStyles.iconButton
now usesappTitleBarText
CSS parameter for icon fill, very low(icons of the title bar)
ZkFieldStyles.selectOptionPopup
- z-index is now 2000 to allow use in modals very lowform selects
ZkModalBase.run
- does not callapplication.modals.hide()
(moved the call to ZkModalContainer)
fixed
- removed 2 pixel left padding from sidebar arrow
- title bar text color now uses
appTitleBarText
/localTitleBarText
low(themes, title bar styles)
Site
fixed
- read only fields example does not set opt booelan to read only
Cookbook
added
- new recipe: Form In a Modal
- new recipe: Table With Counter