Skip to content

feat(entities-plugins): add metering-and-plugin form#3058

Draft
TT1228 wants to merge 6 commits intomainfrom
feat/metering-and-billing-plugin
Draft

feat(entities-plugins): add metering-and-plugin form#3058
TT1228 wants to merge 6 commits intomainfrom
feat/metering-and-billing-plugin

Conversation

@TT1228
Copy link
Copy Markdown
Contributor

@TT1228 TT1228 commented Mar 26, 2026

Summary

Add custom metering-and-plugin form

@TT1228 TT1228 changed the title feat(entities-plugins): add metering0and-plugin form feat(entities-plugins): add metering-and-plugin form Mar 30, 2026
@kongponents-bot
Copy link
Copy Markdown
Collaborator

🔴 PR audit failed. 🔴

🔥 No test coverage detected.

This PR does not include any test coverage changes, but it modifies source code. Please add appropriate tests to cover the changes made in this PR.

If you believe this is a false positive or if there are valid reasons for not including test coverage changes, please request an exemption by adding the test-coverage-exempt label to the PR and ensure it is approved by one of those managers jillztom, nateslo, erichsend, lahabana, hangrao, ryanmoore, elen4, DaniellaFreese, mfollett, ValeryG.

@kongponents-bot
Copy link
Copy Markdown
Collaborator

Preview components from this PR in consuming application

In consuming application project install preview versions of shared packages generated by this PR:

@kong-ui-public/analytics-utilities@pr-3058
@kong-ui-public/app-layout@pr-3058
@kong-ui-public/error-boundary@pr-3058
@kong-ui-public/monaco-editor@pr-3058
@kong-ui-public/page-layout@pr-3058
@kong-ui-public/sandbox-layout@pr-3058
@kong-ui-public/split-pane@pr-3058
@kong-ui-public/entities-shared@pr-3058
@kong-ui-public/document-viewer@pr-3058
@kong-ui-public/spec-renderer@pr-3058
@kong-ui-public/analytics-config-store@pr-3058
@kong-ui-public/analytics-geo-map@pr-3058
@kong-ui-public/portal-analytics-bridge@pr-3058
@kong-ui-public/documentation@pr-3058
@kong-ui-public/forms@pr-3058
@kong-ui-public/entities-certificates@pr-3058
@kong-ui-public/entities-consumer-credentials@pr-3058
@kong-ui-public/entities-consumer-groups@pr-3058
@kong-ui-public/entities-consumers@pr-3058
@kong-ui-public/entities-data-plane-nodes@pr-3058
@kong-ui-public/entities-gateway-services@pr-3058
@kong-ui-public/entities-key-sets@pr-3058
@kong-ui-public/entities-keys@pr-3058
@kong-ui-public/entities-snis@pr-3058
@kong-ui-public/entities-upstreams-targets@pr-3058
@kong-ui-public/entities-vaults@pr-3058
@kong-ui-public/analytics-metric-provider@pr-3058
@kong-ui-public/expressions@pr-3058
@kong-ui-public/entities-redis-configurations@pr-3058
@kong-ui-public/analytics-chart@pr-3058
@kong-ui-public/entities-routes@pr-3058
@kong-ui-public/dashboard-renderer@pr-3058
@kong-ui-public/entities-plugins@pr-3058

@TT1228 TT1228 requested a review from Copilot March 31, 2026 09:52
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a custom free-form UI for the metering-and-billing plugin in entities-plugins, including new shared collapsible UI behavior and i18n strings to support the new form.

Changes:

  • Register metering-and-billing as an experimental free-form and expose MeteringAndBillingForm from the free-form component barrel.
  • Add MeteringAndBillingForm.vue implementing a tailored layout with sectioned/collapsible configuration and field renderer overrides.
  • Enhance shared free-form components (new CollapsibleSection, ArrayField collapsible support, BooleanField attribute forwarding) and add English locale strings.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
packages/entities/entities-plugins/src/utils/free-form.ts Adds experimental mapping for metering-and-billing to use the new form component.
packages/entities/entities-plugins/src/locales/en.json Adds i18n strings for metering-and-billing form sections/fields.
packages/entities/entities-plugins/src/components/free-form/shared/CollapsibleSection.vue New shared collapsible section wrapper used by the metering/billing form.
packages/entities/entities-plugins/src/components/free-form/shared/BooleanField.vue Forwards non-prop attributes to KCheckbox (enables label/description overrides).
packages/entities/entities-plugins/src/components/free-form/shared/ArrayField.vue Adds optional collapsible behavior and related UI/structure changes.
packages/entities/entities-plugins/src/components/free-form/MeteringAndBilling/MeteringAndBillingForm.vue New custom form implementation for metering-and-billing plugin.
packages/entities/entities-plugins/src/components/free-form/MeteringAndBilling/index.ts Barrel export for the new form.
packages/entities/entities-plugins/src/components/free-form/index.ts Exposes MeteringAndBillingForm for dynamic free-form resolution.
packages/entities/entities-plugins/sandbox/pages/PluginFormPage.vue Enables the experimental free-form for metering-and-billing in the sandbox.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +25 to +38
<div class="ff-array-field-header-toggle">
<button
v-if="collapsible"
class="ff-array-field-toggle-btn"
type="button"
@click.prevent.stop="expanded = !expanded"
>
<ChevronRightIcon
class="ff-array-field-toggle-btn-trigger-icon"
:class="{ 'collapse-expanded': expanded }"
decorative
:size="KUI_ICON_SIZE_30"
/>
</button>
Copy link

Copilot AI Mar 31, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The optional ArrayField collapse toggle is icon-only and currently has no accessible name/state. Please add aria-expanded bound to expanded, and either an aria-label or aria-labelledby pointing at the field label; aria-controls for the content region would also improve screen reader behavior.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants