Conversation
…tion heading Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Collapsible RSVP field cards in Create/Edit dialog (only select/multi-select; non-option fields always expanded) - Locale switcher in RSVP toolbar; all localizable fields reflect selected locale; per-field edit dialog handles locale-mode saves (base + override in one API call); Localizations section removed from RSVP dialog - RSVP expanded options: replace numbered text list with read-only/editable TextFields (Value + Label) - Custom attr expanded values: same inline edit pattern as RSVP options (Value + Label TextFields, Edit/Save/Discard/Add/Remove) - displayAs: constrained to valid options per field type via getDisplayAsOptions(); column suppressed for non-select types; reset on incompatible type change - Badge fixes: informative → neutral for type/inputType labels; wrapped in flex div to prevent full-width stretch in table columns; locale code column uses plain Text - isRowExpandable predicate on DataTable/ResourceDashboardLayout: suppress expand chevron for RSVP fields with no options/rules/default/locale-overrides, and for custom attrs with no values - Custom attr dialog: size="L" - Fix Update button bug in custom attr dialog: normalize undefined label on openAttrEdit Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Renders scope-configured custom attributes (text, boolean, single-select, multi-select) in a new form card at the bottom of the Additional Content step. Multi-select uses an ordered repeater pattern to support user-defined downstream sequencing. Card always visible — shows progress indicator while loading and an empty-state message when no attributes are configured. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…s to scope configs API
- Update scope-configs integration guide: options now use {value, label} format,
add localization merge patterns and option display logic notes
- Migrate RegistrationFieldsComponent from fetching external JSON configs to
cachedApi.getConfigsForScope, using RsvpFormField labels directly
- Update RegistrationConfigComponent prop name cloudType → isExperienceCloud
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ields When a locale is selected in the table toolbar, the Edit RSVP Config dialog now shows and edits locale-specific labels, placeholders, and option labels instead of base values. Structural controls (add/remove field, add/remove option, option values) are hidden in locale mode. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…l width Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ed indicator Remove isRequired from agenda end time fields (TimeField and DatePicker). Add a publish guard that validates all required fields across form steps before allowing publish, including custom attributes with isRequired. Shows a user-friendly dialog listing missing fields grouped by step. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- README/PROJECT_OVERVIEW: port 3000, real npm scripts, structure - EVENT_FORM/DEVELOPMENT_WORKFLOW/DEV_TOKEN: URLs and eventType route - FRONTEND: S2, App routes table, TopNav-based new-route steps - TESTING: Jest layout, test:unit, CI as lint+type-check, no e2e script - TOP_NAV_LAYOUT/USER_PANEL: paths, nav items, remove SideBar confusion - MODULAR_COMPONENT_PATTERN/EVENT_FORM: pages/EventForm paths Made-with: Cursor
EventInfoComponent previously called cachedApi.getLocales(), which hits the ESP GET /v1/locales endpoint. That route is deprecated in events-service-platform in favor of scope-level configs with type "locales" (same LocalesScopeConfig shape as Cloud Management: localeNames + localeUrlCodes). The picker now resolves the active ExC group scope via useGroup().activeGroup.scopeId and loads configs with cachedApi.getConfigsForScope(scopeId, 'locales'). When a locales config exists and localeNames is non-empty, options are built from those entries. If there is no scope id, the request fails, or no locales config is present, we fall back to SUPPORTED_SPEAKER_LOCALES + SPEAKER_LOCALE_LABELS so behavior matches ConfigManagement’s RSVP "available locales" fallback. If the event’s current defaultLocale is not listed in the resolved set (e.g. legacy data), we inject a synthetic picker row so the selected key remains valid until the user changes language. Made-with: Cursor
Kodiak: Security Findings SummaryNo new findings introduced in this PRHigh priority issues identified within this repositoryDetect Outdated Nodejs Versions (1 finding(s))
See all 1 findings for Quick links: Dashboard Branch Violation Page, Dashboard Home, How does Kodiak track findings and violations? This kodiak comment is based on the following commits Note: This comment will be updated as new commits are pushed to the branch. If finding status changes a new comment will be published. For questions and answers please review Kodiak FAQ or reach out to Have any feedback for us? Kodiak is always looking to improve our user experience - Let us know how we're doing! |
Align ConfigType, scope config models, and create bodies with ESP develop (customAttributes instead of custom-attributes). Update Event Form and Config Management fetch/filter/create paths so ?type= and config type match ESP’s strict filter.
- Prefer scope RSVP config via getConfigsForScope; fall back to legacy cloud
JSON (configService + mapLegacyRsvpConfigToFormFields) when scope has no fields
- Add RsvpFieldOptionSelectionState on EventFormData for select/multi-select
option order and include toggles (client-only until ESP exposes a contract)
- S2 Disclosure for option lists; HTML5 DnD reorder; auto-remove field when all
options disabled; reset option state when field hidden
- RegistrationConfigComponent wires cloudType and rsvpOptionSelections patch handler
- Hydrate rsvpOptionSelections as {} from API; TODO(PIM) on save path for future
granular serialization
Co-authored-by: Cursor <cursoragent@cursor.com>
- Document pim context/report usage and pod binding in CLAUDE.md - Add Claude Code sync command for PIM context pull - Gitignore .pim/ directory for local PIM state Co-authored-by: Cursor <cursoragent@cursor.com>
- Options list now renders inside the field card border rather than below it - Replaced Disclosure/DisclosureTitle trigger with an inline ListBulleted icon in the field row (5th grid column) - Icon is only shown for fields that have selectable options; absent otherwise - Icon highlights in selection-ring color when panel is expanded - Starting a field drag collapses all open option panels (mutually exclusive) - Removed redundant borders from option rows; drag-over ring retained Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Blocking fixes: - Replace div[role=button] with ActionButton isQuiet + onPress to fix drag-start interference and missing Spectrum focus ring - Add e.stopPropagation() to handleOptionDragOver/handleOptionDrop so option drags don't bubble to the outer field-card drop target - Clear optionDrag/optionDragOver in handleDragStart to avoid stale state - Prune expandedOptions when a field is hidden so the panel doesn't auto-reopen on re-show Code quality: - Extract toggleExpanded local fn to deduplicate setExpandedOptions logic - Replace <div /> fallback with null for the empty list-icon column - Wrap mandatedFieldNames in useMemo; use stable ref in useEffect dep array - Make isSelectableField a proper TypeScript type predicate - Add aria-label/aria-hidden to Move drag handle divs - Remove dead font styles from empty header span elements Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
feat(rsvp): move options panel inside field card with inline toggle
# Conflicts: # web-src/src/components/shared/DataTable.tsx # web-src/src/components/shared/ResourceDashboardLayout.tsx # web-src/src/pages/EventForm/EventForm.tsx # web-src/src/pages/EventForm/RegistrationFieldsComponent.tsx # web-src/src/types/domain.ts
* RSVP Configs from the configs section * retain the TODO comment
Merge dev into configs branch (resolves conflicts, preserves both feature sets)
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.
No description provided.