hqchart 1.1.15008 → 1.1.15011
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 +15 -15
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +14 -52
- package/src/jscommon/umychart.js +68 -15
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +83 -68
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +83 -68
package/lib/umychart.vue.js
CHANGED
|
@@ -4161,15 +4161,15 @@ this.BorderColor;//分割线颜色
|
|
|
4161
4161
|
this.RowCount=5;//行数
|
|
4162
4162
|
this.RowHeight=10;//行高
|
|
4163
4163
|
this.RowHeightType=1;//0=均分 1=固定高度
|
|
4164
|
-
this.TextFontConfig=CloneData(g_JSChartResource.ChartKLineTable.TextFont);this.
|
|
4164
|
+
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=底部指定行数;
|
|
4165
4165
|
this.AryTableData=[];this.MapCache=null;//key=date/date-time value={ Date:, Time:, Data:[ ] }
|
|
4166
4166
|
this.GetKValue=ChartData.GetKValue;this.AryCellRect=[];//保存单元格信息
|
|
4167
|
-
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);}};//绘制背景色
|
|
4167
|
+
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(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);}};//绘制背景色
|
|
4168
4168
|
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;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;}};//计算行高
|
|
4169
|
-
this.CalculateRowHeight=function(rtBG){if(this.RowHeightType==1){this.RowHeight=this.TextFontConfig.FontMaxSize+this.
|
|
4170
|
-
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.
|
|
4171
|
-
}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.
|
|
4172
|
-
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.
|
|
4169
|
+
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(!IFrameSplitOperator.IsNonEmptyArray(this.AryTableData))return;if(!this.MapCache||this.MapCache.size<=0)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;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;//绘制背景
|
|
4170
|
+
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);//绘制一列
|
|
4171
|
+
}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;}};//绘制右侧行名
|
|
4172
|
+
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))//左右显示
|
|
4173
4173
|
{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);//高度太小了就不要上下间距了
|
|
4174
4174
|
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
|
|
4175
4175
|
return true;}}return false;};}//表格
|
|
@@ -4555,7 +4555,7 @@ var drawCount=0;var pointCount=0;this.Canvas.save();this.ClipClient(isHScreen);i
|
|
|
4555
4555
|
{if(isHScreen){this.Canvas.lineTo(left,x);this.Canvas.lineTo(left,ptFirst.X);this.SetFillStyle(this.AreaColor,this.ChartBorder.GetRightEx(),bottom,this.ChartBorder.GetLeftEx(),bottom);}else{this.Canvas.lineTo(x,bottom);this.Canvas.lineTo(ptFirst.X,bottom);this.SetFillStyle(this.AreaColor,left,this.ChartBorder.GetTopEx(),left,bottom);}this.Canvas.fill();}}}this.Canvas.restore();this.DrawColorLine();this.DrawAfterClose();//收盘集合竞价
|
|
4556
4556
|
this.DrawMultiDayAfterClose();if(this.Identify=="Minute-Line"&&this.ChartFrame.GlobalOption){var globalOption=this.ChartFrame.GlobalOption;globalOption.LatestPoint={X:this.LastPoint.X,Y:this.LastPoint.Y};}if(this.GetEventCallback){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DRAW_MINUTE_LAST_POINT);if(event){var pixelRatio=GetDevicePixelRatio();var data={InterLastPoint:{X:this.LastPoint.X,Y:this.LastPoint.Y},//内部点 给画布用
|
|
4557
4557
|
LastPoint:{X:this.LastPoint.X/pixelRatio,Y:this.LastPoint.Y/pixelRatio},//外部点 给DOM用
|
|
4558
|
-
Price:this.LastPoint.
|
|
4558
|
+
Price:this.LastPoint.Value,Data:this.LastPoint.Data,PixelRatio:pixelRatio};event.Callback(event,data,this);}}};//画领先指标
|
|
4559
4559
|
this.DrawLead=function(){if(!this.LeadData)return;var isHScreen=this.ChartFrame.IsHScreen===true;//if (isHScreen) return;
|
|
4560
4560
|
//var dataWidth=this.ChartFrame.DataWidth;
|
|
4561
4561
|
//var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
@@ -6635,7 +6635,7 @@ this.Super_ExportStorageData=this.ExportStorageData;//this.Label; //{Tex
|
|
|
6635
6635
|
this.LineWidth=1;this.Precision=2;//小数位数
|
|
6636
6636
|
this.ValueTextColor='rgb(250,250,250)';this.IsShowCorssCursor=true;//画的时候是否显示十字光标
|
|
6637
6637
|
this.GetLabelCallback;//绘制标题回调函数
|
|
6638
|
-
this.PointCount=1;this.ClassName='ChartDrawHLine';this.Font=14*GetDevicePixelRatio()+"px 微软雅黑";this.TextFont=12*GetDevicePixelRatio()+"px 微软雅黑";this.RightSpaceWidth=50;this.ButtonPosition=0;//按钮位置, 0=价格后面, 1=价格上面 2=价格上面 左对齐 3=垂直排列
|
|
6638
|
+
this.PointCount=1;this.ClassName='ChartDrawHLine';this.Font=14*GetDevicePixelRatio()+"px 微软雅黑";this.TextFont=12*GetDevicePixelRatio()+"px 微软雅黑";this.RightSpaceWidth=50;this.PriceBGColor;this.ButtonPosition=0;//按钮位置, 0=价格后面, 1=价格上面 2=价格上面 左对齐 3=垂直排列
|
|
6639
6639
|
this.ButtonBGColor='rgb(190,190,190)';this.ButtonSpace=3;this.TopOffset=3;this.TextMargin={Left:0,Right:0,Top:0,Bottom:0,YOffset:4*GetDevicePixelRatio()};this.AlwaysShowLab=false;//总是显示标签
|
|
6640
6640
|
this.Button={CloseIcon:{Text:'\uE62B',Color:'rgb(255,255,255)',Family:"iconfont",Size:16,ID:JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE,TooltipText:null,Margin:{Left:2,Right:2}},SettingIcon:{Text:'\uE623',Color:'rgb(255,255,255)',Family:"iconfont",Size:16,ID:JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING,TooltipText:null,Margin:{Left:2,Right:2}//修改ID, Text , TooltipText 可以外部定制按钮
|
|
6641
6641
|
}};this.CustomButton=[];//自定义的按钮 { Text:'\ue62b', Color:'rgb(255,255,255)', Family:"iconfont", Size:16, ID:JSCHART_BUTTON_ID.DRAW_PICTURE_BUTTON_1, TooltipText:null, Data:null }
|
|
@@ -6645,7 +6645,7 @@ this.ShowPriceTextConfig={IsShow:[false,false,true],//[0]=left内 [1]=right内 [
|
|
|
6645
6645
|
Font:[12*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1',12*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1']};this.LableInfo;//{ Position:2=右侧外部 }
|
|
6646
6646
|
//内部变量
|
|
6647
6647
|
this.ColseButtonSize=0;this.SettingButtonSize=0;this.ButtonBGWidth=0;this.VerticalButtonInfo={Width:0,Height:0};//垂直按钮信息
|
|
6648
|
-
this.IsPointIn=this.IsPointIn_XYValue_Line;this.SetOption=function(option){if(this.Super_SetOption)this.Super_SetOption(option);if(option){if(option.GetLabelCallback){this.GetLabelCallback=option.GetLabelCallback;}if(IFrameSplitOperator.IsNumber(option.Precision))this.Precision=option.Precision;if(option.Font)this.Font=option.Font;if(option.ValueTextColor)this.ValueTextColor=option.ValueTextColor;if(option.ButtonBGColor)this.ButtonBGColor=option.ButtonBGColor;if(IFrameSplitOperator.IsNumber(option.ButtonPosition))this.ButtonPosition=option.ButtonPosition;if(IFrameSplitOperator.IsNumber(option.RightSpaceWidth))this.RightSpaceWidth=option.RightSpaceWidth;if(IFrameSplitOperator.IsBool(option.AlwaysShowLab))this.AlwaysShowLab=option.AlwaysShowLab;if(IFrameSplitOperator.IsNumber(option.TopOffset))this.TopOffset=option.TopOffset;if(option.Button){var item=option.Button;if(item.CloseIcon){this.Button.CloseIcon=CloneData(item.CloseIcon);if(!this.Button.CloseIcon.ID)this.Button.CloseIcon.ID=JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE;}else if(item.CloseIcon===null){this.Button.CloseIcon=null;}if(item.SettingIcon){this.Button.SettingIcon=CloneData(item.SettingIcon);if(!this.Button.SettingIcon.ID)this.Button.SettingIcon.ID=JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING;}else if(item.SettingIcon===null){this.Button.SettingIcon=null;}}if(option.ExtendData)this.ExtendData=option.ExtendData;if(IFrameSplitOperator.IsNonEmptyArray(option.IsShowPriceText)){for(var i=0;i<option.IsShowPriceText.length&&i<3;++i){var value=option.IsShowPriceText[i];if(IFrameSplitOperator.IsBool(value))this.ShowPriceTextConfig.IsShow[i]=value;}}if(option.TextMargin){var item=option.TextMargin;if(IFrameSplitOperator.IsNumber(item.Left))this.TextMargin.Left=item.Left;if(IFrameSplitOperator.IsNumber(item.Right))this.TextMargin.Right=item.Right;if(IFrameSplitOperator.IsNumber(item.Top))this.TextMargin.Top=item.Top;if(IFrameSplitOperator.IsNumber(item.Bottom))this.TextMargin.Bottom=item.Bottom;if(IFrameSplitOperator.IsNumber(item.YOffset))this.TextMargin.YOffset=item.YOffset;}}};this.ExportStorageData=function(){var storageData;if(this.Super_ExportStorageData){storageData=this.Super_ExportStorageData();if(this.Label)storageData.Label=this.Label;}return storageData;};/*
|
|
6648
|
+
this.IsPointIn=this.IsPointIn_XYValue_Line;this.SetOption=function(option){if(this.Super_SetOption)this.Super_SetOption(option);if(option){if(option.GetLabelCallback){this.GetLabelCallback=option.GetLabelCallback;}if(IFrameSplitOperator.IsNumber(option.Precision))this.Precision=option.Precision;if(option.Font)this.Font=option.Font;if(option.ValueTextColor)this.ValueTextColor=option.ValueTextColor;if(option.ButtonBGColor)this.ButtonBGColor=option.ButtonBGColor;if(IFrameSplitOperator.IsNumber(option.ButtonPosition))this.ButtonPosition=option.ButtonPosition;if(IFrameSplitOperator.IsNumber(option.RightSpaceWidth))this.RightSpaceWidth=option.RightSpaceWidth;if(IFrameSplitOperator.IsBool(option.AlwaysShowLab))this.AlwaysShowLab=option.AlwaysShowLab;if(IFrameSplitOperator.IsNumber(option.TopOffset))this.TopOffset=option.TopOffset;if(option.Button){var item=option.Button;if(item.CloseIcon){this.Button.CloseIcon=CloneData(item.CloseIcon);if(!this.Button.CloseIcon.ID)this.Button.CloseIcon.ID=JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE;}else if(item.CloseIcon===null){this.Button.CloseIcon=null;}if(item.SettingIcon){this.Button.SettingIcon=CloneData(item.SettingIcon);if(!this.Button.SettingIcon.ID)this.Button.SettingIcon.ID=JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING;}else if(item.SettingIcon===null){this.Button.SettingIcon=null;}}if(option.ExtendData)this.ExtendData=option.ExtendData;if(IFrameSplitOperator.IsNonEmptyArray(option.IsShowPriceText)){for(var i=0;i<option.IsShowPriceText.length&&i<3;++i){var value=option.IsShowPriceText[i];if(IFrameSplitOperator.IsBool(value))this.ShowPriceTextConfig.IsShow[i]=value;}}if(option.TextMargin){var item=option.TextMargin;if(IFrameSplitOperator.IsNumber(item.Left))this.TextMargin.Left=item.Left;if(IFrameSplitOperator.IsNumber(item.Right))this.TextMargin.Right=item.Right;if(IFrameSplitOperator.IsNumber(item.Top))this.TextMargin.Top=item.Top;if(IFrameSplitOperator.IsNumber(item.Bottom))this.TextMargin.Bottom=item.Bottom;if(IFrameSplitOperator.IsNumber(item.YOffset))this.TextMargin.YOffset=item.YOffset;}if(option.PriceBGColor)this.PriceBGColor=option.PriceBGColor;}};this.ExportStorageData=function(){var storageData;if(this.Super_ExportStorageData){storageData=this.Super_ExportStorageData();if(this.Label)storageData.Label=this.Label;}return storageData;};/*
|
|
6649
6649
|
this.GetXYCoordinate=function()
|
|
6650
6650
|
{
|
|
6651
6651
|
if (this.IsFrameMinSize()) return null;
|
|
@@ -6671,7 +6671,7 @@ if(labelInfo.BGColor){this.Canvas.fillStyle=labelInfo.BGColor;this.Canvas.fillRe
|
|
|
6671
6671
|
{yBottom=border.Bottom;yTop=yBottom-totalHeight;if(yTop<this.TopOffset){yTop=this.TopOffset;yBottom=yTop+totalHeight;}option.Top=yTop;}this.DrawValueText(y,rtDraw,option);var drawLeft=rtDraw.Right-labSize.Width;if(drawLeft<rtDraw.Left)drawLeft=rtDraw.Left;var drawRight=drawLeft+labSize.Width;var drawTop=rtDraw.Bottom;var rtLabel={Left:drawLeft,Right:drawRight,Top:drawTop,Width:labSize.Width,Height:labSize.Height};rtLabel.Bottom=rtLabel.Top+rtLabel.Height;this.DrawLabel(this.LableInfo,labSize,rtLabel);this.DrawVerticalButton(rtLabel);};this.DrawCustomHLine=function(yLine){if(!this.LableInfo)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.LableInfo.AryLine))return;var left=this.Frame.ChartBorder.GetLeft();var right=this.Frame.ChartBorder.GetRight();var pixelRatio=GetDevicePixelRatio();var yMax=yLine,yMin=yLine;for(var i=0;i<this.LableInfo.AryLine.length;++i){var item=this.LableInfo.AryLine[i];if(!IFrameSplitOperator.IsNumber(item.Value))continue;if(item.Width<0)continue;var y=this.Frame.GetYFromData(item.Value);var yFixed=ToFixedPoint(y);var xRight=right;if(IFrameSplitOperator.IsPlusNumber(item.Width)){if(item.Width<1)xRight=left+item.Width*(right-left);//0.3 百分比
|
|
6672
6672
|
else xRight=left+item.Width*pixelRatio;//>1 实际数值就是长度
|
|
6673
6673
|
}if(item.Color)this.Canvas.strokeStyle=item.Color;else this.Canvas.strokeStyle=this.LineColor;this.Canvas.beginPath();this.Canvas.moveTo(left,yFixed);this.Canvas.lineTo(xRight,yFixed);this.Canvas.stroke();if(yMax<yFixed)yMax=yFixed;if(yMin>yFixed)yMin=yFixed;}if(yMax!=yMin&&this.LableInfo.VLine){var item=this.LableInfo.VLine;var x=left+20*pixelRatio;if(IFrameSplitOperator.IsNumber(item.XOffset))x=left+item.XOffset*pixelRatio;x=ToFixedPoint(x);if(item.Color)this.Canvas.strokeStyle=item.Color;else this.Canvas.strokeStyle=this.LineColor;this.Canvas.beginPath();this.Canvas.moveTo(x,yMax);this.Canvas.lineTo(x,yMin);this.Canvas.stroke();}};this.DrawValueText=function(y,rtDraw,option){var left=this.Frame.ChartBorder.GetLeft();var right=this.Frame.ChartBorder.GetRight();var top=this.Frame.ChartBorder.GetTopEx();var bottom=this.Frame.ChartBorder.GetBottomEx();var pixelTatio=GetDevicePixelRatio();var labInfo=this.LabelInfo;if(labInfo&&IFrameSplitOperator.IsNumber(labInfo.TopOffset))top-=labInfo.TopOffset;if(labInfo&&IFrameSplitOperator.IsNumber(labInfo.BottomOffset))bottom+=labInfo.BottomOffset;var yValue=this.Frame.GetYData(y,false);var strValue=yValue.toFixed(this.Precision);if(labInfo&&labInfo.PriceSuffixText)strValue+=labInfo.PriceSuffixText;var bVisibleRange=true;if(y<top){y=top;bVisibleRange=false;}else if(y>bottom){y=bottom;bVisibleRange=false;}if(this.RightSpaceWidth>0){if(!bVisibleRange)this.Canvas.setLineDash([2*pixelTatio,3*pixelTatio]);//虚线
|
|
6674
|
-
this.Canvas.strokeStyle=this.LineColor;this.Canvas.beginPath();this.Canvas.moveTo(right,ToFixedPoint(y));this.Canvas.lineTo(right+this.RightSpaceWidth,ToFixedPoint(y));this.Canvas.stroke();if(!bVisibleRange)this.Canvas.setLineDash([]);}this.Canvas.fillStyle=this.LineColor;this.Canvas.font=this.Font;var textWidth=this.Canvas.measureText(strValue).width;var lineHeight=this.GetFontHeight();var rtBG={Left:right+this.RightSpaceWidth,YCenter:y,Width:textWidth,Height:lineHeight};rtBG.Height+=this.TextMargin.Top+this.TextMargin.Bottom;rtBG.Width+=this.TextMargin.Left+this.TextMargin.Right;rtBG.Right=rtBG.Left+rtBG.Width;rtBG.Top=rtBG.YCenter-rtBG.Height/2;rtBG.Bottom=rtBG.Top+rtBG.Height;if(option&&IFrameSplitOperator.IsNumber(option.Top)){rtBG.Top=option.Top;rtBG.Bottom=rtBG.Top+rtBG.Height;}var xText=rtBG.Left+this.TextMargin.Left;var yText=rtBG.Top+this.TextMargin.Top+this.TextMargin.YOffset;if(this.ButtonPosition==1){this.Canvas.fillRect(ToFixedRect(rtBG.Left),ToFixedRect(rtBG.Top),ToFixedRect(rtBG.Width+this.ButtonBGWidth),ToFixedRect(rtBG.Height));}else{this.Canvas.fillRect(ToFixedRect(rtBG.Left),ToFixedRect(rtBG.Top),ToFixedRect(rtBG.Width),ToFixedRect(rtBG.Height));}this.Canvas.fillStyle=this.ValueTextColor;this.Canvas.textAlign="left";this.Canvas.textBaseline="top";this.Canvas.fillText(strValue,xText,yText);rtDraw.Left=rtBG.Left;rtDraw.Top=rtBG.Top;rtDraw.Bottom=rtBG.Bottom;rtDraw.Right=rtBG.Right;this.DrawButton(rtBG.Top,rtBG.Right,lineHeight,rtDraw);};//计算右侧价格标签大小
|
|
6674
|
+
this.Canvas.strokeStyle=this.LineColor;this.Canvas.beginPath();this.Canvas.moveTo(right,ToFixedPoint(y));this.Canvas.lineTo(right+this.RightSpaceWidth,ToFixedPoint(y));this.Canvas.stroke();if(!bVisibleRange)this.Canvas.setLineDash([]);}if(this.PriceBGColor)this.Canvas.fillStyle=this.PriceBGColor;else this.Canvas.fillStyle=this.LineColor;this.Canvas.font=this.Font;var textWidth=this.Canvas.measureText(strValue).width;var lineHeight=this.GetFontHeight();var rtBG={Left:right+this.RightSpaceWidth,YCenter:y,Width:textWidth,Height:lineHeight};rtBG.Height+=this.TextMargin.Top+this.TextMargin.Bottom;rtBG.Width+=this.TextMargin.Left+this.TextMargin.Right;rtBG.Right=rtBG.Left+rtBG.Width;rtBG.Top=rtBG.YCenter-rtBG.Height/2;rtBG.Bottom=rtBG.Top+rtBG.Height;if(option&&IFrameSplitOperator.IsNumber(option.Top)){rtBG.Top=option.Top;rtBG.Bottom=rtBG.Top+rtBG.Height;}var xText=rtBG.Left+this.TextMargin.Left;var yText=rtBG.Top+this.TextMargin.Top+this.TextMargin.YOffset;if(this.ButtonPosition==1){this.Canvas.fillRect(ToFixedRect(rtBG.Left),ToFixedRect(rtBG.Top),ToFixedRect(rtBG.Width+this.ButtonBGWidth),ToFixedRect(rtBG.Height));}else{this.Canvas.fillRect(ToFixedRect(rtBG.Left),ToFixedRect(rtBG.Top),ToFixedRect(rtBG.Width),ToFixedRect(rtBG.Height));}this.Canvas.fillStyle=this.ValueTextColor;this.Canvas.textAlign="left";this.Canvas.textBaseline="top";this.Canvas.fillText(strValue,xText,yText);rtDraw.Left=rtBG.Left;rtDraw.Top=rtBG.Top;rtDraw.Bottom=rtBG.Bottom;rtDraw.Right=rtBG.Right;this.DrawButton(rtBG.Top,rtBG.Right,lineHeight,rtDraw);};//计算右侧价格标签大小
|
|
6675
6675
|
this.CalculateValueText=function(y){var yValue=this.Frame.GetYData(y,false);var strValue=yValue.toFixed(this.Precision);if(this.LableInfo&&this.LableInfo.PriceSuffixText)strValue+=this.LableInfo.PriceSuffixText;this.Canvas.font=this.Font;var textWidth=this.Canvas.measureText(strValue).width;var lineHeight=this.GetFontHeight();var size={Width:textWidth,Height:lineHeight};size.Height+=this.TextMargin.Top+this.TextMargin.Bottom;size.Width+=this.TextMargin.Left+this.TextMargin.Right;return size;};this.DrawPriceText=function(text,ptStart,ptEnd,position){if(position!=1&&position!=0)return;var font=this.ShowPriceTextConfig.Font[position];this.Canvas.fillStyle=this.LineColor;this.Canvas.font=font;var textWidth=this.Canvas.measureText(text).width;var lineHeight=this.GetFontHeight();var rtBG=null;if(position==1){var rtBG={Left:ptStart.X,Top:ptStart.Y-lineHeight/2,Width:textWidth+4,Height:lineHeight};rtBG.Right=rtBG.Left+rtBG.Width;rtBG.Bottom=rtBG.Top+rtBG.Height;}else if(position==0){var rtBG={Right:ptEnd.X,Top:ptEnd.Y-lineHeight/2,Width:textWidth+4,Height:lineHeight};rtBG.Left=rtBG.Right-rtBG.Width;rtBG.Bottom=rtBG.Top+rtBG.Height;}this.Canvas.fillRect(ToFixedRect(rtBG.Left),ToFixedRect(rtBG.Top),ToFixedRect(rtBG.Width+this.ButtonBGWidth),ToFixedRect(rtBG.Height));this.Canvas.fillStyle=this.ValueTextColor;this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";this.Canvas.fillText(text,rtBG.Left+2,ptStart.Y);};this.CalculateButtonSize=function(){var pixelRatio=GetDevicePixelRatio();if(!IFrameSplitOperator.IsNonEmptyArray(this.AryShowButton))return;var totalWidth=0;for(var i=0;i<this.AryShowButton.length;++i){var item=this.AryShowButton[i];var icon=item.Data;var font=icon.Size*pixelRatio+'px '+icon.Family;this.Canvas.font=font;item.Width=this.Canvas.measureText(icon.Text).width+2;item.Height=item.Width;if(icon.Margin){var margin=icon.Margin;if(IFrameSplitOperator.IsNumber(margin.Left))item.Width+=margin.Left;if(IFrameSplitOperator.IsNumber(margin.Right))item.Width+=margin.Right;if(IFrameSplitOperator.IsNumber(margin.Top))item.Height+=margin.Top;if(IFrameSplitOperator.IsNumber(margin.Bottom))item.Height+=margin.Bottom;}if(this.VerticalButtonInfo.Width<item.Width)this.VerticalButtonInfo.Width=item.Width;this.VerticalButtonInfo.Height+=item.Height;totalWidth+=item.Width;}this.ButtonBGWidth=totalWidth;};//垂直排列按钮
|
|
6676
6676
|
this.DrawVerticalButton=function(rtLab){if(this.ButtonPosition!=3)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.AryShowButton))return;if(this.VerticalButtonInfo.Height<=0)return;var rtBG={Left:rtLab.Right,Top:rtLab.Top,Width:this.VerticalButtonInfo.Width,Height:this.VerticalButtonInfo.Height};rtBG.Right=rtBG.Left+rtBG.Width;rtBG.Bottom=rtBG.Top+rtBG.Height;this.Canvas.fillStyle=this.ButtonBGColor;this.Canvas.fillRect(ToFixedRect(rtBG.Left),ToFixedRect(rtBG.Top),ToFixedRect(rtBG.Width),ToFixedRect(rtBG.Height));var pixelRatio=GetDevicePixelRatio();var yTop=rtLab.Top;for(var i=0;i<this.AryShowButton.length;++i){var item=this.AryShowButton[i];var icon=item.Data;var rtButton={Left:rtBG.Left,Top:yTop,Width:this.VerticalButtonInfo.Width,Height:item.Height};rtButton.Right=rtButton.Left+rtButton.Width;rtButton.Bottom=rtButton.Top+rtButton.Height;var yCenter=rtButton.Top+rtButton.Height/2;var xCenter=rtButton.Left+rtButton.Width/2;var font=icon.Size*pixelRatio+'px '+icon.Family;this.Canvas.font=font;this.Canvas.textAlign="center";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=icon.Color;this.Canvas.fillText(icon.Text,xCenter,yCenter);this.AryButton.push({Rect:rtButton,ID:icon.ID,TooltipText:icon.TooltipText,Data:icon.Data});yTop=rtButton.Bottom;}};this.DrawButton=function(drawTop,drawLeft,drawHeight,rtDraw){if(!IFrameSplitOperator.IsNonEmptyArray(this.AryShowButton))return;if(this.ButtonPosition==3)return;//垂直按钮在DrawVerticalButton()调用
|
|
6677
6677
|
if(this.ButtonPosition==1){drawTop-=drawHeight;var chartWidth=this.Frame.ChartBorder.GetChartWidth();var chartLeft=this.Frame.ChartBorder.GetRight()+this.RightSpaceWidth;if(drawLeft+this.ButtonBGWidth>chartWidth)//右边不够了 往左移动
|
|
@@ -7320,7 +7320,7 @@ TextColor:"rgb(255,255,255)",//文字颜色
|
|
|
7320
7320
|
Font:14*GetDevicePixelRatio()+"px 微软雅黑"//文字字体
|
|
7321
7321
|
},PointType:2,// 0=圆点 1=方框 2=空心圆
|
|
7322
7322
|
IsShowPoint:false//是否始终显示点
|
|
7323
|
-
};this.ChartOX={Family:'iconfont',Up:{Color:'rgb(178,34,34)',Text:'\uE697'},Down:{Color:"rgb(0,206,209)",Text:'\uE68C'},SquareLineColor:'rgb(119,136,153)'};this.KLineTrain={Font:'bold 14px arial',LastDataIcon:{Color:'rgb(0,0,205)',Text:'⬇'},BuyIcon:{Color:'rgb(0,205,102 )',Text:'B'},SellIcon:{Color:'rgb(255,127,36 )',Text:'S'},IconFont:{Family:'iconfont',Buy:{Text:'\uE64A',HScreenText:'\uE68A',Color:'rgb(255,140,0)'},Sell:{Text:'\uE64B',HScreenText:'\uE68A',Color:'rgb(6,79,18)'},Last:{Text:'\uE681',HScreenText:'\uE68A',Color:'rgb(55,0,255)'}}};this.ChartKLineTable={TextFont:{Family:'Arial',FontMaxSize:25},
|
|
7323
|
+
};this.ChartOX={Family:'iconfont',Up:{Color:'rgb(178,34,34)',Text:'\uE697'},Down:{Color:"rgb(0,206,209)",Text:'\uE68C'},SquareLineColor:'rgb(119,136,153)'};this.KLineTrain={Font:'bold 14px arial',LastDataIcon:{Color:'rgb(0,0,205)',Text:'⬇'},BuyIcon:{Color:'rgb(0,205,102 )',Text:'B'},SellIcon:{Color:'rgb(255,127,36 )',Text:'S'},IconFont:{Family:'iconfont',Buy:{Text:'\uE64A',HScreenText:'\uE68A',Color:'rgb(255,140,0)'},Sell:{Text:'\uE64B',HScreenText:'\uE68A',Color:'rgb(6,79,18)'},Last:{Text:'\uE681',HScreenText:'\uE68A',Color:'rgb(55,0,255)'}}};this.ChartKLineTable={TextFont:{Family:'Arial',FontMaxSize:25},ItemMargin:{Left:5,Right:5,Top:4,Bottom:2}};this.ChartSimpleTable={TextFont:{Family:'微软雅黑',Size:14},ItemMargin:{Left:5,Right:5,Top:4,Bottom:2},TextColor:"rgb(0,0,0)",BGColor:"rgba(255,255,255,0.95)",BorderColor:"rgb(217,217,217)"};this.ChartSimplePie={TextFont:{Family:'微软雅黑',Size:12},BorderColor:"rgb(169,169,169)",Offset:{X:-5,Y:5}};this.ChartSimpleDoughnut={TextFont:{Family:'微软雅黑',Size:12},BorderColor:"rgb(169,169,169)",Offset:{X:-5,Y:5}};this.ChartSimpleRadar={TextFont:{Family:'微软雅黑',Size:12},BorderColor:"rgb(169,169,169)",Offset:{X:-5,Y:5},TextColor:"rgb(105,105,105)",AryBGColor:['rgba(255,255,255,0.9)','rgba(230, 234, 242,0.9)'],AryArea:[{Color:"rgba(242,154,118,0.4)",LineColor:"rgb(242,154,118)"},{Color:"rgba(121,197,228,0.4)",LineColor:"rgb(92,165,196)"}]};this.ChartBaseLineBar={UpColor:"rgb(238,21,21)",DownColor:"rgb(25,158,0)"};this.ChartDrawTVLongPosition={TopArea:{AreaColor:"rgba(214, 234, 230,0.8)",SelectedAreaColor:"rgba(214, 234, 230,0.55)",TextBGColor:"rgb(80, 150, 130)",TextColor:"rgb(255,255,255)"},BottomArea:{AreaColor:"rgb(243, 217, 218,0.8)",SelectedAreaColor:"rgba(243, 217, 218,0.55)",TextBGColor:"rgb(214, 75, 75)",TextColor:"rgb(255,255,255)"},Label:{Font:12*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1',Margin:{Left:2,Top:2,Bottom:2,Right:2}}//手机端tooltip
|
|
7324
7324
|
};this.TooltipPaint={BGColor:'rgba(250,250,250,0.8)',//背景色
|
|
7325
7325
|
BorderColor:'rgb(120,120,120)',//边框颜色
|
|
7326
7326
|
TitleColor:'rgb(79, 79, 79)',//标题颜色
|
|
@@ -12523,7 +12523,7 @@ chart.Bars=varItem.Draw.DrawData;chart.BuildCacheData();this.SetChartIndexName(c
|
|
|
12523
12523
|
chart.Texts=varItem.Draw.DrawData;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateMultiSVGIcon=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiSVGIconV2();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.GetKData();//绑定K线
|
|
12524
12524
|
chart.Family=varItem.Draw.DrawData.Family;chart.AryIcon=varItem.Draw.DrawData.Icon;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateChartDrawSVG=function(hqChart,windowIndex,varItem,i){var chart=new ChartDrawSVG();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.GetKData();if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.EnableTooltip))chart.EnableTooltip=varItem.Draw.DrawData.EnableTooltip;if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.IsDrawFirst))chart.IsDrawFirst=varItem.Draw.DrawData.IsDrawFirst;if(IFrameSplitOperator.IsBool(varItem.Draw.EnalbeDetailNoOverlap))chart.EnalbeDetailNoOverlap=varItem.Draw.EnalbeDetailNoOverlap;if(IFrameSplitOperator.IsBool(varItem.Draw.EnableClick))chart.EnableClick=varItem.Draw.EnableClick;if(varItem.Draw.BuildKeyCallback)chart.BuildKeyCallback=varItem.Draw.BuildKeyCallback;chart.Family=varItem.Draw.DrawData.Family;chart.TextFont=varItem.Draw.DrawData.TextFont;chart.Texts=varItem.Draw.DrawData.Data;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateMulitHtmlDom=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiHtmlDom();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
12525
12525
|
chart.Texts=varItem.Draw.DrawData;chart.DrawCallback=varItem.Draw.Callback;hqChart.ChartPaint.push(chart);};this.CreateStackedBar=function(hqChart,windowIndex,varItem,i){var chart=new ChartStackedBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data.Data=varItem.Draw.DrawData;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.BarColor))chart.BarColor=varItem.Draw.BarColor;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.BarName))chart.BarName=varItem.Draw.BarName;if(IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth))chart.LineWidth=varItem.Draw.LineWidth;if(IFrameSplitOperator.IsNumber(varItem.Draw.BarType))chart.BarType=varItem.Draw.BarType;hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);titleData.DataType="ChartStackedBar";hqChart.TitlePaint[titleIndex].Data[i]=titleData;};this.CreateKLineTable=function(hqChart,windowIndex,varItem,i){var chart=new ChartKLineTable();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data=hqChart.GetKData();//绑定K线
|
|
12526
|
-
chart.AryTableData=varItem.Draw.DrawData;if(IFrameSplitOperator.IsNumber(varItem.Draw.RowCount))chart.RowCount=varItem.Draw.RowCount;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName))chart.RowName=varItem.Draw.RowName;var config=varItem.Draw.Config;
|
|
12526
|
+
chart.AryTableData=varItem.Draw.DrawData;if(IFrameSplitOperator.IsNumber(varItem.Draw.RowCount))chart.RowCount=varItem.Draw.RowCount;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName))chart.RowName=varItem.Draw.RowName;var config=varItem.Draw.Config;chart.SetOption(config);chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);titleData.DataType="ChartKLineTable";hqChart.TitlePaint[titleIndex].Data[i]=titleData;};this.CreateScatterPlot=function(hqChart,windowIndex,varItem,i){var chart=new ChartScatterPlot();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data.Data=varItem.Draw.DrawData;chart.Color=varItem.Draw.Color;chart.Radius=varItem.Draw.Radius;hqChart.ChartPaint.push(chart);};this.CreateScatterPlotV2=function(hqChart,windowIndex,varItem,i){var chart=new ChartScatterPlotV2();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data=hqChart.GetKData();//绑定K线
|
|
12527
12527
|
chart.AryPoint=varItem.Draw.DrawData;var config=varItem.Draw.Config;if(config){if(config.Color)chart.Color=config.Color;if(IFrameSplitOperator.IsNumber(config.Radius))chart.Radius=config.Radius;if(config.TextColor)chart.TextColor=config.TextColor;if(config.Font)chart.Font=config.Font;}chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,i){var chart=new ChartBaseLineBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data=hqChart.GetKData();//绑定K线
|
|
12528
12528
|
chart.AryData=varItem.Draw.DrawData;chart.Style=1;//主图使用独立坐标模式
|
|
12529
12529
|
var config=varItem.Draw.Config;if(config){if(config.UpColor)chart.UpColor=config.UpColor;if(config.DownColor)chart.DownColor=config.DownColor;if(IFrameSplitOperator.IsNumber(config.DefaultMax))chart.DefaultMax=config.DefaultMax;if(IFrameSplitOperator.IsNumber(config.Style))chart.Style=config.Style;if(config.UpName)chart.UpName=config.UpName;if(config.DownName)chart.DownName=config.DownName;}chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var titleData=new DynamicTitleData(chart.Data,null,chart.Color);titleData.DataType="ChartBaseLineBar";titleData.Chart=chart;hqChart.TitlePaint[titleIndex].Data[i]=titleData;};this.CreateClipColorStick=function(hqChart,windowIndex,varItem,id){var chart=new ChartClipColorStick();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data.Data=varItem.Draw.DrawData;if(varItem.Option&&chart.SetOption)chart.SetOption(varItem.Option);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;if(varItem.IsShowTitle===false){}else{var clrTitle=this.GetDefaultColor(id);if(varItem.Option&&varItem.Option.TitleColor)clrTitle=this.GetColor(varItem.Option.TitleColor);hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(chart.Data,varItem.Name,clrTitle);}};this.CreateColorKLine=function(hqChart,windowIndex,varItem,i){var chart=new ChartColorKline();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
@@ -12641,7 +12641,7 @@ this.CreateIcon=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.O
|
|
|
12641
12641
|
this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateTipIcon=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartDrawSVG();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();chart.Family=varItem.Draw.Icon.Family;chart.TextFont=g_JSChartResource.TIPICON.TextFont;var svgSize=g_JSChartResource.TIPICON.Size;var svgColor=g_JSChartResource.TIPICON.Color;var svgYOffset=0;var svgVAlign=2;//上下对齐方式
|
|
12642
12642
|
if(IFrameSplitOperator.IsNumber(varItem.YOffset))svgYOffset=varItem.YOffset;if(varItem.Color)svgColor=this.GetColor(varItem.Color);if(varItem.DrawFontSize>0)svgSize=varItem.DrawFontSize;if(varItem.DrawVAlign>=0)svgVAlign=varItem.DrawVAlign;if(varItem.Draw&&IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.DrawData)&&varItem.Draw.Icon){var drawData=varItem.Draw.DrawData;var aryData=[];var isArrayTip=Array.isArray(varItem.Draw.Text);var singleTip=null;if(!isArrayTip&&varItem.Draw.Text)singleTip={Text:varItem.Draw.Text};for(var j=0;j<drawData.length;++j){var item=drawData[j];var kItem=chart.Data.Data[j];if(!IFrameSplitOperator.IsNumber(item))continue;var svgItem={Value:item,Date:kItem.Date,Time:kItem.Time,SVG:{Symbol:varItem.Draw.Icon.Symbol,Size:svgSize,Color:svgColor,YOffset:svgYOffset,VAlign:svgVAlign}};if(isArrayTip){var text=varItem.Draw.Text[j];if(text)svgItem.Tooltip={Text:text};}else{svgItem.Tooltip=singleTip;}aryData.push(svgItem);}chart.Texts=aryData;}chart.BuildCacheData();this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartBaseLineBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.HQChart=hqChart;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();//绑定K线
|
|
12643
12643
|
chart.AryData=varItem.Draw.DrawData;var config=varItem.Draw.Config;if(config){if(config.UpColor)chart.UpColor=config.UpColor;if(config.DownColor)chart.DownColor=config.DownColor;if(IFrameSplitOperator.IsNumber(config.DefaultMax))chart.DefaultMax=config.DefaultMax;if(IFrameSplitOperator.IsNumber(config.Style))chart.Style=config.Style;}chart.BuildCacheData();frame.ChartPaint.push(chart);};this.CreateKLineTable=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartKLineTable();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.HQChart=hqChart;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();//绑定K线
|
|
12644
|
-
chart.AryTableData=varItem.Draw.DrawData;if(IFrameSplitOperator.IsNumber(varItem.Draw.RowCount))chart.RowCount=varItem.Draw.RowCount;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName))chart.RowName=varItem.Draw.RowName;var config=varItem.Draw.Config;
|
|
12644
|
+
chart.AryTableData=varItem.Draw.DrawData;if(IFrameSplitOperator.IsNumber(varItem.Draw.RowCount))chart.RowCount=varItem.Draw.RowCount;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName))chart.RowName=varItem.Draw.RowName;var config=varItem.Draw.Config;chart.SetOption(config);chart.BuildCacheData();frame.ChartPaint.push(chart);var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);titleData.DataType="ChartKLineTable";titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;};//创建通道
|
|
12645
12645
|
this.CreateChannel=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartChannel();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Draw.AreaColor)chart.AreaColor=varItem.Draw.AreaColor;else if(varItem.Color)chart.AreaColor=this.GetColor(varItem.Color);else chart.AreaColor=this.GetDefaultColor(id);if(varItem.Draw.Border.Color)chart.LineColor=varItem.Draw.Border.Color;else chart.LineColor=null;if(varItem.Draw.Border.Dotted)chart.LineDotted=varItem.Draw.Border.Dotted;if(varItem.Draw.Border.Width>0)chart.LineWidth=varItem.Draw.Border.Width;//let titleIndex=windowIndex+1;
|
|
12646
12646
|
chart.Data.Data=varItem.Draw.DrawData;frame.ChartPaint.push(chart);};//
|
|
12647
12647
|
this.CreatePartLine=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartPartLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(IFrameSplitOperator.IsPlusNumber(width))chart.LineWidth=width;}if(IFrameSplitOperator.IsBool(varItem.IsDotLine))chart.IsDotLine=varItem.IsDotLine;if(IFrameSplitOperator.IsNonEmptyArray(varItem.LineDash))chart.LineDash=varItem.LineDash;chart.Data.Data=varItem.Draw.DrawData;this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateMultiLine=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
@@ -12736,7 +12736,7 @@ if(item.data){outVarItem.Data=this.FittingMinuteArray(item.data,date,time,hqChar
|
|
|
12736
12736
|
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='STICKLINE')//柱子
|
|
12737
12737
|
{drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.Width=draw.Width;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.OVERLAY_BARS){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.BarName=draw.BarName;drawItem.BarColor=draw.BarColor;drawItem.LineWidth=draw.LineWidth;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.CLIP_COLOR_STICK){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.Data,date,time,hqChart);outVarItem.Draw=drawItem;if(draw.Option)outVarItem.Option=draw.Option;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.BASELINE_BAR){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_LINE'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);for(var k in drawItem.DrawData){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}outVarItem.Draw=drawItem;if(draw.LineDash)drawItem.LineDash=draw.LineDash;if(draw.Arrow)drawItem.Arrow=draw.Arrow;result.push(outVarItem);}else if(draw.DrawType=='MULTI_POINT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_TEXT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_SVGICON'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={Icon:draw.DrawData.Icon,Family:draw.DrawData.Family};outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWSVG'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;if(draw.AutoPosition)drawItem.AutoPosition=draw.AutoPosition;drawItem.EnalbeDetailNoOverlap=draw.EnalbeDetailNoOverlap;drawItem.EnableClick=draw.EnableClick;if(draw.BuildKeyCallback)drawItem.BuildKeyCallback=draw.BuildKeyCallback;drawItem.DrawData={Data:draw.Data,Family:draw.Family,TextFont:draw.TextFont,EnableTooltip:draw.EnableTooltip,IsDrawFirst:draw.IsDrawFirst};outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="MULTI_HTMLDOM")//外部自己创建dom
|
|
12738
12738
|
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.Callback=draw.Callback;drawItem.DrawData=this.FittingMultiText(draw.DrawData,date,time,hqChart);this.GetKLineData(drawItem.DrawData,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_BAR'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="DRAWCOLORKLINE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;if(draw.Color)drawItem.Color=draw.Color;if(IFrameSplitOperator.IsBool(draw.IsEmptyBar))drawItem.IsEmptyBar=draw.IsEmptyBar;result.push(outVarItem);}else if(draw.DrawType=="DRAWTEXT_LINE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;//{ Price:, Text:{ Title:text, Color:textcolor }, Line:{ Type:linetype, Color:linecolor } };
|
|
12739
|
-
outVarItem.Draw=drawItem;if(draw.Font)outVarItem.Font=draw.Font;result.push(outVarItem);}else if(draw.DrawType=="DRAWTITLE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else{var find=g_ScriptIndexChartFactory.Get(draw.DrawType);//外部挂接
|
|
12739
|
+
outVarItem.Draw=drawItem;if(draw.Font)outVarItem.Font=draw.Font;result.push(outVarItem);}else if(draw.DrawType=="DRAWTITLE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.KLINE_TABLE){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;drawItem.RowCount=draw.RowCount;drawItem.RowName=draw.RowName;drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else{var find=g_ScriptIndexChartFactory.Get(draw.DrawType);//外部挂接
|
|
12740
12740
|
if(find&&find.MinuteFittingCallback){if(find.MinuteFittingCallback(item,outVarItem,{Date:date,Time:time,HQChart:hqChart},this))result.push(outVarItem);}}}}return result;};//matchType 0=精确匹配(默认) 5=模糊匹配
|
|
12741
12741
|
this.FittingMinuteArray=function(sourceData,date,time,hqChart,matchType){var minutedata=hqChart.SourceData;;//分钟线
|
|
12742
12742
|
var arySingleData=[];for(var i in sourceData){var value=sourceData[i];var indexItem=new SingleData();//单列指标数据
|
|
@@ -15283,7 +15283,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
15283
15283
|
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);};}/********************************************************************************
|
|
15284
15284
|
* 版本信息输出
|
|
15285
15285
|
*
|
|
15286
|
-
*/var HQCHART_VERSION="1.1.
|
|
15286
|
+
*/var HQCHART_VERSION="1.1.15010";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();//把给外界调用的方法暴露出来
|
|
15287
15287
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
15288
15288
|
// BaseIndex:BaseIndex,
|
|
15289
15289
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -22244,31 +22244,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
22244
22244
|
if (IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName)) chart.RowName=varItem.Draw.RowName;
|
|
22245
22245
|
|
|
22246
22246
|
var config=varItem.Draw.Config;
|
|
22247
|
-
|
|
22248
|
-
{
|
|
22249
|
-
if (config.BGColor) chart.BGColor=config.BGColor;
|
|
22250
|
-
if (config.TextColor) chart.TextColor=config.TextColor;
|
|
22251
|
-
if (config.BorderColor) chart.BorderColor=config.BorderColor;
|
|
22252
|
-
if (IFrameSplitOperator.IsNumber(config.RowNamePosition)) chart.RowNamePosition=config.RowNamePosition;
|
|
22253
|
-
if (IFrameSplitOperator.IsNumber(config.RowHeightType)) chart.RowHeightType=config.RowHeightType;
|
|
22254
|
-
|
|
22255
|
-
if (config.ItemMergin)
|
|
22256
|
-
{
|
|
22257
|
-
var subItem=config.ItemMergin;
|
|
22258
|
-
if (IFrameSplitOperator.IsNumber(subItem.Left)) chart.ItemMergin.Left=subItem.Left;
|
|
22259
|
-
if (IFrameSplitOperator.IsNumber(subItem.Top)) chart.ItemMergin.Top=subItem.Top;
|
|
22260
|
-
if (IFrameSplitOperator.IsNumber(subItem.Bottom)) chart.ItemMergin.Bottom=subItem.Bottom;
|
|
22261
|
-
if (IFrameSplitOperator.IsNumber(subItem.Right)) chart.ItemMergin.Right=subItem.Right;
|
|
22262
|
-
if (IFrameSplitOperator.IsNumber(subItem.YOffset)) chart.ItemMergin.YOffset=subItem.YOffset;
|
|
22263
|
-
}
|
|
22264
|
-
|
|
22265
|
-
if (config.TextFont)
|
|
22266
|
-
{
|
|
22267
|
-
var subItem=config.TextFont;
|
|
22268
|
-
if (IFrameSplitOperator.IsNumber(subItem.FontMaxSize)) chart.TextFontConfig.FontMaxSize=subItem.FontMaxSize;
|
|
22269
|
-
if (subItem.Family) chart.TextFontConfig.Family=subItem.Family;
|
|
22270
|
-
}
|
|
22271
|
-
}
|
|
22247
|
+
chart.SetOption(config);
|
|
22272
22248
|
|
|
22273
22249
|
chart.BuildCacheData();
|
|
22274
22250
|
this.SetChartIndexName(chart);
|
|
@@ -23953,33 +23929,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
23953
23929
|
if (IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName)) chart.RowName=varItem.Draw.RowName;
|
|
23954
23930
|
|
|
23955
23931
|
var config=varItem.Draw.Config;
|
|
23956
|
-
|
|
23957
|
-
{
|
|
23958
|
-
if (config.BGColor) chart.BGColor=config.BGColor;
|
|
23959
|
-
if (config.TextColor) chart.TextColor=config.TextColor;
|
|
23960
|
-
if (config.BorderColor) chart.BorderColor=config.BorderColor;
|
|
23961
|
-
if (IFrameSplitOperator.IsNumber(config.RowNamePosition)) chart.RowNamePosition=config.RowNamePosition;
|
|
23962
|
-
if (IFrameSplitOperator.IsNumber(config.RowHeightType)) chart.RowHeightType=config.RowHeightType;
|
|
23963
|
-
if (IFrameSplitOperator.IsNumber(config.Style)) chart.Style=config.Style;
|
|
23964
|
-
|
|
23965
|
-
if (config.ItemMergin)
|
|
23966
|
-
{
|
|
23967
|
-
var subItem=config.ItemMergin;
|
|
23968
|
-
if (IFrameSplitOperator.IsNumber(subItem.Left)) chart.ItemMergin.Left=subItem.Left;
|
|
23969
|
-
if (IFrameSplitOperator.IsNumber(subItem.Top)) chart.ItemMergin.Top=subItem.Top;
|
|
23970
|
-
if (IFrameSplitOperator.IsNumber(subItem.Bottom)) chart.ItemMergin.Bottom=subItem.Bottom;
|
|
23971
|
-
if (IFrameSplitOperator.IsNumber(subItem.Right)) chart.ItemMergin.Right=subItem.Right;
|
|
23972
|
-
if (IFrameSplitOperator.IsNumber(subItem.YOffset)) chart.ItemMergin.YOffset=subItem.YOffset;
|
|
23973
|
-
}
|
|
23974
|
-
|
|
23975
|
-
if (config.TextFont)
|
|
23976
|
-
{
|
|
23977
|
-
var subItem=config.TextFont;
|
|
23978
|
-
if (IFrameSplitOperator.IsNumber(subItem.FontMaxSize)) chart.TextFontConfig.FontMaxSize=subItem.FontMaxSize;
|
|
23979
|
-
if (subItem.Family) chart.TextFontConfig.Family=subItem.Family;
|
|
23980
|
-
}
|
|
23981
|
-
}
|
|
23982
|
-
|
|
23932
|
+
chart.SetOption(config);
|
|
23983
23933
|
chart.BuildCacheData();
|
|
23984
23934
|
frame.ChartPaint.push(chart);
|
|
23985
23935
|
|
|
@@ -26048,6 +25998,18 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
26048
25998
|
|
|
26049
25999
|
result.push(outVarItem);
|
|
26050
26000
|
}
|
|
26001
|
+
else if (draw.DrawType==SCRIPT_CHART_NAME.KLINE_TABLE)
|
|
26002
|
+
{
|
|
26003
|
+
drawItem.Name=draw.Name;
|
|
26004
|
+
drawItem.Type=draw.Type;
|
|
26005
|
+
drawItem.DrawType=draw.DrawType;
|
|
26006
|
+
drawItem.DrawData=draw.DrawData;
|
|
26007
|
+
drawItem.RowCount=draw.RowCount;
|
|
26008
|
+
drawItem.RowName=draw.RowName;
|
|
26009
|
+
drawItem.Config=draw.Config;
|
|
26010
|
+
outVarItem.Draw=drawItem;
|
|
26011
|
+
result.push(outVarItem);
|
|
26012
|
+
}
|
|
26051
26013
|
else
|
|
26052
26014
|
{
|
|
26053
26015
|
var find=g_ScriptIndexChartFactory.Get(draw.DrawType); //外部挂接
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -33871,7 +33871,8 @@ function ChartKLineTable()
|
|
|
33871
33871
|
this.RowHeight=10; //行高
|
|
33872
33872
|
this.RowHeightType=1; //0=均分 1=固定高度
|
|
33873
33873
|
this.TextFontConfig=CloneData(g_JSChartResource.ChartKLineTable.TextFont);
|
|
33874
|
-
this.
|
|
33874
|
+
this.ItemMargin=CloneData(g_JSChartResource.ChartKLineTable.ItemMargin);
|
|
33875
|
+
this.CellWidth=12*GetDevicePixelRatio();
|
|
33875
33876
|
|
|
33876
33877
|
this.TextFont;
|
|
33877
33878
|
this.TextColor='rgb(0,0,0)';
|
|
@@ -33881,6 +33882,37 @@ function ChartKLineTable()
|
|
|
33881
33882
|
this.MapCache=null; //key=date/date-time value={ Date:, Time:, Data:[ ] }
|
|
33882
33883
|
this.GetKValue=ChartData.GetKValue;
|
|
33883
33884
|
this.AryCellRect=[]; //保存单元格信息
|
|
33885
|
+
|
|
33886
|
+
|
|
33887
|
+
this.SetOption=function(option)
|
|
33888
|
+
{
|
|
33889
|
+
if (!option) return;
|
|
33890
|
+
|
|
33891
|
+
if (option.BGColor) this.BGColor=option.BGColor;
|
|
33892
|
+
if (option.TextColor) this.TextColor=option.TextColor;
|
|
33893
|
+
if (option.BorderColor) this.BorderColor=option.BorderColor;
|
|
33894
|
+
if (IFrameSplitOperator.IsNumber(option.RowNamePosition)) this.RowNamePosition=option.RowNamePosition;
|
|
33895
|
+
if (IFrameSplitOperator.IsNumber(option.RowHeightType)) this.RowHeightType=option.RowHeightType;
|
|
33896
|
+
|
|
33897
|
+
if (option.ItemMargin)
|
|
33898
|
+
{
|
|
33899
|
+
var subItem=option.ItemMargin;
|
|
33900
|
+
if (IFrameSplitOperator.IsNumber(subItem.Left)) this.ItemMargin.Left=subItem.Left;
|
|
33901
|
+
if (IFrameSplitOperator.IsNumber(subItem.Top)) this.ItemMargin.Top=subItem.Top;
|
|
33902
|
+
if (IFrameSplitOperator.IsNumber(subItem.Bottom)) this.ItemMargin.Bottom=subItem.Bottom;
|
|
33903
|
+
if (IFrameSplitOperator.IsNumber(subItem.Right)) this.ItemMargin.Right=subItem.Right;
|
|
33904
|
+
if (IFrameSplitOperator.IsNumber(subItem.YOffset)) this.ItemMargin.YOffset=subItem.YOffset;
|
|
33905
|
+
}
|
|
33906
|
+
|
|
33907
|
+
if (option.TextFont)
|
|
33908
|
+
{
|
|
33909
|
+
var subItem=option.TextFont;
|
|
33910
|
+
if (IFrameSplitOperator.IsNumber(subItem.FontMaxSize)) this.TextFontConfig.FontMaxSize=subItem.FontMaxSize;
|
|
33911
|
+
if (subItem.Family) this.TextFontConfig.Family=subItem.Family;
|
|
33912
|
+
}
|
|
33913
|
+
|
|
33914
|
+
if (IFrameSplitOperator.IsPlusNumber(option.CellWidth)) this.CellWidth=option.CellWidth;
|
|
33915
|
+
}
|
|
33884
33916
|
|
|
33885
33917
|
this.BuildCacheData=function()
|
|
33886
33918
|
{
|
|
@@ -33939,7 +33971,7 @@ function ChartKLineTable()
|
|
|
33939
33971
|
{
|
|
33940
33972
|
if (this.RowHeightType==1)
|
|
33941
33973
|
{
|
|
33942
|
-
this.RowHeight=this.TextFontConfig.FontMaxSize+this.
|
|
33974
|
+
this.RowHeight=this.TextFontConfig.FontMaxSize+this.ItemMargin.Top+this.ItemMargin.Bottom;
|
|
33943
33975
|
}
|
|
33944
33976
|
else
|
|
33945
33977
|
{
|
|
@@ -33998,23 +34030,40 @@ function ChartKLineTable()
|
|
|
33998
34030
|
|
|
33999
34031
|
var itemHeight=this.RowHeight;
|
|
34000
34032
|
var itemWidth=dataWidth+distanceWidth;
|
|
34001
|
-
if (itemHeight-this.
|
|
34002
|
-
if (itemWidth-this.
|
|
34033
|
+
if (itemHeight-this.ItemMargin.Top-this.ItemMargin.Bottom>0) itemHeight=itemHeight-this.ItemMargin.Top-this.ItemMargin.Bottom;
|
|
34034
|
+
if (itemWidth-this.ItemMargin.Left-this.ItemMargin.Right>0) itemWidth=itemWidth-this.ItemMargin.Left-this.ItemMargin.Right;
|
|
34003
34035
|
|
|
34004
34036
|
var font=this.GetDynamicTextFont(itemHeight, itemWidth);
|
|
34005
34037
|
this.TextFont=font;
|
|
34006
34038
|
this.Canvas.font=this.TextFont;
|
|
34039
|
+
var bMinute=this.IsMinuteFrame();
|
|
34040
|
+
var cellWidth=1
|
|
34041
|
+
if (bMinute)
|
|
34042
|
+
{
|
|
34043
|
+
cellWidth=(border.Right-border.Left)/this.ChartFrame.XPointCount;
|
|
34044
|
+
if (cellWidth<1) cellWidth=1;
|
|
34045
|
+
}
|
|
34007
34046
|
|
|
34008
34047
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
34009
34048
|
{
|
|
34010
34049
|
var kItem=this.Data.Data[i];
|
|
34011
34050
|
if (!kItem) continue;
|
|
34012
34051
|
|
|
34013
|
-
|
|
34014
|
-
|
|
34015
|
-
|
|
34016
|
-
|
|
34017
|
-
|
|
34052
|
+
if (bMinute)
|
|
34053
|
+
{
|
|
34054
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
34055
|
+
var left=x-cellWidth/2;
|
|
34056
|
+
var right=x+cellWidth/2;
|
|
34057
|
+
}
|
|
34058
|
+
else
|
|
34059
|
+
{
|
|
34060
|
+
var left=xOffset;
|
|
34061
|
+
var right=xOffset+dataWidth+distanceWidth;
|
|
34062
|
+
if (right>chartright) break;
|
|
34063
|
+
var x=left+(right-left)/2;
|
|
34064
|
+
if (x>chartright) break;
|
|
34065
|
+
}
|
|
34066
|
+
|
|
34018
34067
|
|
|
34019
34068
|
var bDrawName=false;
|
|
34020
34069
|
if (j==0 && this.RowNamePosition===1) bDrawName=true;
|
|
@@ -34038,7 +34087,7 @@ function ChartKLineTable()
|
|
|
34038
34087
|
|
|
34039
34088
|
var x=left,y=top, width=right-left;
|
|
34040
34089
|
var yOffset=3;
|
|
34041
|
-
if (this.
|
|
34090
|
+
if (this.ItemMargin.YOffset) yOffset=this.ItemMargin.YOffset;
|
|
34042
34091
|
for(var i=0;i<this.RowName.length;++i)
|
|
34043
34092
|
{
|
|
34044
34093
|
var item=this.RowName[i];
|
|
@@ -34120,7 +34169,7 @@ function ChartKLineTable()
|
|
|
34120
34169
|
|
|
34121
34170
|
var x=rtBG.Right, y=rtBG.Top;
|
|
34122
34171
|
var yOffset=3;
|
|
34123
|
-
if (this.
|
|
34172
|
+
if (this.ItemMargin.YOffset) yOffset=this.ItemMargin.YOffset;
|
|
34124
34173
|
for(var i=0;i<this.RowName.length;++i)
|
|
34125
34174
|
{
|
|
34126
34175
|
var item=this.RowName[i];
|
|
@@ -34151,7 +34200,7 @@ function ChartKLineTable()
|
|
|
34151
34200
|
|
|
34152
34201
|
var x=left,y=top, width=right-left;
|
|
34153
34202
|
var yOffset=3;
|
|
34154
|
-
if (this.
|
|
34203
|
+
if (this.ItemMargin.YOffset) yOffset=this.ItemMargin.YOffset;
|
|
34155
34204
|
for(var i=0; i<data.Data.length; ++i, y+=this.RowHeight)
|
|
34156
34205
|
{
|
|
34157
34206
|
var item=data.Data[i];
|
|
@@ -40233,7 +40282,7 @@ function ChartMinutePriceLine()
|
|
|
40233
40282
|
{
|
|
40234
40283
|
InterLastPoint:{X:this.LastPoint.X, Y:this.LastPoint.Y}, //内部点 给画布用
|
|
40235
40284
|
LastPoint:{X:this.LastPoint.X/pixelRatio, Y:this.LastPoint.Y/pixelRatio}, //外部点 给DOM用
|
|
40236
|
-
Price:this.LastPoint.
|
|
40285
|
+
Price:this.LastPoint.Value, Data:this.LastPoint.Data,
|
|
40237
40286
|
PixelRatio:pixelRatio,
|
|
40238
40287
|
};
|
|
40239
40288
|
event.Callback(event,data,this);
|
|
@@ -66545,6 +66594,7 @@ function ChartDrawHLine()
|
|
|
66545
66594
|
this.Font=14*GetDevicePixelRatio() +"px 微软雅黑";
|
|
66546
66595
|
this.TextFont=12*GetDevicePixelRatio() +"px 微软雅黑";
|
|
66547
66596
|
this.RightSpaceWidth=50;
|
|
66597
|
+
this.PriceBGColor;
|
|
66548
66598
|
|
|
66549
66599
|
this.ButtonPosition=0; //按钮位置, 0=价格后面, 1=价格上面 2=价格上面 左对齐 3=垂直排列
|
|
66550
66600
|
this.ButtonBGColor='rgb(190,190,190)';
|
|
@@ -66651,6 +66701,8 @@ function ChartDrawHLine()
|
|
|
66651
66701
|
if (IFrameSplitOperator.IsNumber(item.Bottom)) this.TextMargin.Bottom=item.Bottom;
|
|
66652
66702
|
if (IFrameSplitOperator.IsNumber(item.YOffset)) this.TextMargin.YOffset=item.YOffset;
|
|
66653
66703
|
}
|
|
66704
|
+
|
|
66705
|
+
if (option.PriceBGColor) this.PriceBGColor=option.PriceBGColor;
|
|
66654
66706
|
}
|
|
66655
66707
|
}
|
|
66656
66708
|
|
|
@@ -67091,7 +67143,8 @@ function ChartDrawHLine()
|
|
|
67091
67143
|
if (!bVisibleRange) this.Canvas.setLineDash([]);
|
|
67092
67144
|
}
|
|
67093
67145
|
|
|
67094
|
-
this.Canvas.fillStyle=this.
|
|
67146
|
+
if (this.PriceBGColor) this.Canvas.fillStyle=this.PriceBGColor;
|
|
67147
|
+
else this.Canvas.fillStyle=this.LineColor;
|
|
67095
67148
|
this.Canvas.font=this.Font;
|
|
67096
67149
|
var textWidth=this.Canvas.measureText(strValue).width;
|
|
67097
67150
|
var lineHeight=this.GetFontHeight();
|
|
@@ -76826,7 +76879,7 @@ function JSChartResource()
|
|
|
76826
76879
|
this.ChartKLineTable=
|
|
76827
76880
|
{
|
|
76828
76881
|
TextFont:{ Family:'Arial' , FontMaxSize:25 },
|
|
76829
|
-
|
|
76882
|
+
ItemMargin:{ Left:5, Right:5, Top:4, Bottom:2 },
|
|
76830
76883
|
};
|
|
76831
76884
|
|
|
76832
76885
|
this.ChartSimpleTable=
|
|
@@ -37967,7 +37967,8 @@ function ChartKLineTable()
|
|
|
37967
37967
|
this.RowHeight=10; //行高
|
|
37968
37968
|
this.RowHeightType=1; //0=均分 1=固定高度
|
|
37969
37969
|
this.TextFontConfig=CloneData(g_JSChartResource.ChartKLineTable.TextFont);
|
|
37970
|
-
this.
|
|
37970
|
+
this.ItemMargin=CloneData(g_JSChartResource.ChartKLineTable.ItemMargin);
|
|
37971
|
+
this.CellWidth=12*GetDevicePixelRatio();
|
|
37971
37972
|
|
|
37972
37973
|
this.TextFont;
|
|
37973
37974
|
this.TextColor='rgb(0,0,0)';
|
|
@@ -37977,6 +37978,37 @@ function ChartKLineTable()
|
|
|
37977
37978
|
this.MapCache=null; //key=date/date-time value={ Date:, Time:, Data:[ ] }
|
|
37978
37979
|
this.GetKValue=ChartData.GetKValue;
|
|
37979
37980
|
this.AryCellRect=[]; //保存单元格信息
|
|
37981
|
+
|
|
37982
|
+
|
|
37983
|
+
this.SetOption=function(option)
|
|
37984
|
+
{
|
|
37985
|
+
if (!option) return;
|
|
37986
|
+
|
|
37987
|
+
if (option.BGColor) this.BGColor=option.BGColor;
|
|
37988
|
+
if (option.TextColor) this.TextColor=option.TextColor;
|
|
37989
|
+
if (option.BorderColor) this.BorderColor=option.BorderColor;
|
|
37990
|
+
if (IFrameSplitOperator.IsNumber(option.RowNamePosition)) this.RowNamePosition=option.RowNamePosition;
|
|
37991
|
+
if (IFrameSplitOperator.IsNumber(option.RowHeightType)) this.RowHeightType=option.RowHeightType;
|
|
37992
|
+
|
|
37993
|
+
if (option.ItemMargin)
|
|
37994
|
+
{
|
|
37995
|
+
var subItem=option.ItemMargin;
|
|
37996
|
+
if (IFrameSplitOperator.IsNumber(subItem.Left)) this.ItemMargin.Left=subItem.Left;
|
|
37997
|
+
if (IFrameSplitOperator.IsNumber(subItem.Top)) this.ItemMargin.Top=subItem.Top;
|
|
37998
|
+
if (IFrameSplitOperator.IsNumber(subItem.Bottom)) this.ItemMargin.Bottom=subItem.Bottom;
|
|
37999
|
+
if (IFrameSplitOperator.IsNumber(subItem.Right)) this.ItemMargin.Right=subItem.Right;
|
|
38000
|
+
if (IFrameSplitOperator.IsNumber(subItem.YOffset)) this.ItemMargin.YOffset=subItem.YOffset;
|
|
38001
|
+
}
|
|
38002
|
+
|
|
38003
|
+
if (option.TextFont)
|
|
38004
|
+
{
|
|
38005
|
+
var subItem=option.TextFont;
|
|
38006
|
+
if (IFrameSplitOperator.IsNumber(subItem.FontMaxSize)) this.TextFontConfig.FontMaxSize=subItem.FontMaxSize;
|
|
38007
|
+
if (subItem.Family) this.TextFontConfig.Family=subItem.Family;
|
|
38008
|
+
}
|
|
38009
|
+
|
|
38010
|
+
if (IFrameSplitOperator.IsPlusNumber(option.CellWidth)) this.CellWidth=option.CellWidth;
|
|
38011
|
+
}
|
|
37980
38012
|
|
|
37981
38013
|
this.BuildCacheData=function()
|
|
37982
38014
|
{
|
|
@@ -38035,7 +38067,7 @@ function ChartKLineTable()
|
|
|
38035
38067
|
{
|
|
38036
38068
|
if (this.RowHeightType==1)
|
|
38037
38069
|
{
|
|
38038
|
-
this.RowHeight=this.TextFontConfig.FontMaxSize+this.
|
|
38070
|
+
this.RowHeight=this.TextFontConfig.FontMaxSize+this.ItemMargin.Top+this.ItemMargin.Bottom;
|
|
38039
38071
|
}
|
|
38040
38072
|
else
|
|
38041
38073
|
{
|
|
@@ -38094,23 +38126,40 @@ function ChartKLineTable()
|
|
|
38094
38126
|
|
|
38095
38127
|
var itemHeight=this.RowHeight;
|
|
38096
38128
|
var itemWidth=dataWidth+distanceWidth;
|
|
38097
|
-
if (itemHeight-this.
|
|
38098
|
-
if (itemWidth-this.
|
|
38129
|
+
if (itemHeight-this.ItemMargin.Top-this.ItemMargin.Bottom>0) itemHeight=itemHeight-this.ItemMargin.Top-this.ItemMargin.Bottom;
|
|
38130
|
+
if (itemWidth-this.ItemMargin.Left-this.ItemMargin.Right>0) itemWidth=itemWidth-this.ItemMargin.Left-this.ItemMargin.Right;
|
|
38099
38131
|
|
|
38100
38132
|
var font=this.GetDynamicTextFont(itemHeight, itemWidth);
|
|
38101
38133
|
this.TextFont=font;
|
|
38102
38134
|
this.Canvas.font=this.TextFont;
|
|
38135
|
+
var bMinute=this.IsMinuteFrame();
|
|
38136
|
+
var cellWidth=1
|
|
38137
|
+
if (bMinute)
|
|
38138
|
+
{
|
|
38139
|
+
cellWidth=(border.Right-border.Left)/this.ChartFrame.XPointCount;
|
|
38140
|
+
if (cellWidth<1) cellWidth=1;
|
|
38141
|
+
}
|
|
38103
38142
|
|
|
38104
38143
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
38105
38144
|
{
|
|
38106
38145
|
var kItem=this.Data.Data[i];
|
|
38107
38146
|
if (!kItem) continue;
|
|
38108
38147
|
|
|
38109
|
-
|
|
38110
|
-
|
|
38111
|
-
|
|
38112
|
-
|
|
38113
|
-
|
|
38148
|
+
if (bMinute)
|
|
38149
|
+
{
|
|
38150
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
38151
|
+
var left=x-cellWidth/2;
|
|
38152
|
+
var right=x+cellWidth/2;
|
|
38153
|
+
}
|
|
38154
|
+
else
|
|
38155
|
+
{
|
|
38156
|
+
var left=xOffset;
|
|
38157
|
+
var right=xOffset+dataWidth+distanceWidth;
|
|
38158
|
+
if (right>chartright) break;
|
|
38159
|
+
var x=left+(right-left)/2;
|
|
38160
|
+
if (x>chartright) break;
|
|
38161
|
+
}
|
|
38162
|
+
|
|
38114
38163
|
|
|
38115
38164
|
var bDrawName=false;
|
|
38116
38165
|
if (j==0 && this.RowNamePosition===1) bDrawName=true;
|
|
@@ -38134,7 +38183,7 @@ function ChartKLineTable()
|
|
|
38134
38183
|
|
|
38135
38184
|
var x=left,y=top, width=right-left;
|
|
38136
38185
|
var yOffset=3;
|
|
38137
|
-
if (this.
|
|
38186
|
+
if (this.ItemMargin.YOffset) yOffset=this.ItemMargin.YOffset;
|
|
38138
38187
|
for(var i=0;i<this.RowName.length;++i)
|
|
38139
38188
|
{
|
|
38140
38189
|
var item=this.RowName[i];
|
|
@@ -38216,7 +38265,7 @@ function ChartKLineTable()
|
|
|
38216
38265
|
|
|
38217
38266
|
var x=rtBG.Right, y=rtBG.Top;
|
|
38218
38267
|
var yOffset=3;
|
|
38219
|
-
if (this.
|
|
38268
|
+
if (this.ItemMargin.YOffset) yOffset=this.ItemMargin.YOffset;
|
|
38220
38269
|
for(var i=0;i<this.RowName.length;++i)
|
|
38221
38270
|
{
|
|
38222
38271
|
var item=this.RowName[i];
|
|
@@ -38247,7 +38296,7 @@ function ChartKLineTable()
|
|
|
38247
38296
|
|
|
38248
38297
|
var x=left,y=top, width=right-left;
|
|
38249
38298
|
var yOffset=3;
|
|
38250
|
-
if (this.
|
|
38299
|
+
if (this.ItemMargin.YOffset) yOffset=this.ItemMargin.YOffset;
|
|
38251
38300
|
for(var i=0; i<data.Data.length; ++i, y+=this.RowHeight)
|
|
38252
38301
|
{
|
|
38253
38302
|
var item=data.Data[i];
|
|
@@ -44329,7 +44378,7 @@ function ChartMinutePriceLine()
|
|
|
44329
44378
|
{
|
|
44330
44379
|
InterLastPoint:{X:this.LastPoint.X, Y:this.LastPoint.Y}, //内部点 给画布用
|
|
44331
44380
|
LastPoint:{X:this.LastPoint.X/pixelRatio, Y:this.LastPoint.Y/pixelRatio}, //外部点 给DOM用
|
|
44332
|
-
Price:this.LastPoint.
|
|
44381
|
+
Price:this.LastPoint.Value, Data:this.LastPoint.Data,
|
|
44333
44382
|
PixelRatio:pixelRatio,
|
|
44334
44383
|
};
|
|
44335
44384
|
event.Callback(event,data,this);
|
|
@@ -70641,6 +70690,7 @@ function ChartDrawHLine()
|
|
|
70641
70690
|
this.Font=14*GetDevicePixelRatio() +"px 微软雅黑";
|
|
70642
70691
|
this.TextFont=12*GetDevicePixelRatio() +"px 微软雅黑";
|
|
70643
70692
|
this.RightSpaceWidth=50;
|
|
70693
|
+
this.PriceBGColor;
|
|
70644
70694
|
|
|
70645
70695
|
this.ButtonPosition=0; //按钮位置, 0=价格后面, 1=价格上面 2=价格上面 左对齐 3=垂直排列
|
|
70646
70696
|
this.ButtonBGColor='rgb(190,190,190)';
|
|
@@ -70747,6 +70797,8 @@ function ChartDrawHLine()
|
|
|
70747
70797
|
if (IFrameSplitOperator.IsNumber(item.Bottom)) this.TextMargin.Bottom=item.Bottom;
|
|
70748
70798
|
if (IFrameSplitOperator.IsNumber(item.YOffset)) this.TextMargin.YOffset=item.YOffset;
|
|
70749
70799
|
}
|
|
70800
|
+
|
|
70801
|
+
if (option.PriceBGColor) this.PriceBGColor=option.PriceBGColor;
|
|
70750
70802
|
}
|
|
70751
70803
|
}
|
|
70752
70804
|
|
|
@@ -71187,7 +71239,8 @@ function ChartDrawHLine()
|
|
|
71187
71239
|
if (!bVisibleRange) this.Canvas.setLineDash([]);
|
|
71188
71240
|
}
|
|
71189
71241
|
|
|
71190
|
-
this.Canvas.fillStyle=this.
|
|
71242
|
+
if (this.PriceBGColor) this.Canvas.fillStyle=this.PriceBGColor;
|
|
71243
|
+
else this.Canvas.fillStyle=this.LineColor;
|
|
71191
71244
|
this.Canvas.font=this.Font;
|
|
71192
71245
|
var textWidth=this.Canvas.measureText(strValue).width;
|
|
71193
71246
|
var lineHeight=this.GetFontHeight();
|
|
@@ -80922,7 +80975,7 @@ function JSChartResource()
|
|
|
80922
80975
|
this.ChartKLineTable=
|
|
80923
80976
|
{
|
|
80924
80977
|
TextFont:{ Family:'Arial' , FontMaxSize:25 },
|
|
80925
|
-
|
|
80978
|
+
ItemMargin:{ Left:5, Right:5, Top:4, Bottom:2 },
|
|
80926
80979
|
};
|
|
80927
80980
|
|
|
80928
80981
|
this.ChartSimpleTable=
|
|
@@ -130866,31 +130919,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
130866
130919
|
if (IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName)) chart.RowName=varItem.Draw.RowName;
|
|
130867
130920
|
|
|
130868
130921
|
var config=varItem.Draw.Config;
|
|
130869
|
-
|
|
130870
|
-
{
|
|
130871
|
-
if (config.BGColor) chart.BGColor=config.BGColor;
|
|
130872
|
-
if (config.TextColor) chart.TextColor=config.TextColor;
|
|
130873
|
-
if (config.BorderColor) chart.BorderColor=config.BorderColor;
|
|
130874
|
-
if (IFrameSplitOperator.IsNumber(config.RowNamePosition)) chart.RowNamePosition=config.RowNamePosition;
|
|
130875
|
-
if (IFrameSplitOperator.IsNumber(config.RowHeightType)) chart.RowHeightType=config.RowHeightType;
|
|
130876
|
-
|
|
130877
|
-
if (config.ItemMergin)
|
|
130878
|
-
{
|
|
130879
|
-
var subItem=config.ItemMergin;
|
|
130880
|
-
if (IFrameSplitOperator.IsNumber(subItem.Left)) chart.ItemMergin.Left=subItem.Left;
|
|
130881
|
-
if (IFrameSplitOperator.IsNumber(subItem.Top)) chart.ItemMergin.Top=subItem.Top;
|
|
130882
|
-
if (IFrameSplitOperator.IsNumber(subItem.Bottom)) chart.ItemMergin.Bottom=subItem.Bottom;
|
|
130883
|
-
if (IFrameSplitOperator.IsNumber(subItem.Right)) chart.ItemMergin.Right=subItem.Right;
|
|
130884
|
-
if (IFrameSplitOperator.IsNumber(subItem.YOffset)) chart.ItemMergin.YOffset=subItem.YOffset;
|
|
130885
|
-
}
|
|
130886
|
-
|
|
130887
|
-
if (config.TextFont)
|
|
130888
|
-
{
|
|
130889
|
-
var subItem=config.TextFont;
|
|
130890
|
-
if (IFrameSplitOperator.IsNumber(subItem.FontMaxSize)) chart.TextFontConfig.FontMaxSize=subItem.FontMaxSize;
|
|
130891
|
-
if (subItem.Family) chart.TextFontConfig.Family=subItem.Family;
|
|
130892
|
-
}
|
|
130893
|
-
}
|
|
130922
|
+
chart.SetOption(config);
|
|
130894
130923
|
|
|
130895
130924
|
chart.BuildCacheData();
|
|
130896
130925
|
this.SetChartIndexName(chart);
|
|
@@ -132575,33 +132604,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
132575
132604
|
if (IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName)) chart.RowName=varItem.Draw.RowName;
|
|
132576
132605
|
|
|
132577
132606
|
var config=varItem.Draw.Config;
|
|
132578
|
-
|
|
132579
|
-
{
|
|
132580
|
-
if (config.BGColor) chart.BGColor=config.BGColor;
|
|
132581
|
-
if (config.TextColor) chart.TextColor=config.TextColor;
|
|
132582
|
-
if (config.BorderColor) chart.BorderColor=config.BorderColor;
|
|
132583
|
-
if (IFrameSplitOperator.IsNumber(config.RowNamePosition)) chart.RowNamePosition=config.RowNamePosition;
|
|
132584
|
-
if (IFrameSplitOperator.IsNumber(config.RowHeightType)) chart.RowHeightType=config.RowHeightType;
|
|
132585
|
-
if (IFrameSplitOperator.IsNumber(config.Style)) chart.Style=config.Style;
|
|
132586
|
-
|
|
132587
|
-
if (config.ItemMergin)
|
|
132588
|
-
{
|
|
132589
|
-
var subItem=config.ItemMergin;
|
|
132590
|
-
if (IFrameSplitOperator.IsNumber(subItem.Left)) chart.ItemMergin.Left=subItem.Left;
|
|
132591
|
-
if (IFrameSplitOperator.IsNumber(subItem.Top)) chart.ItemMergin.Top=subItem.Top;
|
|
132592
|
-
if (IFrameSplitOperator.IsNumber(subItem.Bottom)) chart.ItemMergin.Bottom=subItem.Bottom;
|
|
132593
|
-
if (IFrameSplitOperator.IsNumber(subItem.Right)) chart.ItemMergin.Right=subItem.Right;
|
|
132594
|
-
if (IFrameSplitOperator.IsNumber(subItem.YOffset)) chart.ItemMergin.YOffset=subItem.YOffset;
|
|
132595
|
-
}
|
|
132596
|
-
|
|
132597
|
-
if (config.TextFont)
|
|
132598
|
-
{
|
|
132599
|
-
var subItem=config.TextFont;
|
|
132600
|
-
if (IFrameSplitOperator.IsNumber(subItem.FontMaxSize)) chart.TextFontConfig.FontMaxSize=subItem.FontMaxSize;
|
|
132601
|
-
if (subItem.Family) chart.TextFontConfig.Family=subItem.Family;
|
|
132602
|
-
}
|
|
132603
|
-
}
|
|
132604
|
-
|
|
132607
|
+
chart.SetOption(config);
|
|
132605
132608
|
chart.BuildCacheData();
|
|
132606
132609
|
frame.ChartPaint.push(chart);
|
|
132607
132610
|
|
|
@@ -134670,6 +134673,18 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
134670
134673
|
|
|
134671
134674
|
result.push(outVarItem);
|
|
134672
134675
|
}
|
|
134676
|
+
else if (draw.DrawType==SCRIPT_CHART_NAME.KLINE_TABLE)
|
|
134677
|
+
{
|
|
134678
|
+
drawItem.Name=draw.Name;
|
|
134679
|
+
drawItem.Type=draw.Type;
|
|
134680
|
+
drawItem.DrawType=draw.DrawType;
|
|
134681
|
+
drawItem.DrawData=draw.DrawData;
|
|
134682
|
+
drawItem.RowCount=draw.RowCount;
|
|
134683
|
+
drawItem.RowName=draw.RowName;
|
|
134684
|
+
drawItem.Config=draw.Config;
|
|
134685
|
+
outVarItem.Draw=drawItem;
|
|
134686
|
+
result.push(outVarItem);
|
|
134687
|
+
}
|
|
134673
134688
|
else
|
|
134674
134689
|
{
|
|
134675
134690
|
var find=g_ScriptIndexChartFactory.Get(draw.DrawType); //外部挂接
|
|
@@ -152504,7 +152519,7 @@ function ScrollBarBGChart()
|
|
|
152504
152519
|
|
|
152505
152520
|
|
|
152506
152521
|
|
|
152507
|
-
var HQCHART_VERSION="1.1.
|
|
152522
|
+
var HQCHART_VERSION="1.1.15010";
|
|
152508
152523
|
|
|
152509
152524
|
function PrintHQChartVersion()
|
|
152510
152525
|
{
|
|
@@ -38011,7 +38011,8 @@ function ChartKLineTable()
|
|
|
38011
38011
|
this.RowHeight=10; //行高
|
|
38012
38012
|
this.RowHeightType=1; //0=均分 1=固定高度
|
|
38013
38013
|
this.TextFontConfig=CloneData(g_JSChartResource.ChartKLineTable.TextFont);
|
|
38014
|
-
this.
|
|
38014
|
+
this.ItemMargin=CloneData(g_JSChartResource.ChartKLineTable.ItemMargin);
|
|
38015
|
+
this.CellWidth=12*GetDevicePixelRatio();
|
|
38015
38016
|
|
|
38016
38017
|
this.TextFont;
|
|
38017
38018
|
this.TextColor='rgb(0,0,0)';
|
|
@@ -38021,6 +38022,37 @@ function ChartKLineTable()
|
|
|
38021
38022
|
this.MapCache=null; //key=date/date-time value={ Date:, Time:, Data:[ ] }
|
|
38022
38023
|
this.GetKValue=ChartData.GetKValue;
|
|
38023
38024
|
this.AryCellRect=[]; //保存单元格信息
|
|
38025
|
+
|
|
38026
|
+
|
|
38027
|
+
this.SetOption=function(option)
|
|
38028
|
+
{
|
|
38029
|
+
if (!option) return;
|
|
38030
|
+
|
|
38031
|
+
if (option.BGColor) this.BGColor=option.BGColor;
|
|
38032
|
+
if (option.TextColor) this.TextColor=option.TextColor;
|
|
38033
|
+
if (option.BorderColor) this.BorderColor=option.BorderColor;
|
|
38034
|
+
if (IFrameSplitOperator.IsNumber(option.RowNamePosition)) this.RowNamePosition=option.RowNamePosition;
|
|
38035
|
+
if (IFrameSplitOperator.IsNumber(option.RowHeightType)) this.RowHeightType=option.RowHeightType;
|
|
38036
|
+
|
|
38037
|
+
if (option.ItemMargin)
|
|
38038
|
+
{
|
|
38039
|
+
var subItem=option.ItemMargin;
|
|
38040
|
+
if (IFrameSplitOperator.IsNumber(subItem.Left)) this.ItemMargin.Left=subItem.Left;
|
|
38041
|
+
if (IFrameSplitOperator.IsNumber(subItem.Top)) this.ItemMargin.Top=subItem.Top;
|
|
38042
|
+
if (IFrameSplitOperator.IsNumber(subItem.Bottom)) this.ItemMargin.Bottom=subItem.Bottom;
|
|
38043
|
+
if (IFrameSplitOperator.IsNumber(subItem.Right)) this.ItemMargin.Right=subItem.Right;
|
|
38044
|
+
if (IFrameSplitOperator.IsNumber(subItem.YOffset)) this.ItemMargin.YOffset=subItem.YOffset;
|
|
38045
|
+
}
|
|
38046
|
+
|
|
38047
|
+
if (option.TextFont)
|
|
38048
|
+
{
|
|
38049
|
+
var subItem=option.TextFont;
|
|
38050
|
+
if (IFrameSplitOperator.IsNumber(subItem.FontMaxSize)) this.TextFontConfig.FontMaxSize=subItem.FontMaxSize;
|
|
38051
|
+
if (subItem.Family) this.TextFontConfig.Family=subItem.Family;
|
|
38052
|
+
}
|
|
38053
|
+
|
|
38054
|
+
if (IFrameSplitOperator.IsPlusNumber(option.CellWidth)) this.CellWidth=option.CellWidth;
|
|
38055
|
+
}
|
|
38024
38056
|
|
|
38025
38057
|
this.BuildCacheData=function()
|
|
38026
38058
|
{
|
|
@@ -38079,7 +38111,7 @@ function ChartKLineTable()
|
|
|
38079
38111
|
{
|
|
38080
38112
|
if (this.RowHeightType==1)
|
|
38081
38113
|
{
|
|
38082
|
-
this.RowHeight=this.TextFontConfig.FontMaxSize+this.
|
|
38114
|
+
this.RowHeight=this.TextFontConfig.FontMaxSize+this.ItemMargin.Top+this.ItemMargin.Bottom;
|
|
38083
38115
|
}
|
|
38084
38116
|
else
|
|
38085
38117
|
{
|
|
@@ -38138,23 +38170,40 @@ function ChartKLineTable()
|
|
|
38138
38170
|
|
|
38139
38171
|
var itemHeight=this.RowHeight;
|
|
38140
38172
|
var itemWidth=dataWidth+distanceWidth;
|
|
38141
|
-
if (itemHeight-this.
|
|
38142
|
-
if (itemWidth-this.
|
|
38173
|
+
if (itemHeight-this.ItemMargin.Top-this.ItemMargin.Bottom>0) itemHeight=itemHeight-this.ItemMargin.Top-this.ItemMargin.Bottom;
|
|
38174
|
+
if (itemWidth-this.ItemMargin.Left-this.ItemMargin.Right>0) itemWidth=itemWidth-this.ItemMargin.Left-this.ItemMargin.Right;
|
|
38143
38175
|
|
|
38144
38176
|
var font=this.GetDynamicTextFont(itemHeight, itemWidth);
|
|
38145
38177
|
this.TextFont=font;
|
|
38146
38178
|
this.Canvas.font=this.TextFont;
|
|
38179
|
+
var bMinute=this.IsMinuteFrame();
|
|
38180
|
+
var cellWidth=1
|
|
38181
|
+
if (bMinute)
|
|
38182
|
+
{
|
|
38183
|
+
cellWidth=(border.Right-border.Left)/this.ChartFrame.XPointCount;
|
|
38184
|
+
if (cellWidth<1) cellWidth=1;
|
|
38185
|
+
}
|
|
38147
38186
|
|
|
38148
38187
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
38149
38188
|
{
|
|
38150
38189
|
var kItem=this.Data.Data[i];
|
|
38151
38190
|
if (!kItem) continue;
|
|
38152
38191
|
|
|
38153
|
-
|
|
38154
|
-
|
|
38155
|
-
|
|
38156
|
-
|
|
38157
|
-
|
|
38192
|
+
if (bMinute)
|
|
38193
|
+
{
|
|
38194
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
38195
|
+
var left=x-cellWidth/2;
|
|
38196
|
+
var right=x+cellWidth/2;
|
|
38197
|
+
}
|
|
38198
|
+
else
|
|
38199
|
+
{
|
|
38200
|
+
var left=xOffset;
|
|
38201
|
+
var right=xOffset+dataWidth+distanceWidth;
|
|
38202
|
+
if (right>chartright) break;
|
|
38203
|
+
var x=left+(right-left)/2;
|
|
38204
|
+
if (x>chartright) break;
|
|
38205
|
+
}
|
|
38206
|
+
|
|
38158
38207
|
|
|
38159
38208
|
var bDrawName=false;
|
|
38160
38209
|
if (j==0 && this.RowNamePosition===1) bDrawName=true;
|
|
@@ -38178,7 +38227,7 @@ function ChartKLineTable()
|
|
|
38178
38227
|
|
|
38179
38228
|
var x=left,y=top, width=right-left;
|
|
38180
38229
|
var yOffset=3;
|
|
38181
|
-
if (this.
|
|
38230
|
+
if (this.ItemMargin.YOffset) yOffset=this.ItemMargin.YOffset;
|
|
38182
38231
|
for(var i=0;i<this.RowName.length;++i)
|
|
38183
38232
|
{
|
|
38184
38233
|
var item=this.RowName[i];
|
|
@@ -38260,7 +38309,7 @@ function ChartKLineTable()
|
|
|
38260
38309
|
|
|
38261
38310
|
var x=rtBG.Right, y=rtBG.Top;
|
|
38262
38311
|
var yOffset=3;
|
|
38263
|
-
if (this.
|
|
38312
|
+
if (this.ItemMargin.YOffset) yOffset=this.ItemMargin.YOffset;
|
|
38264
38313
|
for(var i=0;i<this.RowName.length;++i)
|
|
38265
38314
|
{
|
|
38266
38315
|
var item=this.RowName[i];
|
|
@@ -38291,7 +38340,7 @@ function ChartKLineTable()
|
|
|
38291
38340
|
|
|
38292
38341
|
var x=left,y=top, width=right-left;
|
|
38293
38342
|
var yOffset=3;
|
|
38294
|
-
if (this.
|
|
38343
|
+
if (this.ItemMargin.YOffset) yOffset=this.ItemMargin.YOffset;
|
|
38295
38344
|
for(var i=0; i<data.Data.length; ++i, y+=this.RowHeight)
|
|
38296
38345
|
{
|
|
38297
38346
|
var item=data.Data[i];
|
|
@@ -44373,7 +44422,7 @@ function ChartMinutePriceLine()
|
|
|
44373
44422
|
{
|
|
44374
44423
|
InterLastPoint:{X:this.LastPoint.X, Y:this.LastPoint.Y}, //内部点 给画布用
|
|
44375
44424
|
LastPoint:{X:this.LastPoint.X/pixelRatio, Y:this.LastPoint.Y/pixelRatio}, //外部点 给DOM用
|
|
44376
|
-
Price:this.LastPoint.
|
|
44425
|
+
Price:this.LastPoint.Value, Data:this.LastPoint.Data,
|
|
44377
44426
|
PixelRatio:pixelRatio,
|
|
44378
44427
|
};
|
|
44379
44428
|
event.Callback(event,data,this);
|
|
@@ -70685,6 +70734,7 @@ function ChartDrawHLine()
|
|
|
70685
70734
|
this.Font=14*GetDevicePixelRatio() +"px 微软雅黑";
|
|
70686
70735
|
this.TextFont=12*GetDevicePixelRatio() +"px 微软雅黑";
|
|
70687
70736
|
this.RightSpaceWidth=50;
|
|
70737
|
+
this.PriceBGColor;
|
|
70688
70738
|
|
|
70689
70739
|
this.ButtonPosition=0; //按钮位置, 0=价格后面, 1=价格上面 2=价格上面 左对齐 3=垂直排列
|
|
70690
70740
|
this.ButtonBGColor='rgb(190,190,190)';
|
|
@@ -70791,6 +70841,8 @@ function ChartDrawHLine()
|
|
|
70791
70841
|
if (IFrameSplitOperator.IsNumber(item.Bottom)) this.TextMargin.Bottom=item.Bottom;
|
|
70792
70842
|
if (IFrameSplitOperator.IsNumber(item.YOffset)) this.TextMargin.YOffset=item.YOffset;
|
|
70793
70843
|
}
|
|
70844
|
+
|
|
70845
|
+
if (option.PriceBGColor) this.PriceBGColor=option.PriceBGColor;
|
|
70794
70846
|
}
|
|
70795
70847
|
}
|
|
70796
70848
|
|
|
@@ -71231,7 +71283,8 @@ function ChartDrawHLine()
|
|
|
71231
71283
|
if (!bVisibleRange) this.Canvas.setLineDash([]);
|
|
71232
71284
|
}
|
|
71233
71285
|
|
|
71234
|
-
this.Canvas.fillStyle=this.
|
|
71286
|
+
if (this.PriceBGColor) this.Canvas.fillStyle=this.PriceBGColor;
|
|
71287
|
+
else this.Canvas.fillStyle=this.LineColor;
|
|
71235
71288
|
this.Canvas.font=this.Font;
|
|
71236
71289
|
var textWidth=this.Canvas.measureText(strValue).width;
|
|
71237
71290
|
var lineHeight=this.GetFontHeight();
|
|
@@ -80966,7 +81019,7 @@ function JSChartResource()
|
|
|
80966
81019
|
this.ChartKLineTable=
|
|
80967
81020
|
{
|
|
80968
81021
|
TextFont:{ Family:'Arial' , FontMaxSize:25 },
|
|
80969
|
-
|
|
81022
|
+
ItemMargin:{ Left:5, Right:5, Top:4, Bottom:2 },
|
|
80970
81023
|
};
|
|
80971
81024
|
|
|
80972
81025
|
this.ChartSimpleTable=
|
|
@@ -130910,31 +130963,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
130910
130963
|
if (IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName)) chart.RowName=varItem.Draw.RowName;
|
|
130911
130964
|
|
|
130912
130965
|
var config=varItem.Draw.Config;
|
|
130913
|
-
|
|
130914
|
-
{
|
|
130915
|
-
if (config.BGColor) chart.BGColor=config.BGColor;
|
|
130916
|
-
if (config.TextColor) chart.TextColor=config.TextColor;
|
|
130917
|
-
if (config.BorderColor) chart.BorderColor=config.BorderColor;
|
|
130918
|
-
if (IFrameSplitOperator.IsNumber(config.RowNamePosition)) chart.RowNamePosition=config.RowNamePosition;
|
|
130919
|
-
if (IFrameSplitOperator.IsNumber(config.RowHeightType)) chart.RowHeightType=config.RowHeightType;
|
|
130920
|
-
|
|
130921
|
-
if (config.ItemMergin)
|
|
130922
|
-
{
|
|
130923
|
-
var subItem=config.ItemMergin;
|
|
130924
|
-
if (IFrameSplitOperator.IsNumber(subItem.Left)) chart.ItemMergin.Left=subItem.Left;
|
|
130925
|
-
if (IFrameSplitOperator.IsNumber(subItem.Top)) chart.ItemMergin.Top=subItem.Top;
|
|
130926
|
-
if (IFrameSplitOperator.IsNumber(subItem.Bottom)) chart.ItemMergin.Bottom=subItem.Bottom;
|
|
130927
|
-
if (IFrameSplitOperator.IsNumber(subItem.Right)) chart.ItemMergin.Right=subItem.Right;
|
|
130928
|
-
if (IFrameSplitOperator.IsNumber(subItem.YOffset)) chart.ItemMergin.YOffset=subItem.YOffset;
|
|
130929
|
-
}
|
|
130930
|
-
|
|
130931
|
-
if (config.TextFont)
|
|
130932
|
-
{
|
|
130933
|
-
var subItem=config.TextFont;
|
|
130934
|
-
if (IFrameSplitOperator.IsNumber(subItem.FontMaxSize)) chart.TextFontConfig.FontMaxSize=subItem.FontMaxSize;
|
|
130935
|
-
if (subItem.Family) chart.TextFontConfig.Family=subItem.Family;
|
|
130936
|
-
}
|
|
130937
|
-
}
|
|
130966
|
+
chart.SetOption(config);
|
|
130938
130967
|
|
|
130939
130968
|
chart.BuildCacheData();
|
|
130940
130969
|
this.SetChartIndexName(chart);
|
|
@@ -132619,33 +132648,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
132619
132648
|
if (IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName)) chart.RowName=varItem.Draw.RowName;
|
|
132620
132649
|
|
|
132621
132650
|
var config=varItem.Draw.Config;
|
|
132622
|
-
|
|
132623
|
-
{
|
|
132624
|
-
if (config.BGColor) chart.BGColor=config.BGColor;
|
|
132625
|
-
if (config.TextColor) chart.TextColor=config.TextColor;
|
|
132626
|
-
if (config.BorderColor) chart.BorderColor=config.BorderColor;
|
|
132627
|
-
if (IFrameSplitOperator.IsNumber(config.RowNamePosition)) chart.RowNamePosition=config.RowNamePosition;
|
|
132628
|
-
if (IFrameSplitOperator.IsNumber(config.RowHeightType)) chart.RowHeightType=config.RowHeightType;
|
|
132629
|
-
if (IFrameSplitOperator.IsNumber(config.Style)) chart.Style=config.Style;
|
|
132630
|
-
|
|
132631
|
-
if (config.ItemMergin)
|
|
132632
|
-
{
|
|
132633
|
-
var subItem=config.ItemMergin;
|
|
132634
|
-
if (IFrameSplitOperator.IsNumber(subItem.Left)) chart.ItemMergin.Left=subItem.Left;
|
|
132635
|
-
if (IFrameSplitOperator.IsNumber(subItem.Top)) chart.ItemMergin.Top=subItem.Top;
|
|
132636
|
-
if (IFrameSplitOperator.IsNumber(subItem.Bottom)) chart.ItemMergin.Bottom=subItem.Bottom;
|
|
132637
|
-
if (IFrameSplitOperator.IsNumber(subItem.Right)) chart.ItemMergin.Right=subItem.Right;
|
|
132638
|
-
if (IFrameSplitOperator.IsNumber(subItem.YOffset)) chart.ItemMergin.YOffset=subItem.YOffset;
|
|
132639
|
-
}
|
|
132640
|
-
|
|
132641
|
-
if (config.TextFont)
|
|
132642
|
-
{
|
|
132643
|
-
var subItem=config.TextFont;
|
|
132644
|
-
if (IFrameSplitOperator.IsNumber(subItem.FontMaxSize)) chart.TextFontConfig.FontMaxSize=subItem.FontMaxSize;
|
|
132645
|
-
if (subItem.Family) chart.TextFontConfig.Family=subItem.Family;
|
|
132646
|
-
}
|
|
132647
|
-
}
|
|
132648
|
-
|
|
132651
|
+
chart.SetOption(config);
|
|
132649
132652
|
chart.BuildCacheData();
|
|
132650
132653
|
frame.ChartPaint.push(chart);
|
|
132651
132654
|
|
|
@@ -134714,6 +134717,18 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
134714
134717
|
|
|
134715
134718
|
result.push(outVarItem);
|
|
134716
134719
|
}
|
|
134720
|
+
else if (draw.DrawType==SCRIPT_CHART_NAME.KLINE_TABLE)
|
|
134721
|
+
{
|
|
134722
|
+
drawItem.Name=draw.Name;
|
|
134723
|
+
drawItem.Type=draw.Type;
|
|
134724
|
+
drawItem.DrawType=draw.DrawType;
|
|
134725
|
+
drawItem.DrawData=draw.DrawData;
|
|
134726
|
+
drawItem.RowCount=draw.RowCount;
|
|
134727
|
+
drawItem.RowName=draw.RowName;
|
|
134728
|
+
drawItem.Config=draw.Config;
|
|
134729
|
+
outVarItem.Draw=drawItem;
|
|
134730
|
+
result.push(outVarItem);
|
|
134731
|
+
}
|
|
134717
134732
|
else
|
|
134718
134733
|
{
|
|
134719
134734
|
var find=g_ScriptIndexChartFactory.Get(draw.DrawType); //外部挂接
|
|
@@ -163895,7 +163910,7 @@ function HQChartScriptWorker()
|
|
|
163895
163910
|
|
|
163896
163911
|
|
|
163897
163912
|
|
|
163898
|
-
var HQCHART_VERSION="1.1.
|
|
163913
|
+
var HQCHART_VERSION="1.1.15010";
|
|
163899
163914
|
|
|
163900
163915
|
function PrintHQChartVersion()
|
|
163901
163916
|
{
|