@@ -94,71 +94,104 @@ const (
9494)
9595
9696type Format struct {
97- Unit FormatUnit `json:"unit"`
98- InputFormat string `json:"inputFormat"`
99- DisplayFormat string `json:"displayFormat"`
100- Decimals interface {} `json:"decimals"`
101- YAxis string `json:"yAxis"`
97+ Unit FormatUnit `json:"unit"`
98+ InputFormat * string `json:"inputFormat"`
99+ DisplayFormat * string `json:"displayFormat"`
100+ Decimals * int `json:"decimals"`
101+ YAxis * string `json:"yAxis"`
102+ MinInterval * string `json:"minInterval"`
103+ NullValueDisplayMode * string `json:"nullValueDisplayMode"`
104+ }
105+
106+ func NewFormat (
107+ unit FormatUnit ,
108+ inputFormat string ,
109+ displayFormat string ,
110+ decimals int ,
111+ yAxis string ,
112+ minInterval string ,
113+ nullValueDisplayMode string ) * Format {
114+ return & Format {
115+ Unit : unit ,
116+ InputFormat : & inputFormat ,
117+ DisplayFormat : & displayFormat ,
118+ Decimals : & decimals ,
119+ YAxis : & yAxis ,
120+ MinInterval : & minInterval ,
121+ NullValueDisplayMode : & nullValueDisplayMode ,
122+ }
102123}
103124
104125func newPercentFormat () Format {
105- return Format {
106- Unit : FormatUnitPercentage ,
107- InputFormat : "0-100" ,
108- DisplayFormat : "auto" ,
109- Decimals : nil ,
110- YAxis : "auto" ,
111- }
126+ return * NewFormat (
127+ FormatUnitPercentage ,
128+ "0-100" ,
129+ "auto" ,
130+ 0 ,
131+ "auto" ,
132+ "" ,
133+ "nullGap" ,
134+ )
112135}
113136
114137func newDataFormat () Format {
115- return Format {
116- Unit : FormatUnitData ,
117- InputFormat : "B" ,
118- DisplayFormat : "auto" ,
119- Decimals : nil ,
120- YAxis : "auto" ,
121- }
138+ return * NewFormat (
139+ FormatUnitData ,
140+ "B" ,
141+ "auto" ,
142+ 0 ,
143+ "auto" ,
144+ "" ,
145+ "nullGap" ,
146+ )
122147}
123148
124149func newDataRateFormat () Format {
125- return Format {
126- Unit : FormatUnitDataRate ,
127- InputFormat : "B/s" ,
128- DisplayFormat : "auto" ,
129- Decimals : nil ,
130- YAxis : "auto" ,
131- }
150+ return * NewFormat (
151+ FormatUnitDataRate ,
152+ "B/s" ,
153+ "auto" ,
154+ 0 ,
155+ "auto" ,
156+ "" ,
157+ "nullGap" ,
158+ )
132159}
133160
134161func newNumberFormat () Format {
135- return Format {
136- Unit : FormatUnitNumber ,
137- InputFormat : "1" ,
138- DisplayFormat : "auto" ,
139- Decimals : nil ,
140- YAxis : "auto" ,
141- }
162+ return * NewFormat (
163+ FormatUnitNumber ,
164+ "1" ,
165+ "auto" ,
166+ 0 ,
167+ "auto" ,
168+ "" ,
169+ "nullGap" ,
170+ )
142171}
143172
144173func newNumberRateFormat () Format {
145- return Format {
146- Unit : FormatUnitNumberRate ,
147- InputFormat : "/s" ,
148- DisplayFormat : "auto" ,
149- Decimals : nil ,
150- YAxis : "auto" ,
151- }
174+ return * NewFormat (
175+ FormatUnitNumberRate ,
176+ "/s" ,
177+ "auto" ,
178+ 0 ,
179+ "auto" ,
180+ "" ,
181+ "nullGap" ,
182+ )
152183}
153184
154185func newTimeFormat () Format {
155- return Format {
156- Unit : FormatUnitTime ,
157- InputFormat : "ns" ,
158- DisplayFormat : "auto" ,
159- Decimals : nil ,
160- YAxis : "auto" ,
161- }
186+ return * NewFormat (
187+ FormatUnitTime ,
188+ "ns" ,
189+ "auto" ,
190+ 0 ,
191+ "auto" ,
192+ "" ,
193+ "nullGap" ,
194+ )
162195}
163196
164197type AdvancedQueries struct {
@@ -197,33 +230,73 @@ func (q *AdvancedQueries) Enable(val bool) *AdvancedQueries {
197230 return q
198231}
199232
200- func (q * AdvancedQueries ) WithPercentFormat () * AdvancedQueries {
233+ func (q * AdvancedQueries ) updateFormat (f * Format ) {
234+ if f == nil {
235+ return
236+ }
237+
238+ if f .Unit != "" {
239+ q .Format .Unit = f .Unit
240+ }
241+
242+ if f .DisplayFormat != nil {
243+ q .Format .DisplayFormat = f .DisplayFormat
244+ }
245+
246+ if f .InputFormat != nil {
247+ q .Format .InputFormat = f .InputFormat
248+ }
249+
250+ if f .Decimals != nil {
251+ q .Format .Decimals = f .Decimals
252+ }
253+
254+ if f .YAxis != nil {
255+ q .Format .YAxis = f .YAxis
256+ }
257+
258+ if f .NullValueDisplayMode != nil {
259+ q .Format .NullValueDisplayMode = f .NullValueDisplayMode
260+ }
261+
262+ if f .MinInterval != nil {
263+ q .Format .MinInterval = f .MinInterval
264+ }
265+ }
266+
267+ func (q * AdvancedQueries ) WithPercentFormat (f * Format ) * AdvancedQueries {
201268 q .Format = newPercentFormat ()
269+ q .updateFormat (f )
202270 return q
203271}
204272
205- func (q * AdvancedQueries ) WithDataFormat () * AdvancedQueries {
273+ func (q * AdvancedQueries ) WithDataFormat (f * Format ) * AdvancedQueries {
206274 q .Format = newDataFormat ()
275+ q .updateFormat (f )
207276 return q
208277}
209278
210- func (q * AdvancedQueries ) WithDataRateFormat () * AdvancedQueries {
279+ func (q * AdvancedQueries ) WithDataRateFormat (f * Format ) * AdvancedQueries {
211280 q .Format = newDataRateFormat ()
281+ q .updateFormat (f )
212282 return q
213283}
214284
215- func (q * AdvancedQueries ) WithNumberFormat () * AdvancedQueries {
285+ func (q * AdvancedQueries ) WithNumberFormat (f * Format ) * AdvancedQueries {
216286 q .Format = newNumberFormat ()
287+ q .updateFormat (f )
217288 return q
218289}
219290
220- func (q * AdvancedQueries ) WithNumberRateFormat () * AdvancedQueries {
291+ func (q * AdvancedQueries ) WithNumberRateFormat (f * Format ) * AdvancedQueries {
221292 q .Format = newNumberRateFormat ()
293+ q .updateFormat (f )
222294 return q
223295}
224296
225- func (q * AdvancedQueries ) WithTimeFormat () * AdvancedQueries {
297+ func (q * AdvancedQueries ) WithTimeFormat (f * Format ) * AdvancedQueries {
226298 q .Format = newTimeFormat ()
299+ q .updateFormat (f )
227300 return q
228301}
229302
0 commit comments