hqchart 1.1.15347 → 1.1.15349

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.
@@ -4352,14 +4352,15 @@ this.RowHeightType=1;//0=均分 1=固定高度
4352
4352
  this.TextFontConfig=CloneData(g_JSChartResource.ChartKLineTable.TextFont);this.ItemMargin=CloneData(g_JSChartResource.ChartKLineTable.ItemMargin);this.CellWidth=12*GetDevicePixelRatio();this.TextFont;this.TextColor='rgb(0,0,0)';this.Style=0;//0=全部窗口模式 1=顶部指定行数 2=底部指定行数;
4353
4353
  this.AryTableData=[];this.MapCache=null;//key=date/date-time value={ Date:, Time:, Data:[ ] }
4354
4354
  this.GetKValue=ChartData.GetKValue;this.AryCellRect=[];//保存单元格信息
4355
+ this.AryNameRect=[];//右侧行的名字
4355
4356
  this.SetOption=function(option){if(!option)return;if(option.BGColor)this.BGColor=option.BGColor;if(option.TextColor)this.TextColor=option.TextColor;if(option.BorderColor)this.BorderColor=option.BorderColor;if(IFrameSplitOperator.IsNumber(option.RowNamePosition))this.RowNamePosition=option.RowNamePosition;if(IFrameSplitOperator.IsNumber(option.RowHeightType))this.RowHeightType=option.RowHeightType;if(IFrameSplitOperator.IsNumber(option.Style))this.Style=option.Style;if(option.ItemMargin){var subItem=option.ItemMargin;if(IFrameSplitOperator.IsNumber(subItem.Left))this.ItemMargin.Left=subItem.Left;if(IFrameSplitOperator.IsNumber(subItem.Top))this.ItemMargin.Top=subItem.Top;if(IFrameSplitOperator.IsNumber(subItem.Bottom))this.ItemMargin.Bottom=subItem.Bottom;if(IFrameSplitOperator.IsNumber(subItem.Right))this.ItemMargin.Right=subItem.Right;if(IFrameSplitOperator.IsNumber(subItem.YOffset))this.ItemMargin.YOffset=subItem.YOffset;}if(option.TextFont){var subItem=option.TextFont;if(IFrameSplitOperator.IsNumber(subItem.FontMaxSize))this.TextFontConfig.FontMaxSize=subItem.FontMaxSize;if(subItem.Family)this.TextFontConfig.Family=subItem.Family;}if(IFrameSplitOperator.IsPlusNumber(option.CellWidth))this.CellWidth=option.CellWidth;};this.BuildCacheData=function(){var mapData=new _map2.default();this.MapCache=mapData;if(!IFrameSplitOperator.IsNonEmptyArray(this.AryTableData))return;for(var i=0;i<this.AryTableData.length;++i){var item=this.AryTableData[i];var key=this.BuildKey(item);mapData.set(key,item);}};//绘制背景色
4356
4357
  this.DrawBG=function(rtBG){if(!this.BGColor)return;this.Canvas.fillStyle=this.BGColor;if((this.Style===1||this.Style===2)&&this.RowHeightType==1){var height=this.RowCount*this.RowHeight;height=Math.min(rtBG.Height,height);this.Canvas.fillRect(rtBG.Left+1,rtBG.Top,rtBG.Width-2,height);}else{this.Canvas.fillRect(rtBG.Left+1,rtBG.Top,rtBG.Width-1,rtBG.Height);}};this.DrawBorder=function(rtBG){if(!this.BorderColor)return;var lineCount=30;if(this.Style===1||this.Style===2)lineCount=this.RowCount+1;this.Canvas.strokeStyle=this.BorderColor;var yLine=rtBG.Top;for(var i=0;i<lineCount;++i){this.Canvas.beginPath();this.Canvas.moveTo(rtBG.Left,ToFixedPoint(yLine));this.Canvas.lineTo(rtBG.Right,ToFixedPoint(yLine));this.Canvas.stroke();yLine+=this.RowHeight;if(yLine>rtBG.Bottom)break;}};//计算行高
4357
- this.CalculateRowHeight=function(rtBG){if(this.RowHeightType==1){this.RowHeight=this.TextFontConfig.FontMaxSize+this.ItemMargin.Top+this.ItemMargin.Bottom;}else{this.RowHeight=rtBG.Height/this.RowCount;}};this.Draw=function(){this.AryCellRect=[];if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;//if (!IFrameSplitOperator.IsNonEmptyArray(this.AryTableData)) return;
4358
+ this.CalculateRowHeight=function(rtBG){if(this.RowHeightType==1){this.RowHeight=this.TextFontConfig.FontMaxSize+this.ItemMargin.Top+this.ItemMargin.Bottom;}else{this.RowHeight=rtBG.Height/this.RowCount;}};this.Draw=function(){this.AryCellRect=[];this.AryNameRect=[];if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;//if (!IFrameSplitOperator.IsNonEmptyArray(this.AryTableData)) return;
4358
4359
  //if (!this.MapCache || this.MapCache.size<=0) return;
4359
4360
  var isHScreen=this.ChartFrame.IsHScreen===true;if(isHScreen)return;if(this.RowCount<=0)return;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;var border=this.ChartFrame.GetBorder();var height=border.Bottom-border.TopTitle;var xOffset=border.LeftEx+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var top=border.TopTitle;var bottom=border.Bottom;//绘制背景
4360
4361
  if(this.Style===1){var rtBG={Left:border.LeftEx,Top:border.TopTitle,Right:border.RightEx,Bottom:border.TopEx};rtBG.Width=rtBG.Right-rtBG.Left;rtBG.Height=rtBG.Bottom-rtBG.Top;}else if(this.Style===2){var rtBG={Left:border.LeftEx,Top:border.BottomEx,Right:border.RightEx,Bottom:border.Bottom};rtBG.Width=rtBG.Right-rtBG.Left;rtBG.Height=rtBG.Bottom-rtBG.Top;top=rtBG.Top;}else{var rtBG={Left:border.LeftEx,Top:top,Right:border.RightEx,Bottom:bottom};rtBG.Width=rtBG.Right-rtBG.Left;rtBG.Height=rtBG.Bottom-rtBG.Top;}this.CalculateRowHeight(rtBG);this.DrawBG(rtBG);var itemHeight=this.RowHeight;var itemWidth=dataWidth+distanceWidth;if(itemHeight-this.ItemMargin.Top-this.ItemMargin.Bottom>0)itemHeight=itemHeight-this.ItemMargin.Top-this.ItemMargin.Bottom;if(itemWidth-this.ItemMargin.Left-this.ItemMargin.Right>0)itemWidth=itemWidth-this.ItemMargin.Left-this.ItemMargin.Right;var font=this.GetDynamicTextFont(itemHeight,itemWidth);this.TextFont=font;this.Canvas.font=this.TextFont;var bMinute=this.IsMinuteFrame();var cellWidth=1;if(bMinute){cellWidth=(border.Right-border.Left)/this.ChartFrame.XPointCount;if(cellWidth<1)cellWidth=1;}for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];if(!kItem)continue;if(bMinute){var x=this.ChartFrame.GetXFromIndex(j);var left=x-cellWidth/2;var right=x+cellWidth/2;}else{var left=xOffset;var right=xOffset+dataWidth+distanceWidth;if(right>chartright)break;var x=left+(right-left)/2;if(x>chartright)break;}var bDrawName=false;if(j==0&&this.RowNamePosition===1)bDrawName=true;if(bDrawName)this.DrawRowName(top,bottom,left,right);var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(!bDrawName)this.DrawRow(mapItem,top,bottom,left,right);//绘制一列
4361
4362
  }if(this.RowNamePosition==3)this.DrawRightRowName(rtBG);this.DrawBorder(rtBG);};this.DrawRowName=function(top,bottom,left,right){if(!IFrameSplitOperator.IsNonEmptyArray(this.RowName))return;var x=left,y=top,width=right-left;var yOffset=3;if(this.ItemMargin.YOffset)yOffset=this.ItemMargin.YOffset;for(var i=0;i<this.RowName.length;++i){var item=this.RowName[i];var rtBG={Left:x,Top:y,Right:right,Height:this.RowHeight,Width:width};rtBG.Bottom=rtBG.Top+this.RowHeight;var yText=rtBG.Bottom-yOffset;if(item.Name&&rtBG.Width>10){this.Canvas.fillStyle=item.Color?item.Color:this.TextColor;this.Canvas.textBaseline='bottom';if(item.TextAlign=='right'){this.Canvas.textAlign='right';this.Canvas.fillText(item.Name,rtBG.Right-2,yText,width-4);}else if(item.TextAlign=='center'){this.Canvas.textAlign='center';this.Canvas.fillText(item.Name,rtBG.Left+rtBG.Width/2,yText,width-4);}else{this.Canvas.textAlign='left';this.Canvas.fillText(item.Name,rtBG.Left+2,yText,width-4);}}y+=this.RowHeight;}};//绘制右侧行名
