hqchart 1.1.14903 → 1.1.14910

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.
@@ -45868,6 +45868,7 @@ function ChartBaseLineBar()
45868
45868
  this.UpColor=g_JSChartResource.ChartBaseLineBar.UpColor;
45869
45869
  this.DownColor=g_JSChartResource.ChartBaseLineBar.DownColor;
45870
45870
  this.LineWidth=1;
45871
+ this.Style=0; //0=坐标使用主图坐标 1=独立坐标
45871
45872
  this.IsDrawFirst=true;
45872
45873
  this.AryData=[]; //{ Date, Time, Up, Down }
45873
45874
  this.DefaultMax; //默认最大值
@@ -45876,6 +45877,74 @@ function ChartBaseLineBar()
45876
45877
  this.YBaseLine;
45877
45878
  this.BarMaxHeight; //{ Up:, Down: }
45878
45879
 
45880
+ this.DrawStyle2=function()
45881
+ {
45882
+ var bHScreen=(this.ChartFrame.IsHScreen===true);
45883
+ var bMinute=this.IsMinuteFrame();
45884
+ var dataWidth=this.ChartFrame.DataWidth;
45885
+ var distanceWidth=this.ChartFrame.DistanceWidth;
45886
+ var xPointCount=this.ChartFrame.XPointCount;
45887
+ var border=this.ChartFrame.GetBorder();
45888
+
45889
+ if (bHScreen)
45890
+ {
45891
+ var chartright=border.BottomEx;
45892
+ var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
45893
+ }
45894
+ else
45895
+ {
45896
+ var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
45897
+ var chartright=border.RightEx;
45898
+ }
45899
+
45900
+ this.Canvas.save();
45901
+ this.ClipClient(bHScreen);
45902
+
45903
+ this.YBaseLine=this.ChartFrame.GetYFromData(0, false);
45904
+ var aryUpBar=[], aryDownBar=[];
45905
+ for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
45906
+ {
45907
+ var kItem=this.Data.Data[i];
45908
+ if (!kItem) continue;
45909
+ var key=this.BuildKey(kItem);
45910
+ if (!this.MapCache.has(key)) continue;
45911
+
45912
+ var item=this.MapCache.get(key);
45913
+
45914
+ if (bMinute)
45915
+ {
45916
+ var x=this.ChartFrame.GetXFromIndex(j);
45917
+ }
45918
+ else
45919
+ {
45920
+ var left=xOffset;
45921
+ var right=xOffset+dataWidth;
45922
+ if (right>chartright) break;
45923
+ var x=left+(right-left)/2;
45924
+ }
45925
+
45926
+ if (IFrameSplitOperator.IsNumber(item.Up))
45927
+ {
45928
+ var value=Math.abs(item.Up);
45929
+ var y=this.ChartFrame.GetYFromData(value, false);
45930
+
45931
+ aryUpBar.push({ X:x, Y:y});
45932
+ }
45933
+
45934
+ if (IFrameSplitOperator.IsNumber(item.Down))
45935
+ {
45936
+ var value=Math.abs(item.Down)*-1;
45937
+ var y=this.ChartFrame.GetYFromData(value, false);
45938
+ aryDownBar.push({X:x, Y:y});
45939
+ }
45940
+ }
45941
+
45942
+ this.DrawBars(aryUpBar, this.UpColor);
45943
+ this.DrawBars(aryDownBar,this.DownColor);
45944
+
45945
+ this.Canvas.restore();
45946
+ }
45947
+
45879
45948
  this.Draw=function()
