Skip to content

Commit 945d7fd

Browse files
committed
chore(axis): modify value axis formatCode
1 parent adeae8b commit 945d7fd

File tree

2 files changed

+28
-14
lines changed

2 files changed

+28
-14
lines changed

src/helper/modify-chart-helper.ts

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111
} from '../types/chart-types';
1212
import { vd } from './general-helper';
1313
import { XmlHelper } from './xml-helper';
14+
import ModifyXmlHelper from './modify-xml-helper';
1415

1516
export default class ModifyChartHelper {
1617
/**
@@ -210,32 +211,43 @@ export default class ModifyChartHelper {
210211
(chart: XMLDocument): void => {
211212
const axis = chart.getElementsByTagName('c:valAx')[range.axisIndex || 0];
212213
if (!axis) return;
213-
ModifyChartHelper.setAxisRangeAttribute(
214+
215+
ModifyChartHelper.setAxisAttribute(axis, 'c:majorUnit', range.majorUnit);
216+
ModifyChartHelper.setAxisAttribute(axis, 'c:minorUnit', range.minorUnit);
217+
ModifyChartHelper.setAxisAttribute(
214218
axis,
215-
'c:majorUnit',
216-
range.majorUnit,
219+
'c:numFmt',
220+
range.formatCode,
221+
'formatCode',
217222
);
218-
ModifyChartHelper.setAxisRangeAttribute(
223+
ModifyChartHelper.setAxisAttribute(
219224
axis,
220-
'c:minorUnit',
221-
range.minorUnit,
225+
'c:numFmt',
226+
range.sourceLinked,
227+
'sourceLinked',
222228
);
223229

224230
const scaling = axis.getElementsByTagName('c:scaling')[0];
225231

226-
ModifyChartHelper.setAxisRangeAttribute(scaling, 'c:min', range.min);
227-
ModifyChartHelper.setAxisRangeAttribute(scaling, 'c:max', range.max);
232+
ModifyChartHelper.setAxisAttribute(scaling, 'c:min', range.min);
233+
ModifyChartHelper.setAxisAttribute(scaling, 'c:max', range.max);
228234
};
229235

230-
static setAxisRangeAttribute = (
231-
axis: Element,
236+
static setAxisAttribute = (
237+
element: Element,
232238
tag: string,
233-
value: number,
239+
value: string | number | boolean,
240+
attribute?: string,
234241
) => {
235-
if (value === undefined || !axis) return;
236-
const target = axis.getElementsByTagName(tag);
242+
if (value === undefined || !element) return;
243+
const target = element.getElementsByTagName(tag);
237244
if (target.length > 0) {
238-
target[0].setAttribute('val', String(value));
245+
attribute = attribute || 'val';
246+
if (typeof value === 'boolean') {
247+
ModifyXmlHelper.booleanAttribute(attribute, value)(target[0]);
248+
} else {
249+
ModifyXmlHelper.attribute(attribute, value)(target[0]);
250+
}
239251
}
240252
};
241253
}

src/types/chart-types.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,6 @@ export type ChartAxisRange = {
8080
max?: number;
8181
majorUnit?: number;
8282
minorUnit?: number;
83+
formatCode?: string;
84+
sourceLinked?: boolean;
8385
};

0 commit comments

Comments
 (0)