4362
- this.DrawRightRowName=function(rtBG){var border=this.ChartFrame.GetBorder();if(this.BGColor){if(this.Style===1){var height=this.RowCount*this.RowHeight;height=Math.min(rtBG.Height,height);var width=border.ChartWidth-rtBG.Right-2;var maxTextWidth=0;for(var i=0;i<this.RowName.length;++i){var item=this.RowName[i];if(!item||!item.Name)continue;var textWidth=this.Canvas.measureText(item.Name).width;if(textWidth>maxTextWidth)maxTextWidth=textWidth;}if(maxTextWidth>0){maxTextWidth+=4;width=Math.min(width,maxTextWidth);}var rtRightBG={Left:rtBG.Right+1,Top:rtBG.Top+1,Width:width,Height:height};rtRightBG.Right=rtRightBG.Left+rtRightBG.Width;rtRightBG.Bottom=rtRightBG.Top+rtRightBG.Height;this.Canvas.fillStyle=this.BGColor;this.Canvas.fillRect(rtRightBG.Left,rtRightBG.Top,rtRightBG.Width,rtRightBG.Height);}else{var rtRightBG={Left:border.RightEx,Top:border.Top,Right:border.ChartWidth,Bottom:border.Bottom};rtRightBG.Width=rtRightBG.Right-rtRightBG.Left;rtRightBG.Height=rtRightBG.Bottom-rtRightBG.Top;this.Canvas.fillStyle=this.BGColor;this.Canvas.fillRect(rtRightBG.Left+1,rtRightBG.Top,rtRightBG.Width-2,rtRightBG.Height);}}var x=rtBG.Right,y=rtBG.Top;var yOffset=3;if(this.ItemMargin.YOffset)yOffset=this.ItemMargin.YOffset;for(var i=0;i<this.RowName.length;++i){var item=this.RowName[i];var rtBG={Left:x,Top:y,Right:border.ChartWidth,Height:this.RowHeight};rtBG.Bottom=rtBG.Top+this.RowHeight;rtBG.Width=rtBG.Right-rtBG.Left;var yText=rtBG.Bottom-yOffset;if(rtBG.Bottom>border.Bottom)break;if(item.Name&&rtBG.Width>10){this.Canvas.fillStyle=item.Color?item.Color:this.TextColor;this.Canvas.textBaseline='bottom';this.Canvas.textAlign='left';this.Canvas.fillText(item.Name,rtBG.Left+2,yText);}y+=this.RowHeight;}};this.DrawRow=function(data,top,bottom,left,right){if(!IFrameSplitOperator.IsNonEmptyArray(data.Data))return;var x=left,y=top,width=right-left;var yOffset=3;if(this.ItemMargin.YOffset)yOffset=this.ItemMargin.YOffset;for(var i=0;i<data.Data.length;++i,y+=this.RowHeight){var item=data.Data[i];if(!item)continue;var rtBG={Left:x,Top:y,Right:right,Height:this.RowHeight,Width:width};rtBG.Bottom=rtBG.Top+this.RowHeight;if(rtBG.Bottom>bottom)break;if(IFrameSplitOperator.IsNonEmptyArray(item.AryText))//左右显示
4363
+ this.DrawRightRowName=function(rtBG){var border=this.ChartFrame.GetBorder();if(this.BGColor){if(this.Style===1){var height=this.RowCount*this.RowHeight;height=Math.min(rtBG.Height,height);var width=border.ChartWidth-rtBG.Right-2;var maxTextWidth=0;for(var i=0;i<this.RowName.length;++i){var item=this.RowName[i];if(!item||!item.Name)continue;var textWidth=this.Canvas.measureText(item.Name).width;if(textWidth>maxTextWidth)maxTextWidth=textWidth;}if(maxTextWidth>0){maxTextWidth+=4;width=Math.min(width,maxTextWidth);}var rtRightBG={Left:rtBG.Right+1,Top:rtBG.Top+1,Width:width,Height:height};rtRightBG.Right=rtRightBG.Left+rtRightBG.Width;rtRightBG.Bottom=rtRightBG.Top+rtRightBG.Height;this.Canvas.fillStyle=this.BGColor;this.Canvas.fillRect(rtRightBG.Left,rtRightBG.Top,rtRightBG.Width,rtRightBG.Height);}else{var rtRightBG={Left:border.RightEx,Top:border.Top,Right:border.ChartWidth,Bottom:border.Bottom};rtRightBG.Width=rtRightBG.Right-rtRightBG.Left;rtRightBG.Height=rtRightBG.Bottom-rtRightBG.Top;this.Canvas.fillStyle=this.BGColor;this.Canvas.fillRect(rtRightBG.Left+1,rtRightBG.Top,rtRightBG.Width-2,rtRightBG.Height);}}var x=rtBG.Right,y=rtBG.Top;var yOffset=3;if(this.ItemMargin.YOffset)yOffset=this.ItemMargin.YOffset;for(var i=0;i<this.RowName.length;++i){var item=this.RowName[i];var rtBG={Left:x,Top:y,Right:border.ChartWidth,Height:this.RowHeight};rtBG.Bottom=rtBG.Top+this.RowHeight;rtBG.Width=rtBG.Right-rtBG.Left;var yText=rtBG.Bottom-yOffset;if(rtBG.Bottom>border.Bottom)break;if(item.Name&&rtBG.Width>10){this.Canvas.fillStyle=item.Color?item.Color:this.TextColor;this.Canvas.textBaseline='bottom';this.Canvas.textAlign='left';this.Canvas.fillText(item.Name,rtBG.Left+2,yText);this.AryNameRect.push({Rect:rtBG,Item:item,Index:i});}y+=this.RowHeight;}};this.DrawRow=function(data,top,bottom,left,right){if(!IFrameSplitOperator.IsNonEmptyArray(data.Data))return;var x=left,y=top,width=right-left;var yOffset=3;if(this.ItemMargin.YOffset)yOffset=this.ItemMargin.YOffset;for(var i=0;i<data.Data.length;++i,y+=this.RowHeight){var item=data.Data[i];if(!item)continue;var rtBG={Left:x,Top:y,Right:right,Height:this.RowHeight,Width:width};rtBG.Bottom=rtBG.Top+this.RowHeight;if(rtBG.Bottom>bottom)break;if(IFrameSplitOperator.IsNonEmptyArray(item.AryText))//左右显示
4363
4364
  {var subCellWidth=rtBG.Width/item.AryText.length;var xCell=rtBG.Left;for(var j=0;j<item.AryText.length;++j){var subItem=item.AryText[j];var rtSubBG={Left:xCell,Top:rtBG.Top,Bottom:rtBG.Bottom,Width:subCellWidth,Height:rtBG.Height};rtSubBG.Right=rtSubBG.Left+rtSubBG.Width;if(subItem&&subItem.BGColor){this.Canvas.fillStyle=subItem.BGColor;this.Canvas.fillRect(rtSubBG.Left,rtSubBG.Top,rtSubBG.Width,rtSubBG.Height);}if(subItem&&subItem.Color&&subCellWidth>10){this.Canvas.fillStyle=subItem.Color;this.Canvas.textBaseline='bottom';var yText=rtSubBG.Bottom-yOffset;if(subItem.TextAlign=='right'){this.Canvas.textAlign='right';this.Canvas.fillText(subItem.Text,rtSubBG.Right-2,yText,width-4);}else if(subItem.TextAlign=='center'){this.Canvas.textAlign='center';this.Canvas.fillText(subItem.Text,rtSubBG.Left+rtSubBG.Width/2,yText,width-4);}else{this.Canvas.textAlign='left';this.Canvas.fillText(subItem.Text,rtSubBG.Left+2,yText,width-4);}}if(rtBG.Width>5){this.AryCellRect.push({Item:{Cell:item,Colunm:data,RowIndex:i,SubCell:subItem,SubIndex:j,Tooltip:subItem.Tooltip,Type:2},Rect:rtSubBG});}xCell+=subCellWidth;}}else{if(item.BGColor){this.Canvas.fillStyle=item.BGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}if(item.Text&&rtBG.Width>10){if(item.Color)this.Canvas.fillStyle=item.Color;else this.Canvas.fillStyle=this.TextColor;this.Canvas.textBaseline='bottom';var yText=rtBG.Bottom-yOffset;if(item.TextAlign=='right'){this.Canvas.textAlign='right';this.Canvas.fillText(item.Text,rtBG.Right-2,yText,width-4);}else if(item.TextAlign=='center'){this.Canvas.textAlign='center';this.Canvas.fillText(item.Text,rtBG.Left+rtBG.Width/2,yText,width-4);}else{this.Canvas.textAlign='left';this.Canvas.fillText(item.Text,rtBG.Left+2,yText,width-4);}}if(rtBG.Width>5){this.AryCellRect.push({Item:{Cell:item,Colunm:data,RowIndex:i,Tooltip:item.Tooltip,Type:1},Rect:rtBG});}}}};this.GetDynamicTextFont=function(cellHeight,width,fontOption){var fontSize=parseInt(cellHeight)-2;if(cellHeight<5)fontSize=parseInt(cellHeight);//高度太小了就不要上下间距了
4364
4365
  if(fontSize>this.TextFontConfig.FontMaxSize)fontSize=this.TextFontConfig.FontMaxSize;else if(fontSize<=0)fontSize=1;var font=this.FormatFontString(fontSize,this.TextFontConfig.Family,fontOption);return font;};this.FormatFontString=function(fontSize,family,option){var font;if(!option){font=fontSize+'px '+family;}else{if(option.Weight)font=option.Weight+' '+fontSize+'px '+family;}return font;};this.GetMaxMin=function(){return{Min:0,Max:this.RowCount};};this.GetTooltipData=function(x,y,tooltip){if(!this.IsShow)return false;for(var i=0;i<this.AryCellRect.length;++i){var item=this.AryCellRect[i];if(!item.Rect)continue;var rect=item.Rect;if(x>=rect.Left&&x<=rect.Right&&y>=rect.Top&&y<=rect.Bottom){var data=item.Item;JSConsole.Chart.Log('[ChartKLineTable::GetTooltipData] cell',item);tooltip.Data={Rect:item.Rect,Item:data};tooltip.ChartPaint=this;tooltip.Type=9;//ChartKLineTable
4365
4366
  return true;}}return false;};}//表格
@@ -8730,7 +8731,8 @@ this.UpdateWindowIndex=function(index){var bindData=new ChartData();bindData.Dat
8730
8731
  this.UpdateFrameMaxMin();//调整坐标最大 最小值
8731
8732
  this.Draw();};this.GetOverlayIndexByIdentify=function(identify){for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];if(!IFrameSplitOperator.IsNonEmptyArray(item.OverlayIndex))continue;for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(overlayItem.Identify===identify)return{OverlayItem:overlayItem,WindowIndex:i};}}return null;};//更新叠加指标
8732
8733
  this.UpdateOverlayIndex=function(identify){var overlayIndex=this.GetOverlayIndexByIdentify(identify);if(overlayIndex==null){console.warn('[KLineChartContainer::UpdateOverlayIndex] can\'t find overlay index. [identify='+identify+']');return;}if(!this.ChartPaint[0])return;var kData=this.ChartPaint[0].Data;if(!kData)return;this.BindOverlayIndexData(overlayIndex.OverlayItem,overlayIndex.WindowIndex,kData);};//修改参数指标
8733
- this.ChangeWindowIndexParam=function(index){this.WindowIndex[index].Index[0].Param+=1;this.WindowIndex[index].Index[1].Param+=1;this.UpdateWindowIndex(index);};this.OnDoubleClick=function(x,y,e){var bDraw=false;if(this.ChartCorssCursor){var data={e:e,X:x,Y:y,Draw:false};this.ChartCorssCursor.OnDBClick(data);bDraw=data.Draw;}if(this.EnableYDrag&&(this.EnableYDrag.Left||this.EnableYDrag.Right)&&this.Frame&&this.Frame.PtInFrameY){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var dragY=this.Frame.PtInFrameY(x,y);if(dragY&&dragY.Index>=0){this.CancelZoomUpDownFrameY(dragY);}}var selectedChart;//图形选中
8734
+ this.ChangeWindowIndexParam=function(index){this.WindowIndex[index].Index[0].Param+=1;this.WindowIndex[index].Index[1].Param+=1;this.UpdateWindowIndex(index);};this.OnDoubleClick=function(x,y,e){var bDraw=false;if(this.ChartCorssCursor){var data={e:e,X:x,Y:y,Draw:false};this.ChartCorssCursor.OnDBClick(data);bDraw=data.Draw;}if(this.TryDBClickChartTooltipData)//外部预留接口
8735
+ {var data={e:e,X:x,Y:y,Draw:false,PreventDefault:false};this.TryDBClickChartTooltipData(data,this);if(data.Draw)bDraw=true;if(data.PreventDefault){if(bDraw)this.Draw();return;}}if(this.EnableYDrag&&(this.EnableYDrag.Left||this.EnableYDrag.Right)&&this.Frame&&this.Frame.PtInFrameY){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var dragY=this.Frame.PtInFrameY(x,y);if(dragY&&dragY.Index>=0){this.CancelZoomUpDownFrameY(dragY);}}var selectedChart;//图形选中
8734
8736
  if(this.SelectedChart.EnableSelected){selectedChart=this.PtInChart(x,y);}var dbClickInfo={SelectedChart:selectedChart};this.DBClickEvent(dbClickInfo,e);if(!selectedChart&&this.EnableZoomIndexWindow)//双击放大缩小
8735
8737
  {var frameId=this.Frame.PtInFrame(x,y);JSConsole.Chart.Log("[KLineChartContainer::OnDoubleClick] frameId",frameId);if(frameId>=this.Frame.ZoomStartWindowIndex){if(this.ZoomIndexWindow(frameId,{X:x,Y:y})){this.Frame.SetSizeChage(true);this.Draw();return true;}}}if(bDraw)this.Draw();var tooltip=new TooltipData();if(!this.PtInChartPaintTooltip(x,y,tooltip)){if(!this.PtInOverlayIndexTooltip(x,y,tooltip))return;}if(!tooltip.Data)return;var event=null;if(this.mapEvent.has(JSCHART_EVENT_ID.DBCLICK_KLINE))event=this.mapEvent.get(JSCHART_EVENT_ID.DBCLICK_KLINE);if(event){if(this.ClickChartTimer!=null)//清空单击定时器
8736
8738
  {clearTimeout(this.ClickChartTimer);this.ClickChartTimer=null;}var data={Tooltip:tooltip,Stock:{Symbol:this.Symbol,Name:this.Name},X:e.clientX,Y:e.clientY,PreventDefault:false};event.Callback(event,data,this);if(data.PreventDefault)return;}//内置弹分时图
@@ -15758,7 +15760,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
15758
15760
  this.ExecuteScript(item,data);}this.Status=0;}};this.OnExecuteFinish=function(data,indexInfo,jsExectute,jobInfo){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT,JobInfo:jobInfo};postMessage(message);};this.OnExecuteError=function(error,indexInfo,jobData){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
15759
15761
  * 版本信息输出
15760
15762
  *
15761
- */var HQCHART_VERSION="1.1.15346";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
15763
+ */var HQCHART_VERSION="1.1.15348";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
15762
15764
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
15763
15765
  // BaseIndex:BaseIndex,
15764
15766
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.15347",
3
+ "version": "1.1.15349",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -55672,6 +55672,10 @@ HQData.NetworkFilter=function(data, callback)
55672
55672
  HQData.INDEX_RequestData(data,callback);
55673
55673
  break;
55674
55674
 
55675
+ case "JSSymbolData::GetIndustryData":
55676
+ HQData.INDUSTRY_RequestData(data,callback);
55677
+ break;
55678
+
55675
55679
  case 'JSSymbolData::GetSymbolData':
55676
55680
  //HQChart使用教程30-K线图如何对接第3方数据38-通达信指标K线数据
55677
55681
  HQData.RequestSymbolData(data,callback); //计算指标需要的K线数据
@@ -57324,6 +57328,30 @@ HQData.INDEX_RequestData=function(data,callback)
57324
57328
  callback(hqchartData);
57325
57329
  }
57326
57330
 
57331
+ HQData.INDUSTRY_RequestData=function(data, callback)
57332
+ {
57333
+ data.PreventDefault=true;
57334
+ var period=data.Period;
57335
+ var symbol=data.Request.Data.symbol;
57336
+ var indexSymbol="399001.sz";
57337
+ var dateRange=data.Request.Data.dateRange;
57338
+ var aryData=[];
57339
+ if (ChartData.IsMinutePeriod(period, true))
57340
+ {
57341
+ var fullData=HQData.GetM1KLineDataBySymbol(symbol);
57342
+ if (fullData) aryData=HQData.GetKLineDataByDateTime(fullData, dateRange.Start.Date, dateRange.Start.Time, dateRange.End.Date, dateRange.End.Time);
57343
+ }
57344
+ else if (ChartData.IsDayPeriod(period,true))
57345
+ {
57346
+ var fullData=HQData.GetDayKLineDataBySymbol(indexSymbol);
57347
+ if (fullData) aryData=HQData.GetKLineDataByDate(fullData, dateRange.Start.Date, dateRange.End.Date);
57348
+ }
57349
+
57350
+ var hqchartData={ name:indexSymbol, symbol:indexSymbol, data:aryData, ver:2.0 };
57351
+
57352
+ callback(hqchartData);
57353
+ }
57354
+
57327
57355
  HQData.RequestSymbolData=function(data,callback)
57328
57356
  {
57329
57357
  data.PreventDefault=true;
@@ -59003,6 +59031,7 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
59003
59031
  //{Date:20190916, Time: Value:15.5, Value2:0 },
59004
59032
  ],
59005
59033
  //Width:10
59034
+ AdWidth:{ Type:1, Value:0.8 }
59006
59035
  };
59007
59036
 
59008
59037
  var point2=
@@ -59016,6 +59045,7 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
59016
59045
  //{Date:20190916, Time: Value:15.5, Value2:0 },
59017
59046
  ],
59018
59047
  //Width:10
59048
+ AdWidth:{ Type:1, Value:0.5 }
59019
59049
  };
59020
59050
 
