Skip to content

Releases: spxbhuhb/zakadabar-stack

2021.11.15

15 Nov 06:14
Compare
Choose a tag to compare

Core

added

  • ZkTable.exportFiltered when true, CSV export includes only the filtered rows #84
  • ZkTabContainerStyles.tabBackgroundColor CSS parameter
  • Pending Modifications #80

changed

  • ZkTabContainer
    • tab background is now the theme default background, see Tab Container Background #81
    • now has a styles parameter, defaults to zkTabContainerStyles

fixed

  • ZkTable boolean and extension columns now export their values #83
  • ZkForm entity select does not show "not selected" #82
  • ZkSecretVerificationField now sets touched properly #78

Lib: Accounts

changed

  • password change validation now shows a toast if the verification is invalid
  • CreateAccount.credentials is now mandatory and minimum 8 characters length #79

fixed

  • account creation form does not show invalid fields #79

Cookbook

added

2021.11.5

05 Nov 08:34
Compare
Choose a tag to compare

Breaking changes

ZkTable.onResume now is a bit different. It shouldn't cause any problems, but
if you re-use table objects (singleton pattern), then you should check the
changes in onResume.

Core

changed

  • ZkTable
    • rename rebuild to redraw, fix problems
    • add runQueryOnResume parameter to enable/disable query run on resume
    • change scrollBy to scrollTo to prevent over-scrolling

2021.11.03

03 Nov 09:47
Compare
Choose a tag to compare

Core

added

  • ZkTable fields:

    • contentContainer element for content to get scroll position
    • event handler for scroll event on contentContainer
    • contentScrollTop current vertical scroll of the contentContainer
    • contentScrollLeft current horizontal scroll of contentContainer
  • ZkTable functions:

    • rebuild removes all cached row renders, scrolls the contentContainer into position, renders the table
    • getRowData
    • setRowData
    • getter based column builders for ZkTable
    • ZkColumn<T>.label configuration function
  • Optional Boolean column for table

  • Optional Enum column for table

  • Direction of Navigation:

    • ZkNavState fields: new, forward, backward
    • session storage data: zk-nav-last-shown, zk-nav-counter
    • ZkApplication: onPopState, init rework
    • see: Routing
    • see: Direction of Navigation
  • TextOverflow CSS constants

changed

  • ZkTableRow.data is now writable

  • ZkTable restores scroll position in onResume

  • ZkTable now uses "V2" versions of columns

    • "V2" uses getters instead of a properties
    • unaryPlus overrides pass the getter { row -> prop.get(row) }
    • we'll keep the old property-based classes for a while for compatibility
  • ZkTable.size configuration function now works on ZkColumn instead of ZkElement

fixed

  • singleton (non-factory) ZkArgPage now updates args properly

Cookbook

added

changed

  • cookbook table now remembers search
  • rename "Export Custom Column" recipe to Custom Table Column

2021.10.28

28 Oct 11:31
Compare
Choose a tag to compare

Core

fixed

Many thanks to tbml for the bugfix PR.

  • hasRole now preforms the right check
  • numeric data in table is now sorted as numbers
  • fix for boolean table column always shows true
  • fix bug in nested Bo schema validation

Lib: Blob

fixed

  • Content disposition header now handles UTF-8 file name

Exp: Content

changed

  • numerous improvements and API extensions

2021.10.14

14 Oct 05:59
Compare
Choose a tag to compare

Core

added

  • portCookie server setting, when true, adds the port to the session cookie (default is false)

Lib: Account

added

  • session cookie now contains the port number by default (can be disabled with settings)

changed

  • LoginForm new constructor parameter setAppTitle

fixed

  • After session timeout login the header title change to LoginForm #74

2021.10.12

12 Oct 11:48
Compare
Choose a tag to compare

General

  • move schedule from exp to lib
  • move email from exp to lib

Core

added

  • CommonModule.onAfterOpen - executed then the system is open for external access
  • CommonModule.onBeforeclose - executed then the system about to close for external access
  • ModuleStore.find - convenience function to find modules of a given class or interface
  • 'String?.csvEscape' - convenience to escape strings for CSV
  • ZkCustomColumn.exportCsv - set export function for custom columns

Lib: Email

changed

  • sendMail function now creates a job to automatically send the mail after create
  • buildMail function simply creates the e-mail

Lib: Schedule

added

  • guide for setup
  • recipe for submit

changed

  • SchedulerModule rename to DispatcherModuleBundle
  • WorkerBl now has a name constructor parameter, this is used for namespace and settings

2021.9.15

15 Sep 10:57
Compare
Choose a tag to compare

Core

added:

  • schema extension mechanism
  • envVar schema extension to specify environment variable in settings explicitly
  • explicit environment variable bindings for most server settings
  • support of nested classes for automatic environment variable binding
  • --env-auto server parameter for automatic BO mapping
  • --env-explicit server parameter for explicit BO mapping
  • --no-db-schema-update server parameter to disable automatic DB updates
  • submitOnEnter configuration function for text based fields
  • ZkFieldContext.submit to provide submit initiation for fields
  • STANDALONE field context for standalone, editable fields
  • builder function parameter for asTextArea
  • ZkRadioButton input
  • radio group renderer for select fields

changed:

  • server environment variable parameters
  • schema initializes Instant fields to Clock.System.now()
  • schema initializes LocalDate fields to Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()).date
  • schema initializes LocalDateTime fields to Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault())
  • environment variable initialization now handles nested classes
  • BoSchemaEntry now has a second type parameter
  • BoSchemaEntry declares fields:
    • kProperty
    • rules
    • extensions
    • defaultValue
  • Clikt dependency to 3.2.0
  • ZkTable content text is now selectable
  • ZkTable resize handle is at the very end of column
  • move rendering from ZkSelectBase to DropdownRenderer
  • ZkCheckBox now sets disabled also when read only

deprecated:

  • ZkForm.textarea (replace with .asTextArea())

removed:

  • deprecated methods from schema classes
  • --ignore-environment server parameter (replaced with --env-auto and --env-explicit)

fixed:

  • change of top level style sheets before application init now works

Cookbook

  • Submit On Enter recipe

2021.8.31

31 Aug 06:11
Compare
Choose a tag to compare

Core

changed:

  • change ZkFormStyles from object to class
  • ZkSideBar arrow alignment

deprecated:

  • ZkApplication.services (use modules instead)

fixed:

  • Can't place id on form in read mode #63
  • zkTableStyles is val instead of var #64
  • Search in uppercase #61
  • accessing settings from different thread than main during module start deadlocks

2021.8.30

30 Aug 05:38
Compare
Choose a tag to compare

Core

added:

  • ZkCssStyleSheet.onConfigure hook for last minute style changes
  • ZkTable.styles property to provide style customization per table
  • cssClass(on:()->String, builder) convenience for building complex css class selectors
  • ZkBooleanExtensionColumn
  • ZkStringExtensionColumn
  • add styles to ZkFieldContext
  • ZkTable calls ZkColumn.onTableSetData from setData
  • ZkFieldBase.onChangeCallback called whenever bo value changes
  • ZkFieldBase.value current value
  • ZkFieldBase.valueOrNull current value or null
  • onChange form field transform function
  • onChange3 form field transform function
  • BoSchema.constraintsOrNull
  • ChangeOrigin for browser fields to pass event origin
  • ZkForm.saveAs property convenience version
  • ZkStringStore.addMissing copy missing keys from another string store
  • icons to sidebar groups and items

changed:

  • ZkCssStyleRule and its functions are now open
  • ZkCssStyleRule.selector is a function instead of a String
  • ZkTableStyles values are now open, moved sub-classes out of table
  • all browser fields use context.styles
  • move field related CSS classes from zkFormStyles to zkFieldStyles
  • change BO primitive wrapper fields to var
  • ZkFormStyles and ZkTableStyles extends ZkFieldStyles
  • rework select styles to support table and form use cases
  • ZkFieldBase now has a second type parameter, the field type itself

removed:

dense from ZkFieldContext (replace with styles)

fixed:

  • Search in uppercase #61
  • ZkBooleanField styles for read mode form
  • ZkSelectBase styles for read mode form
  • localizedStrings defaults override application values
  • login redirect does not work in production mode

Cookbook

added:

  • Vertical Table Cell Border
  • Field Change Event
  • SideBar With Icons

changed:

  • Inline Table Edit

Site

fixed:

  • broken build script links

2021.8.19.1

19 Aug 10:06
Compare
Choose a tag to compare

Core

  • InlineHelpWrapper element to add help icon and functionality after an element
  • help icon, provider, modal, recipe, guide
  • ZkApplication now starts modules automatically
  • Cookbook module to collect cookbook related things together
  • modalMessage convenience function
  • select filter recipe
  • asSelect for String properties
  • onSelect transform function for ZkSelectBase
  • saveAs transform function for ZkSelectBase
  • update function for ZkSelectBase
  • KtorRouteConfig builder to add routes to Server outside authorize
  • LocalizationGroup to localized strings in a scope

changed

  • withHelp now has a parameter to pass to the help provider
  • rename onSelected to onSelectCallback
  • reset select popup height when toggled
  • ZkButton now adds round also to text buttons (when true)
  • table prevents click event only when there is an action in the column
  • checkbox prevents default when readOnly

fixed

  • fix Cookbook no-scroll and jumping scroll bug
  • table column resize bugfixes