hqchart 1.1.14836 → 1.1.14846
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.
- package/lib/umychart.vue.js +25 -16
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogTooltip.js +30 -13
- package/src/jscommon/umychart.NetworkFilterTest.js +184 -22
- package/src/jscommon/umychart.complier.js +72 -1
- package/src/jscommon/umychart.js +215 -2
- package/src/jscommon/umychart.testdata.js +184 -22
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +288 -4
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +184 -22
- package/src/jscommon/umychart.vue/umychart.vue.js +318 -17
|
@@ -45543,6 +45543,201 @@ function ChartMACD()
|
|
|
45543
45543
|
}
|
|
45544
45544
|
}
|
|
45545
45545
|
|
|
45546
|
+
//基准线上下柱子
|
|
45547
|
+
function ChartBaseLineBar()
|
|
45548
|
+
{
|
|
45549
|
+
this.newMethod=IChartPainting; //派生
|
|
45550
|
+
this.newMethod();
|
|
45551
|
+
delete this.newMethod;
|
|
45552
|
+
|
|
45553
|
+
this.ClassName="ChartBaseLineBar";
|
|
45554
|
+
this.UpColor=g_JSChartResource.ChartBaseLineBar.UpColor;
|
|
45555
|
+
this.DownColor=g_JSChartResource.ChartBaseLineBar.DownColor;
|
|
45556
|
+
this.LineWidth=1;
|
|
45557
|
+
this.IsDrawFirst=true;
|
|
45558
|
+
this.AryData=[]; //{ Date, Time, Up, Down }
|
|
45559
|
+
this.DefaultMax; //默认最大值
|
|
45560
|
+
|
|
45561
|
+
this.MaxValue;
|
|
45562
|
+
this.YBaseLine;
|
|
45563
|
+
this.BarMaxHeight; //{ Up:, Down: }
|
|
45564
|
+
|
|
45565
|
+
this.Draw=function()
|
|
45566
|
+
{
|
|
45567
|
+
this.YBaseLine=null;
|
|
45568
|
+
this.BarMaxHeight=null;
|
|
45569
|
+
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
45570
|
+
if (this.IsShowIndexTitleOnly()) return;
|
|
45571
|
+
if (this.IsHideScriptIndex()) return;
|
|
45572
|
+
if (!this.HQChart) return;
|
|
45573
|
+
if(!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
|
|
45574
|
+
if (!IFrameSplitOperator.IsNumber(this.MaxValue)) return;
|
|
45575
|
+
this.CalculateBaseLine();
|
|
45576
|
+
|
|
45577
|
+
if (!IFrameSplitOperator.IsNumber(this.YBaseLine)) return;
|
|
45578
|
+
if (!IFrameSplitOperator.IsPlusNumber(this.BarMaxHeight)) return;
|
|
45579
|
+
|
|
45580
|
+
var bHScreen=(this.ChartFrame.IsHScreen===true);
|
|
45581
|
+
var bMinute=this.IsMinuteFrame();
|
|
45582
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
45583
|
+
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
45584
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
45585
|
+
var border=this.ChartFrame.GetBorder();
|
|
45586
|
+
|
|
45587
|
+
if (bHScreen)
|
|
45588
|
+
{
|
|
45589
|
+
var chartright=border.BottomEx;
|
|
45590
|
+
var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
45591
|
+
}
|
|
45592
|
+
else
|
|
45593
|
+
{
|
|
45594
|
+
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
45595
|
+
var chartright=border.RightEx;
|
|
45596
|
+
}
|
|
45597
|
+
|
|
45598
|
+
var yCenter=this.YBaseLine;
|
|
45599
|
+
var aryUpBar=[], aryDownBar=[];
|
|
45600
|
+
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
45601
|
+
{
|
|
45602
|
+
var kItem=this.Data.Data[i];
|
|
45603
|
+
if (!kItem) continue;
|
|
45604
|
+
var key=this.BuildKey(kItem);
|
|
45605
|
+
if (!this.MapCache.has(key)) continue;
|
|
45606
|
+
|
|
45607
|
+
var item=this.MapCache.get(key);
|
|
45608
|
+
|
|
45609
|
+
if (bMinute)
|
|
45610
|
+
{
|
|
45611
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
45612
|
+
}
|
|
45613
|
+
else
|
|
45614
|
+
{
|
|
45615
|
+
var left=xOffset;
|
|
45616
|
+
var right=xOffset+dataWidth;
|
|
45617
|
+
if (right>chartright) break;
|
|
45618
|
+
var x=left+(right-left)/2;
|
|
45619
|
+
}
|
|
45620
|
+
|
|
45621
|
+
if (IFrameSplitOperator.IsNumber(item.Up))
|
|
45622
|
+
{
|
|
45623
|
+
var y=yCenter-(item.Up*this.BarMaxHeight/this.MaxValue);
|
|
45624
|
+
aryUpBar.push({ X:x, Y:y});
|
|
45625
|
+
}
|
|
45626
|
+
|
|
45627
|
+
if (IFrameSplitOperator.IsNumber(item.Down))
|
|
45628
|
+
{
|
|
45629
|
+
var y=yCenter+(Math.abs(item.Down)*this.BarMaxHeight/this.MaxValue);
|
|
45630
|
+
aryDownBar.push({X:x, Y:y});
|
|
45631
|
+
}
|
|
45632
|
+
}
|
|
45633
|
+
|
|
45634
|
+
this.DrawBars(aryUpBar, this.UpColor);
|
|
45635
|
+
this.DrawBars(aryDownBar,this.DownColor);
|
|
45636
|
+
}
|
|
45637
|
+
|
|
45638
|
+
this.CalculateBaseLine=function()
|
|
45639
|
+
{
|
|
45640
|
+
if (!this.HQChart) return;
|
|
45641
|
+
|
|
45642
|
+
var bHScreen=(this.ChartFrame.IsHScreen===true);
|
|
45643
|
+
var bMinute=this.IsMinuteFrame();
|
|
45644
|
+
var border=this.ChartFrame.GetBorder();
|
|
45645
|
+
|
|
45646
|
+
if (bMinute)
|
|
45647
|
+
{
|
|
45648
|
+
var chart=this.HQChart.ChartPaint[0];
|
|
45649
|
+
if (!chart || !IFrameSplitOperator.IsNumber(chart.YClose)) return;
|
|
45650
|
+
|
|
45651
|
+
this.YBaseLine=this.ChartFrame.GetYFromData(chart.YClose);
|
|
45652
|
+
if (bHScreen)
|
|
45653
|
+
{
|
|
45654
|
+
this.BarMaxHeight=(border.RightEx-this.YBaseLine)/3;
|
|
45655
|
+
}
|
|
45656
|
+
else
|
|
45657
|
+
{
|
|
45658
|
+
this.BarMaxHeight=(this.YBaseLine-border.TopEx)/3;
|
|
45659
|
+
}
|
|
45660
|
+
}
|
|
45661
|
+
else
|
|
45662
|
+
{
|
|
45663
|
+
//TODO:K线
|
|
45664
|
+
}
|
|
45665
|
+
}
|
|
45666
|
+
|
|
45667
|
+
this.DrawBars=function(aryBar, barColor)
|
|
45668
|
+
{
|
|
45669
|
+
var bHScreen=(this.ChartFrame.IsHScreen===true);
|
|
45670
|
+
var yCenter=this.YBaseLine;
|
|
45671
|
+
this.Canvas.strokeStyle=barColor;
|
|
45672
|
+
this.Canvas.beginPath();
|
|
45673
|
+
var barCount=0;
|
|
45674
|
+
for (var i=0;i<aryBar.length;++i)
|
|
45675
|
+
{
|
|
45676
|
+
var item=aryBar[i];
|
|
45677
|
+
var x=ToFixedPoint(item.X)
|
|
45678
|
+
if (bHScreen)
|
|
45679
|
+
{
|
|
45680
|
+
this.Canvas.moveTo(yCenter,x);
|
|
45681
|
+
this.Canvas.lineTo(item.Y,x);
|
|
45682
|
+
}
|
|
45683
|
+
else
|
|
45684
|
+
{
|
|
45685
|
+
this.Canvas.moveTo(x,yCenter);
|
|
45686
|
+
this.Canvas.lineTo(x,item.Y);
|
|
45687
|
+
}
|
|
45688
|
+
++barCount;
|
|
45689
|
+
}
|
|
45690
|
+
if (barCount>0) this.Canvas.stroke();
|
|
45691
|
+
}
|
|
45692
|
+
|
|
45693
|
+
this.BuildCacheData=function()
|
|
45694
|
+
{
|
|
45695
|
+
this.MaxValue=null;
|
|
45696
|
+
var mapData=new Map();
|
|
45697
|
+
this.MapCache=mapData;
|
|
45698
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.AryData)) return;
|
|
45699
|
+
|
|
45700
|
+
var max=null, min=null;
|
|
45701
|
+
for(var i=0;i<this.AryData.length;++i)
|
|
45702
|
+
{
|
|
45703
|
+
var item=this.AryData[i];
|
|
45704
|
+
if (!item) continue;
|
|
45705
|
+
|
|
45706
|
+
var key=this.BuildKey(item);
|
|
45707
|
+
mapData.set(key,item);
|
|
45708
|
+
|
|
45709
|
+
if (IFrameSplitOperator.IsNumber(item.Up))
|
|
45710
|
+
{
|
|
45711
|
+
if (!max) max={ Value:item.Up };
|
|
45712
|
+
else if (max.Value<item.Up) max.Value=item.Up;
|
|
45713
|
+
|
|
45714
|
+
if (!min) min={ Value:item.Up };
|
|
45715
|
+
else if (min.Value>item.Up) min.Value=item.Up;
|
|
45716
|
+
}
|
|
45717
|
+
|
|
45718
|
+
if (IFrameSplitOperator.IsNumber(item.Down))
|
|
45719
|
+
{
|
|
45720
|
+
if (!max) max={ Value:item.Down };
|
|
45721
|
+
else if (max.Value<item.Down) max.Value=item.Down;
|
|
45722
|
+
|
|
45723
|
+
if (!min) min={ Value:item.Down };
|
|
45724
|
+
else if (min.Value>item.Down) min.Value=item.Down;
|
|
45725
|
+
}
|
|
45726
|
+
}
|
|
45727
|
+
|
|
45728
|
+
if (max && min)
|
|
45729
|
+
{
|
|
45730
|
+
this.MaxValue=Math.max(Math.abs(max.Value),Math.abs(min.Value));
|
|
45731
|
+
if (IFrameSplitOperator.IsNumber(this.DefaultMax)) this.MaxValue=Math.max(this.DefaultMax,this.MaxValue);
|
|
45732
|
+
}
|
|
45733
|
+
}
|
|
45734
|
+
|
|
45735
|
+
this.GetMaxMin=function()
|
|
45736
|
+
{
|
|
45737
|
+
return {Min:null, Max:null};
|
|
45738
|
+
}
|
|
45739
|
+
}
|
|
45740
|
+
|
|
45546
45741
|
function ChartClipColorStick()
|
|
45547
45742
|
{
|
|
45548
45743
|
this.newMethod=IChartPainting; //派生
|
|
@@ -79630,6 +79825,12 @@ function JSChartResource()
|
|
|
79630
79825
|
],
|
|
79631
79826
|
}
|
|
79632
79827
|
|
|
79828
|
+
this.ChartBaseLineBar=
|
|
79829
|
+
{
|
|
79830
|
+
UpColor:"rgb(238,21,21)",
|
|
79831
|
+
DownColor:"rgb(25,158,0)"
|
|
79832
|
+
}
|
|
79833
|
+
|
|
79633
79834
|
//手机端tooltip
|
|
79634
79835
|
this.TooltipPaint = {
|
|
79635
79836
|
BGColor:'rgba(250,250,250,0.8)', //背景色
|
|
@@ -80982,6 +81183,8 @@ function JSChartResource()
|
|
|
80982
81183
|
if (style.ChartSimpleDoughnut) this.SetChartSimpleDoughnut(style.ChartSimpleDoughnut);
|
|
80983
81184
|
|
|
80984
81185
|
if (style.ChartSimpleRadar) this.SetChartSimpleRadar(style.ChartSimpleRadar);
|
|
81186
|
+
|
|
81187
|
+
if (style.ChartBaseLineBar) this.SetChartBaseLineBar(style.ChartBaseLineBar);
|
|
80985
81188
|
|
|
80986
81189
|
if (style.DRAWICON)
|
|
80987
81190
|
{
|
|
@@ -82139,6 +82342,14 @@ function JSChartResource()
|
|
|
82139
82342
|
if (IFrameSplitOperator.IsNonEmptyArray(style.AryArea)) dest.AryArea=style.AryArea.slice();
|
|
82140
82343
|
}
|
|
82141
82344
|
|
|
82345
|
+
this.SetChartBaseLineBar=function(style)
|
|
82346
|
+
{
|
|
82347
|
+
var dest=this.ChartBaseLineBar;
|
|
82348
|
+
|
|
82349
|
+
if (style.UpColor) dest.UpColor=style.UpColor;
|
|
82350
|
+
if (style.DownColor) dest.DownColor=style.DownColor;
|
|
82351
|
+
}
|
|
82352
|
+
|
|
82142
82353
|
this.SetIndexLock=function(style)
|
|
82143
82354
|
{
|
|
82144
82355
|
var item=style;
|
|
@@ -82223,6 +82434,7 @@ function JSChartLocalization()
|
|
|
82223
82434
|
['DialogTooltip-AC-AvPrice', {CN:'匹配均价', EN:'AVPrice', TC:'匹配均價'}],
|
|
82224
82435
|
['DialogTooltip-AC-Increase', {CN:'竞价涨幅', EN:'Increase', TC:'競價漲幅'}],
|
|
82225
82436
|
['DialogTooltip-AC-Vol', {CN:'匹配量', EN:'Vol', TC:'匹配量'}],
|
|
82437
|
+
['DialogTooltip-AC-NotMatchVol', {CN:'未匹配量:', EN:'NV:', TC:'未匹配量'}],
|
|
82226
82438
|
['DialogTooltip-Value', {CN:'数值', EN:'Value', TC:'数值'}],
|
|
82227
82439
|
|
|
82228
82440
|
['FloatTooltip-Date', {CN:'日期', EN:'Date', TC:'日期'}],
|
|
@@ -85302,7 +85514,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
85302
85514
|
else
|
|
85303
85515
|
{
|
|
85304
85516
|
self.AutoUpdateEvent(true,'KLineChartContainer::RequestHistoryData');
|
|
85305
|
-
self.AutoUpdate();
|
|
85517
|
+
self.AutoUpdate(500);
|
|
85306
85518
|
}
|
|
85307
85519
|
});
|
|
85308
85520
|
|
|
@@ -85622,7 +85834,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
85622
85834
|
else
|
|
85623
85835
|
{
|
|
85624
85836
|
self.AutoUpdateEvent(true,'KLineChartContainer::ReqeustHistoryMinuteData');
|
|
85625
|
-
self.AutoUpdate();
|
|
85837
|
+
self.AutoUpdate(500);
|
|
85626
85838
|
}
|
|
85627
85839
|
});
|
|
85628
85840
|
|
|
@@ -90118,6 +90330,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
90118
90330
|
}
|
|
90119
90331
|
|
|
90120
90332
|
var frequency=this.AutoUpdateFrequency;
|
|
90333
|
+
if (IFrameSplitOperator.IsPlusNumber(waitTime)) frequency=waitTime;
|
|
90121
90334
|
if (marketStatus==1) //盘前
|
|
90122
90335
|
{
|
|
90123
90336
|
this.AutoUpdateTimer=setTimeout(function()
|
|
@@ -126921,7 +127134,8 @@ var SCRIPT_CHART_NAME=
|
|
|
126921
127134
|
|
|
126922
127135
|
CLIP_COLOR_STICK:"CLIP_COLOR_STICK", //上下柱子 裁剪
|
|
126923
127136
|
|
|
126924
|
-
DRAW_KLINE:"DRAWKLINE"
|
|
127137
|
+
DRAW_KLINE:"DRAWKLINE",
|
|
127138
|
+
BASELINE_BAR:"BASELINE_BAR"
|
|
126925
127139
|
}
|
|
126926
127140
|
|
|
126927
127141
|
|
|
@@ -128984,6 +129198,32 @@ function ScriptIndex(name,script,args,option)
|
|
|
128984
129198
|
hqChart.ChartPaint.push(chart);
|
|
128985
129199
|
}
|
|
128986
129200
|
|
|
129201
|
+
this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,id)
|
|
129202
|
+
{
|
|
129203
|
+
var chart=new ChartBaseLineBar();
|
|
129204
|
+
chart.Canvas=hqChart.Canvas;
|
|
129205
|
+
chart.Name=varItem.Name;
|
|
129206
|
+
chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;
|
|
129207
|
+
chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;
|
|
129208
|
+
chart.HQChart=hqChart;
|
|
129209
|
+
chart.Identify=this.Guid;
|
|
129210
|
+
|
|
129211
|
+
chart.Data=hqChart.GetKData(); //绑定K线
|
|
129212
|
+
chart.AryData=varItem.Draw.DrawData;
|
|
129213
|
+
|
|
129214
|
+
var config=varItem.Draw.Config;
|
|
129215
|
+
if (config)
|
|
129216
|
+
{
|
|
129217
|
+
if (config.UpColor) chart.UpColor=config.UpColor;
|
|
129218
|
+
if (config.DownColor) chart.DownColor=config.DownColor;
|
|
129219
|
+
if (IFrameSplitOperator.IsNumber(config.DefaultMax)) chart.DefaultMax=config.DefaultMax;
|
|
129220
|
+
}
|
|
129221
|
+
|
|
129222
|
+
chart.BuildCacheData();
|
|
129223
|
+
this.SetChartIndexName(chart);
|
|
129224
|
+
hqChart.ChartPaint.push(chart);
|
|
129225
|
+
}
|
|
129226
|
+
|
|
128987
129227
|
|
|
128988
129228
|
this.CreateClipColorStick=function(hqChart,windowIndex,varItem,id)
|
|
128989
129229
|
{
|
|
@@ -129356,6 +129596,9 @@ function ScriptIndex(name,script,args,option)
|
|
|
129356
129596
|
case SCRIPT_CHART_NAME.CLIP_COLOR_STICK:
|
|
129357
129597
|
this.CreateClipColorStick(hqChart,windowIndex,item,i);
|
|
129358
129598
|
break;
|
|
129599
|
+
case SCRIPT_CHART_NAME.BASELINE_BAR:
|
|
129600
|
+
this.CreateBaseLineBar(hqChart,windowIndex,item,i);
|
|
129601
|
+
break;
|
|
129359
129602
|
default:
|
|
129360
129603
|
{
|
|
129361
129604
|
var find=g_ScriptIndexChartFactory.Get(item.Draw.DrawType); //外部挂接
|
|
@@ -129709,6 +129952,9 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
129709
129952
|
case SCRIPT_CHART_NAME.OVERLAY_BARS:
|
|
129710
129953
|
this.CreateStackedBar(hqChart,windowIndex,item,i);
|
|
129711
129954
|
break;
|
|
129955
|
+
case SCRIPT_CHART_NAME.BASELINE_BAR:
|
|
129956
|
+
this.CreateBaseLineBar(hqChart,windowIndex,item,i);
|
|
129957
|
+
break;
|
|
129712
129958
|
case "DRAWCOLORKLINE":
|
|
129713
129959
|
this.CreateDrawColorKLine(hqChart,windowIndex,item,i);
|
|
129714
129960
|
break;
|
|
@@ -130521,6 +130767,33 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
130521
130767
|
frame.ChartPaint.push(chart);
|
|
130522
130768
|
}
|
|
130523
130769
|
|
|
130770
|
+
this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,id)
|
|
130771
|
+
{
|
|
130772
|
+
var overlayIndex=this.OverlayIndex;
|
|
130773
|
+
var frame=overlayIndex.Frame;
|
|
130774
|
+
var chart=new ChartBaseLineBar();
|
|
130775
|
+
chart.Canvas=hqChart.Canvas;
|
|
130776
|
+
chart.Name=varItem.Name;
|
|
130777
|
+
chart.HQChart=hqChart;
|
|
130778
|
+
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
130779
|
+
chart.ChartFrame=frame.Frame;
|
|
130780
|
+
chart.Identify=overlayIndex.Identify;
|
|
130781
|
+
|
|
130782
|
+
chart.Data=hqChart.GetKData(); //绑定K线
|
|
130783
|
+
chart.AryData=varItem.Draw.DrawData;
|
|
130784
|
+
|
|
130785
|
+
var config=varItem.Draw.Config;
|
|
130786
|
+
if (config)
|
|
130787
|
+
{
|
|
130788
|
+
if (config.UpColor) chart.UpColor=config.UpColor;
|
|
130789
|
+
if (config.DownColor) chart.DownColor=config.DownColor;
|
|
130790
|
+
if (IFrameSplitOperator.IsNumber(config.DefaultMax)) chart.DefaultMax=config.DefaultMax;
|
|
130791
|
+
}
|
|
130792
|
+
|
|
130793
|
+
chart.BuildCacheData();
|
|
130794
|
+
frame.ChartPaint.push(chart);
|
|
130795
|
+
}
|
|
130796
|
+
|
|
130524
130797
|
|
|
130525
130798
|
//创建通道
|
|
130526
130799
|
this.CreateChannel=function(hqChart,windowIndex,varItem,id)
|
|
@@ -132430,6 +132703,17 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
132430
132703
|
if (draw.Option) outVarItem.Option=draw.Option;
|
|
132431
132704
|
result.push(outVarItem);
|
|
132432
132705
|
}
|
|
132706
|
+
else if (draw.DrawType==SCRIPT_CHART_NAME.BASELINE_BAR)
|
|
132707
|
+
{
|
|
132708
|
+
drawItem.Name=draw.Name;
|
|
132709
|
+
drawItem.Type=draw.Type;
|
|
132710
|
+
drawItem.DrawType=draw.DrawType;
|
|
132711
|
+
drawItem.DrawData=draw.DrawData;
|
|
132712
|
+
drawItem.Config=draw.Config;
|
|
132713
|
+
|
|
132714
|
+
outVarItem.Draw=drawItem;
|
|
132715
|
+
result.push(outVarItem);
|
|
132716
|
+
}
|
|
132433
132717
|
else if (draw.DrawType=='MULTI_LINE')
|
|
132434
132718
|
{
|
|
132435
132719
|
drawItem.Text=draw.Text;
|
|
@@ -149785,7 +150069,7 @@ function ScrollBarBGChart()
|
|
|
149785
150069
|
|
|
149786
150070
|
|
|
149787
150071
|
|
|
149788
|
-
var HQCHART_VERSION="1.1.
|
|
150072
|
+
var HQCHART_VERSION="1.1.14845";
|
|
149789
150073
|
|
|
149790
150074
|
function PrintHQChartVersion()
|
|
149791
150075
|
{
|