59021
59051
  for(var i=0;i<kData.Data.length;++i)
@@ -59342,6 +59372,8 @@ HQData.APIIndex_SCATTER_PLOT_V2=function(data, callback)
59342
59372
  };
59343
59373
  }
59344
59374
 
59375
+ //if ((i%6)==2) item.Radius2=20;
59376
+
59345
59377
 
59346
59378
  item.Tooltip=
59347
59379
  [
@@ -59404,6 +59436,7 @@ HQData.APIIndex_KLINE_TABLE=function(data, callback)
59404
59436
  { Name:"账户4", DayCount:8, OperatorID:0 },
59405
59437
  ]
59406
59438
 
59439
+
59407
59440
  for(var i=0;i<kData.Data.length;++i)
59408
59441
  {
59409
59442
  var kItem=kData.Data[i];
@@ -59464,6 +59497,7 @@ HQData.APIIndex_KLINE_TABLE=function(data, callback)
59464
59497
 
59465
59498
  tableData.Draw.DrawData.push(colItem);
59466
59499
  }
59500
+
59467
59501
 
59468
59502
  var apiData=
59469
59503
  {
@@ -34462,6 +34462,7 @@ function ChartKLineTable()
34462
34462
  this.MapCache=null; //key=date/date-time value={ Date:, Time:, Data:[ ] }
34463
34463
  this.GetKValue=ChartData.GetKValue;
34464
34464
  this.AryCellRect=[]; //保存单元格信息
34465
+ this.AryNameRect=[]; //右侧行的名字
34465
34466
 
34466
34467
 
34467
34468
  this.SetOption=function(option)
@@ -34564,6 +34565,7 @@ function ChartKLineTable()
34564
34565
  this.Draw=function()
34565
34566
  {
34566
34567
  this.AryCellRect=[];
34568
+ this.AryNameRect=[];
34567
34569
  if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
34568
34570
  if (this.IsShowIndexTitleOnly()) return;
34569
34571
  if (this.IsHideScriptIndex()) return;
@@ -34770,6 +34772,8 @@ function ChartKLineTable()
34770
34772
  this.Canvas.textBaseline='bottom';
34771
34773
  this.Canvas.textAlign='left';
34772
34774
  this.Canvas.fillText(item.Name,rtBG.Left+2,yText);
34775
+
34776
+ this.AryNameRect.push({ Rect:rtBG, Item:item, Index:i });
34773
34777
  }
34774
34778
 
34775
34779
  y+=this.RowHeight;
@@ -89324,6 +89328,19 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
89324
89328
  this.ChartCorssCursor.OnDBClick(data);
89325
89329
  bDraw=data.Draw
89326
89330
  }
89331
+
89332
+ if (this.TryDBClickChartTooltipData) //外部预留接口
89333
+ {
89334
+ var data={ e:e, X:x, Y:y, Draw:false, PreventDefault:false };
89335
+ this.TryDBClickChartTooltipData(data, this);
89336
+ if (data.Draw) bDraw=true;
89337
+
89338
+ if (data.PreventDefault)
89339
+ {
89340
+ if (bDraw) this.Draw();
89341
+ return;
89342
+ }
89343
+ }
89327
89344
 
89328
89345
  if (this.EnableYDrag && (this.EnableYDrag.Left || this.EnableYDrag.Right) && this.Frame && this.Frame.PtInFrameY)
89329
89346
  {
@@ -158,6 +158,10 @@ HQData.NetworkFilter=function(data, callback)
158
158
  HQData.INDEX_RequestData(data,callback);
159
159
  break;
160
160
 
161
+ case "JSSymbolData::GetIndustryData":
162
+ HQData.INDUSTRY_RequestData(data,callback);
163
+ break;
164
+
161
165
  case 'JSSymbolData::GetSymbolData':
162
166
  //HQChart使用教程30-K线图如何对接第3方数据38-通达信指标K线数据
163
167
  HQData.RequestSymbolData(data,callback); //计算指标需要的K线数据
@@ -1810,6 +1814,30 @@ HQData.INDEX_RequestData=function(data,callback)
1810
1814
  callback(hqchartData);
1811
1815
  }
1812
1816
 
1817
+ HQData.INDUSTRY_RequestData=function(data, callback)
1818
+ {
1819
+ data.PreventDefault=true;
1820
+ var period=data.Period;
1821
+ var symbol=data.Request.Data.symbol;
1822
+ var indexSymbol="399001.sz";
1823
+ var dateRange=data.Request.Data.dateRange;
1824
+ var aryData=[];
1825
+ if (ChartData.IsMinutePeriod(period, true))
1826
+ {
1827
+ var fullData=HQData.GetM1KLineDataBySymbol(symbol);
1828
+ if (fullData) aryData=HQData.GetKLineDataByDateTime(fullData, dateRange.Start.Date, dateRange.Start.Time, dateRange.End.Date, dateRange.End.Time);
1829
+ }
1830
+ else if (ChartData.IsDayPeriod(period,true))
1831
+ {
1832
+ var fullData=HQData.GetDayKLineDataBySymbol(indexSymbol);
1833
+ if (fullData) aryData=HQData.GetKLineDataByDate(fullData, dateRange.Start.Date, dateRange.End.Date);
1834
+ }
1835
+
1836
+ var hqchartData={ name:indexSymbol, symbol:indexSymbol, data:aryData, ver:2.0 };
1837
+
1838
+ callback(hqchartData);
1839
+ }
1840
+
1813
1841
  HQData.RequestSymbolData=function(data,callback)