45880
45949
  {
45881
45950
  this.YBaseLine=null;
@@ -45886,6 +45955,14 @@ function ChartBaseLineBar()
45886
45955
  if (!this.HQChart) return;
45887
45956
  if(!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
45888
45957
  if (!IFrameSplitOperator.IsNumber(this.MaxValue)) return;
45958
+
45959
+ if (this.Style==1)
45960
+ {
45961
+ this.DrawStyle2();
45962
+ return;
45963
+ }
45964
+
45965
+
45889
45966
  this.CalculateBaseLine();
45890
45967
 
45891
45968
  if (!IFrameSplitOperator.IsNumber(this.YBaseLine)) return;
@@ -46053,7 +46130,30 @@ function ChartBaseLineBar()
46053
46130
 
46054
46131
  this.GetMaxMin=function()
46055
46132
  {
46056
- return {Min:null, Max:null};
46133
+ var range={Min:null, Max:null};
46134
+
46135
+ if (this.Style==1) //独立坐标
46136
+ {
46137
+ if (IFrameSplitOperator.IsNumber(this.DefaultMax)) range.Max=this.DefaultMax;
46138
+ range.Min=0;
46139
+
46140
+ var xPointCount=this.ChartFrame.XPointCount;
46141
+ for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
46142
+ {
46143
+ var kItem=this.Data.Data[i];
46144
+ if (!kItem) continue;
46145
+ var key=this.BuildKey(kItem);
46146
+ if (!this.MapCache.has(key)) continue;
46147
+
46148
+ var item=this.MapCache.get(key);
46149
+ var value=Math.abs(item.Up);
46150
+ if (range.Max==null || range.Max<value) range.Max=value;
46151
+ var value=Math.abs(item.Down)*-1;
46152
+ if (range.Min>value) range.Min=value;
46153
+ }
46154
+ }
46155
+
46156
+ return range;
46057
46157
  }
46058
46158
  }
46059
46159
 
@@ -129870,6 +129970,7 @@ function ScriptIndex(name,script,args,option)
129870
129970
  if (config.UpColor) chart.UpColor=config.UpColor;
129871
129971
  if (config.DownColor) chart.DownColor=config.DownColor;
129872
129972
  if (IFrameSplitOperator.IsNumber(config.DefaultMax)) chart.DefaultMax=config.DefaultMax;
129973
+ if (IFrameSplitOperator.IsNumber(config.Style)) chart.Style=config.Style;
129873
129974
  }
129874
129975
 
129875
129976
  chart.BuildCacheData();
@@ -131445,6 +131546,7 @@ function OverlayScriptIndex(name,script,args,option)
131445
131546
  if (config.UpColor) chart.UpColor=config.UpColor;
131446
131547
  if (config.DownColor) chart.DownColor=config.DownColor;
131447
131548
  if (IFrameSplitOperator.IsNumber(config.DefaultMax)) chart.DefaultMax=config.DefaultMax;
131549
+ if (IFrameSplitOperator.IsNumber(config.Style)) chart.Style=config.Style;
131448
131550
  }
131449
131551
 
131450
131552
  chart.BuildCacheData();
@@ -139092,7 +139194,7 @@ function JSReportChartContainer(uielement)
139092
139194
  return;
139093
139195
  }
139094
139196
 
139095
- if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
139197
+ //if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
139096
139198
  if (this.SortInfo && this.SortInfo.Field>=0 && this.SortInfo.Sort>0)
139097
139199
  {
139098
139200
  var column=chart.Column[this.SortInfo.Field];
@@ -139104,7 +139206,7 @@ function JSReportChartContainer(uielement)
139104
139206
  }
139105
139207
 
139106
139208
  var arySymbol=chart.ShowSymbol;
139107
- if (!IFrameSplitOperator.IsNonEmptyArray(arySymbol)) return;
139209
+ //if (!IFrameSplitOperator.IsNonEmptyArray(arySymbol)) return;
139108
139210
  this.RequestStockData(arySymbol);
139109
139211
  }
139110
139212
 
@@ -141959,10 +142061,15 @@ function JSReportChartContainer(uielement)
141959
142061
  if (!chart) return;
141960
142062
 
141961
142063
  var self=this;
141962
- var startIndex=this.Data.YOffset;
141963
142064
  var pageSize=chart.GetPageSize();
141964
- var endIndex=startIndex+pageSize;
141965
- if (endIndex>=this.Data.Data.length) endIndex=this.Data.Data.length-1;
142065
+ var endIndex=0;
142066
+ var startIndex=0;
142067
+ if (IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))
142068
+ {
142069
+ startIndex=this.Data.YOffset;
142070
+ endIndex=startIndex+pageSize;
142071
+ if (endIndex>=this.Data.Data.length) endIndex=this.Data.Data.length-1;
142072
+ }
141966
142073
 
141967
142074
  if (this.NetworkFilter)
141968
142075
  {
@@ -142667,7 +142774,7 @@ function ChartReport()
142667
142774
  this.RectClient={};
142668
142775
 
142669
142776
  //{ Rect:rtItem, Stock:stock, Index:index, Column:column, RowType:rowType, Type:drawInfo.Tooltip.Type, Data:{ AryText:[ {Text:xx} ]} };
142670
- //Type:1=数据截断 2=表头提示信息 20=分时图
142777
+ //Type:1=数据截断 2=表头提示信息 4=提示信息 20=分时图 21=K线
142671
142778
  // { Text, Color, Title:, TitleColor, Space, Margin:{ Left, Top, Right, Bottom }}
142672
142779
  this.TooltipRect=[];
142673
142780
 
@@ -144551,7 +144658,7 @@ function ChartReport()
144551
144658
  //tooltip提示
144552
144659
  if (drawInfo.Tooltip)
144553
144660
  {
144554
- //Type:1=数据截断
144661
+ //Type:1=数据截断 4=提示信息
144555
144662
  var tooltipData={ Rect:rtItem, Stock:stock, Index:index, Column:column, RowType:rowType, Type:drawInfo.Tooltip.Type, Data:drawInfo.Tooltip.Data };
144556
144663
  this.TooltipRect.push(tooltipData);
144557
144664
  }
@@ -144694,10 +144801,13 @@ function ChartReport()
144694
144801
  this.Canvas.clip();
144695
144802
 
144696
144803
  //数据截断提示信息
144697
- drawInfo.Tooltip=
144698
- {
144699
- Type:1,
144700
- Data:{ AryText:[ {Text:drawInfo.Text} ] }
144804
+ if (!drawInfo.Tooltip)
144805
+ {
144806
+ drawInfo.Tooltip=
144807
+ {
144808
+ Type:1,
144809
+ Data:{ AryText:[ {Text:drawInfo.Text} ] }
144810
+ }
144701
144811
  }
144702
144812
  }
144703
144813
 
@@ -145069,6 +145179,15 @@ function ChartReport()
145069
145179
  if (item.Text) drawInfo.Text=item.Text;
145070
145180
  if (item.TextColor) drawInfo.TextColor=item.TextColor;
145071
145181
  if (item.BGColor) drawInfo.BGColor=item.BGColor;
145182
+
145183
+ if (item.Tooltip && IFrameSplitOperator.IsNonEmptyArray(item.Tooltip.AryText))
145184
+ {
145185
+ drawInfo.Tooltip=
145186
+ {
145187
+ Type:4,
145188
+ Data:{ AryText:item.Tooltip.AryText }
145189
+ }
145190
+ }
145072
145191
  }
145073
145192
  else if (IFrameSplitOperator.IsString(item))
145074
145193
  {
@@ -156881,6 +157000,10 @@ function JSTooltipKLineChart()
156881
157000
 
156882
157001
  this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;
156883
157002
  this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;
157003
+ this.TitleFont=g_JSChartResource.PopMinuteChart.Title.Font; //指标标题字体
157004
+ this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font; //十字光标
157005
+ this.FrameSplitTextFont=g_JSChartResource.PopMinuteChart.Frame.Font; //刻度文字
157006
+
156884
157007
  this.OnCreatedCallback=null;
156885
157008
 
156886
157009
  this.KLine=
@@ -156926,6 +157049,35 @@ function JSTooltipKLineChart()
156926
157049
  if (this.HQChart) this.KLine.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);
