Skip to content

fix(types): allow combined DashStyle values (T1283037) - #35591

Merged
mpreyskurantov merged 4 commits into
DevExpress:mainfrom
mpreyskurantov:26_2-34882-metadata
Oct 12, 2026
Merged

mpreyskurantov merged 4 commits into
DevExpress:mainfrom
mpreyskurantov:26_2-34882-metadata

Conversation

@mpreyskurantov

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The type permits invalid compounds containing solid, and Vue wrappers incorrectly validate string values as objects.

13 open findings
What changed in this PR

Expands chart DashStyle typings to support compound patterns and propagates the type through generated declarations, metadata, and Vue wrappers.

Changes:

  • Adds a reusable repeated-union type utility.
  • Extends DashStyle and updates metadata generation.
  • Updates Vue prop declarations for affected visualization components.
File Description
packages/​devextreme/​ts/​dx.all.d.ts Updates bundled declarations.
packages/​devextreme/​js/​core/​index.d.ts Adds repeated-union type utilities.
packages/​devextreme/​js/​common/​charts.d.ts Expands DashStyle.
packages/​devextreme-vue/​src/​vector-map.ts Updates DashStyle props.
packages/​devextreme-vue/​src/​tree-map.ts Updates DashStyle props.
packages/​devextreme-vue/​src/​sparkline.ts Updates DashStyle props.
packages/​devextreme-vue/​src/​sankey.ts Updates DashStyle props.
packages/​devextreme-vue/​src/​range-selector.ts Updates DashStyle props.
packages/​devextreme-vue/​src/​polar-chart.ts Updates DashStyle props.
packages/​devextreme-vue/​src/​pie-chart.ts Updates DashStyle props.
packages/​devextreme-vue/​src/​linear-gauge.ts Updates DashStyle props.
packages/​devextreme-vue/​src/​funnel.ts Updates DashStyle props.
packages/​devextreme-vue/​src/​circular-gauge.ts Updates DashStyle props.
packages/​devextreme-vue/​src/​chart.ts Updates DashStyle props.
packages/​devextreme-vue/​src/​bullet.ts Updates DashStyle props.
packages/​devextreme-vue/​src/​bar-gauge.ts Updates DashStyle props.
packages/​devextreme-metadata/​make-integration-metadata.ts Normalizes DashStyle metadata references.
packages/​devextreme-metadata/​aspnet/​enums.ts Registers DashStyle enum values.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread packages/devextreme-vue/src/bar-gauge.ts
Comment thread packages/devextreme-vue/src/bullet.ts
Comment thread packages/devextreme-vue/src/chart.ts
Comment thread packages/devextreme-vue/src/circular-gauge.ts
Comment thread packages/devextreme-vue/src/funnel.ts
Comment thread packages/devextreme-vue/src/range-selector.ts
Comment thread packages/devextreme-vue/src/sankey.ts
Comment thread packages/devextreme-vue/src/sparkline.ts
Comment thread packages/devextreme-vue/src/tree-map.ts
Comment thread packages/devextreme-vue/src/vector-map.ts
r-farkhutdinov
r-farkhutdinov previously approved these changes Oct 9, 2026
dmlvr
dmlvr previously approved these changes Oct 9, 2026
Copilot AI balanced review requested due to automatic review settings October 11, 2026 14:34
@mpreyskurantov mpreyskurantov changed the title fix(types): support compound DashStyle values (T1283037) fix(types): allow combined DashStyle values (T1283037) Oct 11, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The type accepts invalid solid combinations, Vue validators incorrectly expect objects, and ASP.NET metadata still excludes combined values.

1 open finding
13 resolved since last review
Previously missed (1)

In code that hasn't changed since last review

Medium severity Keep DashStyle Vue constructor as String

packages/​devextreme-vue/​src/​polar-chart.ts:993

DashStyle is still string-valued; changing the Vue runtime constructor to Object makes valid strings such as dashdot fail prop validation. Keep String for this string-literal union.

This issue also appears on line 1051 of the same file.

🧠 Review effort: Balanced

Comment thread packages/devextreme-metadata/aspnet/enums.ts
@mpreyskurantov mpreyskurantov removed the WIP Work in progress label Oct 12, 2026
@mpreyskurantov
mpreyskurantov added this pull request to the merge queue Oct 12, 2026
Merged via the queue into DevExpress:main with commit cbbe7a9 Oct 12, 2026
153 of 154 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants