@odoo/o-spreadsheet 16.0.9 → 16.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6417,6 +6417,12 @@ css /* scss */ `
6417
6417
  height: 25px;
6418
6418
  }
6419
6419
  }
6420
+ /** Make the character a bit bigger
6421
+ compared to its neighbor INPUT box */
6422
+ .o-remove-selection {
6423
+ font-weight: bold;
6424
+ font-size: calc(100% + 4px);
6425
+ }
6420
6426
  }
6421
6427
  `;
6422
6428
  /**
@@ -6493,6 +6499,9 @@ class SelectionInput extends owl.Component {
6493
6499
  (_b = (_a = this.props).onSelectionChanged) === null || _b === void 0 ? void 0 : _b.call(_a, ranges);
6494
6500
  this.previousRanges = ranges;
6495
6501
  }
6502
+ extractRanges(value) {
6503
+ return this.props.hasSingleRange ? value.split(",")[0] : value;
6504
+ }
6496
6505
  focus(rangeId) {
6497
6506
  this.state.isMissing = false;
6498
6507
  this.env.model.dispatch("FOCUS_RANGE", {
@@ -6511,15 +6520,16 @@ class SelectionInput extends owl.Component {
6511
6520
  }
6512
6521
  onInputChanged(rangeId, ev) {
6513
6522
  const target = ev.target;
6523
+ const value = this.extractRanges(target.value);
6514
6524
  this.env.model.dispatch("CHANGE_RANGE", {
6515
6525
  id: this.id,
6516
6526
  rangeId,
6517
- value: target.value,
6527
+ value,
6518
6528
  });
6519
6529
  target.blur();
6520
6530
  this.triggerChange();
6521
6531
  }
6522
- disable() {
6532
+ confirm() {
6523
6533
  var _a, _b;
6524
6534
  this.env.model.dispatch("UNFOCUS_SELECTION_INPUT");
6525
6535
  const ranges = this.env.model.getters.getSelectionInputValue(this.id);
@@ -6568,7 +6578,7 @@ class LineBarPieConfigPanel extends owl.Component {
6568
6578
  return !!((_a = this.state.labelsDispatchResult) === null || _a === void 0 ? void 0 : _a.isCancelledBecause(32 /* CommandResult.InvalidLabelRange */));
6569
6579
  }
6570
6580
  onUpdateDataSetsHaveTitle(ev) {
6571
- this.props.updateChart({
6581
+ this.props.updateChart(this.props.figureId, {
6572
6582
  dataSetsHaveTitle: ev.target.checked,
6573
6583
  });
6574
6584
  }
@@ -6580,7 +6590,7 @@ class LineBarPieConfigPanel extends owl.Component {
6580
6590
  this.dataSeriesRanges = ranges;
6581
6591
  }
6582
6592
  onDataSeriesConfirmed() {
6583
- this.state.datasetDispatchResult = this.props.updateChart({
6593
+ this.state.datasetDispatchResult = this.props.updateChart(this.props.figureId, {
6584
6594
  dataSets: this.dataSeriesRanges,
6585
6595
  });
6586
6596
  }
@@ -6592,7 +6602,7 @@ class LineBarPieConfigPanel extends owl.Component {
6592
6602
  this.labelRange = ranges[0];
6593
6603
  }
6594
6604
  onLabelRangeConfirmed() {
6595
- this.state.labelsDispatchResult = this.props.updateChart({
6605
+ this.state.labelsDispatchResult = this.props.updateChart(this.props.figureId, {
6596
6606
  labelRange: this.labelRange,
6597
6607
  });
6598
6608
  }
@@ -6602,7 +6612,7 @@ LineBarPieConfigPanel.components = { SelectionInput };
6602
6612
 
6603
6613
  class BarConfigPanel extends LineBarPieConfigPanel {
6604
6614
  onUpdateStacked(ev) {
6605
- this.props.updateChart({
6615
+ this.props.updateChart(this.props.figureId, {
6606
6616
  stacked: ev.target.checked,
6607
6617
  });
6608
6618
  }
@@ -8350,6 +8360,18 @@ css /* scss */ `
8350
8360
  grid-template-columns: repeat(${ITEMS_PER_LINE}, 1fr);
8351
8361
  grid-gap: ${ITEM_HORIZONTAL_MARGIN * 2}px;
8352
8362
  }
8363
+ .o-color-picker-toggler {
8364
+ display: flex;
8365
+ .o-color-picker-toggler-sign {
8366
+ margin: auto auto;
8367
+ width: 55%;
8368
+ height: 55%;
8369
+ .o-icon {
8370
+ width: 100%;
8371
+ height: 100%;
8372
+ }
8373
+ }
8374
+ }
8353
8375
  .o-color-picker-line-item {
8354
8376
  width: ${ITEM_EDGE_LENGTH}px;
8355
8377
  height: ${ITEM_EDGE_LENGTH}px;
@@ -8566,17 +8588,17 @@ class LineBarPieDesignPanel extends owl.Component {
8566
8588
  this.state.fillColorTool = !this.state.fillColorTool;
8567
8589
  }
8568
8590
  updateBackgroundColor(color) {
8569
- this.props.updateChart({
8591
+ this.props.updateChart(this.props.figureId, {
8570
8592
  background: color,
8571
8593
  });
8572
8594
  }
8573
8595
  updateTitle(ev) {
8574
- this.props.updateChart({
8596
+ this.props.updateChart(this.props.figureId, {
8575
8597
  title: ev.target.value,
8576
8598
  });
8577
8599
  }
8578
8600
  updateSelect(attr, ev) {
8579
- this.props.updateChart({
8601
+ this.props.updateChart(this.props.figureId, {
8580
8602
  [attr]: ev.target.value,
8581
8603
  });
8582
8604
  }
@@ -8609,7 +8631,7 @@ class GaugeChartConfigPanel extends owl.Component {
8609
8631
  this.dataRange = ranges[0];
8610
8632
  }
8611
8633
  updateDataRange() {
8612
- this.state.dataRangeDispatchResult = this.props.updateChart({
8634
+ this.state.dataRangeDispatchResult = this.props.updateChart(this.props.figureId, {
8613
8635
  dataRange: this.dataRange,
8614
8636
  });
8615
8637
  }
@@ -8679,12 +8701,12 @@ class GaugeChartDesignPanel extends owl.Component {
8679
8701
  }
8680
8702
  updateBackgroundColor(color) {
8681
8703
  this.state.openedMenu = undefined;
8682
- this.props.updateChart({
8704
+ this.props.updateChart(this.props.figureId, {
8683
8705
  background: color,
8684
8706
  });
8685
8707
  }
8686
8708
  updateTitle(ev) {
8687
- this.props.updateChart({
8709
+ this.props.updateChart(this.props.figureId, {
8688
8710
  title: ev.target.value,
8689
8711
  });
8690
8712
  }
@@ -8753,7 +8775,7 @@ class GaugeChartDesignPanel extends owl.Component {
8753
8775
  }
8754
8776
  }
8755
8777
  updateSectionRule(sectionRule) {
8756
- this.state.sectionRuleDispatchResult = this.props.updateChart({
8778
+ this.state.sectionRuleDispatchResult = this.props.updateChart(this.props.figureId, {
8757
8779
  sectionRule,
8758
8780
  });
8759
8781
  }
@@ -8773,12 +8795,12 @@ class LineConfigPanel extends LineBarPieConfigPanel {
8773
8795
  return false;
8774
8796
  }
8775
8797
  onUpdateLabelsAsText(ev) {
8776
- this.props.updateChart({
8798
+ this.props.updateChart(this.props.figureId, {
8777
8799
  labelsAsText: ev.target.checked,
8778
8800
  });
8779
8801
  }
8780
8802
  onUpdateStacked(ev) {
8781
- this.props.updateChart({
8803
+ this.props.updateChart(this.props.figureId, {
8782
8804
  stacked: ev.target.checked,
8783
8805
  });
8784
8806
  }
@@ -8819,7 +8841,7 @@ class ScorecardChartConfigPanel extends owl.Component {
8819
8841
  this.keyValue = ranges[0];
8820
8842
  }
8821
8843
  updateKeyValueRange() {
8822
- this.state.keyValueDispatchResult = this.props.updateChart({
8844
+ this.state.keyValueDispatchResult = this.props.updateChart(this.props.figureId, {
8823
8845
  keyValue: this.keyValue,
8824
8846
  });
8825
8847
  }
@@ -8827,12 +8849,12 @@ class ScorecardChartConfigPanel extends owl.Component {
8827
8849
  this.baseline = ranges[0];
8828
8850
  }
8829
8851
  updateBaselineRange() {
8830
- this.state.baselineDispatchResult = this.props.updateChart({
8852
+ this.state.baselineDispatchResult = this.props.updateChart(this.props.figureId, {
8831
8853
  baseline: this.baseline,
8832
8854
  });
8833
8855
  }
8834
8856
  updateBaselineMode(ev) {
8835
- this.props.updateChart({ baselineMode: ev.target.value });
8857
+ this.props.updateChart(this.props.figureId, { baselineMode: ev.target.value });
8836
8858
  }
8837
8859
  }
8838
8860
  ScorecardChartConfigPanel.template = "o-spreadsheet-ScorecardChartConfigPanel";
@@ -8852,12 +8874,12 @@ class ScorecardChartDesignPanel extends owl.Component {
8852
8874
  owl.useExternalListener(window, "click", this.onClick);
8853
8875
  }
8854
8876
  updateTitle(ev) {
8855
- this.props.updateChart({
8877
+ this.props.updateChart(this.props.figureId, {
8856
8878
  title: ev.target.value,
8857
8879
  });
8858
8880
  }
8859
8881
  updateBaselineDescr(ev) {
8860
- this.props.updateChart({ baselineDescr: ev.target.value });
8882
+ this.props.updateChart(this.props.figureId, { baselineDescr: ev.target.value });
8861
8883
  }
8862
8884
  openColorPicker(colorPickerId) {
8863
8885
  this.state.openedColorPicker = colorPickerId;
@@ -8865,13 +8887,13 @@ class ScorecardChartDesignPanel extends owl.Component {
8865
8887
  setColor(color, colorPickerId) {
8866
8888
  switch (colorPickerId) {
8867
8889
  case "backgroundColor":
8868
- this.props.updateChart({ background: color });
8890
+ this.props.updateChart(this.props.figureId, { background: color });
8869
8891
  break;
8870
8892
  case "baselineColorDown":
8871
- this.props.updateChart({ baselineColorDown: color });
8893
+ this.props.updateChart(this.props.figureId, { baselineColorDown: color });
8872
8894
  break;
8873
8895
  case "baselineColorUp":
8874
- this.props.updateChart({ baselineColorUp: color });
8896
+ this.props.updateChart(this.props.figureId, { baselineColorUp: color });
8875
8897
  break;
8876
8898
  }
8877
8899
  this.state.openedColorPicker = undefined;
@@ -8935,16 +8957,9 @@ css /* scss */ `
8935
8957
  }
8936
8958
  `;
8937
8959
  class ChartPanel extends owl.Component {
8938
- constructor() {
8939
- super(...arguments);
8940
- this.shouldUpdateChart = true;
8941
- }
8942
8960
  get figureId() {
8943
8961
  return this.state.figureId;
8944
8962
  }
8945
- get sheetId() {
8946
- return this.state.sheetId;
8947
- }
8948
8963
  setup() {
8949
8964
  const selectedFigureId = this.env.model.getters.getSelectedFigureId();
8950
8965
  if (!selectedFigureId) {
@@ -8953,17 +8968,11 @@ class ChartPanel extends owl.Component {
8953
8968
  this.state = owl.useState({
8954
8969
  panel: "configuration",
8955
8970
  figureId: selectedFigureId,
8956
- sheetId: this.env.model.getters.getActiveSheetId(),
8957
8971
  });
8958
8972
  owl.onWillUpdateProps(() => {
8959
8973
  const selectedFigureId = this.env.model.getters.getSelectedFigureId();
8960
8974
  if (selectedFigureId && selectedFigureId !== this.state.figureId) {
8961
8975
  this.state.figureId = selectedFigureId;
8962
- this.state.sheetId = this.env.model.getters.getActiveSheetId();
8963
- this.shouldUpdateChart = false;
8964
- }
8965
- else {
8966
- this.shouldUpdateChart = true;
8967
8976
  }
8968
8977
  if (!this.env.model.getters.isChartDefined(this.figureId)) {
8969
8978
  this.props.onCloseSidePanel();
@@ -8971,8 +8980,8 @@ class ChartPanel extends owl.Component {
8971
8980
  }
8972
8981
  });
8973
8982
  }
8974
- updateChart(updateDefinition) {
8975
- if (!this.shouldUpdateChart) {
8983
+ updateChart(figureId, updateDefinition) {
8984
+ if (figureId !== this.figureId) {
8976
8985
  return;
8977
8986
  }
8978
8987
  const definition = {
@@ -8981,8 +8990,8 @@ class ChartPanel extends owl.Component {
8981
8990
  };
8982
8991
  return this.env.model.dispatch("UPDATE_CHART", {
8983
8992
  definition,
8984
- id: this.figureId,
8985
- sheetId: this.sheetId,
8993
+ id: figureId,
8994
+ sheetId: this.env.model.getters.getFigureSheetId(figureId),
8986
8995
  });
8987
8996
  }
8988
8997
  onTypeChange(type) {
@@ -8994,7 +9003,7 @@ class ChartPanel extends owl.Component {
8994
9003
  this.env.model.dispatch("UPDATE_CHART", {
8995
9004
  definition,
8996
9005
  id: this.figureId,
8997
- sheetId: this.sheetId,
9006
+ sheetId: this.env.model.getters.getFigureSheetId(this.figureId),
8998
9007
  });
8999
9008
  }
9000
9009
  get chartPanel() {
@@ -32481,7 +32490,7 @@ class EvaluationPlugin extends UIPlugin {
32481
32490
  // magic "empty" value
32482
32491
  // Returning {value: null} instead of undefined will ensure that we don't
32483
32492
  // fall back on the default value of the argument provided to the formula's compute function
32484
- return { value: null };
32493
+ return { value: null, format: cell === null || cell === void 0 ? void 0 : cell.format };
32485
32494
  }
32486
32495
  return getEvaluatedCell(cell);
32487
32496
  }
@@ -34896,6 +34905,9 @@ const uuidGenerator = new UuidGenerator();
34896
34905
  */
34897
34906
  class SelectionInputPlugin extends UIPlugin {
34898
34907
  constructor(getters, state, dispatch, config, selection, initialRanges, inputHasSingleRange) {
34908
+ if (inputHasSingleRange && initialRanges.length > 1) {
34909
+ throw new Error("Input with a single range cannot be instantiated with several range references.");
34910
+ }
34899
34911
  super(getters, state, dispatch, config, selection);
34900
34912
  this.inputHasSingleRange = inputHasSingleRange;
34901
34913
  this.ranges = [];
@@ -34918,6 +34930,11 @@ class SelectionInputPlugin extends UIPlugin {
34918
34930
  return 29 /* CommandResult.MaximumRangesReached */;
34919
34931
  }
34920
34932
  break;
34933
+ case "CHANGE_RANGE":
34934
+ if (this.inputHasSingleRange && cmd.value.split(",").length > 1) {
34935
+ return 29 /* CommandResult.MaximumRangesReached */;
34936
+ }
34937
+ break;
34921
34938
  }
34922
34939
  return 0 /* CommandResult.Success */;
34923
34940
  }
@@ -35731,13 +35748,9 @@ class Session extends EventBus {
35731
35748
  }
35732
35749
  loadInitialMessages(messages) {
35733
35750
  this.isReplayingInitialRevisions = true;
35734
- this.on("unexpected-revision-id", this, ({ revisionId }) => {
35735
- throw new Error(`The spreadsheet could not be loaded. Revision ${revisionId} is corrupted.`);
35736
- });
35737
35751
  for (const message of messages) {
35738
35752
  this.onMessageReceived(message);
35739
35753
  }
35740
- this.off("unexpected-revision-id", this);
35741
35754
  this.isReplayingInitialRevisions = false;
35742
35755
  }
35743
35756
  /**
@@ -35809,6 +35822,10 @@ class Session extends EventBus {
35809
35822
  onMessageReceived(message) {
35810
35823
  if (this.isAlreadyProcessed(message))
35811
35824
  return;
35825
+ if (this.isWrongServerRevisionId(message)) {
35826
+ this.trigger("unexpected-revision-id");
35827
+ return;
35828
+ }
35812
35829
  switch (message.type) {
35813
35830
  case "CLIENT_MOVED":
35814
35831
  this.onClientMoved(message);
@@ -35835,10 +35852,6 @@ class Session extends EventBus {
35835
35852
  });
35836
35853
  break;
35837
35854
  case "REMOTE_REVISION":
35838
- if (message.serverRevisionId !== this.serverRevisionId) {
35839
- this.trigger("unexpected-revision-id", { revisionId: message.serverRevisionId });
35840
- return;
35841
- }
35842
35855
  const { clientId, commands } = message;
35843
35856
  const revision = new Revision(message.nextRevisionId, clientId, commands);
35844
35857
  if (revision.clientId !== this.clientId) {
@@ -35970,6 +35983,17 @@ class Session extends EventBus {
35970
35983
  return false;
35971
35984
  }
35972
35985
  }
35986
+ isWrongServerRevisionId(message) {
35987
+ switch (message.type) {
35988
+ case "REMOTE_REVISION":
35989
+ case "REVISION_REDONE":
35990
+ case "REVISION_UNDONE":
35991
+ case "SNAPSHOT_CREATED":
35992
+ return message.serverRevisionId !== this.serverRevisionId;
35993
+ default:
35994
+ return false;
35995
+ }
35996
+ }
35973
35997
  dropPendingHistoryMessages() {
35974
35998
  this.waitingUndoRedoAck = false;
35975
35999
  this.pendingMessages = this.pendingMessages.filter(({ type }) => type !== "REVISION_REDONE" && type !== "REVISION_UNDONE");
@@ -37933,7 +37957,6 @@ css /* scss */ `
37933
37957
  color: dimgrey;
37934
37958
  }
37935
37959
  .o-sidePanelClose {
37936
- font-size: 1.5rem;
37937
37960
  padding: 5px 10px;
37938
37961
  cursor: pointer;
37939
37962
  &:hover {
@@ -42779,6 +42802,6 @@ exports.setTranslationMethod = setTranslationMethod;
42779
42802
  exports.tokenize = tokenize;
42780
42803
 
42781
42804
 
42782
- __info__.version = '16.0.9';
42783
- __info__.date = '2023-04-28T12:25:41.572Z';
42784
- __info__.hash = 'e06ca83';
42805
+ __info__.version = '16.0.11';
42806
+ __info__.date = '2023-05-25T12:57:28.152Z';
42807
+ __info__.hash = 'd27e998';
@@ -873,7 +873,6 @@ interface CollaborativeEventReceived {
873
873
  }
874
874
  interface UnexpectedRevisionIdEvent {
875
875
  type: "unexpected-revision-id";
876
- revisionId: UID;
877
876
  }
878
877
  interface NewLocalStateUpdateEvent {
879
878
  type: "new-local-state-update";
@@ -2809,6 +2808,7 @@ declare class Session extends EventBus<CollaborativeEvent> {
2809
2808
  private sendPendingMessage;
2810
2809
  private acknowledge;
2811
2810
  private isAlreadyProcessed;
2811
+ isWrongServerRevisionId(message: CollaborationMessage): boolean;
2812
2812
  private dropPendingHistoryMessages;
2813
2813
  }
2814
2814
 
@@ -4862,17 +4862,18 @@ declare class SelectionInput extends Component<Props$y, SpreadsheetChildEnv> {
4862
4862
  checkChange(): void;
4863
4863
  getColor(range: SelectionRange): string;
4864
4864
  private triggerChange;
4865
+ private extractRanges;
4865
4866
  focus(rangeId: string): void;
4866
4867
  addEmptyInput(): void;
4867
4868
  removeInput(rangeId: string): void;
4868
4869
  onInputChanged(rangeId: string, ev: InputEvent): void;
4869
- disable(): void;
4870
+ confirm(): void;
4870
4871
  }
4871
4872
 
4872
4873
  interface Props$x {
4873
4874
  figureId: UID;
4874
4875
  definition: LineChartDefinition | BarChartDefinition | PieChartDefinition;
4875
- updateChart: (definition: Partial<LineChartDefinition | BarChartDefinition | PieChartDefinition>) => DispatchResult;
4876
+ updateChart: (figureId: UID, definition: Partial<LineChartDefinition | BarChartDefinition | PieChartDefinition>) => DispatchResult;
4876
4877
  }
4877
4878
  declare class LineBarPieConfigPanel extends Component<Props$x, SpreadsheetChildEnv> {
4878
4879
  static template: string;
@@ -4933,7 +4934,7 @@ declare class ColorPicker extends Component<ColorPickerProps, SpreadsheetChildEn
4933
4934
  interface Props$w {
4934
4935
  figureId: UID;
4935
4936
  definition: LineChartDefinition | BarChartDefinition | PieChartDefinition;
4936
- updateChart: (definition: Partial<LineChartDefinition | BarChartDefinition | PieChartDefinition>) => CommandResult | CommandResult[];
4937
+ updateChart: (figureId: UID, definition: Partial<LineChartDefinition | BarChartDefinition | PieChartDefinition>) => CommandResult | CommandResult[];
4937
4938
  }
4938
4939
  declare class LineBarPieDesignPanel extends Component<Props$w, SpreadsheetChildEnv> {
4939
4940
  static template: string;
@@ -4952,7 +4953,7 @@ declare class LineBarPieDesignPanel extends Component<Props$w, SpreadsheetChildE
4952
4953
  interface Props$v {
4953
4954
  figureId: UID;
4954
4955
  definition: GaugeChartDefinition;
4955
- updateChart: (definition: Partial<GaugeChartDefinition>) => DispatchResult;
4956
+ updateChart: (figureId: UID, definition: Partial<GaugeChartDefinition>) => DispatchResult;
4956
4957
  }
4957
4958
  declare class GaugeChartConfigPanel extends Component<Props$v, SpreadsheetChildEnv> {
4958
4959
  static template: string;
@@ -4971,7 +4972,7 @@ declare type GaugeMenu = "backgroundColor" | "sectionColor-lowerColor" | "sectio
4971
4972
  interface Props$u {
4972
4973
  figureId: UID;
4973
4974
  definition: GaugeChartDefinition;
4974
- updateChart: (definition: Partial<GaugeChartDefinition>) => DispatchResult;
4975
+ updateChart: (figureId: UID, definition: Partial<GaugeChartDefinition>) => DispatchResult;
4975
4976
  }
4976
4977
  declare class GaugeChartDesignPanel extends Component<Props$u, SpreadsheetChildEnv> {
4977
4978
  static template: string;
@@ -5008,7 +5009,7 @@ declare class LineConfigPanel extends LineBarPieConfigPanel {
5008
5009
  interface Props$t {
5009
5010
  figureId: UID;
5010
5011
  definition: ScorecardChartDefinition;
5011
- updateChart: (definition: Partial<ScorecardChartDefinition>) => DispatchResult;
5012
+ updateChart: (figureId: UID, definition: Partial<ScorecardChartDefinition>) => DispatchResult;
5012
5013
  }
5013
5014
  declare class ScorecardChartConfigPanel extends Component<Props$t, SpreadsheetChildEnv> {
5014
5015
  static template: string;
@@ -5032,7 +5033,7 @@ declare type ColorPickerId = undefined | "backgroundColor" | "baselineColorUp" |
5032
5033
  interface Props$s {
5033
5034
  figureId: UID;
5034
5035
  definition: ScorecardChartDefinition;
5035
- updateChart: (definition: Partial<ScorecardChartDefinition>) => DispatchResult;
5036
+ updateChart: (figureId: UID, definition: Partial<ScorecardChartDefinition>) => DispatchResult;
5036
5037
  }
5037
5038
  declare class ScorecardChartDesignPanel extends Component<Props$s, SpreadsheetChildEnv> {
5038
5039
  static template: string;
@@ -6117,11 +6118,9 @@ interface Props$4 {
6117
6118
  declare class ChartPanel extends Component<Props$4, SpreadsheetChildEnv> {
6118
6119
  static template: string;
6119
6120
  private state;
6120
- private shouldUpdateChart;
6121
6121
  get figureId(): UID;
6122
- get sheetId(): UID;
6123
6122
  setup(): void;
6124
- updateChart<T extends ChartDefinition>(updateDefinition: Partial<T>): DispatchResult | undefined;
6123
+ updateChart<T extends ChartDefinition>(figureId: UID, updateDefinition: Partial<T>): DispatchResult | undefined;
6125
6124
  onTypeChange(type: ChartType): void;
6126
6125
  get chartPanel(): ChartSidePanel;
6127
6126
  private getChartDefinition;