156927
157050
  this.KLine.Option.OnCreatedCallback=(chart)=>{ this.OnCreateHQChart(chart); }
156928
157051
  this.KLine.Option.NetworkFilter=(data, callback)=>{ this.NetworkFilter(data, callback); }
157052
+
157053
+ var reloadResourceEvent=
157054
+ {
157055
+ event:JSCHART_EVENT_ID.ON_RELOAD_RESOURCE,
157056
+ callback:(event, data, obj)=>{ this.LoadChartResource(obj); }
157057
+ }
157058
+
157059
+ var splitXEvent=
157060
+ {
157061
+ event:JSCHART_EVENT_ID.ON_SPLIT_XCOORDINATE,
157062
+ callback:(event, data, obj)=>{ this.OnSplitXCoordinate(event, data, obj); }
157063
+ };
157064
+
157065
+ var splitYEvent=
157066
+ {
157067
+ event:JSCHART_EVENT_ID.ON_SPLIT_YCOORDINATE,
157068
+ callback:(event, data, obj)=>{ this.OnSplitYCoordinate(event, data, obj); }
157069
+ }
157070
+
157071
+ if (Array.isArray(this.KLine.Option.EventCallback))
157072
+ {
157073
+ this.KLine.Option.EventCallback.unshift(reloadResourceEvent,splitYEvent,splitYEvent);
157074
+ }
157075
+ else
157076
+ {
157077
+ this.KLine.Option.EventCallback=[reloadResourceEvent,splitXEvent,splitYEvent];
157078
+ }
157079
+
157080
+
156929
157081
  chart.SetOption(this.KLine.Option); //设置K线配置
156930
157082
 
156931
157083
  document.body.appendChild(divDom);
@@ -156955,6 +157107,8 @@ function JSTooltipKLineChart()
156955
157107
 
156956
157108
  this.OnCreateHQChart=function(chart)
156957
157109
  {
157110
+ this.LoadChartResource(chart);
157111
+
156958
157112
  if (this.OnCreatedCallback) this.OnCreatedCallback(chart);
156959
157113
  }
156960
157114
 
@@ -157036,6 +157190,10 @@ function JSTooltipKLineChart()
157036
157190
  this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;
157037
157191
  this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;
157038
157192
 
157193
+ this.TitleFont=g_JSChartResource.PopMinuteChart.Title.Font; //指标标题字体
157194
+ this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font; //十字光标
157195
+ this.FrameSplitTextFont=g_JSChartResource.PopMinuteChart.Frame.Font; //刻度文字
157196
+
157039
157197
  if (!this.DivDialog) return;
157040
157198
 
157041
157199
  this.UpdateStyle();
@@ -157043,6 +157201,63 @@ function JSTooltipKLineChart()
157043
157201
  if (this.KLine.JSChart) this.KLine.JSChart.ReloadResource(option);
157044
157202
  }
157045
157203
 
