diff --git a/packages/pluggable-widgets-tools/CHANGELOG.md b/packages/pluggable-widgets-tools/CHANGELOG.md index ba86fe3e..3ce253d1 100644 --- a/packages/pluggable-widgets-tools/CHANGELOG.md +++ b/packages/pluggable-widgets-tools/CHANGELOG.md @@ -15,6 +15,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ### Changed - We increased the minimum node version to 22. +- We changed [System Text XML](https://docs.mendix.com/apidocs-mxsdk/apidocs/pluggable-widgets-property-types/#text) type to use `namespace` instead of `widgetId`, since we now allow Pluggable Widgets to refer to all system texts. ### Fixed diff --git a/packages/pluggable-widgets-tools/src/typings-generator/WidgetXml.ts b/packages/pluggable-widgets-tools/src/typings-generator/WidgetXml.ts index 5b4ebb6b..d687137a 100644 --- a/packages/pluggable-widgets-tools/src/typings-generator/WidgetXml.ts +++ b/packages/pluggable-widgets-tools/src/typings-generator/WidgetXml.ts @@ -145,7 +145,7 @@ export interface SystemTextParameter { export interface ExternalSystemTextNamespace { $: { - widgetId: string; + namespace: string; }; text: ExternalSystemText[]; } diff --git a/packages/pluggable-widgets-tools/src/typings-generator/__tests__/inputs/systemtexts.ts b/packages/pluggable-widgets-tools/src/typings-generator/__tests__/inputs/systemtexts.ts index 42fb6b79..50aa0526 100644 --- a/packages/pluggable-widgets-tools/src/typings-generator/__tests__/inputs/systemtexts.ts +++ b/packages/pluggable-widgets-tools/src/typings-generator/__tests__/inputs/systemtexts.ts @@ -16,11 +16,11 @@ const systemProperty = ` - + - + `; export const systemTextsInput = ` diff --git a/packages/pluggable-widgets-tools/src/typings-generator/generateSystemTexts.ts b/packages/pluggable-widgets-tools/src/typings-generator/generateSystemTexts.ts index c38041cc..d58e1e2a 100644 --- a/packages/pluggable-widgets-tools/src/typings-generator/generateSystemTexts.ts +++ b/packages/pluggable-widgets-tools/src/typings-generator/generateSystemTexts.ts @@ -4,7 +4,7 @@ import { SystemProperty, TextSystemProperty } from "./WidgetXml"; const STAR = "*" as const; type Star = typeof STAR; -type Text = { key: string; parameters: string[] } | { widgetId: string; key: Star | string[] }; +type Text = { key: string; parameters: string[] } | { namespace: string; key: Star | string[] }; function textsFromSystemProperty(node: SystemProperty): Text[] { if (!isTextSystemProperty(node)) return []; @@ -16,7 +16,7 @@ function textsFromSystemProperty(node: SystemProperty): Text[] { })), ...(node.externalTexts ?? []).map(e => { return { - widgetId: e.$.widgetId, + namespace: e.$.namespace, key: e.text === undefined ? STAR : e.text.map(t => t.$.key) }; }) @@ -28,11 +28,11 @@ function isTextSystemProperty(node: SystemProperty): node is TextSystemProperty } function generateTextType(t: Text): string { - if ("widgetId" in t) { + if ("namespace" in t) { if (t.key === STAR) { - return `"${t.widgetId}": [key: string, params?: string[]]`; + return `"${t.namespace}": [key: string, params?: string[]]`; } - return `"${t.widgetId}": [key: ${t.key.map(key => `"${key}"`).join(" | ")}, params?: string[]]`; + return `"${t.namespace}": [key: ${t.key.map(key => `"${key}"`).join(" | ")}, params?: string[]]`; } const parameterTypes = t.parameters.map(p => `${normalizeParameterName(p)}: string`);