hqchart 1.1.14626 → 1.1.14630
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 +18 -8
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +31 -8
- package/src/jscommon/umychart.js +211 -55
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +243 -64
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +243 -64
package/lib/umychart.vue.js
CHANGED
|
@@ -1414,7 +1414,7 @@ JSChart.RegisterDialogClass=function(name,option){return g_DialogFactory.Add(nam
|
|
|
1414
1414
|
JSChart.RegisterChartFrameClass=function(name,option){return g_ChartFrameFactory.Add(name,option);};//一些公共函数
|
|
1415
1415
|
JSChart.ToFixedPoint=function(value){return ToFixedPoint(value);};JSChart.ToFixedPoint2=function(width,value){return ToFixedPoint2(width,value);};JSChart.ToFixedRect=function(value){return ToFixedRect(value);};JSChart.GetScrollPosition=function(){return GetScrollPosition();};//品种小数位数
|
|
1416
1416
|
JSChart.GetfloatPrecision=function(symbol){return GetfloatPrecision(symbol);};//获取不带后缀的代码
|
|
1417
|
-
JSChart.GetShortSymbol=function(symbol){if(IFrameSplitOperator.IsString(symbol))return null;var pos=symbol.lastIndexOf(".");if(pos<=0)return symbol;return symbol.slice(0,pos);};var JSCHART_EVENT_ID={//RECV_KLINE_MATCH:1, //接收到形态匹配
|
|
1417
|
+
JSChart.GetShortSymbol=function(symbol){if(!IFrameSplitOperator.IsString(symbol))return null;var pos=symbol.lastIndexOf(".");if(pos<=0)return symbol;return symbol.slice(0,pos);};var JSCHART_EVENT_ID={//RECV_KLINE_MATCH:1, //接收到形态匹配
|
|
1418
1418
|
RECV_INDEX_DATA:2,//接收指标数据
|
|
1419
1419
|
RECV_HISTROY_DATA:3,//接收到历史数据
|
|
1420
1420
|
RECV_TRAIN_MOVE_STEP:4,//接收K线训练,移动一次K线
|
|
@@ -4061,11 +4061,20 @@ if(firstOpen==null)return;var drawType=this.DrawType;if(this.CustomDrawType!=nul
|
|
|
4061
4061
|
}return this.PtInKBar(x,y,{OverlayKLine:true});};this.DrawSelectedStatus=function(){this.DrawLinePoint({OverlayKLine:true});};}//K线表格
|
|
4062
4062
|
function ChartKLineTable(){this.newMethod=IChartPainting;//派生
|
|
4063
4063
|
this.newMethod();delete this.newMethod;this.ClassName='ChartKlineTable';//类名
|
|
4064
|
-
this.Data;this.RowName;this.
|
|
4064
|
+
this.Data;this.RowName;this.RowNamePosition=1;//0=不显示 1=左边内部 2=左边外部 3=右边外部
|
|
4065
|
+
this.BGColor;//背景色
|
|
4066
|
+
this.BorderColor;//分割线颜色
|
|
4065
4067
|
this.RowCount=5;//行数
|
|
4066
4068
|
this.RowHeight=10;//行高
|
|
4067
|
-
this.
|
|
4068
|
-
|
|
4069
|
+
this.RowHeightType=1;//0=均分 1=固定高度
|
|
4070
|
+
this.TextFontConfig=CloneData(g_JSChartResource.ChartKLineTable.TextFont);this.ItemMergin=CloneData(g_JSChartResource.ChartKLineTable.ItemMergin);this.TextFont;this.TextColor='rgb(0,0,0)';this.AryTableData=[];this.MapCache=null;//key=date/date-time value={ Date:, Time:, Data:[ ] }
|
|
4071
|
+
this.GetKValue=ChartData.GetKValue;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);}};//绘制背景色
|
|
4072
|
+
this.DrawBG=function(rtBG){if(!this.BGColor)return;if(this.BGColor){this.Canvas.fillStyle=this.BGColor;this.Canvas.fillRect(rtBG.Left+1,rtBG.Top,rtBG.Width-1,rtBG.Height);}};this.DrawBorder=function(rtBG){if(!this.BorderColor)return;var yLine=rtBG.Top;for(var i=0;i<30;++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;}};//计算行高
|
|
4073
|
+
this.CalculateRowHeight=function(rtBG){if(this.RowHeightType==1){this.RowHeight=this.TextFontConfig.FontMaxSize+this.ItemMergin.Top+this.ItemMergin.Bottom;}else{this.RowHeight=rtBG.Height/this.RowCount;}};this.Draw=function(){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;//绘制背景
|
|
4074
|
+
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.DrawBG(rtBG);this.CalculateRowHeight(rtBG);var itemHeight=this.RowHeight;var itemWidth=dataWidth+distanceWidth;if(itemHeight-this.ItemMergin.Top-this.ItemMergin.Bottom>0)itemHeight=itemHeight-this.ItemMergin.Top-this.ItemMergin.Bottom;if(itemWidth-this.ItemMergin.Left-this.ItemMergin.Right>0)itemWidth=itemWidth-this.ItemMergin.Left-this.ItemMergin.Right;var font=this.GetDynamicTextFont(itemHeight,itemWidth);this.TextFont=font;this.Canvas.font=this.TextFont;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;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);//绘制一列
|
|
4075
|
+
}if(this.RowNamePosition==3)this.DrawRightRowName();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.ItemMergin.YOffset)yOffset=this.ItemMergin.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;}};//绘制右侧行名
|
|
4076
|
+
this.DrawRightRowName=function(){var border=this.ChartFrame.GetBorder();if(this.BGColor){var rtRightBG={Left:border.RightEx,Top:border.TopTitle,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-1,rtRightBG.Height);}var x=border.RightEx,y=border.TopTitle;var yOffset=3;if(this.ItemMergin.YOffset)yOffset=this.ItemMergin.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(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.ItemMergin.YOffset)yOffset=this.ItemMergin.YOffset;for(var i=0;i<data.Data.length;++i){var item=data.Data[i];var rtBG={Left:x,Top:y,Right:right,Height:this.RowHeight,Width:width};rtBG.Bottom=rtBG.Top+this.RowHeight;if(IFrameSplitOperator.IsNonEmptyArray(item.AryText))//左右显示
|
|
4077
|
+
{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);}}xCell+=subCellWidth;}}else{if(item&&item.BGColor){this.Canvas.fillStyle=item.BGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}if(item&&item.Color&&rtBG.Width>10){this.Canvas.fillStyle=item.Color;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);}}}y+=this.RowHeight;}};this.GetDynamicTextFont=function(cellHeight,width,fontOption){var fontSize=parseInt(cellHeight)-2;if(cellHeight<5)fontSize=parseInt(cellHeight);//高度太小了就不要上下间距了
|
|
4069
4078
|
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};};}//表格
|
|
4070
4079
|
function ChartSimpleTable(){this.newMethod=IChartPainting;//派生
|
|
4071
4080
|
this.newMethod();delete this.newMethod;this.ClassName='ChartSimpleTable';//类名
|
|
@@ -9610,7 +9619,7 @@ if(index>0&&index+this.CFFEX3.length==upperSymbol.length)return true;return fals
|
|
|
9610
9619
|
{return this.IsSHO(upperSymbol)||this.IsSZO(upperSymbol)||this.IsGZFE(upperSymbol)||this.IsCFFEX(upperSymbol)||this.IsCZCE(upperSymbol)||this.IsDCE(upperSymbol)||this.IsSHFE(upperSymbol);},IsFutures:function IsFutures(upperSymbol)//是否是期货 包含国外的
|
|
9611
9620
|
{if(!upperSymbol)return false;return this.IsChinaFutures(upperSymbol)||this.IsNYMEX(upperSymbol)||this.IsCOMEX(upperSymbol)||this.IsNYBOT(upperSymbol)||this.IsCBOT(upperSymbol)||this.IsLME(upperSymbol)||this.IsTOCOM(upperSymbol);},IsSHSZ:function IsSHSZ(upperSymbol)//是否是沪深的股票
|
|
9612
9621
|
{return this.IsSZ(upperSymbol)||this.IsSH(upperSymbol)||this.IsSHSZCustomIndex(upperSymbol);},IsSHSZETFOption:function IsSHSZETFOption(upperSymbol)//沪深ETF期权
|
|
9613
|
-
{if(!upperSymbol)return false;if(this.IsSH(upperSymbol)){if(
|
|
9622
|
+
{if(!upperSymbol)return false;if(this.IsSH(upperSymbol)){var shortSymbol=JSChart.GetShortSymbol(upperSymbol);if(shortSymbol.charAt(0)=="1"&&shortSymbol.length==8)return true;}else if(this.IsSZ(upperSymbol)){var shortSymbol=JSChart.GetShortSymbol(upperSymbol);if(shortSymbol.charAt(0)=="9"&&shortSymbol.length==8)return true;}return false;},IsSHSZFund:function IsSHSZFund(upperSymbol)//是否是交易所基金
|
|
9614
9623
|
{if(!upperSymbol)return false;if(this.IsSH(upperSymbol))//51XXXX.SH 58xxxx.sh 56xxxx.sh
|
|
9615
9624
|
{if(upperSymbol.charAt(0)=='5'){var secondChar=upperSymbol.charAt(1);if(["1","2","3","4","5","7","6","8"].includes(secondChar))return true;}}else if(this.IsSZ(upperSymbol))//15XXXX.sz, 16XXXX.sz, 17XXXX.sz, 18XXXX.sz
|
|
9616
9625
|
{if(upperSymbol.charAt(0)=='1'&&(upperSymbol.charAt(1)=='5'||upperSymbol.charAt(1)=='6'||upperSymbol.charAt(1)=='7'||upperSymbol.charAt(1)=='8'))return true;}return false;},IsSHSZIndex:function IsSHSZIndex(symbol)//是否是沪深指数代码
|
|
@@ -12280,7 +12289,8 @@ chart.PointGroup=varItem.Draw.DrawData;if(varItem.Draw.Name)chart.Name=varItem.D
|
|
|
12280
12289
|
chart.Bars=varItem.Draw.DrawData;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var bShowTitle=true;if(varItem.IsShowTitle===false)bShowTitle=false;if(bShowTitle){var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);titleData.DataType="ChartMultiBar";titleData.GetItemCallback=function(kItem){return chart.GetItem(kItem);};hqChart.TitlePaint[titleIndex].Data[id]=titleData;}};this.CreateMultiText=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiText();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线
|
|
12281
12290
|
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线
|
|
12282
12291
|
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(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线
|
|
12283
|
-
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
|
|
12292
|
+
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线
|
|
12293
|
+
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;if(config){if(config.BGColor)chart.BGColor=config.BGColor;if(config.TextColor)chart.TextColor=config.TextColor;if(config.BorderColor)chart.BorderColor=config.BorderColor;if(IFrameSplitOperator.IsNumber(config.RowNamePosition))chart.RowNamePosition=config.RowNamePosition;if(config.ItemMergin){var subItem=config.ItemMergin;if(IFrameSplitOperator.IsNumber(subItem.Left))chart.ItemMergin.Left=subItem.Left;if(IFrameSplitOperator.IsNumber(subItem.Top))chart.ItemMergin.Top=subItem.Top;if(IFrameSplitOperator.IsNumber(subItem.Bottom))chart.ItemMergin.Bottom=subItem.Bottom;if(IFrameSplitOperator.IsNumber(subItem.Right))chart.ItemMergin.Right=subItem.Right;if(IFrameSplitOperator.IsNumber(subItem.YOffset))chart.ItemMergin.YOffset=subItem.YOffset;}if(config.TextFont){var subItem=config.TextFont;if(IFrameSplitOperator.IsNumber(subItem.FontMaxSize))chart.TextFontConfig.FontMaxSize=subItem.FontMaxSize;if(subItem.Family)chart.TextFontConfig.Family=subItem.Family;}}chart.BuildCacheData();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线
|
|
12284
12294
|
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();hqChart.ChartPaint.push(chart);};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线
|
|
12285
12295
|
chart.KLineColor=varItem.Draw.DrawData.KLine;if(varItem.Color)chart.Color=varItem.Color;hqChart.ChartPaint.push(chart);};this.CreateRectangle=function(hqChart,windowIndex,varItem,i){var chart=new ChartRectangle();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Color=[varItem.Draw.DrawData.Color];chart.Rect=varItem.Draw.DrawData.Rect;if(varItem.Color)chart.BorderColor=this.GetColor(varItem.Color);hqChart.ChartPaint.push(chart);};this.CreateScriptOverlayLine=function(hqChart,windowIndex,varItem,i){var chart=new ChartOverlayLine();chart.Canvas=hqChart.Canvas;chart.DrawType=1;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(i);if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}if(varItem.IsDotLine)chart.IsDotLine=true;//虚线
|
|
12286
12296
|
if(varItem.IsShow==false)chart.IsShow=false;var titleIndex=windowIndex+1;chart.Data.Data=varItem.Draw.DrawData.Data;chart.MainData.Data=varItem.Draw.DrawData.MainData;if(varItem.Draw.DrawData.Title)hqChart.TitlePaint[titleIndex].Data[i]=new DynamicTitleData(chart.Data,varItem.Draw.DrawData.Title,chart.Color);hqChart.ChartPaint.push(chart);};//创建K线
|
|
@@ -12464,7 +12474,7 @@ if(item.isexdata==true)outVarItem.IsExData=true;if(item.BreakPoint)outVarItem.Br
|
|
|
12464
12474
|
{drawItem.Icon=draw.Icon;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWTEXT')//文本
|
|
12465
12475
|
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='STICKLINE')//柱子
|
|
12466
12476
|
{drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.Width=draw.Width;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="DRAWBAND"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);drawItem.Color=draw.Color;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);if(IFrameSplitOperator.IsNonEmptyArray(drawItem.DrawData)){for(var k=0;k<drawItem.DrawData.length;++k){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}}outVarItem.Draw=drawItem;if(draw.LineDash)drawItem.LineDash=draw.LineDash;if(IFrameSplitOperator.IsBool(draw.IsFullRangeMaxMin))drawItem.IsFullRangeMaxMin=draw.IsFullRangeMaxMin;if(draw.Arrow)drawItem.Arrow=draw.Arrow;if(IFrameSplitOperator.IsNumber(draw.LineWidth))drawItem.LineWidth=draw.LineWidth;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_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==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.BarType=draw.BarType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);//默认的值
|
|
12467
|
-
drawItem.Color=draw.Color;drawItem.Radius=draw.Radius;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT_V2){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==SCRIPT_CHART_NAME.KLINE_TABLE){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=
|
|
12477
|
+
drawItem.Color=draw.Color;drawItem.Radius=draw.Radius;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT_V2){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==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 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;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
|
|
12468
12478
|
{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=="COLOR_KLINE"){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;var klineOption=this.FittingMultiText(draw.DrawData.KLine,date,time,hqChart);var mapKLineOption=new _map2.default();for(var i in klineOption){var item=klineOption[i];mapKLineOption.set(item.Index,item);}drawItem.DrawData={KLine:mapKLineOption};if(draw.Color)outVarItem.Color=draw.Color;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="KLINE_BG"){drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={};drawItem.DrawData.Color=draw.Color;drawItem.DrawData.Angle=draw.Angle;if(draw.Ver==2.0)drawItem.DrawData.Data=this.FittingKLineBG_V2(draw.DrawData,hqChart);else drawItem.DrawData.Data=this.FittingKLineBG(draw.DrawData,hqChart);outVarItem.Draw=drawItem;outVarItem.Name=draw.DrawType;result.push(outVarItem);}else if(draw.DrawType=='MULTI_POINT_LINE'){drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={};drawItem.DrawData.Color=draw.Color;drawItem.DrawData.PointRadius=draw.PointRadius;drawItem.DrawData.PointColor=draw.PointColor;drawItem.DrawData.LineWidth=draw.LineWidth;drawItem.DrawData.Data=this.FittingMultiPointLine(draw.DrawData,hqChart);outVarItem.Draw=drawItem;//outVarItem.Name=draw.DrawType;
|
|
12469
12479
|
result.push(outVarItem);}else if(draw.DrawType=="PARTLINE"){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(IFrameSplitOperator.IsString(draw.LineWidth))outVarItem.LineWidth=draw.LineWidth;if(IFrameSplitOperator.IsBool(draw.IsDotLine))outVarItem.IsDotLine=draw.IsDotLine;if(IFrameSplitOperator.IsNonEmptyArray(draw.LineDash))outVarItem.LineDash=draw.LineDash;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.FittingArray(draw.Data,date,time,hqChart);outVarItem.Draw=drawItem;if(draw.LineWidth)outVarItem.LineWidth=draw.LineWidth;if(draw.UpColor)outVarItem.UpColor=draw.UpColor;if(draw.DownColor)outVarItem.DownColor=draw.DownColor;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=="DRAWTEXTREL"||draw.DrawType=="DRAWTEXTABS"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;//{ Point: { X: 5,Y: 5 }, Text: "注意(居中):前方高能!!!!!" }
|
|
12470
12480
|
outVarItem.Draw=drawItem;if(draw.Font)outVarItem.Font=draw.Font;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 } };
|
|
@@ -14875,7 +14885,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
14875
14885
|
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);};}/********************************************************************************
|
|
14876
14886
|
* 版本信息输出
|
|
14877
14887
|
*
|
|
14878
|
-
*/var HQCHART_VERSION="1.1.
|
|
14888
|
+
*/var HQCHART_VERSION="1.1.14629";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();//把给外界调用的方法暴露出来
|
|
14879
14889
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
14880
14890
|
// BaseIndex:BaseIndex,
|
|
14881
14891
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -22231,16 +22231,41 @@ function ScriptIndex(name,script,args,option)
|
|
|
22231
22231
|
chart.HQChart=hqChart;
|
|
22232
22232
|
chart.Identify=this.Guid;
|
|
22233
22233
|
|
|
22234
|
-
chart.Data
|
|
22234
|
+
chart.Data=hqChart.GetKData(); //绑定K线
|
|
22235
|
+
chart.AryTableData=varItem.Draw.DrawData;
|
|
22235
22236
|
if (IFrameSplitOperator.IsNumber(varItem.Draw.RowCount)) chart.RowCount=varItem.Draw.RowCount;
|
|
22236
|
-
if (IFrameSplitOperator.IsBool(varItem.Draw.IsShowRowName)) chart.IsShowRowName=varItem.Draw.IsShowRowName;
|
|
22237
22237
|
if (IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName)) chart.RowName=varItem.Draw.RowName;
|
|
22238
|
-
if (varItem.Draw.BGColor) chart.BGColor=varItem.Draw.BGColor;
|
|
22239
22238
|
|
|
22239
|
+
var config=varItem.Draw.Config;
|
|
22240
|
+
if (config)
|
|
22241
|
+
{
|
|
22242
|
+
if (config.BGColor) chart.BGColor=config.BGColor;
|
|
22243
|
+
if (config.TextColor) chart.TextColor=config.TextColor;
|
|
22244
|
+
if (config.BorderColor) chart.BorderColor=config.BorderColor;
|
|
22245
|
+
if (IFrameSplitOperator.IsNumber(config.RowNamePosition)) chart.RowNamePosition=config.RowNamePosition;
|
|
22246
|
+
|
|
22247
|
+
if (config.ItemMergin)
|
|
22248
|
+
{
|
|
22249
|
+
var subItem=config.ItemMergin;
|
|
22250
|
+
if (IFrameSplitOperator.IsNumber(subItem.Left)) chart.ItemMergin.Left=subItem.Left;
|
|
22251
|
+
if (IFrameSplitOperator.IsNumber(subItem.Top)) chart.ItemMergin.Top=subItem.Top;
|
|
22252
|
+
if (IFrameSplitOperator.IsNumber(subItem.Bottom)) chart.ItemMergin.Bottom=subItem.Bottom;
|
|
22253
|
+
if (IFrameSplitOperator.IsNumber(subItem.Right)) chart.ItemMergin.Right=subItem.Right;
|
|
22254
|
+
if (IFrameSplitOperator.IsNumber(subItem.YOffset)) chart.ItemMergin.YOffset=subItem.YOffset;
|
|
22255
|
+
}
|
|
22256
|
+
|
|
22257
|
+
if (config.TextFont)
|
|
22258
|
+
{
|
|
22259
|
+
var subItem=config.TextFont;
|
|
22260
|
+
if (IFrameSplitOperator.IsNumber(subItem.FontMaxSize)) chart.TextFontConfig.FontMaxSize=subItem.FontMaxSize;
|
|
22261
|
+
if (subItem.Family) chart.TextFontConfig.Family=subItem.Family;
|
|
22262
|
+
}
|
|
22263
|
+
}
|
|
22264
|
+
|
|
22265
|
+
chart.BuildCacheData();
|
|
22240
22266
|
hqChart.ChartPaint.push(chart);
|
|
22241
22267
|
|
|
22242
22268
|
var titleIndex=windowIndex+1;
|
|
22243
|
-
|
|
22244
22269
|
var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);
|
|
22245
22270
|
titleData.DataType="ChartKLineTable";
|
|
22246
22271
|
hqChart.TitlePaint[titleIndex].Data[i]=titleData;
|
|
@@ -25232,13 +25257,11 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
25232
25257
|
drawItem.Name=draw.Name;
|
|
25233
25258
|
drawItem.Type=draw.Type;
|
|
25234
25259
|
drawItem.DrawType=draw.DrawType;
|
|
25235
|
-
drawItem.DrawData=
|
|
25260
|
+
drawItem.DrawData=draw.DrawData;
|
|
25236
25261
|
drawItem.RowCount=draw.RowCount;
|
|
25237
25262
|
drawItem.RowName=draw.RowName;
|
|
25238
|
-
drawItem.
|
|
25239
|
-
drawItem.BGColor=draw.BGColor;
|
|
25263
|
+
drawItem.Config=draw.Config;
|
|
25240
25264
|
outVarItem.Draw=drawItem;
|
|
25241
|
-
|
|
25242
25265
|
result.push(outVarItem);
|
|
25243
25266
|
}
|
|
25244
25267
|
else if (draw.DrawType=='MULTI_TEXT')
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -2514,7 +2514,7 @@ JSChart.GetfloatPrecision=function(symbol)
|
|
|
2514
2514
|
//获取不带后缀的代码
|
|
2515
2515
|
JSChart.GetShortSymbol=function(symbol)
|
|
2516
2516
|
{
|
|
2517
|
-
if (IFrameSplitOperator.IsString(symbol)) return null;
|
|
2517
|
+
if (!IFrameSplitOperator.IsString(symbol)) return null;
|
|
2518
2518
|
var pos=symbol.lastIndexOf(".");
|
|
2519
2519
|
if (pos<=0) return symbol;
|
|
2520
2520
|
|
|
@@ -32597,28 +32597,87 @@ function ChartKLineTable()
|
|
|
32597
32597
|
this.ClassName='ChartKlineTable'; //类名
|
|
32598
32598
|
this.Data;
|
|
32599
32599
|
this.RowName;
|
|
32600
|
-
this.
|
|
32600
|
+
this.RowNamePosition=1; //0=不显示 1=左边内部 2=左边外部 3=右边外部
|
|
32601
32601
|
this.BGColor; //背景色
|
|
32602
|
+
this.BorderColor; //分割线颜色
|
|
32602
32603
|
|
|
32603
32604
|
this.RowCount=5; //行数
|
|
32604
32605
|
this.RowHeight=10; //行高
|
|
32606
|
+
this.RowHeightType=1; //0=均分 1=固定高度
|
|
32605
32607
|
this.TextFontConfig=CloneData(g_JSChartResource.ChartKLineTable.TextFont);
|
|
32606
32608
|
this.ItemMergin=CloneData(g_JSChartResource.ChartKLineTable.ItemMergin);
|
|
32607
32609
|
|
|
32608
32610
|
this.TextFont;
|
|
32609
32611
|
this.TextColor='rgb(0,0,0)';
|
|
32610
|
-
this.NameColor="rgb(0,0,0)";
|
|
32611
32612
|
|
|
32612
|
-
this.
|
|
32613
|
+
this.AryTableData=[];
|
|
32614
|
+
this.MapCache=null; //key=date/date-time value={ Date:, Time:, Data:[ ] }
|
|
32615
|
+
this.GetKValue=ChartData.GetKValue;
|
|
32616
|
+
|
|
32617
|
+
this.BuildCacheData=function()
|
|
32613
32618
|
{
|
|
32614
|
-
|
|
32615
|
-
|
|
32619
|
+
var mapData=new Map();
|
|
32620
|
+
this.MapCache=mapData;
|
|
32621
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.AryTableData)) return;
|
|
32622
|
+
|
|
32623
|
+
for(var i=0;i<this.AryTableData.length;++i)
|
|
32616
32624
|
{
|
|
32617
|
-
this.
|
|
32618
|
-
|
|
32625
|
+
var item=this.AryTableData[i];
|
|
32626
|
+
var key=this.BuildKey(item);
|
|
32627
|
+
mapData.set(key,item);
|
|
32619
32628
|
}
|
|
32629
|
+
}
|
|
32620
32630
|
|
|
32621
|
-
|
|
32631
|
+
//绘制背景色
|
|
32632
|
+
this.DrawBG=function(rtBG)
|
|
32633
|
+
{
|
|
32634
|
+
if (!this.BGColor) return;
|
|
32635
|
+
|
|
32636
|
+
if (this.BGColor)
|
|
32637
|
+
{
|
|
32638
|
+
this.Canvas.fillStyle=this.BGColor;
|
|
32639
|
+
this.Canvas.fillRect(rtBG.Left+1, rtBG.Top, rtBG.Width-1, rtBG.Height);
|
|
32640
|
+
}
|
|
32641
|
+
}
|
|
32642
|
+
|
|
32643
|
+
this.DrawBorder=function(rtBG)
|
|
32644
|
+
{
|
|
32645
|
+
if (!this.BorderColor) return;
|
|
32646
|
+
|
|
32647
|
+
var yLine=rtBG.Top;
|
|
32648
|
+
for(var i=0;i<30;++i)
|
|
32649
|
+
{
|
|
32650
|
+
this.Canvas.beginPath();
|
|
32651
|
+
this.Canvas.moveTo(rtBG.Left,ToFixedPoint(yLine));
|
|
32652
|
+
this.Canvas.lineTo(rtBG.Right,ToFixedPoint(yLine));
|
|
32653
|
+
this.Canvas.stroke();
|
|
32654
|
+
|
|
32655
|
+
yLine+=this.RowHeight;
|
|
32656
|
+
if (yLine>=rtBG.Bottom) break;
|
|
32657
|
+
}
|
|
32658
|
+
}
|
|
32659
|
+
|
|
32660
|
+
//计算行高
|
|
32661
|
+
this.CalculateRowHeight=function(rtBG)
|
|
32662
|
+
{
|
|
32663
|
+
if (this.RowHeightType==1)
|
|
32664
|
+
{
|
|
32665
|
+
this.RowHeight=this.TextFontConfig.FontMaxSize+this.ItemMergin.Top+this.ItemMergin.Bottom;
|
|
32666
|
+
}
|
|
32667
|
+
else
|
|
32668
|
+
{
|
|
32669
|
+
this.RowHeight=rtBG.Height/this.RowCount;
|
|
32670
|
+
}
|
|
32671
|
+
}
|
|
32672
|
+
|
|
32673
|
+
this.Draw=function()
|
|
32674
|
+
{
|
|
32675
|
+
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
32676
|
+
if (this.IsShowIndexTitleOnly()) return;
|
|
32677
|
+
if (this.IsHideScriptIndex()) return;
|
|
32678
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.AryTableData)) return;
|
|
32679
|
+
if (!this.MapCache || this.MapCache.size<=0) return;
|
|
32680
|
+
if(!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
|
|
32622
32681
|
|
|
32623
32682
|
var isHScreen=(this.ChartFrame.IsHScreen===true);
|
|
32624
32683
|
if (isHScreen) return;
|
|
@@ -32629,24 +32688,22 @@ function ChartKLineTable()
|
|
|
32629
32688
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
32630
32689
|
var border=this.ChartFrame.GetBorder();
|
|
32631
32690
|
var height=border.Bottom-border.TopTitle;
|
|
32632
|
-
this.RowHeight=height/this.RowCount;
|
|
32633
32691
|
var xOffset=border.LeftEx+g_JSChartResource.FrameLeftMargin;
|
|
32634
32692
|
var chartright=border.RightEx;
|
|
32635
32693
|
var top=border.TopTitle;
|
|
32636
32694
|
var bottom=border.Bottom;
|
|
32637
32695
|
|
|
32638
|
-
|
|
32639
|
-
{
|
|
32640
|
-
|
|
32641
|
-
|
|
32642
|
-
|
|
32643
|
-
var height=bottom-top;
|
|
32644
|
-
this.Canvas.fillRect(left, top, width, height);
|
|
32645
|
-
}
|
|
32696
|
+
//绘制背景
|
|
32697
|
+
var rtBG={ Left:border.LeftEx, Top:top, Right:border.RightEx, Bottom:bottom };
|
|
32698
|
+
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
32699
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
32700
|
+
this.DrawBG(rtBG);
|
|
32646
32701
|
|
|
32702
|
+
this.CalculateRowHeight(rtBG);
|
|
32703
|
+
|
|
32647
32704
|
var itemHeight=this.RowHeight;
|
|
32648
32705
|
var itemWidth=dataWidth+distanceWidth;
|
|
32649
|
-
if (itemHeight-this.ItemMergin.Top-this.ItemMergin.Bottom>0) itemHeight=itemHeight-this.ItemMergin.
|
|
32706
|
+
if (itemHeight-this.ItemMergin.Top-this.ItemMergin.Bottom>0) itemHeight=itemHeight-this.ItemMergin.Top-this.ItemMergin.Bottom;
|
|
32650
32707
|
if (itemWidth-this.ItemMergin.Left-this.ItemMergin.Right>0) itemWidth=itemWidth-this.ItemMergin.Left-this.ItemMergin.Right;
|
|
32651
32708
|
|
|
32652
32709
|
var font=this.GetDynamicTextFont(itemHeight, itemWidth);
|
|
@@ -32655,8 +32712,8 @@ function ChartKLineTable()
|
|
|
32655
32712
|
|
|
32656
32713
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
32657
32714
|
{
|
|
32658
|
-
var
|
|
32659
|
-
if (!
|
|
32715
|
+
var kItem=this.Data.Data[i];
|
|
32716
|
+
if (!kItem) continue;
|
|
32660
32717
|
|
|
32661
32718
|
var left=xOffset;
|
|
32662
32719
|
var right=xOffset+dataWidth+distanceWidth;
|
|
@@ -32664,15 +32721,20 @@ function ChartKLineTable()
|
|
|
32664
32721
|
var x=left+(right-left)/2;
|
|
32665
32722
|
if (x>chartright) break;
|
|
32666
32723
|
|
|
32667
|
-
|
|
32668
|
-
|
|
32669
|
-
|
|
32670
|
-
|
|
32671
|
-
|
|
32672
|
-
|
|
32673
|
-
|
|
32674
|
-
|
|
32724
|
+
var bDrawName=false;
|
|
32725
|
+
if (j==0 && this.RowNamePosition===1) bDrawName=true;
|
|
32726
|
+
if (bDrawName) this.DrawRowName(top, bottom, left, right);
|
|
32727
|
+
|
|
32728
|
+
var key=this.BuildKey(kItem);
|
|
32729
|
+
if (!this.MapCache.has(key)) continue;
|
|
32730
|
+
var mapItem=this.MapCache.get(key);
|
|
32731
|
+
|
|
32732
|
+
if (!bDrawName) this.DrawRow(mapItem, top, bottom, left, right); //绘制一列
|
|
32675
32733
|
}
|
|
32734
|
+
|
|
32735
|
+
if (this.RowNamePosition==3) this.DrawRightRowName();
|
|
32736
|
+
|
|
32737
|
+
this.DrawBorder(rtBG);
|
|
32676
32738
|
}
|
|
32677
32739
|
|
|
32678
32740
|
this.DrawRowName=function(top, bottom, left, right)
|
|
@@ -32680,32 +32742,35 @@ function ChartKLineTable()
|
|
|
32680
32742
|
if (!IFrameSplitOperator.IsNonEmptyArray(this.RowName)) return;
|
|
32681
32743
|
|
|
32682
32744
|
var x=left,y=top, width=right-left;
|
|
32745
|
+
var yOffset=3;
|
|
32746
|
+
if (this.ItemMergin.YOffset) yOffset=this.ItemMergin.YOffset;
|
|
32683
32747
|
for(var i=0;i<this.RowName.length;++i)
|
|
32684
32748
|
{
|
|
32685
32749
|
var item=this.RowName[i];
|
|
32686
32750
|
|
|
32687
32751
|
var rtBG={Left:x, Top:y, Right:right, Height:this.RowHeight, Width:width };
|
|
32688
32752
|
rtBG.Bottom=rtBG.Top+this.RowHeight;
|
|
32753
|
+
var yText=rtBG.Bottom-yOffset;
|
|
32689
32754
|
|
|
32690
32755
|
if (item.Name && rtBG.Width>10)
|
|
32691
32756
|
{
|
|
32692
32757
|
this.Canvas.fillStyle=item.Color?item.Color:this.TextColor;
|
|
32693
|
-
this.Canvas.textBaseline='
|
|
32758
|
+
this.Canvas.textBaseline='bottom';
|
|
32694
32759
|
|
|
32695
32760
|
if (item.TextAlign=='right')
|
|
32696
32761
|
{
|
|
32697
32762
|
this.Canvas.textAlign='right';
|
|
32698
|
-
this.Canvas.fillText(item.Name,rtBG.Right-2,
|
|
32763
|
+
this.Canvas.fillText(item.Name,rtBG.Right-2,yText, width-4);
|
|
32699
32764
|
}
|
|
32700
32765
|
else if (item.TextAlign=='center')
|
|
32701
32766
|
{
|
|
32702
32767
|
this.Canvas.textAlign='center';
|
|
32703
|
-
this.Canvas.fillText(item.Name,rtBG.Left+rtBG.Width/2,
|
|
32768
|
+
this.Canvas.fillText(item.Name,rtBG.Left+rtBG.Width/2,yText, width-4);
|
|
32704
32769
|
}
|
|
32705
32770
|
else
|
|
32706
32771
|
{
|
|
32707
32772
|
this.Canvas.textAlign='left';
|
|
32708
|
-
this.Canvas.fillText(item.Name,rtBG.Left+2,
|
|
32773
|
+
this.Canvas.fillText(item.Name,rtBG.Left+2,yText, width-4);
|
|
32709
32774
|
}
|
|
32710
32775
|
}
|
|
32711
32776
|
|
|
@@ -32713,40 +32778,129 @@ function ChartKLineTable()
|
|
|
32713
32778
|
}
|
|
32714
32779
|
}
|
|
32715
32780
|
|
|
32781
|
+
//绘制右侧行名
|
|
32782
|
+
this.DrawRightRowName=function()
|
|
32783
|
+
{
|
|
32784
|
+
var border=this.ChartFrame.GetBorder();
|
|
32785
|
+
|
|
32786
|
+
if (this.BGColor)
|
|
32787
|
+
{
|
|
32788
|
+
var rtRightBG={Left:border.RightEx, Top:border.TopTitle, Right:border.ChartWidth, Bottom:border.Bottom };
|
|
32789
|
+
rtRightBG.Width=rtRightBG.Right-rtRightBG.Left;
|
|
32790
|
+
rtRightBG.Height=rtRightBG.Bottom-rtRightBG.Top;
|
|
32791
|
+
this.Canvas.fillStyle=this.BGColor;
|
|
32792
|
+
this.Canvas.fillRect(rtRightBG.Left+1, rtRightBG.Top, rtRightBG.Width-1, rtRightBG.Height);
|
|
32793
|
+
}
|
|
32794
|
+
|
|
32795
|
+
var x=border.RightEx, y=border.TopTitle;
|
|
32796
|
+
var yOffset=3;
|
|
32797
|
+
if (this.ItemMergin.YOffset) yOffset=this.ItemMergin.YOffset;
|
|
32798
|
+
for(var i=0;i<this.RowName.length;++i)
|
|
32799
|
+
{
|
|
32800
|
+
var item=this.RowName[i];
|
|
32801
|
+
|
|
32802
|
+
var rtBG={Left:x, Top:y, Right:border.ChartWidth, Height:this.RowHeight };
|
|
32803
|
+
rtBG.Bottom=rtBG.Top+this.RowHeight;
|
|
32804
|
+
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
32805
|
+
var yText=rtBG.Bottom-yOffset;
|
|
32806
|
+
|
|
32807
|
+
if (item.Name && rtBG.Width>10)
|
|
32808
|
+
{
|
|
32809
|
+
this.Canvas.fillStyle=item.Color?item.Color:this.TextColor;
|
|
32810
|
+
this.Canvas.textBaseline='bottom';
|
|
32811
|
+
this.Canvas.textAlign='left';
|
|
32812
|
+
this.Canvas.fillText(item.Name,rtBG.Left+2,yText);
|
|
32813
|
+
}
|
|
32814
|
+
|
|
32815
|
+
y+=this.RowHeight;
|
|
32816
|
+
}
|
|
32817
|
+
}
|
|
32818
|
+
|
|
32819
|
+
|
|
32716
32820
|
this.DrawRow=function(data, top, bottom, left, right)
|
|
32717
32821
|
{
|
|
32822
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(data.Data)) return;
|
|
32823
|
+
|
|
32718
32824
|
var x=left,y=top, width=right-left;
|
|
32719
|
-
|
|
32825
|
+
var yOffset=3;
|
|
32826
|
+
if (this.ItemMergin.YOffset) yOffset=this.ItemMergin.YOffset;
|
|
32827
|
+
for(var i=0;i<data.Data.length;++i)
|
|
32720
32828
|
{
|
|
32721
|
-
var item=data[i];
|
|
32829
|
+
var item=data.Data[i];
|
|
32722
32830
|
var rtBG={Left:x, Top:y, Right:right, Height:this.RowHeight, Width:width };
|
|
32723
32831
|
rtBG.Bottom=rtBG.Top+this.RowHeight;
|
|
32724
32832
|
|
|
32725
|
-
if (item.
|
|
32833
|
+
if (IFrameSplitOperator.IsNonEmptyArray(item.AryText)) //左右显示
|
|
32726
32834
|
{
|
|
32727
|
-
|
|
32728
|
-
|
|
32729
|
-
|
|
32835
|
+
var subCellWidth=rtBG.Width/item.AryText.length;
|
|
32836
|
+
var xCell=rtBG.Left;
|
|
32837
|
+
for(var j=0;j<item.AryText.length;++j)
|
|
32838
|
+
{
|
|
32839
|
+
var subItem=item.AryText[j];
|
|
32840
|
+
var rtSubBG={ Left:xCell, Top:rtBG.Top, Bottom:rtBG.Bottom, Width:subCellWidth, Height:rtBG.Height };
|
|
32841
|
+
rtSubBG.Right=rtSubBG.Left+rtSubBG.Width;
|
|
32730
32842
|
|
|
32731
|
-
|
|
32732
|
-
|
|
32733
|
-
|
|
32734
|
-
|
|
32843
|
+
if (subItem && subItem.BGColor)
|
|
32844
|
+
{
|
|
32845
|
+
this.Canvas.fillStyle=subItem.BGColor;
|
|
32846
|
+
this.Canvas.fillRect(rtSubBG.Left, rtSubBG.Top, rtSubBG.Width, rtSubBG.Height);
|
|
32847
|
+
}
|
|
32735
32848
|
|
|
32736
|
-
|
|
32737
|
-
|
|
32738
|
-
|
|
32739
|
-
|
|
32849
|
+
if (subItem && subItem.Color && subCellWidth>10)
|
|
32850
|
+
{
|
|
32851
|
+
this.Canvas.fillStyle=subItem.Color;
|
|
32852
|
+
this.Canvas.textBaseline='bottom';
|
|
32853
|
+
var yText=rtSubBG.Bottom-yOffset;
|
|
32854
|
+
|
|
32855
|
+
if (subItem.TextAlign=='right')
|
|
32856
|
+
{
|
|
32857
|
+
this.Canvas.textAlign='right';
|
|
32858
|
+
this.Canvas.fillText(subItem.Text,rtSubBG.Right-2,yText, width-4);
|
|
32859
|
+
}
|
|
32860
|
+
else if (subItem.TextAlign=='center')
|
|
32861
|
+
{
|
|
32862
|
+
this.Canvas.textAlign='center';
|
|
32863
|
+
this.Canvas.fillText(subItem.Text,rtSubBG.Left+rtSubBG.Width/2,yText, width-4);
|
|
32864
|
+
}
|
|
32865
|
+
else
|
|
32866
|
+
{
|
|
32867
|
+
this.Canvas.textAlign='left';
|
|
32868
|
+
this.Canvas.fillText(subItem.Text,rtSubBG.Left+2,yText, width-4);
|
|
32869
|
+
}
|
|
32870
|
+
}
|
|
32871
|
+
|
|
32872
|
+
xCell+=subCellWidth;
|
|
32740
32873
|
}
|
|
32741
|
-
|
|
32874
|
+
}
|
|
32875
|
+
else
|
|
32876
|
+
{
|
|
32877
|
+
if (item && item.BGColor)
|
|
32742
32878
|
{
|
|
32743
|
-
this.Canvas.
|
|
32744
|
-
this.Canvas.
|
|
32879
|
+
this.Canvas.fillStyle=item.BGColor;
|
|
32880
|
+
this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
|
|
32745
32881
|
}
|
|
32746
|
-
|
|
32882
|
+
|
|
32883
|
+
if (item && item.Color && rtBG.Width>10)
|
|
32747
32884
|
{
|
|
32748
|
-
this.Canvas.
|
|
32749
|
-
this.Canvas.
|
|
32885
|
+
this.Canvas.fillStyle=item.Color;
|
|
32886
|
+
this.Canvas.textBaseline='bottom';
|
|
32887
|
+
var yText=rtBG.Bottom-yOffset;
|
|
32888
|
+
|
|
32889
|
+
if (item.TextAlign=='right')
|
|
32890
|
+
{
|
|
32891
|
+
this.Canvas.textAlign='right';
|
|
32892
|
+
this.Canvas.fillText(item.Text,rtBG.Right-2,yText, width-4);
|
|
32893
|
+
}
|
|
32894
|
+
else if (item.TextAlign=='center')
|
|
32895
|
+
{
|
|
32896
|
+
this.Canvas.textAlign='center';
|
|
32897
|
+
this.Canvas.fillText(item.Text,rtBG.Left+rtBG.Width/2,yText, width-4);
|
|
32898
|
+
}
|
|
32899
|
+
else
|
|
32900
|
+
{
|
|
32901
|
+
this.Canvas.textAlign='left';
|
|
32902
|
+
this.Canvas.fillText(item.Text,rtBG.Left+2,yText, width-4);
|
|
32903
|
+
}
|
|
32750
32904
|
}
|
|
32751
32905
|
}
|
|
32752
32906
|
|
|
@@ -96455,11 +96609,13 @@ var MARKET_SUFFIX_NAME=
|
|
|
96455
96609
|
|
|
96456
96610
|
if (this.IsSH(upperSymbol))
|
|
96457
96611
|
{
|
|
96458
|
-
|
|
96612
|
+
var shortSymbol=JSChart.GetShortSymbol(upperSymbol);
|
|
96613
|
+
if (shortSymbol.charAt(0)=="1" && shortSymbol.length==8) return true;
|
|
96459
96614
|
}
|
|
96460
96615
|
else if (this.IsSZ(upperSymbol))
|
|
96461
96616
|
{
|
|
96462
|
-
|
|
96617
|
+
var shortSymbol=JSChart.GetShortSymbol(upperSymbol);
|
|
96618
|
+
if (shortSymbol.charAt(0)=="9" && shortSymbol.length==8) return true;
|
|
96463
96619
|
}
|
|
96464
96620
|
|
|
96465
96621
|
return false;
|