157204
+ this.LoadChartResource=function(chart)
157205
+ {
157206
+ if (IFrameSplitOperator.IsNonEmptyArray(chart.TitlePaint))
157207
+ {
157208
+ for(var i=0;i<chart.TitlePaint.length;++i)
157209
+ {
157210
+ var item=chart.TitlePaint[i];
157211
+ if (!item) continue;
157212
+
157213
+ item.Font=this.TitleFont;
157214
+ }
157215
+ }
157216
+
157217
+ if (IFrameSplitOperator.IsNonEmptyArray(chart.WindowIndex))
157218
+ {
157219
+ for(var i=0;i<chart.WindowIndex.length;++i) //去掉指标里面的字体
157220
+ {
157221
+ var item=chart.WindowIndex[i];
157222
+ if (!item) continue;
157223
+ item.TitleFont=null;
157224
+ }
157225
+ }
157226
+
157227
+ if (chart.ChartCorssCursor)
157228
+ {
157229
+ chart.ChartCorssCursor.Font=this.CorssCursorFont;
157230
+ }
157231
+ }
157232
+
157233
+ this.OnSplitXCoordinate=function(event, data, obj)
157234
+ {
157235
+ var frame=data.Frame;
157236
+ if (IFrameSplitOperator.IsNonEmptyArray(frame.VerticalInfo))
157237
+ {
157238
+ for(var i=0;i<frame.VerticalInfo.length;++i)
157239
+ {
157240
+ var item=frame.VerticalInfo[i];
157241
+ if (!item) continue;
157242
+ if (item.Font) item.Font=this.FrameSplitTextFont;
157243
+ }
157244
+ }
157245
+ }
157246
+
157247
+ this.OnSplitYCoordinate=function(event, data, obj)
157248
+ {
157249
+ var frame=data.Frame;
157250
+ if (IFrameSplitOperator.IsNonEmptyArray(frame.HorizontalInfo))
157251
+ {
157252
+ for(var i=0;i<frame.HorizontalInfo.length;++i)
157253
+ {
157254
+ var item=frame.HorizontalInfo[i];
157255
+ if (!item) continue;
157256
+ if (item.Font) item.Font=this.FrameSplitTextFont;
157257
+ }
157258
+ }
157259
+ }
157260
+
157046
157261
  }
157047
157262
 
157048
157263
  JSTooltipKLineChart.GetKLineOption=function()
@@ -158903,6 +159118,10 @@ function JSFloatTooltip()
158903
159118
  {
158904
159119
  this.ReportCellTruncateTooltip(data);
158905
159120
  }
159121
+ else if (tooltipData.Type==4) //单元格提示信息
159122
+ {
159123
+ this.ReportCellTooltip(data);
159124
+ }
158906
159125
  }
158907
159126
  else if (data.DataType==4) //T型报价
158908
159127
  {
@@ -159189,6 +159408,18 @@ function JSFloatTooltip()
159189
159408
  this.ShowTooltip(data);
159190
159409
  }
159191
159410
 
159411
+ //单元格提示信息
159412
+ this.ReportCellTooltip=function(data)
159413
+ {
159414
+ var tooltipData=data.Tooltip;
159415
+ if (!tooltipData.Data || !IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText)) return;
159416
+
159417
+ this.AryText=tooltipData.Data.AryText;
159418
+ this.UpdateTableDOM();
159419
+
159420
+ this.ShowTooltip(data);
159421
+ }
159422
+
159192
159423
  //表格单元格截断内容
159193
159424
  this.ReportCellTruncateTooltip=function(data)
159194
159425
  {
@@ -159239,7 +159470,8 @@ function JSFloatTooltip()
159239
159470
  if (outItem.HTMLTitle) item.TitleSpan.innerHTML=outItem.HTMLTitle
159240
159471
  else item.TitleSpan.innerText=outItem.Title;
159241
159472
 
159242
- item.TitleSpan.style.color=this.TextColor;
159473
+ if (outItem.TitleColor) item.TitleSpan.style.color=outItem.TitleColor;
159474
+ else item.TitleSpan.style.color=this.TextColor;
159243
159475
 
159244
159476
  if (outItem.HTMLText) item.TextSpan.innerHTML=outItem.HTMLText
159245
159477
  else item.TextSpan.innerText=outItem.Text;
@@ -162130,7 +162362,7 @@ function HQChartScriptWorker()
162130
162362
 
162131
162363
 
162132
162364
 
162133
- var HQCHART_VERSION="1.1.14902";
162365
+ var HQCHART_VERSION="1.1.14909";
162134
162366
 
162135
162367
  function PrintHQChartVersion()
162136
162368
  {