1814
1842
  {
1815
1843
  data.PreventDefault=true;
@@ -3489,6 +3517,7 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
3489
3517
  //{Date:20190916, Time: Value:15.5, Value2:0 },
3490
3518
  ],
3491
3519
  //Width:10
3520
+ AdWidth:{ Type:1, Value:0.8 }
3492
3521
  };
3493
3522
 
3494
3523
  var point2=
@@ -3502,6 +3531,7 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
3502
3531
  //{Date:20190916, Time: Value:15.5, Value2:0 },
3503
3532
  ],
3504
3533
  //Width:10
3534
+ AdWidth:{ Type:1, Value:0.5 }
3505
3535
  };
3506
3536
 
3507
3537
  for(var i=0;i<kData.Data.length;++i)
@@ -3828,6 +3858,8 @@ HQData.APIIndex_SCATTER_PLOT_V2=function(data, callback)
3828
3858
  };
3829
3859
  }
3830
3860
 
3861
+ //if ((i%6)==2) item.Radius2=20;
3862
+
3831
3863
 
3832
3864
  item.Tooltip=
3833
3865
  [
@@ -3890,6 +3922,7 @@ HQData.APIIndex_KLINE_TABLE=function(data, callback)
3890
3922
  { Name:"账户4", DayCount:8, OperatorID:0 },
3891
3923
  ]
3892
3924
 
3925
+
3893
3926
  for(var i=0;i<kData.Data.length;++i)
3894
3927
  {
3895
3928
  var kItem=kData.Data[i];
@@ -3950,6 +3983,7 @@ HQData.APIIndex_KLINE_TABLE=function(data, callback)
3950
3983
 
3951
3984
  tableData.Draw.DrawData.push(colItem);
3952
3985
  }
3986
+
3953
3987
 
3954
3988
  var apiData=
3955
3989
  {
@@ -38558,6 +38558,7 @@ function ChartKLineTable()
38558
38558
  this.MapCache=null; //key=date/date-time value={ Date:, Time:, Data:[ ] }
38559
38559
  this.GetKValue=ChartData.GetKValue;
38560
38560
  this.AryCellRect=[]; //保存单元格信息
38561
+ this.AryNameRect=[]; //右侧行的名字
38561
38562
 
38562
38563
 
38563
38564
  this.SetOption=function(option)
@@ -38660,6 +38661,7 @@ function ChartKLineTable()
38660
38661
  this.Draw=function()
38661
38662
  {
38662
38663
  this.AryCellRect=[];
38664
+ this.AryNameRect=[];
38663
38665
  if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
38664
38666
  if (this.IsShowIndexTitleOnly()) return;
38665
38667
  if (this.IsHideScriptIndex()) return;
@@ -38866,6 +38868,8 @@ function ChartKLineTable()
38866
38868
  this.Canvas.textBaseline='bottom';
38867
38869
  this.Canvas.textAlign='left';
38868
38870
  this.Canvas.fillText(item.Name,rtBG.Left+2,yText);
38871
+
38872
+ this.AryNameRect.push({ Rect:rtBG, Item:item, Index:i });
38869
38873
  }
38870
38874
 
38871
38875
  y+=this.RowHeight;
@@ -93420,6 +93424,19 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
93420
93424
  this.ChartCorssCursor.OnDBClick(data);
93421
93425
  bDraw=data.Draw
93422
93426
  }
93427
+
93428
+ if (this.TryDBClickChartTooltipData) //外部预留接口
93429
+ {
93430
+ var data={ e:e, X:x, Y:y, Draw:false, PreventDefault:false };
93431
+ this.TryDBClickChartTooltipData(data, this);
93432
+ if (data.Draw) bDraw=true;
93433
+
93434
+ if (data.PreventDefault)
93435
+ {
93436
+ if (bDraw) this.Draw();
93437
+ return;
93438
+ }
93439
+ }
93423
93440
 
93424
93441
  if (this.EnableYDrag && (this.EnableYDrag.Left || this.EnableYDrag.Right) && this.Frame && this.Frame.PtInFrameY)
93425
93442
  {
@@ -155369,7 +155386,7 @@ function ScrollBarBGChart()
155369
155386
 
155370
155387
 
155371
155388
 
155372
- var HQCHART_VERSION="1.1.15346";
155389
+ var HQCHART_VERSION="1.1.15348";
155373
155390
 
155374
155391
  function PrintHQChartVersion()
155375
155392
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.15346";
8
+ var HQCHART_VERSION="1.1.15348";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -55690,6 +55690,10 @@ HQData.NetworkFilter=function(data, callback)
55690
55690
  HQData.INDEX_RequestData(data,callback);
55691
55691
  break;
55692
55692
 
55693
+ case "JSSymbolData::GetIndustryData":
55694
+ HQData.INDUSTRY_RequestData(data,callback);
55695
+ break;
55696
+
55693
55697
  case 'JSSymbolData::GetSymbolData':
55694
55698
  //HQChart使用教程30-K线图如何对接第3方数据38-通达信指标K线数据
55695
55699
  HQData.RequestSymbolData(data,callback); //计算指标需要的K线数据
@@ -57342,6 +57346,30 @@ HQData.INDEX_RequestData=function(data,callback)
57342
57346
  callback(hqchartData);
57343
57347
  }
57344
57348
 
