hqchart 1.1.15225 → 1.1.15235
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 -17
- package/package.json +1 -1
- package/src/jscommon/umychart.js +41 -31
- package/src/jscommon/umychart.report.js +65 -41
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +107 -73
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +107 -73
package/lib/umychart.vue.js
CHANGED
|
@@ -2364,9 +2364,10 @@ for(var i=0;i<data.length;++i){var item=data[i];strRow+='"'+item.Name+'"';if(i==
|
|
|
2364
2364
|
this.ResetFrameXYSplit();this.Frame.SetSizeChage(true);this.Draw();if(this.PopMinuteChart)this.PopMinuteChart.SetLanguage(language);};this.ReloadTiltePaintResource=function(resource)//重新加载配置
|
|
2365
2365
|
{for(var i in this.TitlePaint){var item=this.TitlePaint[i];if(item.ReloadResource)item.ReloadResource(resource);}};this.ReloadExtendChartPaintResource=function(resource)//扩展画法重新加载配置
|
|
2366
2366
|
{for(var i=0;i<this.ExtendChartPaint.length;++i){var item=this.ExtendChartPaint[i];if(item.ReloadResource)item.ReloadResource(resource);}if(this.ChartDragSelectRect&&this.ChartDragSelectRect.ReloadResource)this.ChartDragSelectRect.ReloadResource(resource);};this.ReloadChartDrawPictureResource=function(resource){if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartDrawPicture))return;for(var i=0;i<this.ChartDrawPicture.length;++i){var item=this.ChartDrawPicture[i];if(item.ReloadResource)item.ReloadResource(resource);}};this.ReloadResource=function(option){this.ReloadBorder(option);this.ReloadTiltePaintResource(option.Resource);this.ReloadChartPaint(option.Resource);this.ReloadFrame(option.Resource);this.ReloadExtendChartPaintResource(option.Resource);this.ReloadChartCorssCursor(option,option.Resource);this.ReloadChartDrawPictureResource(option.Resource);var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_RELOAD_RESOURCE);//配色重新加载
|
|
2367
|
-
if(event&&event.Callback){var sendData={Option:option};event.Callback(event,sendData,this);}if(option.Update&&this.Update)this.Update({UpdateCursorIndexType:2});//是否立即更新并重绘
|
|
2368
|
-
else if(option.Draw==true||option.Redraw==true)this.
|
|
2369
|
-
|
|
2367
|
+
if(event&&event.Callback){var sendData={Option:option};event.Callback(event,sendData,this);}if(option.Update&&this.Update){this.Update({UpdateCursorIndexType:2});//是否立即更新并重绘
|
|
2368
|
+
}else if(option.Draw==true||option.Redraw==true){this.ResetFrameXYSplit();//重新计算分割线
|
|
2369
|
+
this.Draw();//是否立即重绘
|
|
2370
|
+
}if(this.PopMinuteChart)this.PopMinuteChart.ReloadResource(option);if(this.DialogTooltip)this.DialogTooltip.ReloadResource(option);if(this.FloatTooltip)this.FloatTooltip.ReloadResource(option);if(this.DialogSelectRect)this.DialogSelectRect.ReloadResource(option);if(this.DialogSearchIndex)this.DialogSearchIndex.ReloadResource(option);};this.ReloadBorder=function(option)//根据页面缩放调整对应边框的尺长
|
|
2370
2371
|
{if(!option)return;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
2371
2372
|
if(option.Border){var item=option.Border;if(IFrameSplitOperator.IsNumber(item.Left))this.Frame.ChartBorder.Left=item.Left*pixelTatio;if(IFrameSplitOperator.IsNumber(item.Right))this.Frame.ChartBorder.Right=item.Right*pixelTatio;if(IFrameSplitOperator.IsNumber(item.Top))this.Frame.ChartBorder.Top=item.Top*pixelTatio;if(IFrameSplitOperator.IsNumber(item.Bottom))this.Frame.ChartBorder.Bottom=item.Bottom*pixelTatio;}for(var i in option.Windows){var item=option.Windows[i];if(i>=this.Frame.SubFrame.length)continue;var subFrame=this.Frame.SubFrame[i];var border=subFrame.Frame.ChartBorder;if(IFrameSplitOperator.IsNumber(item.TitleHeight))border.TitleHeight=item.TitleHeight*pixelTatio;}for(var i in option.Frame){var item=option.Frame[i];if(i>=this.Frame.SubFrame.length)continue;var subFrame=this.Frame.SubFrame[i];var border=subFrame.Frame.ChartBorder;if(item.TopSpace>=0)border.TopSpace=item.TopSpace*pixelTatio;if(item.BottomSpace>=0)border.BottomSpace=item.BottomSpace*pixelTatio;}};this.ReloadFrame=function(resource){for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];var subFrame=item.Frame;if(subFrame&&subFrame.ReloadResource)subFrame.ReloadResource(resource);for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(overlayItem.Frame&&overlayItem.Frame.ReloadResource)overlayItem.Frame.ReloadResource(resource);}}if(this.JSToolbarTooltip)this.JSToolbarTooltip.ReloadResource(resource);//工具栏提示框
|
|
2372
2373
|
};this.ReloadChartPaint=function(resource){for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item&&item.ReloadResource)item.ReloadResource(resource);}};this.ReloadChartCorssCursor=function(option,resource){var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
@@ -4415,8 +4416,8 @@ this.AfterCloseData;//盘后数据
|
|
|
4415
4416
|
this.BeforeVolColor=g_JSChartResource.Minute.Before.VolColor;this.ShareAfterVol=0;this.MultiDayBeforeOpenData;//多日分时图 盘前数据 数组 1天一个
|
|
4416
4417
|
this.MultiDayAfterCloseData;//多日分时图 盘后数据 数组 1天一个
|
|
4417
4418
|
this.PtInChart=function(x,y){var option={MinuteVolBar:true,VolUnit:this.GetVolUnit()};return this.PtInBar(x,y,option);};this.DrawSelectedStatus=function(){return this.DrawLinePoint({MinuteVolBar:true});};this.GetVolUnit=function(){var upperSymbol=this.Symbol?this.Symbol.toUpperCase():null;var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);return unit;};this.Draw=function(){var isHScreen=this.ChartFrame.IsHScreen===true;if(isHScreen){var border=this.ChartBorder.GetHScreenBorder();var chartright=border.BottomEx;}else{var border=this.ChartBorder.GetBorder();var chartright=border.RightEx;}this.DrawBeforeOpen();this.DrawMultiDayBeforeOpen();var xPointCount=this.ChartFrame.XPointCount;var yBottom=this.ChartFrame.GetYFromData(0);var yPrice=this.YClose;//上一分钟的价格
|
|
4418
|
-
var data=this.Data;var bShowColorBar=MARKET_SUFFIX_NAME.IsShowMinuteColorVolBar(this.Symbol);if(bShowColorBar)this.Canvas.strokeStyle=this.CustomColor;var unit=this.GetVolUnit();for(var i=data.DataOffset,j=0;i<data.Data.length&&j<xPointCount;++i,++j){var item=data.Data[i];var vol=null;if(!item)continue;var price=null;vol=item.Vol/unit;price=item.Close;if(!vol)continue;var y=this.ChartFrame.GetYFromData(vol);var x=this.ChartFrame.GetXFromIndex(j);if(x>chartright)break;//价格>=上一分钟价格 红色 否则绿色
|
|
4419
|
-
if(!bShowColorBar)this.Canvas.strokeStyle=this.GetMinuteBarColor(price,yPrice);this.Canvas.beginPath();if(isHScreen){this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(yBottom,ToFixedPoint(x));}else{this.Canvas.moveTo(ToFixedPoint(x),y);this.Canvas.lineTo(ToFixedPoint(x),yBottom);}this.Canvas.stroke();if(price)yPrice=price;}this.DrawAfterClose();this.DrawMultiDayAfterClose();};//连续交易成交量柱子颜色
|
|
4419
|
+
var data=this.Data;var bShowColorBar=MARKET_SUFFIX_NAME.IsShowMinuteColorVolBar(this.Symbol);if(bShowColorBar)this.Canvas.strokeStyle=this.CustomColor;var unit=this.GetVolUnit();if(data&&IFrameSplitOperator.IsNonEmptyArray(data.Data)){for(var i=data.DataOffset,j=0;i<data.Data.length&&j<xPointCount;++i,++j){var item=data.Data[i];var vol=null;if(!item)continue;var price=null;vol=item.Vol/unit;price=item.Close;if(!vol)continue;var y=this.ChartFrame.GetYFromData(vol);var x=this.ChartFrame.GetXFromIndex(j);if(x>chartright)break;//价格>=上一分钟价格 红色 否则绿色
|
|
4420
|
+
if(!bShowColorBar)this.Canvas.strokeStyle=this.GetMinuteBarColor(price,yPrice);this.Canvas.beginPath();if(isHScreen){this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(yBottom,ToFixedPoint(x));}else{this.Canvas.moveTo(ToFixedPoint(x),y);this.Canvas.lineTo(ToFixedPoint(x),yBottom);}this.Canvas.stroke();if(price)yPrice=price;}}this.DrawAfterClose();this.DrawMultiDayAfterClose();};//连续交易成交量柱子颜色
|
|
4420
4421
|
this.GetMinuteBarColor=function(price,yPrice){if(this.BarColorType==1)//通达信模式
|
|
4421
4422
|
{if(price>yPrice)return this.UpColor;else if(price<yPrice)return this.DownColor;else return this.UnchangeColor;}else//东方财富模式
|
|
4422
4423
|
{return price>=yPrice?this.UpColor:this.DownColor;}};this.DrawBeforeOpen=function(){if(this.ChartBorder.LeftExtendWidth<10)return;if(!this.BeforeOpenData)return;this.DrawCallAuction(-1,this.BeforeOpenData,true);};this.DrawAfterClose=function(){if(this.ChartBorder.RightExtendWidth<10)return;if(!this.AfterCloseData)return;this.DrawCallAuction(-1,this.AfterCloseData,false);};this.DrawMultiDayBeforeOpen=function(){if(this.ChartBorder.MultiDayMinute.Count<=1||this.ChartBorder.MultiDayMinute.Left<=0)return;if(!this.MultiDayBeforeOpenData)return;var offset=0,showDayCount=this.MultiDayBeforeOpenData.length;if(this.DayOffset){if(IFrameSplitOperator.IsNumber(this.DayOffset.Offset))offset=this.DayOffset.Offset;if(IFrameSplitOperator.IsNumber(this.DayOffset.ShowDayCount))showDayCount=this.DayOffset.ShowDayCount;}for(var i=offset,j=0;i<this.MultiDayBeforeOpenData.length&&j<showDayCount;++i,++j){var dayItem=this.MultiDayBeforeOpenData[i];this.DrawCallAuction(j,dayItem,true);}};this.DrawMultiDayAfterClose=function(){if(this.ChartBorder.MultiDayMinute.Count<=1||this.ChartBorder.MultiDayMinute.Right<=0)return;if(!this.MultiDayAfterCloseData)return;var offset=0,showDayCount=this.MultiDayAfterCloseData.length;if(this.DayOffset){if(IFrameSplitOperator.IsNumber(this.DayOffset.Offset))offset=this.DayOffset.Offset;if(IFrameSplitOperator.IsNumber(this.DayOffset.ShowDayCount))showDayCount=this.DayOffset.ShowDayCount;}for(var i=offset,j=0;i<this.MultiDayAfterCloseData.length&&j<showDayCount;++i,++j){var dayItem=this.MultiDayAfterCloseData[i];this.DrawCallAuction(j,dayItem,false);}};this.DrawCallAuction=function(indexDay,callAutionData,isBeforeOpen){if(!callAutionData)return;callAutionData.Index=indexDay;var border=this.GetBorder();var isHScreen=this.ChartFrame.IsHScreen===true;var yPrice=this.YClose;//上一分钟的价格
|
|
@@ -6853,7 +6854,7 @@ this.LineWidth=1;this.Precision=2;//小数位数
|
|
|
6853
6854
|
this.ValueTextColor='rgb(250,250,250)';this.IsShowCorssCursor=true;//画的时候是否显示十字光标
|
|
6854
6855
|
this.GetLabelCallback;//绘制标题回调函数
|
|
6855
6856
|
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=垂直排列
|
|
6856
|
-
this.ButtonBGColor='rgb(190,190,190)';this.ButtonSpace=3;this.TopOffset=3;this.TextMargin={Left:0,Right:0,Top:0,Bottom:0,YOffset
|
|
6857
|
+
this.ButtonBGColor='rgb(190,190,190)';this.ButtonSpace=3;this.TopOffset=3;this.TextMargin={Left:0,Right:0,Top:0,Bottom:0,YOffset:-1*GetDevicePixelRatio()};this.AlwaysShowLab=false;//总是显示标签
|
|
6857
6858
|
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 可以外部定制按钮
|
|
6858
6859
|
}};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 }
|
|
6859
6860
|
this.AryShowButton=[];//需要显示的按钮 { Data:, Width }
|
|
@@ -6889,7 +6890,7 @@ if(labelInfo.BGColor){this.Canvas.fillStyle=labelInfo.BGColor;this.Canvas.fillRe
|
|
|
6889
6890
|
{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 百分比
|
|
6890
6891
|
else xRight=left+item.Width*pixelRatio;//>1 实际数值就是长度
|
|
6891
6892
|
}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]);//虚线
|
|
6892
|
-
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.
|
|
6893
|
+
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.Bottom-this.TextMargin.Bottom+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="bottom";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);};//计算右侧价格标签大小
|
|
6893
6894
|
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;};//垂直排列按钮
|
|
6894
6895
|
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()调用
|
|
6895
6896
|
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)//右边不够了 往左移动
|
|
@@ -13619,7 +13620,7 @@ var _iteratorNormalCompletion23=true;var _didIteratorError23=false;var _iterator
|
|
|
13619
13620
|
if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}if(option.EnableResize==true)this.CreateResizeListener();if(option.EnablePopMenuV2===true)chart.InitalPopMenu();if(option.FloatTooltip&&option.FloatTooltip.Enable)chart.InitalFloatTooltip(option.FloatTooltip);//提示信息
|
|
13620
13621
|
if(option.MinuteChartTooltip&&option.MinuteChartTooltip.Enable)chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);if(option.KLineChartTooltip&&option.KLineChartTooltip.Enable)chart.InitalKLineChartTooltip(option.KLineChartTooltip);if(option.Symbol)chart.Symbol=option.Symbol;if(option.Name)chart.Name=option.Name;var requestOption={Callback:null};if(chart.Symbol)requestOption.Callback=function(){chart.RequestMemberListData();};if(option.LoadStockList===false){chart.ChartSplashPaint.IsEnableSplash=false;chart.Draw();}else{chart.RequestStockListData(requestOption);//下载码表
|
|
13621
13622
|
}};this.CreateJSReportChartContainer=function(option){var _this60=this;var chart=new JSReportChartContainer(this.CanvasElement);chart.GetExtraCanvas=function(name){return _this60.GetExtraCanvas(name);};chart.Create(option);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(IFrameSplitOperator.IsNonEmptyArray(option.Tab))chart.SetTab(option.Tab);if(IFrameSplitOperator.IsNumber(option.TabSelected))chart.SetSelectedTab(option.TabSelected);if(IFrameSplitOperator.IsBool(option.EnableDragRow))chart.EnableDragRow=option.EnableDragRow;if(IFrameSplitOperator.IsNumber(option.DragRowType))chart.DragRowType=option.DragRowType;if(IFrameSplitOperator.IsBool(option.EnableDragHeader))chart.EnableDragHeader=option.EnableDragHeader;if(IFrameSplitOperator.IsNumber(option.WheelPageType))chart.WheelPageConfig.Type=option.WheelPageType;if(IFrameSplitOperator.IsBool(option.PageUpDownCycle))chart.PageUpDownCycle=option.PageUpDownCycle;if(IFrameSplitOperator.IsBool(option.EnablePageUpdate))chart.EnablePageUpdate=option.EnablePageUpdate;if(option.WheelPage){var item=option.WheelPage;if(IFrameSplitOperator.IsNumber(item.Type))chart.WheelPageConfig.Type=item.Type;if(IFrameSplitOperator.IsPlusNumber(item.RowStep))chart.WheelPageConfig.RowStep=item.RowStep;if(IFrameSplitOperator.IsBool(item.EnableCtrlTurn))chart.WheelPageConfig.EnableCtrlTurn=item.EnableCtrlTurn;}//数据下载提示信息
|
|
13622
|
-
if(IFrameSplitOperator.IsObject(option.SplashTitle)){var item=option.SplashTitle;if(item)chart.SplashTitle.StockList=item.StockList;if(item)chart.SplashTitle.MemberList=item.MemberList;}if(option.VScrollbar)chart.SetVScrollbar(option.VScrollbar);if(option.SortInfo){var item=option.SortInfo;if(item.Search)chart.SortInfo.Field=chart.FindFiledIndex(item.Search);if(IFrameSplitOperator.IsNumber(item.Field))chart.SortInfo.Field=item.Field;if(IFrameSplitOperator.IsNumber(item.Sort))chart.SortInfo.Sort=item.Sort;}if(option.VirtualTable){var item=option.VirtualTable;if(IFrameSplitOperator.IsBool(item.Enable))chart.Data.Virtual.Enable=item.Enable;}var reportChart=chart.GetReportChart();if(reportChart){if(IFrameSplitOperator.IsNumber(option.TextOverflowStyle))reportChart.TextOverflowStyle=option.TextOverflowStyle;if(IFrameSplitOperator.IsNumber(option.MultiSelectModel))reportChart.MultiSelectModel=option.MultiSelectModel;if(IFrameSplitOperator.IsNumber(option.SelectedStyle))reportChart.SelectedStyle=option.SelectedStyle;}this.SetChartBorder(chart,option);//是否自动更新
|
|
13623
|
+
if(IFrameSplitOperator.IsObject(option.SplashTitle)){var item=option.SplashTitle;if(item)chart.SplashTitle.StockList=item.StockList;if(item)chart.SplashTitle.MemberList=item.MemberList;}if(option.VScrollbar)chart.SetVScrollbar(option.VScrollbar);if(option.SortInfo){var item=option.SortInfo;if(item.Search)chart.SortInfo.Field=chart.FindFiledIndex(item.Search);if(IFrameSplitOperator.IsNumber(item.Field))chart.SortInfo.Field=item.Field;if(IFrameSplitOperator.IsNumber(item.Sort))chart.SortInfo.Sort=item.Sort;}if(option.VirtualTable){var item=option.VirtualTable;if(IFrameSplitOperator.IsBool(item.Enable))chart.Data.Virtual.Enable=item.Enable;}var reportChart=chart.GetReportChart();if(reportChart){if(IFrameSplitOperator.IsNumber(option.TextOverflowStyle))reportChart.TextOverflowStyle=option.TextOverflowStyle;if(IFrameSplitOperator.IsNumber(option.MultiSelectModel))reportChart.MultiSelectModel=option.MultiSelectModel;if(IFrameSplitOperator.IsNumber(option.SelectedStyle))reportChart.SelectedStyle=option.SelectedStyle;if(option.BottomTab){var item=option.BottomTab;if(IFrameSplitOperator.IsBool(item.IsShow))reportChart.Tab.IsShow=item.IsShow;}}this.SetChartBorder(chart,option);//是否自动更新
|
|
13623
13624
|
if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;//数据筛选
|
|
13624
13625
|
if(option.DataFilter){var item=option.DataFilter;if(IFrameSplitOperator.IsBool(item.Enable))chart.DataFilterConfig.Enable=item.Enable;}//注册事件
|
|
13625
13626
|
if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};this.SetChartBorder=function(chart,option){if(!option.Border)return;var item=option.Border;if(IFrameSplitOperator.IsNumber(option.Border.Left))chart.Frame.ChartBorder.Left=option.Border.Left;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
@@ -13713,8 +13714,7 @@ if(option&&option.PageInfo===true){var pageInfoChart=new ChartReportPageInfo();p
|
|
|
13713
13714
|
if(IFrameSplitOperator.IsNumber(option.FixedColumn))chart.FixedColumn=option.FixedColumn;//固定列
|
|
13714
13715
|
if(IFrameSplitOperator.IsNumber(option.BorderLine))this.Frame.BorderLine=option.BorderLine;//边框
|
|
13715
13716
|
if(IFrameSplitOperator.IsBool(option.TabShow))chart.Tab.IsShow=option.TabShow;if(IFrameSplitOperator.IsNumber(option.FixedRowCount))chart.FixedRowCount=option.FixedRowCount;//固定行
|
|
13716
|
-
if(IFrameSplitOperator.
|
|
13717
|
-
if(IFrameSplitOperator.IsNumber(option.SelectedModel))chart.SelectedModel=option.SelectedModel;if(IFrameSplitOperator.IsNumber(option.HeaderRowCount))chart.HeaderRowCount=option.HeaderRowCount;if(IFrameSplitOperator.IsNonEmptyArray(option.FixedSymbol)){chart.FixedRowCount=0;this.FixedRowData.Type=1;this.FixedRowData.Symbol=[];var aryData=option.FixedSymbol;for(var i=0;i<aryData.length;++i){var item=aryData[i];this.FixedRowData.Symbol.push(item.Symbol);++chart.FixedRowCount;}}}var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register wheel event.');}}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this63.OnKeyDown(e);},true);//键盘消息
|
|
13717
|
+
if(IFrameSplitOperator.IsNumber(option.SelectedModel))chart.SelectedModel=option.SelectedModel;if(IFrameSplitOperator.IsNumber(option.HeaderRowCount))chart.HeaderRowCount=option.HeaderRowCount;if(IFrameSplitOperator.IsNonEmptyArray(option.FixedSymbol)){chart.FixedRowCount=0;this.FixedRowData.Type=1;this.FixedRowData.Symbol=[];var aryData=option.FixedSymbol;for(var i=0;i<aryData.length;++i){var item=aryData[i];this.FixedRowData.Symbol.push(item.Symbol);++chart.FixedRowCount;}}if(option.CellBorder){var item=option.CellBorder;if(IFrameSplitOperator.IsBool(item.IsShowVLine))chart.CellBorderConfig.IsShowVLine=item.IsShowVLine;if(IFrameSplitOperator.IsBool(item.IsShowHLine))chart.CellBorderConfig.IsShowHLine=item.IsShowHLine;if(IFrameSplitOperator.IsBool(item.IsFullLine))chart.CellBorderConfig.IsFullLine=item.IsFullLine;}}var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register wheel event.');}}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this63.OnKeyDown(e);},true);//键盘消息
|
|
13718
13718
|
if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this63.OnWheel(e);},true);//上下滚动消息
|
|
13719
13719
|
this.UIElement.ondblclick=function(e){_this63.UIOnDblClick(e);};this.UIElement.onmousedown=function(e){_this63.UIOnMouseDown(e);};this.UIElement.onmouseup=function(e){_this63.UIOnMounseUp(e);};this.UIElement.oncontextmenu=function(e){_this63.UIOnContextMenu(e);};this.UIElement.onmousemove=function(e){_this63.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this63.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this63.UIOnMouseleave(e);};//手机拖拽
|
|
13720
13720
|
this.UIElement.ontouchstart=function(e){_this63.OnTouchStart(e);};this.UIElement.ontouchmove=function(e){_this63.OnTouchMove(e);};this.UIElement.ontouchend=function(e){_this63.OnTouchEnd(e);};};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
@@ -14083,8 +14083,8 @@ this.SizeChange=true;this.SelectedModel=0;//选中模式 0=SelectedRow表示当
|
|
|
14083
14083
|
this.SelectedRowData;//{ DataIndex:, Index:, Symbol: }
|
|
14084
14084
|
this.SelectedFixedRow=-1;//选中固定行ID
|
|
14085
14085
|
this.SelectedStyle=1;//选中行样式 1=整行填充 2=底部绘制直线
|
|
14086
|
-
this.IsDrawBorder=1;//是否绘制单元格边框
|
|
14087
14086
|
this.HeaderRowCount=1;//表头行数
|
|
14087
|
+
this.CellBorderConfig={IsShowVLine:true,IsShowHLine:true,IsFullLine:true};//单元格边框 IsShowHLine=横线 IsShowVLine=竖向
|
|
14088
14088
|
//多选模式
|
|
14089
14089
|
this.MultiSelectModel=0;//0=禁用 1=开启
|
|
14090
14090
|
this.MultiSelectedRow=[];//选中行
|
|
@@ -14164,7 +14164,7 @@ if(IFrameSplitOperator.IsNumber(item.BlockIndex))colItem.BlockIndex=item.BlockIn
|
|
|
14164
14164
|
{Type:REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID,Title:"自定义",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.CUSTOM_NUMBER_TEXT_ID,Title:"自定义",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.CUSTOM_DATETIME_TEXT_ID,Title:"自定义",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99"},{Type:REPORT_COLUMN_ID.CUSTOM_ICON_ID,Title:" ",TextAlign:"left",FixedWidth:20,TextColor:g_JSChartResource.Report.FieldColor.Text},{Type:REPORT_COLUMN_ID.KLINE_ID,Title:"K线",TextAlign:"left",FixedWidth:50,TextColor:g_JSChartResource.Report.FieldColor.Text},{Type:REPORT_COLUMN_ID.TIME_ID,Title:"时间",TextAlign:"left",ValueType:0,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"99:99:99.999"},{Type:REPORT_COLUMN_ID.DATE_ID,Title:"日期",TextAlign:"left",FormatType:0,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99"},{Type:REPORT_COLUMN_ID.CHECKBOX_ID,Title:"",TextAlign:"center",FixedWidth:20*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID,Title:"",TextAlign:"center",FixedWidth:20*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.CUSTOM_BUTTON_ID,Title:"",TextAlign:"center",FixedWidth:50*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.CUSTOM_PROGRESS_ID,Title:"进度条",TextAlign:"center",FixedWidth:100*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.CUSTOM_LINK_ID,Title:"链接地址",TextAlign:"center",MaxText:"擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.FUTURES_POSITION_ID,Title:"持仓量",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Vol,Width:null,MaxText:"8888888"},{Type:REPORT_COLUMN_ID.FUTURES_CLOSE_ID,Title:"结算价",TextAlign:"right",Width:null,MaxText:"8888888"},{Type:REPORT_COLUMN_ID.FUTURES_YCLOSE_ID,Title:"昨结算价",TextAlign:"right",Width:null,MaxText:"8888888"},{Type:REPORT_COLUMN_ID.FUTURES_OPEN_POSITION_ID,Title:"开仓量",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"8888888"},{Type:REPORT_COLUMN_ID.FUTURES_CLOSE_POSITION_ID,Title:"平仓量",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"8888888"},{Type:REPORT_COLUMN_ID.RISING_SPEED_1M_ID,Title:"涨速%",TextAlign:"right",Width:null,MaxText:"-888.88"},{Type:REPORT_COLUMN_ID.RISING_SPEED_3M_ID,Title:"3分涨速%",TextAlign:"right",Width:null,MaxText:"-888.88"},{Type:REPORT_COLUMN_ID.RISING_SPEED_5M_ID,Title:"5分涨速%",TextAlign:"right",Width:null,MaxText:"-888.88"},{Type:REPORT_COLUMN_ID.RISING_SPEED_10M_ID,Title:"10分涨速%",TextAlign:"right",Width:null,MaxText:"-888.88"},{Type:REPORT_COLUMN_ID.RISING_SPEED_15M_ID,Title:"15分涨速%",TextAlign:"right",Width:null,MaxText:"-888.88"},//组合多行字段
|
|
14165
14165
|
{Type:REPORT_COLUMN_ID.MULTI_LINE_CONTAINER,Title:"涨幅",TextAlign:"right",MaxText:"1000.00%",AryField:[{Type:REPORT_COLUMN_ID.PRICE_ID},{Type:REPORT_COLUMN_ID.INCREASE_ID,DynamicFormat:"{Value}%"}]},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER1_ID,Title:"数值1",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER2_ID,Title:"数值2",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER3_ID,Title:"数值3",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER4_ID,Title:"数值4",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER5_ID,Title:"数值5",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER6_ID,Title:"数值6",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER7_ID,Title:"数值7",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER8_ID,Title:"数值8",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER9_ID,Title:"数值9",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER10_ID,Title:"数值10",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER11_ID,Title:"数值11",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER12_ID,Title:"数值12",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER13_ID,Title:"数值13",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER14_ID,Title:"数值14",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER15_ID,Title:"数值15",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER16_ID,Title:"数值16",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER17_ID,Title:"数值17",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER18_ID,Title:"数值18",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER19_ID,Title:"数值19",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_NUMBER20_ID,Title:"数值20",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:REPORT_COLUMN_ID.RESERVE_STRING1_ID,Title:"文字1",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING2_ID,Title:"文字2",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING3_ID,Title:"文字3",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING4_ID,Title:"文字4",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING5_ID,Title:"文字5",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING6_ID,Title:"文字6",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING7_ID,Title:"文字7",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING8_ID,Title:"文字8",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING9_ID,Title:"文字9",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING10_ID,Title:"文字10",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING11_ID,Title:"文字11",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING12_ID,Title:"文字12",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING13_ID,Title:"文字13",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING14_ID,Title:"文字14",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING15_ID,Title:"文字15",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING16_ID,Title:"文字16",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING17_ID,Title:"文字17",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING18_ID,Title:"文字18",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING19_ID,Title:"文字19",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_STRING20_ID,Title:"文字20",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR1_ID,Title:"进度条1",TextAlign:"center",FixedWidth:100*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR2_ID,Title:"进度条2",TextAlign:"center",FixedWidth:100*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR3_ID,Title:"进度条3",TextAlign:"center",FixedWidth:100*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR4_ID,Title:"进度条4",TextAlign:"center",FixedWidth:100*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR5_ID,Title:"进度条5",TextAlign:"center",FixedWidth:100*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR6_ID,Title:"进度条6",TextAlign:"center",FixedWidth:100*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR7_ID,Title:"进度条7",TextAlign:"center",FixedWidth:100*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR8_ID,Title:"进度条8",TextAlign:"center",FixedWidth:100*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR9_ID,Title:"进度条9",TextAlign:"center",FixedWidth:100*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR10_ID,Title:"进度条10",TextAlign:"center",FixedWidth:100*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_BUTTON1_ID,Title:"按钮1",TextAlign:"center",FixedWidth:50*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_BUTTON2_ID,Title:"按钮2",TextAlign:"center",FixedWidth:50*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_BUTTON3_ID,Title:"按钮3",TextAlign:"center",FixedWidth:50*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_BUTTON4_ID,Title:"按钮4",TextAlign:"center",FixedWidth:50*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_BUTTON5_ID,Title:"按钮5",TextAlign:"center",FixedWidth:50*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_BUTTON6_ID,Title:"按钮6",TextAlign:"center",FixedWidth:50*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_BUTTON7_ID,Title:"按钮7",TextAlign:"center",FixedWidth:50*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_BUTTON8_ID,Title:"按钮8",TextAlign:"center",FixedWidth:50*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_BUTTON9_ID,Title:"按钮9",TextAlign:"center",FixedWidth:50*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_BUTTON10_ID,Title:"按钮10",TextAlign:"center",FixedWidth:50*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.RESERVE_DATETIME1_ID,Title:"日期1",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99",DateTimeFormat:"YYYY-MM-DD"},{Type:REPORT_COLUMN_ID.RESERVE_DATETIME2_ID,Title:"日期2",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99",DateTimeFormat:"YYYY-MM-DD"},{Type:REPORT_COLUMN_ID.RESERVE_DATETIME3_ID,Title:"日期3",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99",DateTimeFormat:"YYYY-MM-DD"},{Type:REPORT_COLUMN_ID.RESERVE_DATETIME4_ID,Title:"日期4",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99",DateTimeFormat:"YYYY-MM-DD"},{Type:REPORT_COLUMN_ID.RESERVE_DATETIME5_ID,Title:"日期5",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99",DateTimeFormat:"YYYY-MM-DD"},{Type:REPORT_COLUMN_ID.RESERVE_DATETIME6_ID,Title:"日期6",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99",DateTimeFormat:"YYYY-MM-DD"},{Type:REPORT_COLUMN_ID.RESERVE_DATETIME7_ID,Title:"日期7",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99",DateTimeFormat:"YYYY-MM-DD"},{Type:REPORT_COLUMN_ID.RESERVE_DATETIME8_ID,Title:"日期8",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99",DateTimeFormat:"YYYY-MM-DD"},{Type:REPORT_COLUMN_ID.RESERVE_DATETIME9_ID,Title:"日期9",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99",DateTimeFormat:"YYYY-MM-DD"},{Type:REPORT_COLUMN_ID.RESERVE_DATETIME10_ID,Title:"日期10",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99",DateTimeFormat:"YYYY-MM-DD"}];for(var i=0;i<DEFAULT_COLUMN.length;++i){var item=DEFAULT_COLUMN[i];if(item.Type==id)return item;}return null;};this.ClipClient=function(){this.Canvas.save();this.Canvas.beginPath();this.Canvas.rect(this.RectClient.Left,this.RectClient.Top,this.RectClient.Right-this.RectClient.Left,this.RectClient.Bottom-this.RectClient.Top);//this.Canvas.stroke(); //调试用
|
|
14166
14166
|
this.Canvas.clip();};this.CreateTempCache=function(){this.TempCache={MapReserveDateTime:new _map2.default()};//MapReserveDateTime:key=colindex, Value:{ PreDate }
|
|
14167
|
-
};this.Draw=function(lastMouseStatus){this.ShowSymbol=[];this.TooltipRect=[];this.ButtonRect=[];this.AryFullSelectedRow=[];this.DevicePixelRatio=GetDevicePixelRatio();this.LastMouseStatus=lastMouseStatus;this.CreateTempCache();if(this.GlobalOption)this.GlobalOption.FlashBGCount=0;if(this.SizeChange)this.CalculateSize();else this.UpdateCacheData();this.ClipClient();this.DrawDragHeaderBG();this.DrawHeader();this.DrawBody();this.Canvas.restore();if(this.Tab&&this.BottomToolbarHeight>0){var bottom=this.ChartBorder.GetBottom();this.Tab.DrawTab(this.RectClient.Left,bottom-this.BottomToolbarHeight,this.RectClient.Right,bottom);this.Tab.DrawScrollbar(this.RectClient.Left,bottom-this.BottomToolbarHeight,this.RectClient.Right,bottom);}this.ClipClient();this.DrawBorder();this.DrawSelectedRow();this.Canvas.restore();this.DrawDragRow();this.DrawDragHeader();if(this.VScrollbar){var bottom=this.ChartBorder.GetBottom();this.VScrollbar.DrawScrollbar(this.RectClient.Left,this.RectClient.Top+this.HeaderHeight,this.RectClient.Right,bottom-this.BottomToolbarHeight-4);}this.LastMouseStatus=null;this.SizeChange=false;this.AryFullSelectedRow=[];this.TempCache=null;};this.DrawDragHeaderBG=function(){if(!this.DragHeader)return;var left=this.RectClient.Left;var right=this.RectClient.Right;var top=this.RectClient.Top;var bottom=top+this.HeaderHeight+this.RowHeight*this.RowCount+this.FixedRowHeight*this.FixedRowCount;//竖线
|
|
14167
|
+
};this.Draw=function(lastMouseStatus){this.ShowSymbol=[];this.TooltipRect=[];this.ButtonRect=[];this.AryFullSelectedRow=[];this.DevicePixelRatio=GetDevicePixelRatio();this.LastMouseStatus=lastMouseStatus;this.DrawRowCount=0;this.CreateTempCache();if(this.GlobalOption)this.GlobalOption.FlashBGCount=0;if(this.SizeChange)this.CalculateSize();else this.UpdateCacheData();this.ClipClient();this.DrawDragHeaderBG();this.DrawHeader();this.DrawBody();this.Canvas.restore();if(this.Tab&&this.BottomToolbarHeight>0){var bottom=this.ChartBorder.GetBottom();this.Tab.DrawTab(this.RectClient.Left,bottom-this.BottomToolbarHeight,this.RectClient.Right,bottom);this.Tab.DrawScrollbar(this.RectClient.Left,bottom-this.BottomToolbarHeight,this.RectClient.Right,bottom);}this.ClipClient();this.DrawBorder();this.DrawSelectedRow();this.Canvas.restore();this.DrawDragRow();this.DrawDragHeader();if(this.VScrollbar){var bottom=this.ChartBorder.GetBottom();this.VScrollbar.DrawScrollbar(this.RectClient.Left,this.RectClient.Top+this.HeaderHeight,this.RectClient.Right,bottom-this.BottomToolbarHeight-4);}this.LastMouseStatus=null;this.SizeChange=false;this.AryFullSelectedRow=[];this.TempCache=null;};this.DrawDragHeaderBG=function(){if(!this.DragHeader)return;var left=this.RectClient.Left;var right=this.RectClient.Right;var top=this.RectClient.Top;var bottom=top+this.HeaderHeight+this.RowHeight*this.RowCount+this.FixedRowHeight*this.FixedRowCount;//竖线
|
|
14168
14168
|
var columnLeft=left;for(var i=0;i<this.FixedColumn&&i<this.Column.length;++i){var item=this.Column[i];columnLeft+=item.Width;}for(var i=this.FixedColumn+this.Data.XOffset;i<this.Column.length;++i){var item=this.Column[i];if(this.DragHeader){if(this.DragHeader.ClickData){var clickData=this.DragHeader.ClickData;if(clickData.Header.Index==i){var rtBG={Left:columnLeft,Top:top,Bottom:bottom,Right:columnLeft+item.Width};rtBG.Width=rtBG.Right-rtBG.Left;rtBG.Height=rtBG.Bottom-rtBG.Top;this.Canvas.fillStyle=this.DragSrcRowColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}}if(this.DragHeader.MoveToData){var moveToData=this.DragHeader.MoveToData;if(moveToData.Header.Index==i){var rtBG={Left:columnLeft,Top:top,Bottom:bottom,Right:columnLeft+item.Width};rtBG.Width=rtBG.Right-rtBG.Left;rtBG.Height=rtBG.Bottom-rtBG.Top;this.Canvas.fillStyle=this.DragMoveRowColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}}}columnLeft+=item.Width;}};//更新缓存变量
|
|
14169
14169
|
this.UpdateCacheData=function(){this.RectClient.Left=this.ChartBorder.GetLeft();this.RectClient.Right=this.ChartBorder.GetRight();this.RectClient.Top=this.ChartBorder.GetTop();this.RectClient.Bottom=this.ChartBorder.GetBottom()-this.BottomToolbarHeight;};this.GetPageSize=function(recalculate)//recalculate 是否重新计算
|
|
14170
14170
|
{if(recalculate)this.CalculateSize();var size=this.RowCount;return size;};this.GetCurrentPageStatus=function()//{ Start:起始索引, End:结束索引(数据), PageSize:页面可以显示几条记录, IsEnd:是否是最后一页, IsSinglePage:是否只有一页数据}
|
|
@@ -14187,13 +14187,14 @@ if(item.Sort&&this.SortConfig&&IFrameSplitOperator.IsPlusNumber(this.SortConfig.
|
|
|
14187
14187
|
for(var i=0;i<this.FixedColumn&&i<this.Column.length;++i){var item=this.Column[i];var itemWidth=item.Width;//var textWidth=itemWidth-this.HeaderMergin.Left-this.HeaderMergin.Right;
|
|
14188
14188
|
var rtCell={Left:textLeft,Width:itemWidth,Top:top,Height:this.HeaderHeight};rtCell.Right=rtCell.Left+rtCell.Width;rtCell.Bottom=rtCell.Top+rtCell.Height;this.DrawHeaderItem(item,rtCell,i);textLeft+=item.Width;}for(var i=this.FixedColumn+this.Data.XOffset;i<this.Column.length;++i){var item=this.Column[i];var itemWidth=item.Width;//var textWidth=itemWidth-this.HeaderMergin.Left-this.HeaderMergin.Right;
|
|
14189
14189
|
var rtCell={Left:textLeft,Width:itemWidth,Top:top,Height:this.HeaderHeight};rtCell.Right=rtCell.Left+rtCell.Width;rtCell.Bottom=rtCell.Top+rtCell.Height;this.DrawHeaderItem(item,rtCell,i);textLeft+=item.Width;}};//是否绘制排序背景图标
|
|
14190
|
-
this.IsDrawSortBGIcon=function(){if(!IFrameSplitOperator.IsNonEmptyArray(this.SortConfig.Arrow))return false;if(!this.SortConfig.Arrow[0])return false;if(!IFrameSplitOperator.IsNonEmptyArray(this.SortConfig.Color))return false;if(!this.SortConfig.Color[0])return false;return true;};this.DrawBorder=function(){if(!this.
|
|
14191
|
-
for(var i=0;i<this.
|
|
14192
|
-
|
|
14190
|
+
this.IsDrawSortBGIcon=function(){if(!IFrameSplitOperator.IsNonEmptyArray(this.SortConfig.Arrow))return false;if(!this.SortConfig.Arrow[0])return false;if(!IFrameSplitOperator.IsNonEmptyArray(this.SortConfig.Color))return false;if(!this.SortConfig.Color[0])return false;return true;};this.DrawBorder=function(){if(!this.CellBorderConfig.IsShowHLine&&!this.CellBorderConfig.IsShowVLine)return;var left=this.RectClient.Left;var right=this.RectClient.Right;var top=this.RectClient.Top;var bottom=this.RectClient.Bottom;this.Canvas.strokeStyle=this.BorderColor;this.Canvas.beginPath();var rowCount=this.RowCount;if(!this.CellBorderConfig.IsFullLine)rowCount=this.DrawRowCount;if(this.CellBorderConfig.IsShowHLine)//横线
|
|
14191
|
+
{this.Canvas.moveTo(left,ToFixedPoint(top+this.HeaderHeight));this.Canvas.lineTo(right,ToFixedPoint(top+this.HeaderHeight));var rowTop=top+this.HeaderHeight+this.RowHeight;var rotBottom=rowTop;for(var i=0;i<this.FixedRowCount;++i){var drawTop=ToFixedPoint(rowTop);this.Canvas.moveTo(left,drawTop);this.Canvas.lineTo(right,drawTop);rotBottom=rowTop;rowTop+=this.FixedRowHeight;}var rowTop=top+this.HeaderHeight+this.RowHeight+this.FixedRowHeight*this.FixedRowCount;var rotBottom=rowTop;//横线
|
|
14192
|
+
for(var i=0;i<rowCount;++i){var drawTop=ToFixedPoint(rowTop);this.Canvas.moveTo(left,drawTop);this.Canvas.lineTo(right,drawTop);rotBottom=rowTop;rowTop+=this.RowHeight;}}if(this.CellBorderConfig.IsShowVLine)//竖线
|
|
14193
|
+
{var columnLeft=left;for(var i=0;i<this.FixedColumn&&i<this.Column.length;++i){var item=this.Column[i];var drawLeft=ToFixedPoint(columnLeft+item.Width);this.Canvas.moveTo(drawLeft,top);this.Canvas.lineTo(drawLeft,rotBottom);columnLeft+=item.Width;}for(var i=this.FixedColumn+this.Data.XOffset;i<this.Column.length;++i){var item=this.Column[i];var drawLeft=ToFixedPoint(columnLeft+item.Width);this.Canvas.moveTo(drawLeft,top);this.Canvas.lineTo(drawLeft,rotBottom);columnLeft+=item.Width;}}this.Canvas.stroke();};//获取一共多少行
|
|
14193
14194
|
this.GetAllRowCount=function(){var count=this.Data.Data.length;if(this.Data.Virtual&&this.Data.Virtual.Enable)count=this.Data.Virtual.Count;return count;};this.DrawBody=function(){if(!this.Data)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)&&!this.Data.Virtual.Enable)return;this.Canvas.font=this.ItemFont;var top=this.RectClient.Top+this.HeaderHeight;var left=this.RectClient.Left;var rowWidth=this.RectClient.Right-this.RectClient.Left;var arySelectedRow=[];//固定行
|
|
14194
14195
|
var textTop=top;this.Canvas.font=this.ItemFixedFont;for(var i=0;i<this.FixedRowCount;++i){if(this.SelectedFixedRow==i){this.Canvas.fillStyle=this.SelectedColor;;this.Canvas.fillRect(left,textTop,rowWidth,this.FixedRowHeight);}if(this.FixedRowData.Type==1)this.DrawFixedSymbolRow(textTop,i);else this.DrawFixedRow(textTop,i);textTop+=this.FixedRowHeight;}textTop=top+this.FixedRowHeight*this.FixedRowCount;this.Canvas.font=this.ItemFont;var eventDrawBG=this.GetEventCallback(JSCHART_EVENT_ID.ON_DRAW_REPORT_ROW_BG);var selectedSymbol=this.GetSelectedSymbol();var setSelected;if(this.MultiSelectModel==1)setSelected=new _set2.default(this.MultiSelectedRow);var dataCount=this.GetAllRowCount();for(var i=this.Data.YOffset,j=0;i<dataCount&&j<this.RowCount;++i,++j){var symbol=this.Data.Data[i];var rtRowBG={Left:left,Top:textTop,Width:rowWidth,Height:this.RowHeight};rtRowBG.Right=rtRowBG.Left+rtRowBG.Width;rtRowBG.Bottom=rtRowBG.Top+rtRowBG.Height;var bFillRow=false;if(this.MultiSelectModel==1){if(setSelected.has(i))bFillRow=true;}else{if(this.SelectedModel==0){if(this.SelectedRowData&&this.SelectedRowData.Index==j&&this.SelectedRowData.Symbol==symbol)bFillRow=true;//选中行
|
|
14195
14196
|
}else{if(this.SelectedRowData&&this.SelectedRowData.DataIndex==i&&this.SelectedRowData.Symbol==symbol)bFillRow=true;//选中行
|
|
14196
|
-
}}if(this.DragRow){if(this.DragRow.Data){var dataIndex=this.DragRow.Data.Row.DataIndex;if(dataIndex==i){this.Canvas.fillStyle=this.DragSrcRowColor;this.Canvas.fillRect(left,textTop,rowWidth,this.RowHeight);}}if(this.DragRow.MoveRow){var dataIndex=this.DragRow.MoveRow.Data.DataIndex;if(dataIndex==i){this.Canvas.fillStyle=this.DragMoveRowColor;this.Canvas.fillRect(left,textTop,rowWidth,this.RowHeight);}}bFillRow=false;}this.DrawFullRowBGColor(symbol,eventDrawBG,i,rtRowBG,{Selected:selectedSymbol});this.DrawFlashFullRowBGColor(symbol,rtRowBG);if(bFillRow){this.AryFullSelectedRow.push(rtRowBG);if(this.SelectedStyle===1){this.Canvas.fillStyle=this.SelectedColor;this.Canvas.fillRect(rtRowBG.Left,rtRowBG.Top,rtRowBG.Width,rtRowBG.Height);}}this.DrawRow(symbol,textTop,i);this.ShowSymbol.push({Index:i,Symbol:symbol});textTop+=this.RowHeight;}};//绘制整行背景色
|
|
14197
|
+
}}if(this.DragRow){if(this.DragRow.Data){var dataIndex=this.DragRow.Data.Row.DataIndex;if(dataIndex==i){this.Canvas.fillStyle=this.DragSrcRowColor;this.Canvas.fillRect(left,textTop,rowWidth,this.RowHeight);}}if(this.DragRow.MoveRow){var dataIndex=this.DragRow.MoveRow.Data.DataIndex;if(dataIndex==i){this.Canvas.fillStyle=this.DragMoveRowColor;this.Canvas.fillRect(left,textTop,rowWidth,this.RowHeight);}}bFillRow=false;}this.DrawFullRowBGColor(symbol,eventDrawBG,i,rtRowBG,{Selected:selectedSymbol});this.DrawFlashFullRowBGColor(symbol,rtRowBG);if(bFillRow){this.AryFullSelectedRow.push(rtRowBG);if(this.SelectedStyle===1){this.Canvas.fillStyle=this.SelectedColor;this.Canvas.fillRect(rtRowBG.Left,rtRowBG.Top,rtRowBG.Width,rtRowBG.Height);}}this.DrawRow(symbol,textTop,i);this.ShowSymbol.push({Index:i,Symbol:symbol});textTop+=this.RowHeight;++this.DrawRowCount;}};//绘制整行背景色
|
|
14197
14198
|
this.DrawFullRowBGColor=function(symbol,event,index,rtBG,option){var data={Symbol:symbol,Stock:null};if(this.GetStockDataCallback)data.Stock=this.GetStockDataCallback(symbol);if(data.Stock&&data.Stock.BGColor){this.Canvas.fillStyle=data.Stock.BGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}if(event&&event.Callback){//Out:{ BGColor: }
|
|
14198
14199
|
var sendData={RowIndex:index,Symbol:symbol,Out:null,MultiSelectModel:this.MultiSelectModel};if(option){if(option.Selected)sendData.Selected=option.Selected;}event.Callback(event,sendData,this);if(sendData.Out&&sendData.Out.BGColor){this.Canvas.fillStyle=sendData.Out.BGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}}};this.DrawFlashFullRowBGColor=function(symbol,rtBG){var data={Symbol:symbol,FlashBG:null};if(this.GetFlashBGDataCallback)data.FlashBG=this.GetFlashBGDataCallback(symbol,Date.now());if(!data.FlashBG)return;var id=-1;if(!data.FlashBG.Data.has(id))return;var flashItem=data.FlashBG.Data.get(id);if(flashItem&&flashItem.Count){this.Canvas.fillStyle=flashItem.Color;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}--flashItem.Count;if(this.GlobalOption)++this.GlobalOption.FlashBGCount;};this.DrawSelectedRow=function(){if(this.SelectedStyle===2&&IFrameSplitOperator.IsNonEmptyArray(this.AryFullSelectedRow)){this.Canvas.fillStyle=this.SelectedLineConfig.Color;var lineWidth=this.SelectedLineConfig.Width;for(var i=0;i<this.AryFullSelectedRow.length;++i){var rtBG=this.AryFullSelectedRow[i];this.Canvas.fillRect(rtBG.Left,rtBG.Bottom-lineWidth,rtBG.Width,lineWidth);}}};this.GetSelectedSymbol=function(){if(this.MultiSelectModel==1){if(!IFrameSplitOperator.IsNonEmptyArray(this.MultiSelectedRow))return null;var aryData=[];for(var i=0;i<this.MultiSelectedRow.length;++i){var item=this.Data.Data[this.MultiSelectedRow[i]];if(!item)continue;aryData.push(item);}return aryData;}else{if(!this.SelectedRowData)return null;if(!this.SelectedRowData.Symbol)return null;return[this.SelectedRowData.Symbol];}};//单行选中模式选中股票
|
|
14199
14200
|
this.GetSelectedSingleSymbol=function(){if(this.MultiSelectModel==1)return null;//多选
|
|
@@ -15644,7 +15645,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
15644
15645
|
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);};}/********************************************************************************
|
|
15645
15646
|
* 版本信息输出
|
|
15646
15647
|
*
|
|
15647
|
-
*/var HQCHART_VERSION="1.1.
|
|
15648
|
+
*/var HQCHART_VERSION="1.1.15234";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();//把给外界调用的方法暴露出来
|
|
15648
15649
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
15649
15650
|
// BaseIndex:BaseIndex,
|
|
15650
15651
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -9845,8 +9845,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9845
9845
|
event.Callback(event, sendData, this);
|
|
9846
9846
|
}
|
|
9847
9847
|
|
|
9848
|
-
if (option.Update && this.Update)
|
|
9849
|
-
|
|
9848
|
+
if (option.Update && this.Update)
|
|
9849
|
+
{
|
|
9850
|
+
this.Update( {UpdateCursorIndexType:2} ); //是否立即更新并重绘
|
|
9851
|
+
}
|
|
9852
|
+
else if (option.Draw==true || option.Redraw==true)
|
|
9853
|
+
{
|
|
9854
|
+
this.ResetFrameXYSplit(); //重新计算分割线
|
|
9855
|
+
this.Draw(); //是否立即重绘
|
|
9856
|
+
}
|
|
9850
9857
|
|
|
9851
9858
|
if (this.PopMinuteChart) this.PopMinuteChart.ReloadResource(option);
|
|
9852
9859
|
if (this.DialogTooltip) this.DialogTooltip.ReloadResource(option);
|
|
@@ -35634,38 +35641,41 @@ function ChartMinuteVolumBar()
|
|
|
35634
35641
|
if (bShowColorBar) this.Canvas.strokeStyle=this.CustomColor;
|
|
35635
35642
|
var unit=this.GetVolUnit();
|
|
35636
35643
|
|
|
35637
|
-
|
|
35644
|
+
if (data && IFrameSplitOperator.IsNonEmptyArray(data.Data))
|
|
35638
35645
|
{
|
|
35639
|
-
var
|
|
35640
|
-
|
|
35641
|
-
|
|
35642
|
-
|
|
35646
|
+
for(var i=data.DataOffset,j=0;i<data.Data.length && j<xPointCount;++i,++j)
|
|
35647
|
+
{
|
|
35648
|
+
var item = data.Data[i];
|
|
35649
|
+
var vol=null;
|
|
35650
|
+
if (!item) continue;
|
|
35651
|
+
var price=null;
|
|
35643
35652
|
|
|
35644
|
-
|
|
35645
|
-
|
|
35646
|
-
|
|
35647
|
-
|
|
35653
|
+
vol=item.Vol/unit;
|
|
35654
|
+
price=item.Close;
|
|
35655
|
+
|
|
35656
|
+
if (!vol) continue;
|
|
35648
35657
|
|
|
35649
|
-
|
|
35650
|
-
|
|
35651
|
-
|
|
35658
|
+
var y=this.ChartFrame.GetYFromData(vol);
|
|
35659
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
35660
|
+
if (x>chartright) break;
|
|
35652
35661
|
|
|
35653
|
-
|
|
35654
|
-
|
|
35662
|
+
//价格>=上一分钟价格 红色 否则绿色
|
|
35663
|
+
if (!bShowColorBar) this.Canvas.strokeStyle = this.GetMinuteBarColor(price, yPrice);
|
|
35655
35664
|
|
|
35656
|
-
|
|
35657
|
-
|
|
35658
|
-
|
|
35659
|
-
|
|
35660
|
-
|
|
35661
|
-
|
|
35662
|
-
|
|
35663
|
-
|
|
35664
|
-
|
|
35665
|
-
|
|
35665
|
+
this.Canvas.beginPath();
|
|
35666
|
+
if (isHScreen)
|
|
35667
|
+
{
|
|
35668
|
+
this.Canvas.moveTo(y,ToFixedPoint(x));
|
|
35669
|
+
this.Canvas.lineTo(yBottom,ToFixedPoint(x));
|
|
35670
|
+
}
|
|
35671
|
+
else
|
|
35672
|
+
{
|
|
35673
|
+
this.Canvas.moveTo(ToFixedPoint(x),y);
|
|
35674
|
+
this.Canvas.lineTo(ToFixedPoint(x),yBottom);
|
|
35675
|
+
}
|
|
35676
|
+
this.Canvas.stroke();
|
|
35677
|
+
if (price) yPrice=price;
|
|
35666
35678
|
}
|
|
35667
|
-
this.Canvas.stroke();
|
|
35668
|
-
if (price) yPrice=price;
|
|
35669
35679
|
}
|
|
35670
35680
|
|
|
35671
35681
|
this.DrawAfterClose();
|
|
@@ -67611,7 +67621,7 @@ function ChartDrawHLine()
|
|
|
67611
67621
|
this.ButtonSpace=3;
|
|
67612
67622
|
this.TopOffset=3;
|
|
67613
67623
|
|
|
67614
|
-
this.TextMargin={ Left:0, Right:0, Top:0, Bottom:0, YOffset
|
|
67624
|
+
this.TextMargin={ Left:0, Right:0, Top:0, Bottom:0, YOffset:-1*GetDevicePixelRatio() };
|
|
67615
67625
|
|
|
67616
67626
|
this.AlwaysShowLab=false; //总是显示标签
|
|
67617
67627
|
|
|
@@ -68185,7 +68195,7 @@ function ChartDrawHLine()
|
|
|
68185
68195
|
}
|
|
68186
68196
|
|
|
68187
68197
|
var xText=rtBG.Left+this.TextMargin.Left;
|
|
68188
|
-
var yText=rtBG.
|
|
68198
|
+
var yText=rtBG.Bottom-this.TextMargin.Bottom+this.TextMargin.YOffset;
|
|
68189
68199
|
|
|
68190
68200
|
if (this.ButtonPosition==1)
|
|
68191
68201
|
{
|
|
@@ -68198,7 +68208,7 @@ function ChartDrawHLine()
|
|
|
68198
68208
|
|
|
68199
68209
|
this.Canvas.fillStyle=this.ValueTextColor
|
|
68200
68210
|
this.Canvas.textAlign="left";
|
|
68201
|
-
this.Canvas.textBaseline="
|
|
68211
|
+
this.Canvas.textBaseline="bottom";
|
|
68202
68212
|
this.Canvas.fillText(strValue,xText,yText);
|
|
68203
68213
|
|
|
68204
68214
|
rtDraw.Left=rtBG.Left;
|
|
@@ -232,6 +232,12 @@ function JSReportChart(divElement)
|
|
|
232
232
|
if (IFrameSplitOperator.IsNumber(option.TextOverflowStyle)) reportChart.TextOverflowStyle=option.TextOverflowStyle;
|
|
233
233
|
if (IFrameSplitOperator.IsNumber(option.MultiSelectModel)) reportChart.MultiSelectModel=option.MultiSelectModel;
|
|
234
234
|
if (IFrameSplitOperator.IsNumber(option.SelectedStyle)) reportChart.SelectedStyle=option.SelectedStyle;
|
|
235
|
+
|
|
236
|
+
if (option.BottomTab)
|
|
237
|
+
{
|
|
238
|
+
var item=option.BottomTab;
|
|
239
|
+
if (IFrameSplitOperator.IsBool(item.IsShow)) reportChart.Tab.IsShow=item.IsShow;
|
|
240
|
+
}
|
|
235
241
|
}
|
|
236
242
|
|
|
237
243
|
this.SetChartBorder(chart, option);
|
|
@@ -828,7 +834,7 @@ function JSReportChartContainer(uielement)
|
|
|
828
834
|
if (IFrameSplitOperator.IsNumber(option.BorderLine)) this.Frame.BorderLine=option.BorderLine; //边框
|
|
829
835
|
if (IFrameSplitOperator.IsBool(option.TabShow)) chart.Tab.IsShow=option.TabShow;
|
|
830
836
|
if (IFrameSplitOperator.IsNumber(option.FixedRowCount)) chart.FixedRowCount=option.FixedRowCount; //固定行
|
|
831
|
-
|
|
837
|
+
|
|
832
838
|
if (IFrameSplitOperator.IsNumber(option.SelectedModel)) chart.SelectedModel=option.SelectedModel;
|
|
833
839
|
if (IFrameSplitOperator.IsNumber(option.HeaderRowCount)) chart.HeaderRowCount=option.HeaderRowCount;
|
|
834
840
|
|
|
@@ -845,6 +851,14 @@ function JSReportChartContainer(uielement)
|
|
|
845
851
|
++chart.FixedRowCount;
|
|
846
852
|
}
|
|
847
853
|
}
|
|
854
|
+
|
|
855
|
+
if (option.CellBorder)
|
|
856
|
+
{
|
|
857
|
+
var item=option.CellBorder;
|
|
858
|
+
if (IFrameSplitOperator.IsBool(item.IsShowVLine)) chart.CellBorderConfig.IsShowVLine=item.IsShowVLine;
|
|
859
|
+
if (IFrameSplitOperator.IsBool(item.IsShowHLine)) chart.CellBorderConfig.IsShowHLine=item.IsShowHLine;
|
|
860
|
+
if (IFrameSplitOperator.IsBool(item.IsFullLine)) chart.CellBorderConfig.IsFullLine=item.IsFullLine;
|
|
861
|
+
}
|
|
848
862
|
}
|
|
849
863
|
|
|
850
864
|
var bRegisterKeydown=true;
|
|
@@ -5185,9 +5199,10 @@ function ChartReport()
|
|
|
5185
5199
|
this.SelectedRowData; //{ DataIndex:, Index:, Symbol: }
|
|
5186
5200
|
this.SelectedFixedRow=-1; //选中固定行ID
|
|
5187
5201
|
this.SelectedStyle=1; //选中行样式 1=整行填充 2=底部绘制直线
|
|
5188
|
-
this.IsDrawBorder=1; //是否绘制单元格边框
|
|
5189
5202
|
this.HeaderRowCount=1; //表头行数
|
|
5190
5203
|
|
|
5204
|
+
this.CellBorderConfig={ IsShowVLine:true, IsShowHLine:true, IsFullLine:true }; //单元格边框 IsShowHLine=横线 IsShowVLine=竖向
|
|
5205
|
+
|
|
5191
5206
|
//多选模式
|
|
5192
5207
|
this.MultiSelectModel=0; //0=禁用 1=开启
|
|
5193
5208
|
this.MultiSelectedRow=[]; //选中行
|
|
@@ -5873,6 +5888,7 @@ function ChartReport()
|
|
|
5873
5888
|
this.AryFullSelectedRow=[];
|
|
5874
5889
|
this.DevicePixelRatio=GetDevicePixelRatio()
|
|
5875
5890
|
this.LastMouseStatus=lastMouseStatus;
|
|
5891
|
+
this.DrawRowCount=0;
|
|
5876
5892
|
this.CreateTempCache();
|
|
5877
5893
|
|
|
5878
5894
|
if (this.GlobalOption) this.GlobalOption.FlashBGCount=0;
|
|
@@ -6392,7 +6408,7 @@ function ChartReport()
|
|
|
6392
6408
|
|
|
6393
6409
|
this.DrawBorder=function()
|
|
6394
6410
|
{
|
|
6395
|
-
if (!this.
|
|
6411
|
+
if (!this.CellBorderConfig.IsShowHLine && !this.CellBorderConfig.IsShowVLine) return;
|
|
6396
6412
|
|
|
6397
6413
|
var left=this.RectClient.Left;
|
|
6398
6414
|
var right=this.RectClient.Right;
|
|
@@ -6401,53 +6417,60 @@ function ChartReport()
|
|
|
6401
6417
|
|
|
6402
6418
|
this.Canvas.strokeStyle=this.BorderColor;
|
|
6403
6419
|
this.Canvas.beginPath();
|
|
6404
|
-
|
|
6405
|
-
this.
|
|
6406
|
-
this.Canvas.lineTo(right,ToFixedPoint(top+this.HeaderHeight));
|
|
6420
|
+
var rowCount=this.RowCount;
|
|
6421
|
+
if (!this.CellBorderConfig.IsFullLine) rowCount=this.DrawRowCount;
|
|
6407
6422
|
|
|
6408
|
-
|
|
6409
|
-
var rotBottom=rowTop;
|
|
6410
|
-
for(var i=0;i<this.FixedRowCount;++i)
|
|
6423
|
+
if (this.CellBorderConfig.IsShowHLine) //横线
|
|
6411
6424
|
{
|
|
6412
|
-
|
|
6413
|
-
this.Canvas.
|
|
6414
|
-
this.Canvas.lineTo(right,drawTop);
|
|
6415
|
-
rotBottom=rowTop;
|
|
6416
|
-
rowTop+=this.FixedRowHeight;
|
|
6417
|
-
}
|
|
6425
|
+
this.Canvas.moveTo(left,ToFixedPoint(top+this.HeaderHeight));
|
|
6426
|
+
this.Canvas.lineTo(right,ToFixedPoint(top+this.HeaderHeight));
|
|
6418
6427
|
|
|
6419
|
-
|
|
6420
|
-
|
|
6421
|
-
|
|
6422
|
-
|
|
6423
|
-
|
|
6424
|
-
|
|
6425
|
-
|
|
6426
|
-
|
|
6427
|
-
|
|
6428
|
-
|
|
6428
|
+
var rowTop=top+this.HeaderHeight+this.RowHeight;
|
|
6429
|
+
var rotBottom=rowTop;
|
|
6430
|
+
for(var i=0;i<this.FixedRowCount;++i)
|
|
6431
|
+
{
|
|
6432
|
+
var drawTop=ToFixedPoint(rowTop);
|
|
6433
|
+
this.Canvas.moveTo(left,drawTop);
|
|
6434
|
+
this.Canvas.lineTo(right,drawTop);
|
|
6435
|
+
rotBottom=rowTop;
|
|
6436
|
+
rowTop+=this.FixedRowHeight;
|
|
6437
|
+
}
|
|
6438
|
+
|
|
6439
|
+
var rowTop=top+this.HeaderHeight+this.RowHeight+this.FixedRowHeight*this.FixedRowCount;
|
|
6440
|
+
var rotBottom=rowTop;
|
|
6441
|
+
//横线
|
|
6442
|
+
for(var i=0;i<rowCount;++i)
|
|
6443
|
+
{
|
|
6444
|
+
var drawTop=ToFixedPoint(rowTop);
|
|
6445
|
+
this.Canvas.moveTo(left,drawTop);
|
|
6446
|
+
this.Canvas.lineTo(right,drawTop);
|
|
6447
|
+
rotBottom=rowTop;
|
|
6448
|
+
rowTop+=this.RowHeight;
|
|
6449
|
+
}
|
|
6429
6450
|
}
|
|
6430
6451
|
|
|
6431
|
-
//竖线
|
|
6432
|
-
var columnLeft=left;
|
|
6433
|
-
for(var i=0;i<this.FixedColumn && i<this.Column.length; ++i)
|
|
6452
|
+
if (this.CellBorderConfig.IsShowVLine) //竖线
|
|
6434
6453
|
{
|
|
6435
|
-
var
|
|
6436
|
-
var
|
|
6437
|
-
|
|
6438
|
-
|
|
6454
|
+
var columnLeft=left;
|
|
6455
|
+
for(var i=0;i<this.FixedColumn && i<this.Column.length; ++i)
|
|
6456
|
+
{
|
|
6457
|
+
var item=this.Column[i];
|
|
6458
|
+
var drawLeft=ToFixedPoint(columnLeft+item.Width);
|
|
6459
|
+
this.Canvas.moveTo(drawLeft,top);
|
|
6460
|
+
this.Canvas.lineTo(drawLeft,rotBottom);
|
|
6439
6461
|
|
|
6440
|
-
|
|
6441
|
-
|
|
6462
|
+
columnLeft+=item.Width;
|
|
6463
|
+
}
|
|
6442
6464
|
|
|
6443
|
-
|
|
6444
|
-
|
|
6445
|
-
|
|
6446
|
-
|
|
6447
|
-
|
|
6448
|
-
|
|
6465
|
+
for(var i=this.FixedColumn+this.Data.XOffset;i<this.Column.length;++i)
|
|
6466
|
+
{
|
|
6467
|
+
var item=this.Column[i];
|
|
6468
|
+
var drawLeft=ToFixedPoint(columnLeft+item.Width);
|
|
6469
|
+
this.Canvas.moveTo(drawLeft,top);
|
|
6470
|
+
this.Canvas.lineTo(drawLeft,rotBottom);
|
|
6449
6471
|
|
|
6450
|
-
|
|
6472
|
+
columnLeft+=item.Width;
|
|
6473
|
+
}
|
|
6451
6474
|
}
|
|
6452
6475
|
|
|
6453
6476
|
this.Canvas.stroke();
|
|
@@ -6574,6 +6597,7 @@ function ChartReport()
|
|
|
6574
6597
|
this.ShowSymbol.push( { Index:i, Symbol:symbol } );
|
|
6575
6598
|
|
|
6576
6599
|
textTop+=this.RowHeight;
|
|
6600
|
+
++this.DrawRowCount;
|
|
6577
6601
|
}
|
|
6578
6602
|
}
|
|
6579
6603
|
|
|
@@ -13941,8 +13941,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
13941
13941
|
event.Callback(event, sendData, this);
|
|
13942
13942
|
}
|
|
13943
13943
|
|
|
13944
|
-
if (option.Update && this.Update)
|
|
13945
|
-
|
|
13944
|
+
if (option.Update && this.Update)
|
|
13945
|
+
{
|
|
13946
|
+
this.Update( {UpdateCursorIndexType:2} ); //是否立即更新并重绘
|
|
13947
|
+
}
|
|
13948
|
+
else if (option.Draw==true || option.Redraw==true)
|
|
13949
|
+
{
|
|
13950
|
+
this.ResetFrameXYSplit(); //重新计算分割线
|
|
13951
|
+
this.Draw(); //是否立即重绘
|
|
13952
|
+
}
|
|
13946
13953
|
|
|
13947
13954
|
if (this.PopMinuteChart) this.PopMinuteChart.ReloadResource(option);
|
|
13948
13955
|
if (this.DialogTooltip) this.DialogTooltip.ReloadResource(option);
|
|
@@ -39730,38 +39737,41 @@ function ChartMinuteVolumBar()
|
|
|
39730
39737
|
if (bShowColorBar) this.Canvas.strokeStyle=this.CustomColor;
|
|
39731
39738
|
var unit=this.GetVolUnit();
|
|
39732
39739
|
|
|
39733
|
-
|
|
39740
|
+
if (data && IFrameSplitOperator.IsNonEmptyArray(data.Data))
|
|
39734
39741
|
{
|
|
39735
|
-
var
|
|
39736
|
-
|
|
39737
|
-
|
|
39738
|
-
|
|
39742
|
+
for(var i=data.DataOffset,j=0;i<data.Data.length && j<xPointCount;++i,++j)
|
|
39743
|
+
{
|
|
39744
|
+
var item = data.Data[i];
|
|
39745
|
+
var vol=null;
|
|
39746
|
+
if (!item) continue;
|
|
39747
|
+
var price=null;
|
|
39739
39748
|
|
|
39740
|
-
|
|
39741
|
-
|
|
39742
|
-
|
|
39743
|
-
|
|
39749
|
+
vol=item.Vol/unit;
|
|
39750
|
+
price=item.Close;
|
|
39751
|
+
|
|
39752
|
+
if (!vol) continue;
|
|
39744
39753
|
|
|
39745
|
-
|
|
39746
|
-
|
|
39747
|
-
|
|
39754
|
+
var y=this.ChartFrame.GetYFromData(vol);
|
|
39755
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
39756
|
+
if (x>chartright) break;
|
|
39748
39757
|
|
|
39749
|
-
|
|
39750
|
-
|
|
39758
|
+
//价格>=上一分钟价格 红色 否则绿色
|
|
39759
|
+
if (!bShowColorBar) this.Canvas.strokeStyle = this.GetMinuteBarColor(price, yPrice);
|
|
39751
39760
|
|
|
39752
|
-
|
|
39753
|
-
|
|
39754
|
-
|
|
39755
|
-
|
|
39756
|
-
|
|
39757
|
-
|
|
39758
|
-
|
|
39759
|
-
|
|
39760
|
-
|
|
39761
|
-
|
|
39761
|
+
this.Canvas.beginPath();
|
|
39762
|
+
if (isHScreen)
|
|
39763
|
+
{
|
|
39764
|
+
this.Canvas.moveTo(y,ToFixedPoint(x));
|
|
39765
|
+
this.Canvas.lineTo(yBottom,ToFixedPoint(x));
|
|
39766
|
+
}
|
|
39767
|
+
else
|
|
39768
|
+
{
|
|
39769
|
+
this.Canvas.moveTo(ToFixedPoint(x),y);
|
|
39770
|
+
this.Canvas.lineTo(ToFixedPoint(x),yBottom);
|
|
39771
|
+
}
|
|
39772
|
+
this.Canvas.stroke();
|
|
39773
|
+
if (price) yPrice=price;
|
|
39762
39774
|
}
|
|
39763
|
-
this.Canvas.stroke();
|
|
39764
|
-
if (price) yPrice=price;
|
|
39765
39775
|
}
|
|
39766
39776
|
|
|
39767
39777
|
this.DrawAfterClose();
|
|
@@ -71707,7 +71717,7 @@ function ChartDrawHLine()
|
|
|
71707
71717
|
this.ButtonSpace=3;
|
|
71708
71718
|
this.TopOffset=3;
|
|
71709
71719
|
|
|
71710
|
-
this.TextMargin={ Left:0, Right:0, Top:0, Bottom:0, YOffset
|
|
71720
|
+
this.TextMargin={ Left:0, Right:0, Top:0, Bottom:0, YOffset:-1*GetDevicePixelRatio() };
|
|
71711
71721
|
|
|
71712
71722
|
this.AlwaysShowLab=false; //总是显示标签
|
|
71713
71723
|
|
|
@@ -72281,7 +72291,7 @@ function ChartDrawHLine()
|
|
|
72281
72291
|
}
|
|
72282
72292
|
|
|
72283
72293
|
var xText=rtBG.Left+this.TextMargin.Left;
|
|
72284
|
-
var yText=rtBG.
|
|
72294
|
+
var yText=rtBG.Bottom-this.TextMargin.Bottom+this.TextMargin.YOffset;
|
|
72285
72295
|
|
|
72286
72296
|
if (this.ButtonPosition==1)
|
|
72287
72297
|
{
|
|
@@ -72294,7 +72304,7 @@ function ChartDrawHLine()
|
|
|
72294
72304
|
|
|
72295
72305
|
this.Canvas.fillStyle=this.ValueTextColor
|
|
72296
72306
|
this.Canvas.textAlign="left";
|
|
72297
|
-
this.Canvas.textBaseline="
|
|
72307
|
+
this.Canvas.textBaseline="bottom";
|
|
72298
72308
|
this.Canvas.fillText(strValue,xText,yText);
|
|
72299
72309
|
|
|
72300
72310
|
rtDraw.Left=rtBG.Left;
|
|
@@ -140612,6 +140622,12 @@ function JSReportChart(divElement)
|
|
|
140612
140622
|
if (IFrameSplitOperator.IsNumber(option.TextOverflowStyle)) reportChart.TextOverflowStyle=option.TextOverflowStyle;
|
|
140613
140623
|
if (IFrameSplitOperator.IsNumber(option.MultiSelectModel)) reportChart.MultiSelectModel=option.MultiSelectModel;
|
|
140614
140624
|
if (IFrameSplitOperator.IsNumber(option.SelectedStyle)) reportChart.SelectedStyle=option.SelectedStyle;
|
|
140625
|
+
|
|
140626
|
+
if (option.BottomTab)
|
|
140627
|
+
{
|
|
140628
|
+
var item=option.BottomTab;
|
|
140629
|
+
if (IFrameSplitOperator.IsBool(item.IsShow)) reportChart.Tab.IsShow=item.IsShow;
|
|
140630
|
+
}
|
|
140615
140631
|
}
|
|
140616
140632
|
|
|
140617
140633
|
this.SetChartBorder(chart, option);
|
|
@@ -141208,7 +141224,7 @@ function JSReportChartContainer(uielement)
|
|
|
141208
141224
|
if (IFrameSplitOperator.IsNumber(option.BorderLine)) this.Frame.BorderLine=option.BorderLine; //边框
|
|
141209
141225
|
if (IFrameSplitOperator.IsBool(option.TabShow)) chart.Tab.IsShow=option.TabShow;
|
|
141210
141226
|
if (IFrameSplitOperator.IsNumber(option.FixedRowCount)) chart.FixedRowCount=option.FixedRowCount; //固定行
|
|
141211
|
-
|
|
141227
|
+
|
|
141212
141228
|
if (IFrameSplitOperator.IsNumber(option.SelectedModel)) chart.SelectedModel=option.SelectedModel;
|
|
141213
141229
|
if (IFrameSplitOperator.IsNumber(option.HeaderRowCount)) chart.HeaderRowCount=option.HeaderRowCount;
|
|
141214
141230
|
|
|
@@ -141225,6 +141241,14 @@ function JSReportChartContainer(uielement)
|
|
|
141225
141241
|
++chart.FixedRowCount;
|
|
141226
141242
|
}
|
|
141227
141243
|
}
|
|
141244
|
+
|
|
141245
|
+
if (option.CellBorder)
|
|
141246
|
+
{
|
|
141247
|
+
var item=option.CellBorder;
|
|
141248
|
+
if (IFrameSplitOperator.IsBool(item.IsShowVLine)) chart.CellBorderConfig.IsShowVLine=item.IsShowVLine;
|
|
141249
|
+
if (IFrameSplitOperator.IsBool(item.IsShowHLine)) chart.CellBorderConfig.IsShowHLine=item.IsShowHLine;
|
|
141250
|
+
if (IFrameSplitOperator.IsBool(item.IsFullLine)) chart.CellBorderConfig.IsFullLine=item.IsFullLine;
|
|
141251
|
+
}
|
|
141228
141252
|
}
|
|
141229
141253
|
|
|
141230
141254
|
var bRegisterKeydown=true;
|
|
@@ -145565,9 +145589,10 @@ function ChartReport()
|
|
|
145565
145589
|
this.SelectedRowData; //{ DataIndex:, Index:, Symbol: }
|
|
145566
145590
|
this.SelectedFixedRow=-1; //选中固定行ID
|
|
145567
145591
|
this.SelectedStyle=1; //选中行样式 1=整行填充 2=底部绘制直线
|
|
145568
|
-
this.IsDrawBorder=1; //是否绘制单元格边框
|
|
145569
145592
|
this.HeaderRowCount=1; //表头行数
|
|
145570
145593
|
|
|
145594
|
+
this.CellBorderConfig={ IsShowVLine:true, IsShowHLine:true, IsFullLine:true }; //单元格边框 IsShowHLine=横线 IsShowVLine=竖向
|
|
145595
|
+
|
|
145571
145596
|
//多选模式
|
|
145572
145597
|
this.MultiSelectModel=0; //0=禁用 1=开启
|
|
145573
145598
|
this.MultiSelectedRow=[]; //选中行
|
|
@@ -146253,6 +146278,7 @@ function ChartReport()
|
|
|
146253
146278
|
this.AryFullSelectedRow=[];
|
|
146254
146279
|
this.DevicePixelRatio=GetDevicePixelRatio()
|
|
146255
146280
|
this.LastMouseStatus=lastMouseStatus;
|
|
146281
|
+
this.DrawRowCount=0;
|
|
146256
146282
|
this.CreateTempCache();
|
|
146257
146283
|
|
|
146258
146284
|
if (this.GlobalOption) this.GlobalOption.FlashBGCount=0;
|
|
@@ -146772,7 +146798,7 @@ function ChartReport()
|
|
|
146772
146798
|
|
|
146773
146799
|
this.DrawBorder=function()
|
|
146774
146800
|
{
|
|
146775
|
-
if (!this.
|
|
146801
|
+
if (!this.CellBorderConfig.IsShowHLine && !this.CellBorderConfig.IsShowVLine) return;
|
|
146776
146802
|
|
|
146777
146803
|
var left=this.RectClient.Left;
|
|
146778
146804
|
var right=this.RectClient.Right;
|
|
@@ -146781,53 +146807,60 @@ function ChartReport()
|
|
|
146781
146807
|
|
|
146782
146808
|
this.Canvas.strokeStyle=this.BorderColor;
|
|
146783
146809
|
this.Canvas.beginPath();
|
|
146784
|
-
|
|
146785
|
-
this.
|
|
146786
|
-
this.Canvas.lineTo(right,ToFixedPoint(top+this.HeaderHeight));
|
|
146810
|
+
var rowCount=this.RowCount;
|
|
146811
|
+
if (!this.CellBorderConfig.IsFullLine) rowCount=this.DrawRowCount;
|
|
146787
146812
|
|
|
146788
|
-
|
|
146789
|
-
var rotBottom=rowTop;
|
|
146790
|
-
for(var i=0;i<this.FixedRowCount;++i)
|
|
146813
|
+
if (this.CellBorderConfig.IsShowHLine) //横线
|
|
146791
146814
|
{
|
|
146792
|
-
|
|
146793
|
-
this.Canvas.
|
|
146794
|
-
this.Canvas.lineTo(right,drawTop);
|
|
146795
|
-
rotBottom=rowTop;
|
|
146796
|
-
rowTop+=this.FixedRowHeight;
|
|
146797
|
-
}
|
|
146815
|
+
this.Canvas.moveTo(left,ToFixedPoint(top+this.HeaderHeight));
|
|
146816
|
+
this.Canvas.lineTo(right,ToFixedPoint(top+this.HeaderHeight));
|
|
146798
146817
|
|
|
146799
|
-
|
|
146800
|
-
|
|
146801
|
-
|
|
146802
|
-
|
|
146803
|
-
|
|
146804
|
-
|
|
146805
|
-
|
|
146806
|
-
|
|
146807
|
-
|
|
146808
|
-
|
|
146818
|
+
var rowTop=top+this.HeaderHeight+this.RowHeight;
|
|
146819
|
+
var rotBottom=rowTop;
|
|
146820
|
+
for(var i=0;i<this.FixedRowCount;++i)
|
|
146821
|
+
{
|
|
146822
|
+
var drawTop=ToFixedPoint(rowTop);
|
|
146823
|
+
this.Canvas.moveTo(left,drawTop);
|
|
146824
|
+
this.Canvas.lineTo(right,drawTop);
|
|
146825
|
+
rotBottom=rowTop;
|
|
146826
|
+
rowTop+=this.FixedRowHeight;
|
|
146827
|
+
}
|
|
146828
|
+
|
|
146829
|
+
var rowTop=top+this.HeaderHeight+this.RowHeight+this.FixedRowHeight*this.FixedRowCount;
|
|
146830
|
+
var rotBottom=rowTop;
|
|
146831
|
+
//横线
|
|
146832
|
+
for(var i=0;i<rowCount;++i)
|
|
146833
|
+
{
|
|
146834
|
+
var drawTop=ToFixedPoint(rowTop);
|
|
146835
|
+
this.Canvas.moveTo(left,drawTop);
|
|
146836
|
+
this.Canvas.lineTo(right,drawTop);
|
|
146837
|
+
rotBottom=rowTop;
|
|
146838
|
+
rowTop+=this.RowHeight;
|
|
146839
|
+
}
|
|
146809
146840
|
}
|
|
146810
146841
|
|
|
146811
|
-
//竖线
|
|
146812
|
-
var columnLeft=left;
|
|
146813
|
-
for(var i=0;i<this.FixedColumn && i<this.Column.length; ++i)
|
|
146842
|
+
if (this.CellBorderConfig.IsShowVLine) //竖线
|
|
146814
146843
|
{
|
|
146815
|
-
var
|
|
146816
|
-
var
|
|
146817
|
-
|
|
146818
|
-
|
|
146844
|
+
var columnLeft=left;
|
|
146845
|
+
for(var i=0;i<this.FixedColumn && i<this.Column.length; ++i)
|
|
146846
|
+
{
|
|
146847
|
+
var item=this.Column[i];
|
|
146848
|
+
var drawLeft=ToFixedPoint(columnLeft+item.Width);
|
|
146849
|
+
this.Canvas.moveTo(drawLeft,top);
|
|
146850
|
+
this.Canvas.lineTo(drawLeft,rotBottom);
|
|
146819
146851
|
|
|
146820
|
-
|
|
146821
|
-
|
|
146852
|
+
columnLeft+=item.Width;
|
|
146853
|
+
}
|
|
146822
146854
|
|
|
146823
|
-
|
|
146824
|
-
|
|
146825
|
-
|
|
146826
|
-
|
|
146827
|
-
|
|
146828
|
-
|
|
146855
|
+
for(var i=this.FixedColumn+this.Data.XOffset;i<this.Column.length;++i)
|
|
146856
|
+
{
|
|
146857
|
+
var item=this.Column[i];
|
|
146858
|
+
var drawLeft=ToFixedPoint(columnLeft+item.Width);
|
|
146859
|
+
this.Canvas.moveTo(drawLeft,top);
|
|
146860
|
+
this.Canvas.lineTo(drawLeft,rotBottom);
|
|
146829
146861
|
|
|
146830
|
-
|
|
146862
|
+
columnLeft+=item.Width;
|
|
146863
|
+
}
|
|
146831
146864
|
}
|
|
146832
146865
|
|
|
146833
146866
|
this.Canvas.stroke();
|
|
@@ -146954,6 +146987,7 @@ function ChartReport()
|
|
|
146954
146987
|
this.ShowSymbol.push( { Index:i, Symbol:symbol } );
|
|
146955
146988
|
|
|
146956
146989
|
textTop+=this.RowHeight;
|
|
146990
|
+
++this.DrawRowCount;
|
|
146957
146991
|
}
|
|
146958
146992
|
}
|
|
146959
146993
|
|
|
@@ -154209,7 +154243,7 @@ function ScrollBarBGChart()
|
|
|
154209
154243
|
|
|
154210
154244
|
|
|
154211
154245
|
|
|
154212
|
-
var HQCHART_VERSION="1.1.
|
|
154246
|
+
var HQCHART_VERSION="1.1.15234";
|
|
154213
154247
|
|
|
154214
154248
|
function PrintHQChartVersion()
|
|
154215
154249
|
{
|
|
@@ -13985,8 +13985,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
13985
13985
|
event.Callback(event, sendData, this);
|
|
13986
13986
|
}
|
|
13987
13987
|
|
|
13988
|
-
if (option.Update && this.Update)
|
|
13989
|
-
|
|
13988
|
+
if (option.Update && this.Update)
|
|
13989
|
+
{
|
|
13990
|
+
this.Update( {UpdateCursorIndexType:2} ); //是否立即更新并重绘
|
|
13991
|
+
}
|
|
13992
|
+
else if (option.Draw==true || option.Redraw==true)
|
|
13993
|
+
{
|
|
13994
|
+
this.ResetFrameXYSplit(); //重新计算分割线
|
|
13995
|
+
this.Draw(); //是否立即重绘
|
|
13996
|
+
}
|
|
13990
13997
|
|
|
13991
13998
|
if (this.PopMinuteChart) this.PopMinuteChart.ReloadResource(option);
|
|
13992
13999
|
if (this.DialogTooltip) this.DialogTooltip.ReloadResource(option);
|
|
@@ -39774,38 +39781,41 @@ function ChartMinuteVolumBar()
|
|
|
39774
39781
|
if (bShowColorBar) this.Canvas.strokeStyle=this.CustomColor;
|
|
39775
39782
|
var unit=this.GetVolUnit();
|
|
39776
39783
|
|
|
39777
|
-
|
|
39784
|
+
if (data && IFrameSplitOperator.IsNonEmptyArray(data.Data))
|
|
39778
39785
|
{
|
|
39779
|
-
var
|
|
39780
|
-
|
|
39781
|
-
|
|
39782
|
-
|
|
39786
|
+
for(var i=data.DataOffset,j=0;i<data.Data.length && j<xPointCount;++i,++j)
|
|
39787
|
+
{
|
|
39788
|
+
var item = data.Data[i];
|
|
39789
|
+
var vol=null;
|
|
39790
|
+
if (!item) continue;
|
|
39791
|
+
var price=null;
|
|
39783
39792
|
|
|
39784
|
-
|
|
39785
|
-
|
|
39786
|
-
|
|
39787
|
-
|
|
39793
|
+
vol=item.Vol/unit;
|
|
39794
|
+
price=item.Close;
|
|
39795
|
+
|
|
39796
|
+
if (!vol) continue;
|
|
39788
39797
|
|
|
39789
|
-
|
|
39790
|
-
|
|
39791
|
-
|
|
39798
|
+
var y=this.ChartFrame.GetYFromData(vol);
|
|
39799
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
39800
|
+
if (x>chartright) break;
|
|
39792
39801
|
|
|
39793
|
-
|
|
39794
|
-
|
|
39802
|
+
//价格>=上一分钟价格 红色 否则绿色
|
|
39803
|
+
if (!bShowColorBar) this.Canvas.strokeStyle = this.GetMinuteBarColor(price, yPrice);
|
|
39795
39804
|
|
|
39796
|
-
|
|
39797
|
-
|
|
39798
|
-
|
|
39799
|
-
|
|
39800
|
-
|
|
39801
|
-
|
|
39802
|
-
|
|
39803
|
-
|
|
39804
|
-
|
|
39805
|
-
|
|
39805
|
+
this.Canvas.beginPath();
|
|
39806
|
+
if (isHScreen)
|
|
39807
|
+
{
|
|
39808
|
+
this.Canvas.moveTo(y,ToFixedPoint(x));
|
|
39809
|
+
this.Canvas.lineTo(yBottom,ToFixedPoint(x));
|
|
39810
|
+
}
|
|
39811
|
+
else
|
|
39812
|
+
{
|
|
39813
|
+
this.Canvas.moveTo(ToFixedPoint(x),y);
|
|
39814
|
+
this.Canvas.lineTo(ToFixedPoint(x),yBottom);
|
|
39815
|
+
}
|
|
39816
|
+
this.Canvas.stroke();
|
|
39817
|
+
if (price) yPrice=price;
|
|
39806
39818
|
}
|
|
39807
|
-
this.Canvas.stroke();
|
|
39808
|
-
if (price) yPrice=price;
|
|
39809
39819
|
}
|
|
39810
39820
|
|
|
39811
39821
|
this.DrawAfterClose();
|
|
@@ -71751,7 +71761,7 @@ function ChartDrawHLine()
|
|
|
71751
71761
|
this.ButtonSpace=3;
|
|
71752
71762
|
this.TopOffset=3;
|
|
71753
71763
|
|
|
71754
|
-
this.TextMargin={ Left:0, Right:0, Top:0, Bottom:0, YOffset
|
|
71764
|
+
this.TextMargin={ Left:0, Right:0, Top:0, Bottom:0, YOffset:-1*GetDevicePixelRatio() };
|
|
71755
71765
|
|
|
71756
71766
|
this.AlwaysShowLab=false; //总是显示标签
|
|
71757
71767
|
|
|
@@ -72325,7 +72335,7 @@ function ChartDrawHLine()
|
|
|
72325
72335
|
}
|
|
72326
72336
|
|
|
72327
72337
|
var xText=rtBG.Left+this.TextMargin.Left;
|
|
72328
|
-
var yText=rtBG.
|
|
72338
|
+
var yText=rtBG.Bottom-this.TextMargin.Bottom+this.TextMargin.YOffset;
|
|
72329
72339
|
|
|
72330
72340
|
if (this.ButtonPosition==1)
|
|
72331
72341
|
{
|
|
@@ -72338,7 +72348,7 @@ function ChartDrawHLine()
|
|
|
72338
72348
|
|
|
72339
72349
|
this.Canvas.fillStyle=this.ValueTextColor
|
|
72340
72350
|
this.Canvas.textAlign="left";
|
|
72341
|
-
this.Canvas.textBaseline="
|
|
72351
|
+
this.Canvas.textBaseline="bottom";
|
|
72342
72352
|
this.Canvas.fillText(strValue,xText,yText);
|
|
72343
72353
|
|
|
72344
72354
|
rtDraw.Left=rtBG.Left;
|
|
@@ -140656,6 +140666,12 @@ function JSReportChart(divElement)
|
|
|
140656
140666
|
if (IFrameSplitOperator.IsNumber(option.TextOverflowStyle)) reportChart.TextOverflowStyle=option.TextOverflowStyle;
|
|
140657
140667
|
if (IFrameSplitOperator.IsNumber(option.MultiSelectModel)) reportChart.MultiSelectModel=option.MultiSelectModel;
|
|
140658
140668
|
if (IFrameSplitOperator.IsNumber(option.SelectedStyle)) reportChart.SelectedStyle=option.SelectedStyle;
|
|
140669
|
+
|
|
140670
|
+
if (option.BottomTab)
|
|
140671
|
+
{
|
|
140672
|
+
var item=option.BottomTab;
|
|
140673
|
+
if (IFrameSplitOperator.IsBool(item.IsShow)) reportChart.Tab.IsShow=item.IsShow;
|
|
140674
|
+
}
|
|
140659
140675
|
}
|
|
140660
140676
|
|
|
140661
140677
|
this.SetChartBorder(chart, option);
|
|
@@ -141252,7 +141268,7 @@ function JSReportChartContainer(uielement)
|
|
|
141252
141268
|
if (IFrameSplitOperator.IsNumber(option.BorderLine)) this.Frame.BorderLine=option.BorderLine; //边框
|
|
141253
141269
|
if (IFrameSplitOperator.IsBool(option.TabShow)) chart.Tab.IsShow=option.TabShow;
|
|
141254
141270
|
if (IFrameSplitOperator.IsNumber(option.FixedRowCount)) chart.FixedRowCount=option.FixedRowCount; //固定行
|
|
141255
|
-
|
|
141271
|
+
|
|
141256
141272
|
if (IFrameSplitOperator.IsNumber(option.SelectedModel)) chart.SelectedModel=option.SelectedModel;
|
|
141257
141273
|
if (IFrameSplitOperator.IsNumber(option.HeaderRowCount)) chart.HeaderRowCount=option.HeaderRowCount;
|
|
141258
141274
|
|
|
@@ -141269,6 +141285,14 @@ function JSReportChartContainer(uielement)
|
|
|
141269
141285
|
++chart.FixedRowCount;
|
|
141270
141286
|
}
|
|
141271
141287
|
}
|
|
141288
|
+
|
|
141289
|
+
if (option.CellBorder)
|
|
141290
|
+
{
|
|
141291
|
+
var item=option.CellBorder;
|
|
141292
|
+
if (IFrameSplitOperator.IsBool(item.IsShowVLine)) chart.CellBorderConfig.IsShowVLine=item.IsShowVLine;
|
|
141293
|
+
if (IFrameSplitOperator.IsBool(item.IsShowHLine)) chart.CellBorderConfig.IsShowHLine=item.IsShowHLine;
|
|
141294
|
+
if (IFrameSplitOperator.IsBool(item.IsFullLine)) chart.CellBorderConfig.IsFullLine=item.IsFullLine;
|
|
141295
|
+
}
|
|
141272
141296
|
}
|
|
141273
141297
|
|
|
141274
141298
|
var bRegisterKeydown=true;
|
|
@@ -145609,9 +145633,10 @@ function ChartReport()
|
|
|
145609
145633
|
this.SelectedRowData; //{ DataIndex:, Index:, Symbol: }
|
|
145610
145634
|
this.SelectedFixedRow=-1; //选中固定行ID
|
|
145611
145635
|
this.SelectedStyle=1; //选中行样式 1=整行填充 2=底部绘制直线
|
|
145612
|
-
this.IsDrawBorder=1; //是否绘制单元格边框
|
|
145613
145636
|
this.HeaderRowCount=1; //表头行数
|
|
145614
145637
|
|
|
145638
|
+
this.CellBorderConfig={ IsShowVLine:true, IsShowHLine:true, IsFullLine:true }; //单元格边框 IsShowHLine=横线 IsShowVLine=竖向
|
|
145639
|
+
|
|
145615
145640
|
//多选模式
|
|
145616
145641
|
this.MultiSelectModel=0; //0=禁用 1=开启
|
|
145617
145642
|
this.MultiSelectedRow=[]; //选中行
|
|
@@ -146297,6 +146322,7 @@ function ChartReport()
|
|
|
146297
146322
|
this.AryFullSelectedRow=[];
|
|
146298
146323
|
this.DevicePixelRatio=GetDevicePixelRatio()
|
|
146299
146324
|
this.LastMouseStatus=lastMouseStatus;
|
|
146325
|
+
this.DrawRowCount=0;
|
|
146300
146326
|
this.CreateTempCache();
|
|
146301
146327
|
|
|
146302
146328
|
if (this.GlobalOption) this.GlobalOption.FlashBGCount=0;
|
|
@@ -146816,7 +146842,7 @@ function ChartReport()
|
|
|
146816
146842
|
|
|
146817
146843
|
this.DrawBorder=function()
|
|
146818
146844
|
{
|
|
146819
|
-
if (!this.
|
|
146845
|
+
if (!this.CellBorderConfig.IsShowHLine && !this.CellBorderConfig.IsShowVLine) return;
|
|
146820
146846
|
|
|
146821
146847
|
var left=this.RectClient.Left;
|
|
146822
146848
|
var right=this.RectClient.Right;
|
|
@@ -146825,53 +146851,60 @@ function ChartReport()
|
|
|
146825
146851
|
|
|
146826
146852
|
this.Canvas.strokeStyle=this.BorderColor;
|
|
146827
146853
|
this.Canvas.beginPath();
|
|
146828
|
-
|
|
146829
|
-
this.
|
|
146830
|
-
this.Canvas.lineTo(right,ToFixedPoint(top+this.HeaderHeight));
|
|
146854
|
+
var rowCount=this.RowCount;
|
|
146855
|
+
if (!this.CellBorderConfig.IsFullLine) rowCount=this.DrawRowCount;
|
|
146831
146856
|
|
|
146832
|
-
|
|
146833
|
-
var rotBottom=rowTop;
|
|
146834
|
-
for(var i=0;i<this.FixedRowCount;++i)
|
|
146857
|
+
if (this.CellBorderConfig.IsShowHLine) //横线
|
|
146835
146858
|
{
|
|
146836
|
-
|
|
146837
|
-
this.Canvas.
|
|
146838
|
-
this.Canvas.lineTo(right,drawTop);
|
|
146839
|
-
rotBottom=rowTop;
|
|
146840
|
-
rowTop+=this.FixedRowHeight;
|
|
146841
|
-
}
|
|
146859
|
+
this.Canvas.moveTo(left,ToFixedPoint(top+this.HeaderHeight));
|
|
146860
|
+
this.Canvas.lineTo(right,ToFixedPoint(top+this.HeaderHeight));
|
|
146842
146861
|
|
|
146843
|
-
|
|
146844
|
-
|
|
146845
|
-
|
|
146846
|
-
|
|
146847
|
-
|
|
146848
|
-
|
|
146849
|
-
|
|
146850
|
-
|
|
146851
|
-
|
|
146852
|
-
|
|
146862
|
+
var rowTop=top+this.HeaderHeight+this.RowHeight;
|
|
146863
|
+
var rotBottom=rowTop;
|
|
146864
|
+
for(var i=0;i<this.FixedRowCount;++i)
|
|
146865
|
+
{
|
|
146866
|
+
var drawTop=ToFixedPoint(rowTop);
|
|
146867
|
+
this.Canvas.moveTo(left,drawTop);
|
|
146868
|
+
this.Canvas.lineTo(right,drawTop);
|
|
146869
|
+
rotBottom=rowTop;
|
|
146870
|
+
rowTop+=this.FixedRowHeight;
|
|
146871
|
+
}
|
|
146872
|
+
|
|
146873
|
+
var rowTop=top+this.HeaderHeight+this.RowHeight+this.FixedRowHeight*this.FixedRowCount;
|
|
146874
|
+
var rotBottom=rowTop;
|
|
146875
|
+
//横线
|
|
146876
|
+
for(var i=0;i<rowCount;++i)
|
|
146877
|
+
{
|
|
146878
|
+
var drawTop=ToFixedPoint(rowTop);
|
|
146879
|
+
this.Canvas.moveTo(left,drawTop);
|
|
146880
|
+
this.Canvas.lineTo(right,drawTop);
|
|
146881
|
+
rotBottom=rowTop;
|
|
146882
|
+
rowTop+=this.RowHeight;
|
|
146883
|
+
}
|
|
146853
146884
|
}
|
|
146854
146885
|
|
|
146855
|
-
//竖线
|
|
146856
|
-
var columnLeft=left;
|
|
146857
|
-
for(var i=0;i<this.FixedColumn && i<this.Column.length; ++i)
|
|
146886
|
+
if (this.CellBorderConfig.IsShowVLine) //竖线
|
|
146858
146887
|
{
|
|
146859
|
-
var
|
|
146860
|
-
var
|
|
146861
|
-
|
|
146862
|
-
|
|
146888
|
+
var columnLeft=left;
|
|
146889
|
+
for(var i=0;i<this.FixedColumn && i<this.Column.length; ++i)
|
|
146890
|
+
{
|
|
146891
|
+
var item=this.Column[i];
|
|
146892
|
+
var drawLeft=ToFixedPoint(columnLeft+item.Width);
|
|
146893
|
+
this.Canvas.moveTo(drawLeft,top);
|
|
146894
|
+
this.Canvas.lineTo(drawLeft,rotBottom);
|
|
146863
146895
|
|
|
146864
|
-
|
|
146865
|
-
|
|
146896
|
+
columnLeft+=item.Width;
|
|
146897
|
+
}
|
|
146866
146898
|
|
|
146867
|
-
|
|
146868
|
-
|
|
146869
|
-
|
|
146870
|
-
|
|
146871
|
-
|
|
146872
|
-
|
|
146899
|
+
for(var i=this.FixedColumn+this.Data.XOffset;i<this.Column.length;++i)
|
|
146900
|
+
{
|
|
146901
|
+
var item=this.Column[i];
|
|
146902
|
+
var drawLeft=ToFixedPoint(columnLeft+item.Width);
|
|
146903
|
+
this.Canvas.moveTo(drawLeft,top);
|
|
146904
|
+
this.Canvas.lineTo(drawLeft,rotBottom);
|
|
146873
146905
|
|
|
146874
|
-
|
|
146906
|
+
columnLeft+=item.Width;
|
|
146907
|
+
}
|
|
146875
146908
|
}
|
|
146876
146909
|
|
|
146877
146910
|
this.Canvas.stroke();
|
|
@@ -146998,6 +147031,7 @@ function ChartReport()
|
|
|
146998
147031
|
this.ShowSymbol.push( { Index:i, Symbol:symbol } );
|
|
146999
147032
|
|
|
147000
147033
|
textTop+=this.RowHeight;
|
|
147034
|
+
++this.DrawRowCount;
|
|
147001
147035
|
}
|
|
147002
147036
|
}
|
|
147003
147037
|
|
|
@@ -166266,7 +166300,7 @@ function HQChartScriptWorker()
|
|
|
166266
166300
|
|
|
166267
166301
|
|
|
166268
166302
|
|
|
166269
|
-
var HQCHART_VERSION="1.1.
|
|
166303
|
+
var HQCHART_VERSION="1.1.15234";
|
|
166270
166304
|
|
|
166271
166305
|
function PrintHQChartVersion()
|
|
166272
166306
|
{
|