@@ -11,6 +11,7 @@ import {
1111} from '../types/chart-types' ;
1212import { vd } from './general-helper' ;
1313import { XmlHelper } from './xml-helper' ;
14+ import ModifyXmlHelper from './modify-xml-helper' ;
1415
1516export 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}
0 commit comments