Skip to content

Add line width setting for wizard line charts#3389

Open
arsen-afaunov wants to merge 7 commits intomainfrom
CHARTS-10226-add-line-width-setting-for-wizard-line-charts
Open

Add line width setting for wizard line charts#3389
arsen-afaunov wants to merge 7 commits intomainfrom
CHARTS-10226-add-line-width-setting-for-wizard-line-charts

Conversation

@arsen-afaunov
Copy link
Contributor

No description provided.

@github-actions
Copy link

github-actions bot commented Jan 15, 2026

E2E Tests No Auth

Playwright test results

passed  228 passed
flaky  8 flaky
skipped  2 skipped

Details

stats  238 tests across 126 suites
duration  4 minutes, 3 seconds
commit  c1b4b07

Flaky tests

opensource › opensource-suites/wizard/filters/filters-with-dialog-color.test.ts › Wizard filters › Two or more values of the Date field from the dashboard filter section should use IN operation by default
opensource › opensource-suites/wizard/visualizations/bar-y/data-labels.test.ts › Wizard › Normalise bar-y chart › Percentage as labels @screenshot
opensource › opensource-suites/wizard/visualizations/combined/data-labels.test.ts › Wizard › Combined chart › DataLabels with prefix and postfix @screenshot
opensource › opensource-suites/wizard/visualizations/combined/legend.test.ts › Wizard › Combined chart › With different fields on Y-axis and same fields in colors section, legend should be displayed as "y-axis field title: color field value" @screenshot
opensource › opensource-suites/wizard/visualizations/line/axis.test.ts › Wizard › Line chart › Date and time on the Y axis @screenshot
opensource › opensource-suites/wizard/visualizations/line/export.test.ts › Wizard › Line chart › Export to xlsx
opensource › opensource-suites/wizard/visualizations/pivot-table/no-data.test.ts › Wizard › Pivot table › No data @screenshot
opensource › opensource-suites/wizard/visualizations/treemap/tooltip.test.ts › Wizard › Treemap chart › Tooltip when hovering chart area @screenshot

Skipped tests

opensource › opensource-suites/dash/revisions/revisionsList.test.ts › Dashboards - Versioning › Dashboard with a long list of revisions, checking the upload and the updated list of revisions
opensource › opensource-suites/dash/selectors/autoupdateRelatedSelectors.test.ts › Dashboards - Autoupdate options of group selectors › Manual selectors with aliases don't affect each other before applying when auto-update is disabled


🧐 Links with traces:

👉 Link with detailed report: report

🐳 Link with docker compose logs: logs

Last updated: 2026-01-29 18:48:53 MSK

@github-actions
Copy link

github-actions bot commented Jan 15, 2026

E2E Tests

Playwright test results

passed  224 passed
flaky  12 flaky
skipped  2 skipped

Details

stats  238 tests across 126 suites
duration  3 minutes, 44 seconds
commit  c1b4b07

Flaky tests

opensource › opensource-suites/dash/revisions/revisionsListWithCreationDashboards.test.ts › Dashboards - Versioning › Creating a dashboard, editing, saving as a draft, making the draft version relevant
opensource › opensource-suites/dash/screenshots/widgetsBackground.test.ts › Dashboards - widgets backgrounds screenshots › Title bg color @screenshot
opensource › opensource-suites/dash/screenshots/widgetsBackground.test.ts › Dashboards - widgets backgrounds screenshots › Chart bg color @screenshot
opensource › opensource-suites/dash/selectors/autoupdateRelatedSelectors.test.ts › Dashboards - Autoupdate options of group selectors › Dataset selectors affect each other before applying when auto-update is enabled
opensource › opensource-suites/wizard/fields/add-field.test.ts › Wizard › Fields › Create parameter
opensource › opensource-suites/wizard/visualizations/bar-x/negative-values.test.ts › Wizard › Bar-x chart › Negative Y values @screenshot
opensource › opensource-suites/wizard/visualizations/bar-y/data-labels.test.ts › Wizard › Bar-y chart › Markup dataLabels @screenshot
opensource › opensource-suites/wizard/visualizations/combined/coloring.test.ts › Wizard › Combined chart › When adding the second Y field, the chart should be colored by Measure Names @screenshot
opensource › opensource-suites/wizard/visualizations/flat-table/linear-indicator.test.ts › Wizard › Flat table › Linear indicator with column background color @screenshot
opensource › opensource-suites/wizard/visualizations/line/html.test.ts › Wizard › Line chart › Html labels on X axis @screenshot
opensource › opensource-suites/wizard/visualizations/pie/markup.test.ts › Wizard › Pie chart › Markup with special characters in dataLabels @screenshot
opensource › opensource-suites/wizard/visualizations/pivot-table/header.test.ts › Wizard › Pivot table › Grouping rows with markup values @screenshot

