Skip to content

Commit

Permalink
Pull request #5473: [DXCF-5818], [DXCF-5817] [Web] Multiple scales - …
Browse files Browse the repository at this point in the history
…Indicators that were previously combined are displayed separately after page reload

Merge in DXCHARTS/dxchart5 from bugfix/DXCF-5817-web-multiple-scales-indicators-that-were-previously-combined-are-displayed to master

* commit '1cf1311d9a55520a110c10131227179b4aadcfe8':
  [DXCF-5818], [DXCF-5817] [Web] Multiple scales - Indicators that were previously combined are displayed separately after page reload // source event to update scales fix and code style fix
  [DXCF-5818], [DXCF-5817] [Web] Multiple scales - Indicators that were previously combined are displayed separately after page reload // code style fix
  [DXCF-5818], [DXCF-5817] [Web] Multiple scales - Indicators that were previously combined are displayed separately after page reload
  [DXCF-5817] [Web] Multiple scales - Indicators that were previously combined are displayed separately after page reload // change Overlaying rearrange order fix
  [DXCF-5817] [Web] Multiple scales - Indicators that were previously combined are displayed separately after page reload // ScalePlacement for some reason lost its type
  [DXCF-5817] [Web] Multiple scales - Indicators that were previously combined are displayed separately after page reload // rearrange that lost
  [DXCF-5817] [Web] Multiple scales - Indicators that were previously combined are displayed separately after page reload

GitOrigin-RevId: 5b249aa0c8ecaefed4f686b26d5d5dd3536fbd02
  • Loading branch information
artskar authored and dxcity committed Feb 5, 2025
1 parent 4d42bf0 commit 44a7040
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 7 deletions.
10 changes: 8 additions & 2 deletions src/chart/components/pane/pane-manager.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ export class PaneManager extends ChartBaseElement {
const onNewScale = extentIdx && extentIdx > 0;

if (!pane) {
const order = direction && direction === 'above' ? index : this.panesOrder.length + index;
const order = direction && direction === 'above' ? index : index + 1;
const newPane = this.createPane(paneUUID, { order, initialYAxisState });
newPane.moveDataSeriesToExistingExtentComponent(
dataSeries,
Expand All @@ -330,7 +330,13 @@ export class PaneManager extends ChartBaseElement {
}

if (extent && !onNewScale) {
pane.moveDataSeriesToExistingExtentComponent(dataSeries, initialPane, initialExtent, extent);
pane.moveDataSeriesToExistingExtentComponent(
dataSeries,
initialPane,
initialExtent,
extent,
isForceKeepPane,
);
} else {
pane.moveDataSeriesToNewExtentComponent(
dataSeries,
Expand Down
14 changes: 9 additions & 5 deletions src/chart/components/pane/pane.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -263,9 +263,11 @@ export class PaneComponent extends ChartBaseElement {
return yExtentComponent;
}

public removeExtentComponent(extentComponent: YExtentComponent) {
extentComponent.disable();
this.yExtentComponents.splice(extentComponent.idx, 1);
public removeExtentComponents(extentComponents: YExtentComponent[]) {
extentComponents.forEach(extentComponent => extentComponent.disable());
this.yExtentComponents = this.yExtentComponents.filter(
current => !extentComponents.map(excluded => excluded.idx).includes(current.idx),
);
// re-index extents
this.yExtentComponents.forEach((c, idx) => (c.idx = idx));
this.canvasBoundsContainer.updateYAxisWidths();
Expand All @@ -284,7 +286,7 @@ export class PaneComponent extends ChartBaseElement {
const extent = this.createExtentComponent();
extent.yAxis.setYAxisAlign(align);
dataSeries.forEach(series => series.moveToExtent(extent));
initialExtent.dataSeries.size === 0 && initialPane.removeExtentComponent(initialExtent);
initialExtent.dataSeries.size === 0 && initialPane.removeExtentComponents([initialExtent]);
}

/**
Expand All @@ -300,7 +302,9 @@ export class PaneComponent extends ChartBaseElement {
isForceKeepExtent?: boolean,
) {
dataSeries.forEach(series => series.moveToExtent(extentComponent));
!isForceKeepExtent && initialExtent.dataSeries.size === 0 && initialPane.removeExtentComponent(initialExtent);
!isForceKeepExtent &&
initialExtent.dataSeries.size === 0 &&
initialPane.removeExtentComponents([initialExtent]);
this.yExtentComponentsChangedSubject.next();
}

Expand Down

0 comments on commit 44a7040

Please sign in to comment.