57349
+ HQData.INDUSTRY_RequestData=function(data, callback)
57350
+ {
57351
+ data.PreventDefault=true;
57352
+ var period=data.Period;
57353
+ var symbol=data.Request.Data.symbol;
57354
+ var indexSymbol="399001.sz";
57355
+ var dateRange=data.Request.Data.dateRange;
57356
+ var aryData=[];
57357
+ if (ChartData.IsMinutePeriod(period, true))
57358
+ {
57359
+ var fullData=HQData.GetM1KLineDataBySymbol(symbol);
57360
+ if (fullData) aryData=HQData.GetKLineDataByDateTime(fullData, dateRange.Start.Date, dateRange.Start.Time, dateRange.End.Date, dateRange.End.Time);
57361
+ }
57362
+ else if (ChartData.IsDayPeriod(period,true))
57363
+ {
57364
+ var fullData=HQData.GetDayKLineDataBySymbol(indexSymbol);
57365
+ if (fullData) aryData=HQData.GetKLineDataByDate(fullData, dateRange.Start.Date, dateRange.End.Date);
57366
+ }
57367
+
57368
+ var hqchartData={ name:indexSymbol, symbol:indexSymbol, data:aryData, ver:2.0 };
57369
+
57370
+ callback(hqchartData);
57371
+ }
57372
+
57345
57373
  HQData.RequestSymbolData=function(data,callback)
57346
57374
  {
57347
57375
  data.PreventDefault=true;
@@ -59021,6 +59049,7 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
59021
59049
  //{Date:20190916, Time: Value:15.5, Value2:0 },
59022
59050
  ],
59023
59051
  //Width:10
59052
+ AdWidth:{ Type:1, Value:0.8 }
59024
59053
  };
59025
59054
 
59026
59055
  var point2=
@@ -59034,6 +59063,7 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
59034
59063
  //{Date:20190916, Time: Value:15.5, Value2:0 },
59035
59064
  ],
59036
59065
  //Width:10
59066
+ AdWidth:{ Type:1, Value:0.5 }
59037
59067
  };
59038
59068
 
59039
59069
  for(var i=0;i<kData.Data.length;++i)
@@ -59360,6 +59390,8 @@ HQData.APIIndex_SCATTER_PLOT_V2=function(data, callback)
59360
59390
  };
59361
59391
  }
59362
59392
 
59393
+ //if ((i%6)==2) item.Radius2=20;
59394
+
59363
59395
 
59364
59396
  item.Tooltip=
59365
59397
  [
@@ -59422,6 +59454,7 @@ HQData.APIIndex_KLINE_TABLE=function(data, callback)
59422
59454
  { Name:"账户4", DayCount:8, OperatorID:0 },
59423
59455
  ]
59424
59456
 
59457
+
59425
59458
  for(var i=0;i<kData.Data.length;++i)
59426
59459
  {
59427
59460
  var kItem=kData.Data[i];
@@ -59482,6 +59515,7 @@ HQData.APIIndex_KLINE_TABLE=function(data, callback)
59482
59515
 
59483
59516
  tableData.Draw.DrawData.push(colItem);
59484
59517
  }
59518
+
59485
59519
 
59486
59520
  var apiData=
59487
59521
  {
@@ -38602,6 +38602,7 @@ function ChartKLineTable()
38602
38602
  this.MapCache=null; //key=date/date-time value={ Date:, Time:, Data:[ ] }
38603
38603
  this.GetKValue=ChartData.GetKValue;
38604
38604
  this.AryCellRect=[]; //保存单元格信息
38605
+ this.AryNameRect=[]; //右侧行的名字
38605
38606
 
38606
38607
 
38607
38608
  this.SetOption=function(option)
@@ -38704,6 +38705,7 @@ function ChartKLineTable()
38704
38705
  this.Draw=function()
38705
38706
  {
38706
38707
  this.AryCellRect=[];
38708
+ this.AryNameRect=[];
38707
38709
  if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
38708
38710
  if (this.IsShowIndexTitleOnly()) return;
38709
38711
  if (this.IsHideScriptIndex()) return;
@@ -38910,6 +38912,8 @@ function ChartKLineTable()
38910
38912
  this.Canvas.textBaseline='bottom';
38911
38913
  this.Canvas.textAlign='left';
38912
38914
  this.Canvas.fillText(item.Name,rtBG.Left+2,yText);
38915
+
38916
+ this.AryNameRect.push({ Rect:rtBG, Item:item, Index:i });
38913
38917
  }
38914
38918
 
38915
38919
  y+=this.RowHeight;
@@ -93464,6 +93468,19 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
93464
93468
  this.ChartCorssCursor.OnDBClick(data);
93465
93469
  bDraw=data.Draw
93466
93470
  }
93471
+
93472
+ if (this.TryDBClickChartTooltipData) //外部预留接口
93473
+ {
93474
+ var data={ e:e, X:x, Y:y, Draw:false, PreventDefault:false };
93475
+ this.TryDBClickChartTooltipData(data, this);
93476
+ if (data.Draw) bDraw=true;
93477
+
93478
+ if (data.PreventDefault)
93479
+ {
93480
+ if (bDraw) this.Draw();
93481
+ return;
93482
+ }
93483
+ }
93467
93484
 
93468
93485
  if (this.EnableYDrag && (this.EnableYDrag.Left || this.EnableYDrag.Right) && this.Frame && this.Frame.PtInFrameY)
93469
93486
  {
@@ -167428,7 +167445,7 @@ function HQChartScriptWorker()
167428
167445
 
167429
167446
 
167430
167447
 
167431
- var HQCHART_VERSION="1.1.15346";
167448
+ var HQCHART_VERSION="1.1.15348";
167432
167449
 
167433
167450
  function PrintHQChartVersion()
167434
167451
  {