Skipped tests

opensource › opensource-suites/dash/revisions/revisionsList.test.ts › Dashboards - Versioning › Dashboard with a long list of revisions, checking the upload and the updated list of revisions
opensource › opensource-suites/dash/selectors/autoupdateRelatedSelectors.test.ts › Dashboards - Autoupdate options of group selectors › Manual selectors with aliases don't affect each other before applying when auto-update is disabled


🧐 Links with traces:

👉 Link with detailed report: report

🐳 Link with docker compose logs: logs

Last updated: 2026-01-29 18:51:44 MSK

@github-actions
Copy link

github-actions bot commented Jan 15, 2026

E2E Tests Farm

Playwright test results

passed  416 passed
flaky  9 flaky
skipped  1 skipped

Details

stats  426 tests across 171 suites
duration  3 minutes, 46 seconds
commit  c1b4b07

Flaky tests

basic › suites/charts/export/forbiddenExport.test.ts › Chart export availability › Wizard with forbidden export › Export menu item is disabled if export is forbidden on connection
basic › suites/charts/export/forbiddenExport.test.ts › Chart export availability › Preview with forbidden export › Ql preview - Export menu item is disabled if export is forbidden on connection
basic › suites/charts/export/forbiddenExport.test.ts › Chart export availability › Ql - Export menu item is disabled if export is forbidden on connection
basic › suites/dash/params/editorParams.test.ts › Dashboards - Parameters in editor widget › Changes in the influencing selector do not affect the params in the editor chart widget
basic › suites/dash/tabs/tabsWidgetOrder.test.ts › Dashboards - Change widgets order on tab › Widget order is successfully reset when exiting dashboard editing mode
basic › suites/dataset/parameters/parameterDialogValidation.test.ts › Datasets - Parameter dialog validation › Required fields validation
basic › suites/dataset/parameters/parameterDialogValidation.test.ts › Datasets - Parameter dialog validation › Parameter name validation
basic › suites/dataset/parameters/parameterDialogValidation.test.ts › Datasets - Parameter dialog validation › Parameter default_value validation [number]
basic › suites/sql/action-panel/qlRevisions.test.ts › QL - saving when versioning charts › When you click "Save as Draft", a revision with all changes should be created

Skipped tests

basic › suites/wizard/combined-chart/layers-and-multidatasets.test.ts › Multi-faceted charts with layers › The data on the X-axis must be formed correctly from two datasets


👉 Link with detailed report: report

Last updated: 2026-01-29 18:52:41 MSK

@github-actions
Copy link

github-actions bot commented Jan 15, 2026

📦 Statoscope quick diff with main-branch:

⏱ Build time: -2.1 sec (-3.57%)

⚖️ Initial size: 1.91 kb (0.04%)

🕵️ Validation errors: 0

Full Statoscope report could be found here ↗️

@arsen-afaunov arsen-afaunov force-pushed the CHARTS-10226-add-line-width-setting-for-wizard-line-charts branch 2 times, most recently from 5e795d4 to 8b0c9ad Compare January 16, 2026 13:16
@arsen-afaunov arsen-afaunov requested review from kuzmadom and mournfulCoroner and removed request for mournfulCoroner January 16, 2026 14:14
@kuzmadom
Copy link
Contributor

Screenshot 2026-01-16 at 17 19 23 If you enter the line width value 2000 for example. It would be necessary to limit

@kuzmadom
Copy link
Contributor

Line width setting is not remembered in dialog

Steps to Reproduce:
Open a chart.
Open the settings dialog.
Set a new line width and click "Apply".
The chart is re-rendered, and the line width changes as expected.
Open the settings dialog again.

Expected Result: the line width field in the dialog displays the value that was previously set by the user.
Actual Result: the line width field shows the default value, not the user-defined value.

Copy link
Contributor

@kuzmadom kuzmadom left a comment

Choose a reason for hiding this comment

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

The Line width parameter is incorrectly displayed and can be modified in the settings dialog for a Scatter-type chart. Since scatter plots typically use individual markers (points) and not connected lines, this setting should not be applicable and should be hidden

expect(lines[0]).toEqual(DashArrayLineType[LineShapeType.Dash]);
});

