Skip to content

Releases: spxbhuhb/zakadabar-stack

2022.6.20

20 Jun 10:13
Compare
Choose a tag to compare

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 permission
  • PermissionBlProvider interface for permission based authorization
  • SimplePermissionAuthorizer authorizer for permission based authorization
  • appPermissions variable for storing application permissions
  • AppPermissionsBase class to for hard-coded permissions
  • with*Permission functions for ZkExecutor and ZkElement

changed

  • Executor now has two new properties: permissionNames and permissionIds low
  • Executor now uses sets instead of lists middle
  • ZkExecutor now has a new property: permissions low
  • ZkExecutor now uses sets instead of lists middle
  • SessionBo now uses sets instead of lists middle
  • ZkExecutor now has a new property: permissions
  • StackSession now has two new properties: permissionNames and permissionIds low
  • StackSession 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

02 Jun 06:13
965976c
Compare
Choose a tag to compare

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 groups
  • ZkSideBar.arrowSize changes the size of the sidebar open/close icon size

changed

  • LogAuditor now uses server.settings.logReads to check if reads should be logged or not, default is to log
  • ServerSettingsBo.logReads to log only data modification and do not log list, read, query operations
  • ZkSideBar.arrowOpen effects only group open, for close use ZkSideBar.arrowClose very low
  • ZkButton.onClick now focuses on itself before event.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

02 Jun 06:12
Compare
Choose a tag to compare

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

02 Jun 05:29
763031e
Compare
Choose a tag to compare

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

21 May 07:57
0ed52dc
Compare
Choose a tag to compare

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 #105
  • ZkTable.fixHeaderHeight to enable non-fixed header height #106
  • ZkSideBar.arrowAfter option to put the open/close arrow after the sidebar
  • ZkSideBar.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 implements CssStyleSpec
  • zk*Styles now implement a style spec interface low
  • ZkAttachmentsField and ZkImagesField now allows click on the area to select files #103
  • List<T>.by now uses LocaleAwareComparator
  • ZkNote DOM: separator between the title and the content
  • ZkTable sort sign now has non-transparent background
  • executor parameter for mail convenience functions to make server side use easier
  • ZkSideBarItem now has a sideBar parameter low

fixed

  • empty multi-level table bugfix #104
  • ZkAttachmentsField and ZkImagesField 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

Site

  • switched to Soft UI

2022.5.3

03 May 07:30
acf6f0c
Compare
Choose a tag to compare

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 (calls multiSort when multiLevel is true)
  • ZkTable.multiSort - sorts a multi-level list of rows

changed

  • columns should call ZkTable.sort instead of modifying fullData in place low (modifying fullData works when multiLevel is false)
  • made thes functions open in ZkTable: setData, redraw, addPlaceHolderRow, render

fixed

  • sort works for multi-level tables

2022.4.25

25 Apr 11:45
Compare
Choose a tag to compare

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)
    • 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)
    • replace interception observer based virtualization with scroll event based one middle (might have bugs)
    • add renderData which is derived from filteredData, see comments for details middle (if you use filteredData)
    • cells are now full ZkElement objects (instead of a simple "td" HTMLElement)
  • 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

25 Apr 11:42
e079af4
Compare
Choose a tag to compare

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 when true the ResultSet returns with ByteArray instead of ZkLiteBlob

2022.4.6

06 Apr 08:00
5100181
Compare
Choose a tag to compare

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 functions
  • commConfig property (null by default) to constructor of ActionBoCompanion, EntityBoCompanion, QueryBoCompanion
  • executor and config optional parameter for all comm methods
  • AccountPublicV2 contains the UUID of the account, decided to keep the original as it is to avoid compatibility problems
  • AccountBlProvider new functions:
    • anonymousV2
    • readPublicV2
    • autheticateV2
    • executorFor(String) - dangerous, avoids authentication
    • executorFor(UUID) - dangerous, avoids authentication
  • TestCompanionBase mock executors for convenience
    • mockAnonymous
    • 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 with CommConfig.global = CommConfig("https:/...")
  • BlobComm.upload now has additional parameters very low (pass callback as named parameter)
  • ZkFullScreenImageView has a deleteButton constructor parameter very low (add the parameter to the call)
  • ZkImagePreview has a deleteButton 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 recipe
  • Upload and Download Images recipe

Site

added

  • search

2022.3.21

22 Mar 04:59
Compare
Choose a tag to compare

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 parameter
  • ZkModalBase.addButtons property - hides the button row completely
  • ZkModalBase.launch function - launches the dialog without waiting for close
  • ZkTable counter option, see "Table With Counter" recipe
  • handling of multiple modals very low (ZkModalBase, ZkModalContainer)

changed

  • ZkTitleBarStyles.iconButton now uses appTitleBarText 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 low form selects
  • ZkModalBase.run - does not call application.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