feat(harmonia): adopt Harmonia 2.6.0 - slot-picker toolbar, month/week pickers, upstream skill - #6312
Merged
Merged
Conversation
…k pickers, upstream skill Harmonia was bumped 2.3.1 -> 2.6.0 (dependabot #6311, pom only). Adapt the generated Harmonia stack to the 2.4-2.6 breaking changes and adopt the new pickers. Slot Picker (2.5.0 breaking): the picker no longer renders its own toolbar, so the `view: slots` page composed only a bare grid with no date navigation. Compose the previous/calendar/next/title/today toolbar from the x-h-slot-picker-* control directives; add the today/chooseDate i18n keys. Month/Week pickers (new in 2.4.0): adopt as two new intent field types. - parser: `month`/`week` accepted field types - EdmIntentGenerator: both map to VARCHAR (len 7/8); the MONTH/WEEK widget type is chosen from the LOGICAL type, not the JDBC dataType (both VARCHAR, so invisible to widgetForType) - mirrors the documentTitle special-case - Harmonia manage form-view + document-view: render x-h-month-picker / x-h-week-picker instead of plain <input type="month|week"> - FormIntentGenerator + template-form-builder-harmonia: input-month / input-week controls and picker blocks - format.js: MONTH/WEEK are plain strings - toPayload passes them through (not ISO-instant-ized), toDateInput slices; fmtDate maps input-week -> WEEK The AngularJS stacks already handle both widget types (verified). Range slider (2.6.0 breaking) and the removed `position-fit` (2.4.0) are not used by any template, so nothing to change there. Docs: remove the in-repo `reference/harmonia/` skill mirror (71 files) and point CLAUDE.md / the migration note at the upstream skill + docs (codbex.com/harmonia) to avoid drift; bump the "Harmonia 2.3.1" version string to 2.6.0; document the two new field types. Tests: EdmIntentGeneratorTest + IntentParserTest cover the month/week mapping and acceptance; IntentEngineIT.month_and_week_fields_generate_the_harmonia_pickers asserts the generated .model widget types and the rendered pickers end-to-end. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Harmonia was bumped 2.3.1 → 2.6.0 by dependabot (#6311, pom only). This adapts the generated Harmonia UI stack to the 2.4–2.6 breaking changes and adopts the new date pickers.
Breaking changes handled (from the upstream 2.4–2.6 changelog)
view: slotslost all date navigationx-h-month-picker/x-h-week-picker)position-fitremovedSlot picker
The picker now renders only the day grid, so the generated slots page had no way to page days. The date-navigation toolbar (previous / calendar / next / title / today) is now composed from the
x-h-slot-picker-*control directives;today/chooseDatei18n keys added.Month / Week field types (new)
month/weekaccepted field typesVARCHAR(length 7 / 8). TheMONTH/WEEKwidget type is chosen from the logical type, not the JDBC dataType (both areVARCHAR, so invisible towidgetForType) — mirrors the existingdocumentTitlespecial-casex-h-month-picker/x-h-week-pickerinstead of plain<input type="month|week">; the form-builder getsinput-month/input-weekcontrolstoPayloadpasses them through (not ISO-instant-ized),toDateInputslicesDocs
reference/harmonia/skill mirror (71 files); CLAUDE.md and the migration note now link the upstream skill + docs (codbex.com/harmonia) to avoid driftTests
EdmIntentGeneratorTest+IntentParserTestcover the month/week → VARCHAR + MONTH/WEEK widget mapping and type acceptanceIntentEngineIT.month_and_week_fields_generate_the_harmonia_pickersasserts the generated.modelwidget types and the rendered pickers end-to-end (passing locally)🤖 Generated with Claude Code