datalensTest('User can change line width', async ({page}: {page: Page}) => {
Copy link
Contributor

Choose a reason for hiding this comment

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

You need to move the test files to the tests/opensource-suites directory and update all dependent paths, particularly those pointing to test data and resources

@arsen-afaunov arsen-afaunov force-pushed the CHARTS-10226-add-line-width-setting-for-wizard-line-charts branch 4 times, most recently from d845cd8 to 23b46a5 Compare January 20, 2026 10:37
-moz-appearance: textfield;
}
/* stylelint-enable */
&__text-input > span {
Copy link
Contributor

Choose a reason for hiding this comment

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

It's better to put something specific on the span. It's very fragile right now

qa?: string;
className?: string;
buttonClassName?: string;
inputClassName?: string;
Copy link
Contributor

Choose a reason for hiding this comment

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

do we really need specific styles for all this? Is it possible to change styles everywhere to something the same?

commitValue(min);
} else {
commitValue(parsed - 1);
}
Copy link
Contributor

Choose a reason for hiding this comment

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

This block of code is repeated several times in the file, in almost the same form. Maybe something can be done about it?

private cancelButton = '.dialog-shapes .g-dialog-footer__button_action_cancel';
private valueLabelSelector = '.dialog-shapes .values-list__value-label';
private applyButton = '.dialog-shapes .g-dialog-footer__button_action_apply';
private lineWidthSelectControl = '.dialog-shapes .dl-line-width-select__control';
Copy link
Contributor

Choose a reason for hiding this comment

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

This can only be used when there is no other way out, for example, to obtain elements from third-party libraries. If it's something of ours, it's better to add a qa attribute

@arsen-afaunov arsen-afaunov force-pushed the CHARTS-10226-add-line-width-setting-for-wizard-line-charts branch 12 times, most recently from eb63e6d to 19013e0 Compare January 28, 2026 11:17
@arsen-afaunov arsen-afaunov force-pushed the CHARTS-10226-add-line-width-setting-for-wizard-line-charts branch from 19013e0 to b1a0078 Compare January 28, 2026 12:04
@arsen-afaunov arsen-afaunov force-pushed the CHARTS-10226-add-line-width-setting-for-wizard-line-charts branch from b1a0078 to b25158f Compare January 28, 2026 14:01
@datalens-weblate-robot
Copy link
Contributor

i18n-check

The following components have not been translated

wizard (ru)
wizard (en)

Wait for the reviewers to check your changes in Weblate and try running github action again.

@datalens-weblate-robot
Copy link
Contributor

i18n-check

The following components have not been translated

wizard (ru)
wizard (en)

Wait for the reviewers to check your changes in Weblate and try running github action again.

onChartLineWidthChange: (nextLineWidth: string) => void;
};

export const DialogShapesChartSettingsTab: React.FC<Props> = ({
Copy link
Contributor

Choose a reason for hiding this comment

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

It is better not to use React.FC

@@ -13,53 +50,103 @@ interface NumberInputProps {
qa?: string;
}

const b = block('wizard-number-input');
const DEFAULT_VALUE = 0;

const NumberInput: React.FC<NumberInputProps> = ({
Copy link
Contributor

Choose a reason for hiding this comment

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

if this component needs to be used outside of NumberFormatSettings, it is better to move it to the shared components folder

[STEP_BUTTON_DIRECTION.Minus]: {icon: Minus, pin: 'round-brick'},
};

const b = block('wizard-number-input');
Copy link
Contributor

Choose a reason for hiding this comment

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

There doesn't seem to be any specifics in the component specifically for wizard? It is better not to add unnecessary names to the classes in this case - it will be more difficult to reuse later somewhere else

</Button>
</div>
);
};
Copy link
Contributor

Choose a reason for hiding this comment

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

It looks like you can put StepButton in a separate file - there's already quite a lot besides the layout

export type V15ShapesConfig = {
mountedShapes?: Record<string, string>;
mountedShapesLineWidths?: Record<string, number>;
chartLineWidth?: number;
Copy link
Contributor

Choose a reason for hiding this comment

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

Is it possible to refer to it without using a chart? The whole config is already related to the chart, so this doesn’t add any meaning.

// Determine line width: use individual line width if set, otherwise fall back to chart-level width
let lineWidth: number | undefined;

if (title && shapesConfig?.mountedShapesLineWidths?.[title]) {
Copy link
Contributor

Choose a reason for hiding this comment

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

what if title is an empty string (or null)? Is everything going to be okay?

@datalens-weblate-robot
Copy link
Contributor

i18n-check

The following components have not been translated

wizard (ru)
wizard (en)

Wait for the reviewers to check your changes in Weblate and try running github action again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants