hqchart 1.1.13584 → 1.1.13588
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 +60 -7
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogDrawTool.js +2 -1
- package/src/jscommon/umychart.js +86 -1
- package/src/jscommon/umychart.report.js +48 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +135 -2
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +137 -3
package/lib/umychart.vue.js
CHANGED
|
@@ -5863,7 +5863,7 @@ var sColorChange=[];for(var i=1;i<7;i+=2){sColorChange.push(parseInt("0x"+color.
|
|
|
5863
5863
|
{Name:"涂鸦线段",ClassName:'ChartDrawGraffitiLine',Create:function Create(){return new ChartDrawGraffitiLine();}},{Name:"固定范围成交量分布图",ClassName:"ChartDrawVolProfile",Create:function Create(){return new ChartDrawVolProfile();}},{Name:"DisjointChannel",ClassName:"ChartDrawDisjontChannel",Create:function Create(){return new ChartDrawDisjontChannel();}},{Name:"FlatTop",ClassName:"ChartDrawFlatTop",Create:function Create(){return new ChartDrawFlatTop();}},{Name:"水平线2",ClassName:"ChartDrawHLine",Create:function Create(){return new ChartDrawHLine();}},{Name:"MonitorLine",ClassName:"ChartDrawMonitorLine",Create:function Create(){return new ChartDrawMonitorLine();}},//trading view样式
|
|
5864
5864
|
{Name:"Note",ClassName:"ChartDrawNote",Create:function Create(){return new ChartDrawNote();}},{Name:"AnchoredText",ClassName:"ChartDrawAnchoredText",Create:function Create(){return new ChartDrawAnchoredText();}},{Name:"PriceLabel",ClassName:"ChartDrawPriceLabel",Create:function Create(){return new ChartDrawPriceLabel();}},{Name:"PriceNote",ClassName:"ChartDrawPriceNote",Create:function Create(){return new ChartDrawPriceNote();}},{Name:"FibWedge",ClassName:"ChartDrawFibWedge",Create:function Create(){return new ChartDrawFibWedge();}},{Name:"FibRetracement",ClassName:"ChartFibRetracement",Create:function Create(){return new ChartFibRetracement();}},//斐波那契回测
|
|
5865
5865
|
{Name:"FibSpeedResistanceFan",ClassName:"ChartFibSpeedResistanceFan",Create:function Create(){return new ChartFibSpeedResistanceFan();}},//斐波那契扇形
|
|
5866
|
-
{Name:"PriceRange",ClassName:"ChartPriceRange",Create:function Create(){return new ChartPriceRange();}},{Name:"DateRange",ClassName:"ChartDateRange",Create:function Create(){return new ChartDateRange();}},{Name:"InfoLine",ClassName:"ChartInfoLine",Create:function Create(){return new ChartInfoLine();}},{Name:"TrendAngle",ClassName:"ChartTrendAngle",Create:function Create(){return new ChartTrendAngle();}}];IChartDrawPicture.MapIonFont=new _map2.default([["icon-arrow_up",{Text:'\uE683',Color:'#318757',Family:"iconfont"}],["icon-arrow_down",{Text:'\uE681',Color:'#db563e',Family:"iconfont"}],["icon-arrow_right",{Text:'\uE682',Color:'#318757',Family:"iconfont"}],["icon-arrow_left",{Text:'\uE680',Color:'#318757',Family:"iconfont"}]]);IChartDrawPicture.GetDrawPictureByName=function(value){for(var i in IChartDrawPicture.ArrayDrawPricture){var item=IChartDrawPicture.ArrayDrawPricture[i];if(item.Name==value)return item;}return null;};IChartDrawPicture.GetDrawPictureByClassName=function(value){for(var i in IChartDrawPicture.ArrayDrawPricture){var item=IChartDrawPicture.ArrayDrawPricture[i];if(item.ClassName==value)return item;}return null;};//注册一个新的画图工具 {Name:中文名字, ClassName:类名, Create:function()}
|
|
5866
|
+
{Name:"PriceRange",ClassName:"ChartPriceRange",Create:function Create(){return new ChartPriceRange();}},{Name:"DateRange",ClassName:"ChartDateRange",Create:function Create(){return new ChartDateRange();}},{Name:"InfoLine",ClassName:"ChartInfoLine",Create:function Create(){return new ChartInfoLine();}},{Name:"TrendAngle",ClassName:"ChartTrendAngle",Create:function Create(){return new ChartTrendAngle();}},{Name:"ArrowMarker",ClassName:"ChartArrowMarker",Create:function Create(){return new ChartArrowMarker();}}];IChartDrawPicture.MapIonFont=new _map2.default([["icon-arrow_up",{Text:'\uE683',Color:'#318757',Family:"iconfont"}],["icon-arrow_down",{Text:'\uE681',Color:'#db563e',Family:"iconfont"}],["icon-arrow_right",{Text:'\uE682',Color:'#318757',Family:"iconfont"}],["icon-arrow_left",{Text:'\uE680',Color:'#318757',Family:"iconfont"}]]);IChartDrawPicture.GetDrawPictureByName=function(value){for(var i in IChartDrawPicture.ArrayDrawPricture){var item=IChartDrawPicture.ArrayDrawPricture[i];if(item.Name==value)return item;}return null;};IChartDrawPicture.GetDrawPictureByClassName=function(value){for(var i in IChartDrawPicture.ArrayDrawPricture){var item=IChartDrawPicture.ArrayDrawPricture[i];if(item.ClassName==value)return item;}return null;};//注册一个新的画图工具 {Name:中文名字, ClassName:类名, Create:function()}
|
|
5867
5867
|
IChartDrawPicture.RegisterDrawPicture=function(obj){if(!obj.Name||!obj.ClassName||!obj.Create)return false;var item={Name:obj.Name,ClassName:obj.ClassName,Create:obj.Create};IChartDrawPicture.ArrayDrawPricture.push(item);JSConsole.Chart.Log('[IChartDrawPicture.RegisterDrawPicture] registered new draw picture class. item=',item);return true;};//注册一个新图标 {Name:, Text: , Color:, Family:}
|
|
5868
5868
|
IChartDrawPicture.RegisterIonFont=function(obj){if(!obj.Name||!obj.Text||!obj.Family)return false;var isOverwirte=IChartDrawPicture.MapIonFont.has(obj.Name);IChartDrawPicture.MapIonFont.set(obj.Name,obj);JSConsole.Chart.Log('[IChartDrawPicture.RegisterIonFont] registered new icon font, obj=, isOverwirte=',obj,isOverwirte);return true;};IChartDrawPicture.CreateChartDrawPicture=function(obj)//创建画图工具
|
|
5869
5869
|
{var item=IChartDrawPicture.GetDrawPictureByClassName(obj.ClassName);if(!item)return null;var chartDraw=item.Create();//TODO:后面都放到每一个SetOptin里面
|
|
@@ -5917,6 +5917,18 @@ var angle=Math.atan2(ptStart.Y-ptEnd.Y,ptStart.X-ptEnd.X)*180/Math.PI,angle1=(an
|
|
|
5917
5917
|
this.Canvas.stroke();
|
|
5918
5918
|
}
|
|
5919
5919
|
*/var line={Start:ptStart,End:ptEnd};this.LinePoint.push(line);this.DrawPoint([drawPoint[0]]);//画点
|
|
5920
|
+
this.Canvas.restore();};}function ChartArrowMarker(){this.newMethod=IChartDrawPicture;//派生
|
|
5921
|
+
this.newMethod();delete this.newMethod;this.ClassName='ChartArrowMarker';this.IsPointIn=this.IsPointIn_XYValue_Line;this.InsideAngle=25;this.InsideWidth=70;this.OutAngle=35;this.OutWidth=100;this.GetXYCoordinate=this.GetXYCoordinate_default;this.OnlyMoveXIndex=true;this.IsSupportMagnet=true;this.CalculatePoint=function(angle,ptStart,ptEnd,lineWidth){var theta=angle;//三角斜边一直线夹角
|
|
5922
|
+
var headlen=lineWidth;//三角斜边长度
|
|
5923
|
+
var angle=Math.atan2(ptStart.Y-ptEnd.Y,ptStart.X-ptEnd.X)*180/Math.PI,angle1=(angle+theta)*Math.PI/180,angle2=(angle-theta)*Math.PI/180,topX=headlen*Math.cos(angle1),topY=headlen*Math.sin(angle1),botX=headlen*Math.cos(angle2),botY=headlen*Math.sin(angle2);return{Top:{X:topX+ptEnd.X,Y:topY+ptEnd.Y},Bottom:{X:botX+ptEnd.X,Y:botY+ptEnd.Y}};};this.Draw=function(){this.LinePoint=[];if(this.IsFrameMinSize())return;if(!this.IsShow)return;var drawPoint=this.CalculateDrawPoint({IsCheckX:true,IsCheckY:true});if(!drawPoint)return;if(drawPoint.length!=2)return;this.ClipFrame();var ptStart=drawPoint[0];var ptEnd=drawPoint[1];//计算箭头 的两条边线坐标
|
|
5924
|
+
var outArrow=this.CalculatePoint(this.OutAngle,ptStart,ptEnd,this.OutWidth);var insideArrow=this.CalculatePoint(this.InsideAngle,ptStart,ptEnd,this.InsideWidth);this.Canvas.beginPath();this.Canvas.moveTo(ptStart.X,ptStart.Y);this.Canvas.lineTo(insideArrow.Top.X,insideArrow.Top.Y);this.Canvas.lineTo(outArrow.Top.X,outArrow.Top.Y);this.Canvas.lineTo(ptEnd.X,ptEnd.Y);this.Canvas.lineTo(outArrow.Bottom.X,outArrow.Bottom.Y);this.Canvas.lineTo(insideArrow.Bottom.X,insideArrow.Bottom.Y);this.Canvas.lineTo(ptStart.X,ptStart.Y);this.Canvas.closePath();this.Canvas.fillStyle=this.LineColor;this.Canvas.fill();/*
|
|
5925
|
+
if (this.IsSelected)
|
|
5926
|
+
{
|
|
5927
|
+
this.Canvas.strokeStyle='rgba(255,0,0,0.5)';
|
|
5928
|
+
this.Canvas.lineWidth=20 * GetDevicePixelRatio();
|
|
5929
|
+
this.Canvas.stroke();
|
|
5930
|
+
}
|
|
5931
|
+
*/var line={Start:ptStart,End:ptEnd};this.LinePoint.push(line);this.DrawPoint([ptStart,ptEnd]);//画点
|
|
5920
5932
|
this.Canvas.restore();};}//画图工具-射线
|
|
5921
5933
|
function ChartDrawPictureHaflLine(){this.newMethod=IChartDrawPicture;//派生
|
|
5922
5934
|
this.newMethod();delete this.newMethod;this.ClassName='ChartDrawPictureHaflLine';this.GetXYCoordinate=this.GetXYCoordinate_default;this.OnlyMoveXIndex=true;this.IsSupportMagnet=true;this.FullLine;this.IsPointIn=function(x,y,option){var result=this.IsPointIn_XYValue_Line(x,y,option);if(result>=0)return result;if(!this.FullLine)return result;var ptStart=this.FullLine.Start;var ptEnd=this.FullLine.End;var pixel=GetDevicePixelRatio();var lineWidth=5*pixel;this.Canvas.beginPath();if(ptStart.X==ptEnd.X)//竖线
|
|
@@ -12289,11 +12301,52 @@ this.UIElement.ontouchstart=function(e){_this54.OnTouchStart(e);};this.UIElement
|
|
|
12289
12301
|
this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
|
|
12290
12302
|
this.LastMouseStatus.MouseOnStatus=null;if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
|
|
12291
12303
|
for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw(this.LastMouseStatus);}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw(this.LastMouseStatus);}if(this.GlobalOption.FlashBGCount>0){this.DelayDraw(500);}this.DrawTooltip(this.LastMouseStatus.TooltipStatus);};this.DelayDraw=function(frequency){var _this55=this;if(typeof this.FlashBGTimer=='number'){clearTimeout(this.FlashBGTimer);this.FlashBGTimer=null;}this.FlashBGTimer=setTimeout(function(){_this55.Draw();},frequency);};this.ResetReportStatus=function(){this.Data.XOffset=0;this.Data.YOffset=0;};this.ResetReportSelectStatus=function(){var chart=this.GetReportChart();if(chart){chart.SelectedRow=-1;chart.SelectedFixedRow=-1;chart.MultiSelectedRow=[];}};this.ClearData=function(){this.SourceData.Data=[];this.Data.Data=[];this.BlockData=new _map2.default();};this.ClearMapStockData=function(){this.MapStockData=new _map2.default();};this.ResetSortStatus=function(){this.SortInfo.Field=-1;this.SortInfo.Sort=0;};//设置股票列表
|
|
12292
|
-
this.SetSymbolList=function(arySymbol,option){this.ClearData();this.ResetReportStatus();this.ResetSortStatus();if(IFrameSplitOperator.IsNonEmptyArray(arySymbol)){for(var i=0;i<arySymbol.length;++i){this.Data.Data.push(arySymbol[i]);}}var chart=this.ChartPaint[0];if(chart)chart.Data=this.Data;this.Draw();};this.ChangeSymbol=function(symbol,option){var _this56=this;this.Symbol=symbol;this.ClearData();this.ResetReportStatus();this.ResetSortStatus();this.ResetReportSelectStatus();if(option){if(IFrameSplitOperator.IsNumber(option.TabSelected)){var chartTab=this.GetTabChart();if(chartTab)chartTab.SelectedTabIndex=option.TabSelected;}if(Array.isArray(option.FixedSymbol)){var chart=this.GetReportChart();if(chart){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;}this.SetSizeChange(true);}}if(option.SortInfo){var item=option.SortInfo;if(IFrameSplitOperator.IsNumber(item.Field))this.SortInfo.Field=item.Field;if(IFrameSplitOperator.IsNumber(item.Sort))this.SortInfo.Sort=item.Sort;}if(IFrameSplitOperator.IsBool(option.IsReloadStockList)){var requestOption={Callback:null};if(this.Symbol)requestOption.Callback=function(){_this56.RequestMemberListData();};this.MapStockData=new _map2.default();this.RequestStockListData(requestOption);return;}}this.RequestMemberListData();}
|
|
12293
|
-
this.
|
|
12294
|
-
var arySymbol=[];if(IFrameSplitOperator.IsNonEmptyArray(data.data)){//0=证券代码 1=股票名称
|
|
12304
|
+
this.SetSymbolList=function(arySymbol,option){this.ClearData();this.ResetReportStatus();this.ResetSortStatus();if(IFrameSplitOperator.IsNonEmptyArray(arySymbol)){for(var i=0;i<arySymbol.length;++i){this.Data.Data.push(arySymbol[i]);}}var chart=this.ChartPaint[0];if(chart)chart.Data=this.Data;this.Draw();};this.ChangeSymbol=function(symbol,option){var _this56=this;this.Symbol=symbol;this.ClearData();this.ResetReportStatus();this.ResetSortStatus();this.ResetReportSelectStatus();if(option){if(IFrameSplitOperator.IsNumber(option.TabSelected)){var chartTab=this.GetTabChart();if(chartTab)chartTab.SelectedTabIndex=option.TabSelected;}if(Array.isArray(option.FixedSymbol)){var chart=this.GetReportChart();if(chart){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;}this.SetSizeChange(true);}}if(option.SortInfo){var item=option.SortInfo;if(IFrameSplitOperator.IsNumber(item.Field))this.SortInfo.Field=item.Field;if(IFrameSplitOperator.IsNumber(item.Sort))this.SortInfo.Sort=item.Sort;}if(IFrameSplitOperator.IsBool(option.IsReloadStockList)){var requestOption={Callback:null};if(this.Symbol)requestOption.Callback=function(){_this56.RequestMemberListData();};this.MapStockData=new _map2.default();this.RequestStockListData(requestOption);return;}}this.RequestMemberListData();};//更新数据
|
|
12305
|
+
this.UpdateFullData=function(data){var arySymbol=[];if(IFrameSplitOperator.IsNonEmptyArray(data.data)){//0=证券代码 1=股票名称
|
|
12295
12306
|
for(var i=0;i<data.data.length;++i){var item=data.data[i];var symbol=item[0];var stock=null;if(this.MapStockData.has(symbol)){stock=this.MapStockData.get(symbol);}else{stock=new HQReportItem();stock.OriginalSymbol=symbol;this.MapStockData.set(symbol,stock);}stock.Symbol=this.GetSymbolNoSuffix(symbol);stock.Name=item[1];this.ReadStockJsonData(stock,item);arySymbol.push(symbol);}}//设置显示数据
|
|
12296
|
-
if(IFrameSplitOperator.IsNonEmptyArray(arySymbol)){for(var i=0;i<arySymbol.length;++i){this.Data.Data.push(arySymbol[i]);this.SourceData.Data.push(arySymbol[i]);}}this.Draw();}
|
|
12307
|
+
if(IFrameSplitOperator.IsNonEmptyArray(arySymbol)){for(var i=0;i<arySymbol.length;++i){this.Data.Data.push(arySymbol[i]);this.SourceData.Data.push(arySymbol[i]);}}this.Draw();};//设置全部的数据
|
|
12308
|
+
this.SetFullData=function(data){this.ClearMapStockData();this.ClearData();this.ResetReportStatus();this.ResetSortStatus();this.ResetReportSelectStatus();this.UpdateFullData(data);/*
|
|
12309
|
+
//缓存所有数据
|
|
12310
|
+
var arySymbol=[];
|
|
12311
|
+
if (IFrameSplitOperator.IsNonEmptyArray(data.data))
|
|
12312
|
+
{
|
|
12313
|
+
//0=证券代码 1=股票名称
|
|
12314
|
+
for(var i=0;i<data.data.length;++i)
|
|
12315
|
+
{
|
|
12316
|
+
var item=data.data[i];
|
|
12317
|
+
var symbol=item[0];
|
|
12318
|
+
var stock=null;
|
|
12319
|
+
if (this.MapStockData.has(symbol))
|
|
12320
|
+
{
|
|
12321
|
+
stock=this.MapStockData.get(symbol);
|
|
12322
|
+
}
|
|
12323
|
+
else
|
|
12324
|
+
{
|
|
12325
|
+
stock=new HQReportItem();
|
|
12326
|
+
stock.OriginalSymbol=symbol;
|
|
12327
|
+
this.MapStockData.set(symbol, stock);
|
|
12328
|
+
}
|
|
12329
|
+
|
|
12330
|
+
stock.Symbol=this.GetSymbolNoSuffix(symbol);
|
|
12331
|
+
stock.Name=item[1];
|
|
12332
|
+
this.ReadStockJsonData(stock, item);
|
|
12333
|
+
|
|
12334
|
+
arySymbol.push(symbol);
|
|
12335
|
+
}
|
|
12336
|
+
}
|
|
12337
|
+
|
|
12338
|
+
//设置显示数据
|
|
12339
|
+
if (IFrameSplitOperator.IsNonEmptyArray(arySymbol))
|
|
12340
|
+
{
|
|
12341
|
+
for(var i=0;i<arySymbol.length;++i)
|
|
12342
|
+
{
|
|
12343
|
+
this.Data.Data.push(arySymbol[i]);
|
|
12344
|
+
this.SourceData.Data.push(arySymbol[i]);
|
|
12345
|
+
}
|
|
12346
|
+
}
|
|
12347
|
+
|
|
12348
|
+
this.Draw();
|
|
12349
|
+
*/};this.RequestMemberListData=function(){//this.ChartSplashPaint.SetTitle(this.SplashTitle.MemberList);
|
|
12297
12350
|
//this.ChartSplashPaint.EnableSplash(true);
|
|
12298
12351
|
//this.Draw();
|
|
12299
12352
|
var self=this;if(this.NetworkFilter){var obj={Name:'JSReportChartContainer::RequestMemberListData',//类名::
|
|
@@ -13290,7 +13343,7 @@ JSPopMenu.SEPARATOR_LINE_NAME="MENU_SEPARATOR";//分割线
|
|
|
13290
13343
|
CMD_DELETE_DRAW_CHART_ID:6,CMD_CHANGE_FONT_COLOR_ID:7,//切换字体颜色
|
|
13291
13344
|
CMD_CHANGE_BG_COLOR_ID:8,//切换背景色
|
|
13292
13345
|
CMD_CHANGE_BORDER_COLOR_ID:9//边框颜色
|
|
13293
|
-
};function JSDialogDrawTool(){this.AryChartGroup=[{Title:"线段",AryChart:[{Title:'线段',ClassName:'hqchart_drawtool icon-draw_line',Type:0,Data:{ID:"线段"}},{Title:'线段信息',ClassName:'hqchart_drawtool icon-infoline',Type:0,Data:{ID:"InfoLine"}},{Title:'射线',ClassName:'hqchart_drawtool icon-draw_rays',Type:0,Data:{ID:"射线"}},{Title:"趋势线角度",ClassName:"hqchart_drawtool icon-qushixianjiaodu",Type:0,Data:{ID:"TrendAngle"}},{Title:'标价线',ClassName:'hqchart_drawtool icon-price_line',Type:0,Data:{ID:"标价线"}},{Title:'垂直线',ClassName:'hqchart_drawtool icon-vertical_line',Type:0,Data:{ID:"垂直线"}},{Title:'十字线',ClassName:'hqchart_drawtool icon-tubiao_shizixian',Type:0,Data:{ID:"十字线"}},{Title:'箭头',ClassName:'hqchart_drawtool icon-
|
|
13346
|
+
};function JSDialogDrawTool(){this.AryChartGroup=[{Title:"线段",AryChart:[{Title:'线段',ClassName:'hqchart_drawtool icon-draw_line',Type:0,Data:{ID:"线段"}},{Title:'线段信息',ClassName:'hqchart_drawtool icon-infoline',Type:0,Data:{ID:"InfoLine"}},{Title:'射线',ClassName:'hqchart_drawtool icon-draw_rays',Type:0,Data:{ID:"射线"}},{Title:"趋势线角度",ClassName:"hqchart_drawtool icon-qushixianjiaodu",Type:0,Data:{ID:"TrendAngle"}},{Title:'标价线',ClassName:'hqchart_drawtool icon-price_line',Type:0,Data:{ID:"标价线"}},{Title:'垂直线',ClassName:'hqchart_drawtool icon-vertical_line',Type:0,Data:{ID:"垂直线"}},{Title:'十字线',ClassName:'hqchart_drawtool icon-tubiao_shizixian',Type:0,Data:{ID:"十字线"}},{Title:'箭头',ClassName:'hqchart_drawtool icon-bottom-arrow-solid',Type:0,Data:{ID:"箭头"}},{Title:'大箭头',ClassName:'hqchart_drawtool icon-big_arrow',Type:0,Data:{ID:"ArrowMarker"}},{Title:'趋势线',ClassName:'hqchart_drawtool icon-draw_trendline',Type:0,Data:{ID:"趋势线"}},{Title:'水平线',ClassName:'hqchart_drawtool icon-draw_hline',Type:0,Data:{ID:"水平线"}},{Title:'水平射线',ClassName:'hqchart_drawtool icon-tubiao_shuipingshexian',Type:0,Data:{ID:"水平射线"}},{Title:'涂鸦线段',ClassName:'hqchart_drawtool icon-draw_line',Type:0,Data:{ID:"涂鸦线段"}},{Title:'阻速线',ClassName:'hqchart_drawtool icon-draw_resline',Type:0,Data:{ID:"阻速线"}},{Title:'通达信阻速线',ClassName:'hqchart_drawtool icon-draw_resline',Type:0,Data:{ID:"阻速线2"}},{Title:'江恩角度线',ClassName:'hqchart_drawtool icon-jiangenjiaoduxian',Type:0,Data:{ID:"江恩角度线"}},{Title:'通达信江恩角度线',ClassName:'hqchart_drawtool icon-jiangenjiaoduxian',Type:0,Data:{ID:"江恩角度线2"}}]},{Title:"通道",AryChart:[{Title:'平行线',ClassName:'hqchart_drawtool icon-draw_parallel_lines',Type:0,Data:{ID:"平行线"}},{Title:'水平线段',ClassName:'hqchart_drawtool icon-draw_hlinesegment',Type:0,Data:{ID:"水平线段"}},{Title:'平行射线',ClassName:'hqchart_drawtool icon-draw_p_rays_lines',Type:0,Data:{ID:"平行射线"}},{Title:'平行通道',ClassName:'hqchart_drawtool icon-draw_parallelchannel',Type:0,Data:{ID:"平行通道"}},{Title:'价格通道线',ClassName:'hqchart_drawtool icon-draw_pricechannel',Type:0,Data:{ID:"价格通道线"}},{Title:'箱型线',ClassName:'hqchart_drawtool icon-draw_box',Type:0,Data:{ID:"箱型线"}},{Title:"不相交通道",ClassName:"hqchart_drawtool icon-buxiangjiaojiao",Type:0,Data:{ID:"DisjointChannel"}},{Title:"平滑顶/底",ClassName:"hqchart_drawtool icon-tubiao_buxiangjiaotongdao",Type:0,Data:{ID:"FlatTop"}},{Title:"波段线",ClassName:'hqchart_drawtool icon-draw_waveband',Type:0,Data:{ID:"波段线"}},{Title:"百分比线",ClassName:'hqchart_drawtool icon-PercentageLine',Type:0,Data:{ID:"百分比线"}},{Title:"黄金分割",ClassName:'hqchart_drawtool icon-GoldenSection',Type:0,Data:{ID:"黄金分割"}},{Title:"线形回归线",ClassName:'hqchart_drawtool icon-linear_3',Type:0,Data:{ID:"线形回归线"}},{Title:"线形回归带",ClassName:'hqchart_drawtool icon-linear_1',Type:0,Data:{ID:"线形回归带"}},{Title:"延长线形回归带",ClassName:'hqchart_drawtool icon-linear_2',Type:0,Data:{ID:"延长线形回归带"}}]},{Title:"形状",AryChart:[{Title:'圆弧线',ClassName:'hqchart_drawtool icon-draw_arc',Type:0,Data:{ID:"圆弧线"}},{Title:'矩形',ClassName:'hqchart_drawtool icon-rectangle',Type:0,Data:{ID:"矩形"}},{Title:'平行四边形',ClassName:'hqchart_drawtool icon-draw_quadrangle',Type:0,Data:{ID:"平行四边形"}},{Title:'三角形',ClassName:'hqchart_drawtool icon-draw_triangle',Type:0,Data:{ID:"三角形"}},{Title:'圆',ClassName:'hqchart_drawtool icon-draw_circle',Type:0,Data:{ID:"圆"}},{Title:'对称角度',ClassName:'hqchart_drawtool icon-draw_symangle',Type:0,Data:{ID:"对称角度"}}]},{Title:"波浪线",AryChart:[{Title:'M头W底',ClassName:'hqchart_drawtool icon-draw_wavemw',Type:0,Data:{ID:"M头W底"}},{Title:'头肩型',ClassName:'hqchart_drawtool icon-draw_head_shoulders_bt',Type:0,Data:{ID:"头肩型"}},{Title:'波浪尺',ClassName:'hqchart_drawtool icon-waveruler',Type:0,Data:{ID:"波浪尺"}},{Title:'AB波浪尺',ClassName:'hqchart_drawtool icon-waveruler',Type:0,Data:{ID:"AB波浪尺"}}]},{Title:"斐波那契",AryChart:[{Title:'斐波那契周期线',ClassName:'hqchart_drawtool icon-feibonaqizhouqixian',Type:0,Data:{ID:"斐波那契周期线"}},{Title:'斐波那契楔形',ClassName:'hqchart_drawtool icon-feibonaqiqixing',Type:0,Data:{ID:"FibWedge"}},{Title:'斐波那契回撤',ClassName:'hqchart_drawtool icon-feibonaqihuiche',Type:0,Data:{ID:"FibRetracement"}},{Title:'斐波那契速度阻力扇',ClassName:'hqchart_drawtool icon-feibonaqisuduzulishan',Type:0,Data:{ID:"FibSpeedResistanceFan"}}]},{Title:"测量工具",AryChart:[{Title:'价格范围',ClassName:'hqchart_drawtool icon-shijianfanwei',Type:0,Data:{ID:"PriceRange"}},{Title:'时间范围',ClassName:'hqchart_drawtool icon-jiagefanwei',Type:0,Data:{ID:"DateRange"}},{Title:"监测线",ClassName:"hqchart_drawtool icon-jiance",Type:0,Data:{ID:"MonitorLine"}}]},{Title:"文字",AryChart:[{Title:"文字",ClassName:'hqchart_drawtool icon-draw_text',Type:0,Data:{ID:"文本"}},{Title:"锚点文字",ClassName:'hqchart_drawtool icon-maodianwenzi',Type:0,Data:{ID:"AnchoredText"}},{Title:"注释",ClassName:'hqchart_drawtool icon-maodian ',Type:0,Data:{ID:"Note"}},{Title:'价格标签',ClassName:'hqchart_drawtool icon-Tooltip',Type:0,Data:{ID:"PriceLabel"}},{Title:'价格注释',ClassName:'hqchart_drawtool icon-tooltiptext',Type:0,Data:{ID:"PriceNote"}},{Title:'向上箭头',ClassName:'iconfont icon-arrow_up',Type:0,Data:{ID:"icon-arrow_up"}},{Title:'向下箭头',ClassName:'iconfont icon-arrow_down',Type:0,Data:{ID:"icon-arrow_down"}},{Title:'向左箭头',ClassName:'iconfont icon-arrow_left',Type:0,Data:{ID:"icon-arrow_left"}},{Title:'向右箭头',ClassName:'iconfont icon-arrow_right',Type:0,Data:{ID:"icon-arrow_right"}}]}];this.ToolConfig={Title:"工具",AryTool:[{Title:"选中",ClassName:'hqchart_drawtool icon-arrow',Type:1,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_SELECTED_ID}},{Title:'尺子',ClassName:'hqchart_drawtool icon-ruler',Type:0,Data:{ID:"尺子"}},{Title:"磁铁",ClassName:'hqchart_drawtool icon-xifu',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ENABLE_MAGNET_ID}},{Title:"点击切换颜色",ClassName:'hqchart_drawtool icon-fangkuai',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID}},{Title:"擦除画线",ClassName:'hqchart_drawtool icon-a-xiangpicachuxiangpica',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ERASE_DRAW_CHART_ID}},{Title:"删除所有画线",ClassName:'hqchart_drawtool icon-recycle_bin',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_DELETE_ALL_DRAW_CHART_ID}}]};this.DivDialog=null;this.AryDivChart=[];this.HQChart=null;this.LineColor='rgb(255,140,0)';this.LineColorIndex=0;this.RandomLineColor=["rgb(255,69,0)","rgb(0,191,255)","rgb(255,0,255)","rgb(255,105,180)"];this.LineWidth=1*GetDevicePixelRatio();this.ColumnCount=5;this.DragTitle=null;this.Inital=function(hqchart){this.LineColor=g_JSChartResource.DrawPicture.LineColor[0];this.RandomLineColor.splice(0,0,this.LineColor);this.HQChart=hqchart;};this.Create=function(){var _this75=this;var divDom=document.createElement("div");divDom.className='UMyChart_DrawTool_Dialog_Div';var divTitle=document.createElement("div");divTitle.className='UMyChart_DrawTool_Title_Div';divTitle.innerText="画图工具";divTitle.onmousedown=function(e){_this75.OnMouseDownTitle(e);};var divClose=document.createElement("div");divClose.className='UMyChart_DrawTool_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this75.Close(e);};divTitle.appendChild(divClose);divDom.appendChild(divTitle);var table=document.createElement("table");table.className="UMyChart_DrawTool_Table";divDom.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_DrawTool_Tbody";table.appendChild(tbody);for(var i=0;i<this.AryChartGroup.length;++i){var item=this.AryChartGroup[i];if(!IFrameSplitOperator.IsNonEmptyArray(item.AryChart))continue;this.CreateChartGroupItem(item,tbody);var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Group_End_Tr';tbody.appendChild(trDom);}//工具栏
|
|
13294
13347
|
this.CreateToolGroup(tbody);this.DivDialog=divDom;document.body.appendChild(divDom);};this.Destroy=function(){this.AryDivChart=[];document.body.remove(this.DivDialog);this.DivDialog=null;};this.CreateChartGroupItem=function(groupItem,tbody){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Group_Tr';tbody.appendChild(trDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_DrawTool_Group_Td";tdDom.innerText=groupItem.Title;tdDom.colSpan=this.ColumnCount;trDom.appendChild(tdDom);var chartCount=groupItem.AryChart.length;for(var i=0,j=0;i<chartCount;){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Tr';for(j=0;j<this.ColumnCount&&i<chartCount;++j,++i){var item=groupItem.AryChart[i];this.CreateChartItem(item,trDom);}tbody.appendChild(trDom);}};this.CreateChartItem=function(item,trDom){var _this76=this;var tdDom=document.createElement("td");tdDom.className="UMyChart_DrawTool_Td";tdDom.title=item.Title;trDom.appendChild(tdDom);var spanDom=document.createElement("span");spanDom.className=item.ClassName;spanDom.classList.add("UMyChart_DrawTool_Span");tdDom.appendChild(spanDom);var data={Item:item,TD:tdDom,Span:spanDom};tdDom.onmousedown=function(e){_this76.OnClickItem(e,data);};//点击
|
|
13295
13348
|
this.AryDivChart.push(data);};this.OnClickItem=function(e,data){console.log('[JSDialogDrawTool::OnClickChartItem] ',data);if(!data.Item||!data.Item.Data)return;var type=data.Item.Type;var id=data.Item.Data.ID;if(type==2&&id==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID){this.OnChangeLineColor(data);}else if(type==2&&id==JS_DRAWTOOL_MENU_ID.CMD_DELETE_ALL_DRAW_CHART_ID){this.DeleteAllChart();}else if(type==2&&id==JS_DRAWTOOL_MENU_ID.CMD_ERASE_DRAW_CHART_ID){this.ClearAllSelectedChart();this.ClearCurrnetDrawPicture();this.EnableEraseChart(true);}else if(type==1&&id==JS_DRAWTOOL_MENU_ID.CMD_SELECTED_ID){this.ClearAllSelectedChart();this.ClearCurrnetDrawPicture();this.EnableEraseChart(false);}else if(type==2&&id==JS_DRAWTOOL_MENU_ID.CMD_ENABLE_MAGNET_ID){this.ChangeMagnet(data);}else if(type==0){this.ClearAllSelectedChart();this.EnableEraseChart(false);data.Span.classList.remove("UMyChart_DrawTool_Span");data.Span.classList.add("UMyChart_DrawTool_Span_Selected");this.CreateDrawPicture(data);}};//清空选中状态
|
|
13296
13349
|
this.ClearAllSelectedChart=function(){for(var i=0;i<this.AryDivChart.length;++i){var item=this.AryDivChart[i];if(item.Item.Type==2)continue;item.Span.classList.remove("UMyChart_DrawTool_Span_Selected");item.Span.classList.add("UMyChart_DrawTool_Span");}};this.CreateToolGroup=function(tbody){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Group_Tr';tbody.appendChild(trDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_DrawTool_Group_Td";tdDom.innerText=this.ToolConfig.Title;tdDom.colSpan=this.ColumnCount;trDom.appendChild(tdDom);var chartCount=this.ToolConfig.AryTool.length;for(var i=0,j=0;i<chartCount;){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Tr';for(j=0;j<this.ColumnCount&&i<chartCount;++j,++i){var item=this.ToolConfig.AryTool[i];this.CreateToolItem(item,trDom);}tbody.appendChild(trDom);}};this.CreateToolItem=function(item,trDom){var _this77=this;var tdDom=document.createElement("td");tdDom.className="UMyChart_DrawTool_Td";tdDom.title=item.Title;trDom.appendChild(tdDom);var spanDom=document.createElement("span");spanDom.className=item.ClassName;spanDom.classList.add("UMyChart_DrawTool_Span");tdDom.appendChild(spanDom);var data={Item:item,TD:tdDom,Span:spanDom};if(item.Type==2&&item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID)//颜色
|
|
@@ -13330,7 +13383,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
13330
13383
|
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);};}/********************************************************************************
|
|
13331
13384
|
* 版本信息输出
|
|
13332
13385
|
*
|
|
13333
|
-
*/var HQCHART_VERSION="1.1.
|
|
13386
|
+
*/var HQCHART_VERSION="1.1.13587";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();//把给外界调用的方法暴露出来
|
|
13334
13387
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
13335
13388
|
// BaseIndex:BaseIndex,
|
|
13336
13389
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -39,7 +39,8 @@ function JSDialogDrawTool()
|
|
|
39
39
|
{ Title: '标价线', ClassName: 'hqchart_drawtool icon-price_line', Type:0, Data:{ ID:"标价线" } },
|
|
40
40
|
{ Title: '垂直线', ClassName: 'hqchart_drawtool icon-vertical_line', Type:0, Data:{ ID:"垂直线" } },
|
|
41
41
|
{ Title: '十字线', ClassName: 'hqchart_drawtool icon-tubiao_shizixian', Type:0, Data:{ ID:"十字线" } },
|
|
42
|
-
{ Title: '箭头', ClassName: 'hqchart_drawtool icon-
|
|
42
|
+
{ Title: '箭头', ClassName: 'hqchart_drawtool icon-bottom-arrow-solid', Type:0, Data:{ ID:"箭头" } },
|
|
43
|
+
{ Title: '大箭头', ClassName: 'hqchart_drawtool icon-big_arrow', Type:0, Data:{ ID:"ArrowMarker" } },
|
|
43
44
|
{ Title: '趋势线', ClassName: 'hqchart_drawtool icon-draw_trendline', Type:0, Data:{ ID:"趋势线" } },
|
|
44
45
|
{ Title: '水平线', ClassName: 'hqchart_drawtool icon-draw_hline', Type:0, Data:{ ID:"水平线" } },
|
|
45
46
|
{ Title: '水平射线', ClassName: 'hqchart_drawtool icon-tubiao_shuipingshexian', Type:0, Data:{ ID:"水平射线" } },
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -56411,7 +56411,8 @@ IChartDrawPicture.ArrayDrawPricture=
|
|
|
56411
56411
|
{ Name:"PriceRange", ClassName:"ChartPriceRange", Create:function() { return new ChartPriceRange(); }},
|
|
56412
56412
|
{ Name:"DateRange", ClassName:"ChartDateRange", Create:function() { return new ChartDateRange(); }},
|
|
56413
56413
|
{ Name:"InfoLine", ClassName:"ChartInfoLine", Create:function() { return new ChartInfoLine(); }},
|
|
56414
|
-
{ Name:"TrendAngle", ClassName:"ChartTrendAngle", Create:function() { return new ChartTrendAngle(); }}
|
|
56414
|
+
{ Name:"TrendAngle", ClassName:"ChartTrendAngle", Create:function() { return new ChartTrendAngle(); }},
|
|
56415
|
+
{ Name:"ArrowMarker", ClassName:"ChartArrowMarker", Create:function() { return new ChartArrowMarker(); } },
|
|
56415
56416
|
];
|
|
56416
56417
|
|
|
56417
56418
|
IChartDrawPicture.MapIonFont=new Map(
|
|
@@ -56936,6 +56937,90 @@ function ChartDrawArrowLine()
|
|
|
56936
56937
|
}
|
|
56937
56938
|
}
|
|
56938
56939
|
|
|
56940
|
+
function ChartArrowMarker()
|
|
56941
|
+
{
|
|
56942
|
+
this.newMethod=IChartDrawPicture; //派生
|
|
56943
|
+
this.newMethod();
|
|
56944
|
+
delete this.newMethod;
|
|
56945
|
+
|
|
56946
|
+
this.ClassName='ChartArrowMarker';
|
|
56947
|
+
this.IsPointIn=this.IsPointIn_XYValue_Line;
|
|
56948
|
+
|
|
56949
|
+
this.InsideAngle=25;
|
|
56950
|
+
this.InsideWidth=70;
|
|
56951
|
+
|
|
56952
|
+
this.OutAngle=35;
|
|
56953
|
+
this.OutWidth=100;
|
|
56954
|
+
|
|
56955
|
+
this.GetXYCoordinate=this.GetXYCoordinate_default;
|
|
56956
|
+
this.OnlyMoveXIndex=true;
|
|
56957
|
+
this.IsSupportMagnet=true;
|
|
56958
|
+
|
|
56959
|
+
this.CalculatePoint=function(angle, ptStart, ptEnd, lineWidth)
|
|
56960
|
+
{
|
|
56961
|
+
var theta=angle; //三角斜边一直线夹角
|
|
56962
|
+
var headlen=lineWidth; //三角斜边长度
|
|
56963
|
+
|
|
56964
|
+
var angle = Math.atan2(ptStart.Y - ptEnd.Y, ptStart.X - ptEnd.X) * 180 / Math.PI,
|
|
56965
|
+
angle1 = (angle + theta) * Math.PI / 180,
|
|
56966
|
+
angle2 = (angle - theta) * Math.PI / 180,
|
|
56967
|
+
topX = headlen * Math.cos(angle1),
|
|
56968
|
+
topY = headlen * Math.sin(angle1),
|
|
56969
|
+
botX = headlen * Math.cos(angle2),
|
|
56970
|
+
botY = headlen * Math.sin(angle2);
|
|
56971
|
+
|
|
56972
|
+
return { Top:{X:topX+ptEnd.X, Y:topY+ptEnd.Y}, Bottom:{X:botX+ptEnd.X, Y:botY+ptEnd.Y} };
|
|
56973
|
+
}
|
|
56974
|
+
|
|
56975
|
+
this.Draw=function()
|
|
56976
|
+
{
|
|
56977
|
+
this.LinePoint=[];
|
|
56978
|
+
if (this.IsFrameMinSize()) return;
|
|
56979
|
+
if (!this.IsShow) return;
|
|
56980
|
+
|
|
56981
|
+
var drawPoint=this.CalculateDrawPoint( {IsCheckX:true, IsCheckY:true} );
|
|
56982
|
+
if (!drawPoint) return;
|
|
56983
|
+
if (drawPoint.length!=2) return;
|
|
56984
|
+
|
|
56985
|
+
this.ClipFrame();
|
|
56986
|
+
|
|
56987
|
+
var ptStart=drawPoint[0];
|
|
56988
|
+
var ptEnd=drawPoint[1];
|
|
56989
|
+
|
|
56990
|
+
//计算箭头 的两条边线坐标
|
|
56991
|
+
var outArrow=this.CalculatePoint(this.OutAngle, ptStart, ptEnd, this.OutWidth);
|
|
56992
|
+
var insideArrow=this.CalculatePoint(this.InsideAngle, ptStart, ptEnd, this.InsideWidth);
|
|
56993
|
+
|
|
56994
|
+
this.Canvas.beginPath();
|
|
56995
|
+
this.Canvas.moveTo(ptStart.X,ptStart.Y);
|
|
56996
|
+
this.Canvas.lineTo(insideArrow.Top.X,insideArrow.Top.Y);
|
|
56997
|
+
this.Canvas.lineTo(outArrow.Top.X,outArrow.Top.Y);
|
|
56998
|
+
this.Canvas.lineTo(ptEnd.X,ptEnd.Y);
|
|
56999
|
+
this.Canvas.lineTo(outArrow.Bottom.X,outArrow.Bottom.Y);
|
|
57000
|
+
this.Canvas.lineTo(insideArrow.Bottom.X,insideArrow.Bottom.Y);
|
|
57001
|
+
this.Canvas.lineTo(ptStart.X,ptStart.Y);
|
|
57002
|
+
this.Canvas.closePath();
|
|
57003
|
+
|
|
57004
|
+
this.Canvas.fillStyle=this.LineColor;
|
|
57005
|
+
this.Canvas.fill();
|
|
57006
|
+
|
|
57007
|
+
/*
|
|
57008
|
+
if (this.IsSelected)
|
|
57009
|
+
{
|
|
57010
|
+
this.Canvas.strokeStyle='rgba(255,0,0,0.5)';
|
|
57011
|
+
this.Canvas.lineWidth=20 * GetDevicePixelRatio();
|
|
57012
|
+
this.Canvas.stroke();
|
|
57013
|
+
}
|
|
57014
|
+
*/
|
|
57015
|
+
|
|
57016
|
+
var line={Start:ptStart, End:ptEnd};
|
|
57017
|
+
this.LinePoint.push(line);
|
|
57018
|
+
|
|
57019
|
+
this.DrawPoint([ptStart,ptEnd]); //画点
|
|
57020
|
+
this.Canvas.restore();
|
|
57021
|
+
}
|
|
57022
|
+
}
|
|
57023
|
+
|
|
56939
57024
|
//画图工具-射线
|
|
56940
57025
|
function ChartDrawPictureHaflLine()
|
|
56941
57026
|
{
|
|
@@ -862,6 +862,50 @@ function JSReportChartContainer(uielement)
|
|
|
862
862
|
this.RequestMemberListData();
|
|
863
863
|
}
|
|
864
864
|
|
|
865
|
+
//更新数据
|
|
866
|
+
this.UpdateFullData=function(data)
|
|
867
|
+
{
|
|
868
|
+
var arySymbol=[];
|
|
869
|
+
if (IFrameSplitOperator.IsNonEmptyArray(data.data))
|
|
870
|
+
{
|
|
871
|
+
//0=证券代码 1=股票名称
|
|
872
|
+
for(var i=0;i<data.data.length;++i)
|
|
873
|
+
{
|
|
874
|
+
var item=data.data[i];
|
|
875
|
+
var symbol=item[0];
|
|
876
|
+
var stock=null;
|
|
877
|
+
if (this.MapStockData.has(symbol))
|
|
878
|
+
{
|
|
879
|
+
stock=this.MapStockData.get(symbol);
|
|
880
|
+
}
|
|
881
|
+
else
|
|
882
|
+
{
|
|
883
|
+
stock=new HQReportItem();
|
|
884
|
+
stock.OriginalSymbol=symbol;
|
|
885
|
+
this.MapStockData.set(symbol, stock);
|
|
886
|
+
}
|
|
887
|
+
|
|
888
|
+
stock.Symbol=this.GetSymbolNoSuffix(symbol);
|
|
889
|
+
stock.Name=item[1];
|
|
890
|
+
this.ReadStockJsonData(stock, item);
|
|
891
|
+
|
|
892
|
+
arySymbol.push(symbol);
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
//设置显示数据
|
|
897
|
+
if (IFrameSplitOperator.IsNonEmptyArray(arySymbol))
|
|
898
|
+
{
|
|
899
|
+
for(var i=0;i<arySymbol.length;++i)
|
|
900
|
+
{
|
|
901
|
+
this.Data.Data.push(arySymbol[i]);
|
|
902
|
+
this.SourceData.Data.push(arySymbol[i]);
|
|
903
|
+
}
|
|
904
|
+
}
|
|
905
|
+
|
|
906
|
+
this.Draw();
|
|
907
|
+
}
|
|
908
|
+
|
|
865
909
|
//设置全部的数据
|
|
866
910
|
this.SetFullData=function(data)
|
|
867
911
|
{
|
|
@@ -871,6 +915,9 @@ function JSReportChartContainer(uielement)
|
|
|
871
915
|
this.ResetSortStatus();
|
|
872
916
|
this.ResetReportSelectStatus();
|
|
873
917
|
|
|
918
|
+
this.UpdateFullData(data);
|
|
919
|
+
|
|
920
|
+
/*
|
|
874
921
|
//缓存所有数据
|
|
875
922
|
var arySymbol=[];
|
|
876
923
|
if (IFrameSplitOperator.IsNonEmptyArray(data.data))
|
|
@@ -911,6 +958,7 @@ function JSReportChartContainer(uielement)
|
|
|
911
958
|
}
|
|
912
959
|
|
|
913
960
|
this.Draw();
|
|
961
|
+
*/
|
|
914
962
|
}
|
|
915
963
|
|
|
916
964
|
this.RequestMemberListData=function()
|
|
@@ -60336,7 +60336,8 @@ IChartDrawPicture.ArrayDrawPricture=
|
|
|
60336
60336
|
{ Name:"PriceRange", ClassName:"ChartPriceRange", Create:function() { return new ChartPriceRange(); }},
|
|
60337
60337
|
{ Name:"DateRange", ClassName:"ChartDateRange", Create:function() { return new ChartDateRange(); }},
|
|
60338
60338
|
{ Name:"InfoLine", ClassName:"ChartInfoLine", Create:function() { return new ChartInfoLine(); }},
|
|
60339
|
-
{ Name:"TrendAngle", ClassName:"ChartTrendAngle", Create:function() { return new ChartTrendAngle(); }}
|
|
60339
|
+
{ Name:"TrendAngle", ClassName:"ChartTrendAngle", Create:function() { return new ChartTrendAngle(); }},
|
|
60340
|
+
{ Name:"ArrowMarker", ClassName:"ChartArrowMarker", Create:function() { return new ChartArrowMarker(); } },
|
|
60340
60341
|
];
|
|
60341
60342
|
|
|
60342
60343
|
IChartDrawPicture.MapIonFont=new Map(
|
|
@@ -60861,6 +60862,90 @@ function ChartDrawArrowLine()
|
|
|
60861
60862
|
}
|
|
60862
60863
|
}
|
|
60863
60864
|
|
|
60865
|
+
function ChartArrowMarker()
|
|
60866
|
+
{
|
|
60867
|
+
this.newMethod=IChartDrawPicture; //派生
|
|
60868
|
+
this.newMethod();
|
|
60869
|
+
delete this.newMethod;
|
|
60870
|
+
|
|
60871
|
+
this.ClassName='ChartArrowMarker';
|
|
60872
|
+
this.IsPointIn=this.IsPointIn_XYValue_Line;
|
|
60873
|
+
|
|
60874
|
+
this.InsideAngle=25;
|
|
60875
|
+
this.InsideWidth=70;
|
|
60876
|
+
|
|
60877
|
+
this.OutAngle=35;
|
|
60878
|
+
this.OutWidth=100;
|
|
60879
|
+
|
|
60880
|
+
this.GetXYCoordinate=this.GetXYCoordinate_default;
|
|
60881
|
+
this.OnlyMoveXIndex=true;
|
|
60882
|
+
this.IsSupportMagnet=true;
|
|
60883
|
+
|
|
60884
|
+
this.CalculatePoint=function(angle, ptStart, ptEnd, lineWidth)
|
|
60885
|
+
{
|
|
60886
|
+
var theta=angle; //三角斜边一直线夹角
|
|
60887
|
+
var headlen=lineWidth; //三角斜边长度
|
|
60888
|
+
|
|
60889
|
+
var angle = Math.atan2(ptStart.Y - ptEnd.Y, ptStart.X - ptEnd.X) * 180 / Math.PI,
|
|
60890
|
+
angle1 = (angle + theta) * Math.PI / 180,
|
|
60891
|
+
angle2 = (angle - theta) * Math.PI / 180,
|
|
60892
|
+
topX = headlen * Math.cos(angle1),
|
|
60893
|
+
topY = headlen * Math.sin(angle1),
|
|
60894
|
+
botX = headlen * Math.cos(angle2),
|
|
60895
|
+
botY = headlen * Math.sin(angle2);
|
|
60896
|
+
|
|
60897
|
+
return { Top:{X:topX+ptEnd.X, Y:topY+ptEnd.Y}, Bottom:{X:botX+ptEnd.X, Y:botY+ptEnd.Y} };
|
|
60898
|
+
}
|
|
60899
|
+
|
|
60900
|
+
this.Draw=function()
|
|
60901
|
+
{
|
|
60902
|
+
this.LinePoint=[];
|
|
60903
|
+
if (this.IsFrameMinSize()) return;
|
|
60904
|
+
if (!this.IsShow) return;
|
|
60905
|
+
|
|
60906
|
+
var drawPoint=this.CalculateDrawPoint( {IsCheckX:true, IsCheckY:true} );
|
|
60907
|
+
if (!drawPoint) return;
|
|
60908
|
+
if (drawPoint.length!=2) return;
|
|
60909
|
+
|
|
60910
|
+
this.ClipFrame();
|
|
60911
|
+
|
|
60912
|
+
var ptStart=drawPoint[0];
|
|
60913
|
+
var ptEnd=drawPoint[1];
|
|
60914
|
+
|
|
60915
|
+
//计算箭头 的两条边线坐标
|
|
60916
|
+
var outArrow=this.CalculatePoint(this.OutAngle, ptStart, ptEnd, this.OutWidth);
|
|
60917
|
+
var insideArrow=this.CalculatePoint(this.InsideAngle, ptStart, ptEnd, this.InsideWidth);
|
|
60918
|
+
|
|
60919
|
+
this.Canvas.beginPath();
|
|
60920
|
+
this.Canvas.moveTo(ptStart.X,ptStart.Y);
|
|
60921
|
+
this.Canvas.lineTo(insideArrow.Top.X,insideArrow.Top.Y);
|
|
60922
|
+
this.Canvas.lineTo(outArrow.Top.X,outArrow.Top.Y);
|
|
60923
|
+
this.Canvas.lineTo(ptEnd.X,ptEnd.Y);
|
|
60924
|
+
this.Canvas.lineTo(outArrow.Bottom.X,outArrow.Bottom.Y);
|
|
60925
|
+
this.Canvas.lineTo(insideArrow.Bottom.X,insideArrow.Bottom.Y);
|
|
60926
|
+
this.Canvas.lineTo(ptStart.X,ptStart.Y);
|
|
60927
|
+
this.Canvas.closePath();
|
|
60928
|
+
|
|
60929
|
+
this.Canvas.fillStyle=this.LineColor;
|
|
60930
|
+
this.Canvas.fill();
|
|
60931
|
+
|
|
60932
|
+
/*
|
|
60933
|
+
if (this.IsSelected)
|
|
60934
|
+
{
|
|
60935
|
+
this.Canvas.strokeStyle='rgba(255,0,0,0.5)';
|
|
60936
|
+
this.Canvas.lineWidth=20 * GetDevicePixelRatio();
|
|
60937
|
+
this.Canvas.stroke();
|
|
60938
|
+
}
|
|
60939
|
+
*/
|
|
60940
|
+
|
|
60941
|
+
var line={Start:ptStart, End:ptEnd};
|
|
60942
|
+
this.LinePoint.push(line);
|
|
60943
|
+
|
|
60944
|
+
this.DrawPoint([ptStart,ptEnd]); //画点
|
|
60945
|
+
this.Canvas.restore();
|
|
60946
|
+
}
|
|
60947
|
+
}
|
|
60948
|
+
|
|
60864
60949
|
//画图工具-射线
|
|
60865
60950
|
function ChartDrawPictureHaflLine()
|
|
60866
60951
|
{
|
|
@@ -126384,6 +126469,50 @@ function JSReportChartContainer(uielement)
|
|
|
126384
126469
|
this.RequestMemberListData();
|
|
126385
126470
|
}
|
|
126386
126471
|
|
|
126472
|
+
//更新数据
|
|
126473
|
+
this.UpdateFullData=function(data)
|
|
126474
|
+
{
|
|
126475
|
+
var arySymbol=[];
|
|
126476
|
+
if (IFrameSplitOperator.IsNonEmptyArray(data.data))
|
|
126477
|
+
{
|
|
126478
|
+
//0=证券代码 1=股票名称
|
|
126479
|
+
for(var i=0;i<data.data.length;++i)
|
|
126480
|
+
{
|
|
126481
|
+
var item=data.data[i];
|
|
126482
|
+
var symbol=item[0];
|
|
126483
|
+
var stock=null;
|
|
126484
|
+
if (this.MapStockData.has(symbol))
|
|
126485
|
+
{
|
|
126486
|
+
stock=this.MapStockData.get(symbol);
|
|
126487
|
+
}
|
|
126488
|
+
else
|
|
126489
|
+
{
|
|
126490
|
+
stock=new HQReportItem();
|
|
126491
|
+
stock.OriginalSymbol=symbol;
|
|
126492
|
+
this.MapStockData.set(symbol, stock);
|
|
126493
|
+
}
|
|
126494
|
+
|
|
126495
|
+
stock.Symbol=this.GetSymbolNoSuffix(symbol);
|
|
126496
|
+
stock.Name=item[1];
|
|
126497
|
+
this.ReadStockJsonData(stock, item);
|
|
126498
|
+
|
|
126499
|
+
arySymbol.push(symbol);
|
|
126500
|
+
}
|
|
126501
|
+
}
|
|
126502
|
+
|
|
126503
|
+
//设置显示数据
|
|
126504
|
+
if (IFrameSplitOperator.IsNonEmptyArray(arySymbol))
|
|
126505
|
+
{
|
|
126506
|
+
for(var i=0;i<arySymbol.length;++i)
|
|
126507
|
+
{
|
|
126508
|
+
this.Data.Data.push(arySymbol[i]);
|
|
126509
|
+
this.SourceData.Data.push(arySymbol[i]);
|
|
126510
|
+
}
|
|
126511
|
+
}
|
|
126512
|
+
|
|
126513
|
+
this.Draw();
|
|
126514
|
+
}
|
|
126515
|
+
|
|
126387
126516
|
//设置全部的数据
|
|
126388
126517
|
this.SetFullData=function(data)
|
|
126389
126518
|
{
|
|
@@ -126393,6 +126522,9 @@ function JSReportChartContainer(uielement)
|
|
|
126393
126522
|
this.ResetSortStatus();
|
|
126394
126523
|
this.ResetReportSelectStatus();
|
|
126395
126524
|
|
|
126525
|
+
this.UpdateFullData(data);
|
|
126526
|
+
|
|
126527
|
+
/*
|
|
126396
126528
|
//缓存所有数据
|
|
126397
126529
|
var arySymbol=[];
|
|
126398
126530
|
if (IFrameSplitOperator.IsNonEmptyArray(data.data))
|
|
@@ -126433,6 +126565,7 @@ function JSReportChartContainer(uielement)
|
|
|
126433
126565
|
}
|
|
126434
126566
|
|
|
126435
126567
|
this.Draw();
|
|
126568
|
+
*/
|
|
126436
126569
|
}
|
|
126437
126570
|
|
|
126438
126571
|
this.RequestMemberListData=function()
|
|
@@ -136513,7 +136646,7 @@ function ScrollBarBGChart()
|
|
|
136513
136646
|
|
|
136514
136647
|
|
|
136515
136648
|
|
|
136516
|
-
var HQCHART_VERSION="1.1.
|
|
136649
|
+
var HQCHART_VERSION="1.1.13587";
|
|
136517
136650
|
|
|
136518
136651
|
function PrintHQChartVersion()
|
|
136519
136652
|
{
|
|
@@ -60380,7 +60380,8 @@ IChartDrawPicture.ArrayDrawPricture=
|
|
|
60380
60380
|
{ Name:"PriceRange", ClassName:"ChartPriceRange", Create:function() { return new ChartPriceRange(); }},
|
|
60381
60381
|
{ Name:"DateRange", ClassName:"ChartDateRange", Create:function() { return new ChartDateRange(); }},
|
|
60382
60382
|
{ Name:"InfoLine", ClassName:"ChartInfoLine", Create:function() { return new ChartInfoLine(); }},
|
|
60383
|
-
{ Name:"TrendAngle", ClassName:"ChartTrendAngle", Create:function() { return new ChartTrendAngle(); }}
|
|
60383
|
+
{ Name:"TrendAngle", ClassName:"ChartTrendAngle", Create:function() { return new ChartTrendAngle(); }},
|
|
60384
|
+
{ Name:"ArrowMarker", ClassName:"ChartArrowMarker", Create:function() { return new ChartArrowMarker(); } },
|
|
60384
60385
|
];
|
|
60385
60386
|
|
|
60386
60387
|
IChartDrawPicture.MapIonFont=new Map(
|
|
@@ -60905,6 +60906,90 @@ function ChartDrawArrowLine()
|
|
|
60905
60906
|
}
|
|
60906
60907
|
}
|
|
60907
60908
|
|
|
60909
|
+
function ChartArrowMarker()
|
|
60910
|
+
{
|
|
60911
|
+
this.newMethod=IChartDrawPicture; //派生
|
|
60912
|
+
this.newMethod();
|
|
60913
|
+
delete this.newMethod;
|
|
60914
|
+
|
|
60915
|
+
this.ClassName='ChartArrowMarker';
|
|
60916
|
+
this.IsPointIn=this.IsPointIn_XYValue_Line;
|
|
60917
|
+
|
|
60918
|
+
this.InsideAngle=25;
|
|
60919
|
+
this.InsideWidth=70;
|
|
60920
|
+
|
|
60921
|
+
this.OutAngle=35;
|
|
60922
|
+
this.OutWidth=100;
|
|
60923
|
+
|
|
60924
|
+
this.GetXYCoordinate=this.GetXYCoordinate_default;
|
|
60925
|
+
this.OnlyMoveXIndex=true;
|
|
60926
|
+
this.IsSupportMagnet=true;
|
|
60927
|
+
|
|
60928
|
+
this.CalculatePoint=function(angle, ptStart, ptEnd, lineWidth)
|
|
60929
|
+
{
|
|
60930
|
+
var theta=angle; //三角斜边一直线夹角
|
|
60931
|
+
var headlen=lineWidth; //三角斜边长度
|
|
60932
|
+
|
|
60933
|
+
var angle = Math.atan2(ptStart.Y - ptEnd.Y, ptStart.X - ptEnd.X) * 180 / Math.PI,
|
|
60934
|
+
angle1 = (angle + theta) * Math.PI / 180,
|
|
60935
|
+
angle2 = (angle - theta) * Math.PI / 180,
|
|
60936
|
+
topX = headlen * Math.cos(angle1),
|
|
60937
|
+
topY = headlen * Math.sin(angle1),
|
|
60938
|
+
botX = headlen * Math.cos(angle2),
|
|
60939
|
+
botY = headlen * Math.sin(angle2);
|
|
60940
|
+
|
|
60941
|
+
return { Top:{X:topX+ptEnd.X, Y:topY+ptEnd.Y}, Bottom:{X:botX+ptEnd.X, Y:botY+ptEnd.Y} };
|
|
60942
|
+
}
|
|
60943
|
+
|
|
60944
|
+
this.Draw=function()
|
|
60945
|
+
{
|
|
60946
|
+
this.LinePoint=[];
|
|
60947
|
+
if (this.IsFrameMinSize()) return;
|
|
60948
|
+
if (!this.IsShow) return;
|
|
60949
|
+
|
|
60950
|
+
var drawPoint=this.CalculateDrawPoint( {IsCheckX:true, IsCheckY:true} );
|
|
60951
|
+
if (!drawPoint) return;
|
|
60952
|
+
if (drawPoint.length!=2) return;
|
|
60953
|
+
|
|
60954
|
+
this.ClipFrame();
|
|
60955
|
+
|
|
60956
|
+
var ptStart=drawPoint[0];
|
|
60957
|
+
var ptEnd=drawPoint[1];
|
|
60958
|
+
|
|
60959
|
+
//计算箭头 的两条边线坐标
|
|
60960
|
+
var outArrow=this.CalculatePoint(this.OutAngle, ptStart, ptEnd, this.OutWidth);
|
|
60961
|
+
var insideArrow=this.CalculatePoint(this.InsideAngle, ptStart, ptEnd, this.InsideWidth);
|
|
60962
|
+
|
|
60963
|
+
this.Canvas.beginPath();
|
|
60964
|
+
this.Canvas.moveTo(ptStart.X,ptStart.Y);
|
|
60965
|
+
this.Canvas.lineTo(insideArrow.Top.X,insideArrow.Top.Y);
|
|
60966
|
+
this.Canvas.lineTo(outArrow.Top.X,outArrow.Top.Y);
|
|
60967
|
+
this.Canvas.lineTo(ptEnd.X,ptEnd.Y);
|
|
60968
|
+
this.Canvas.lineTo(outArrow.Bottom.X,outArrow.Bottom.Y);
|
|
60969
|
+
this.Canvas.lineTo(insideArrow.Bottom.X,insideArrow.Bottom.Y);
|
|
60970
|
+
this.Canvas.lineTo(ptStart.X,ptStart.Y);
|
|
60971
|
+
this.Canvas.closePath();
|
|
60972
|
+
|
|
60973
|
+
this.Canvas.fillStyle=this.LineColor;
|
|
60974
|
+
this.Canvas.fill();
|
|
60975
|
+
|
|
60976
|
+
/*
|
|
60977
|
+
if (this.IsSelected)
|
|
60978
|
+
{
|
|
60979
|
+
this.Canvas.strokeStyle='rgba(255,0,0,0.5)';
|
|
60980
|
+
this.Canvas.lineWidth=20 * GetDevicePixelRatio();
|
|
60981
|
+
this.Canvas.stroke();
|
|
60982
|
+
}
|
|
60983
|
+
*/
|
|
60984
|
+
|
|
60985
|
+
var line={Start:ptStart, End:ptEnd};
|
|
60986
|
+
this.LinePoint.push(line);
|
|
60987
|
+
|
|
60988
|
+
this.DrawPoint([ptStart,ptEnd]); //画点
|
|
60989
|
+
this.Canvas.restore();
|
|
60990
|
+
}
|
|
60991
|
+
}
|
|
60992
|
+
|
|
60908
60993
|
//画图工具-射线
|
|
60909
60994
|
function ChartDrawPictureHaflLine()
|
|
60910
60995
|
{
|
|
@@ -126428,6 +126513,50 @@ function JSReportChartContainer(uielement)
|
|
|
126428
126513
|
this.RequestMemberListData();
|
|
126429
126514
|
}
|
|
126430
126515
|
|
|
126516
|
+
//更新数据
|
|
126517
|
+
this.UpdateFullData=function(data)
|
|
126518
|
+
{
|
|
126519
|
+
var arySymbol=[];
|
|
126520
|
+
if (IFrameSplitOperator.IsNonEmptyArray(data.data))
|
|
126521
|
+
{
|
|
126522
|
+
//0=证券代码 1=股票名称
|
|
126523
|
+
for(var i=0;i<data.data.length;++i)
|
|
126524
|
+
{
|
|
126525
|
+
var item=data.data[i];
|
|
126526
|
+
var symbol=item[0];
|
|
126527
|
+
var stock=null;
|
|
126528
|
+
if (this.MapStockData.has(symbol))
|
|
126529
|
+
{
|
|
126530
|
+
stock=this.MapStockData.get(symbol);
|
|
126531
|
+
}
|
|
126532
|
+
else
|
|
126533
|
+
{
|
|
126534
|
+
stock=new HQReportItem();
|
|
126535
|
+
stock.OriginalSymbol=symbol;
|
|
126536
|
+
this.MapStockData.set(symbol, stock);
|
|
126537
|
+
}
|
|
126538
|
+
|
|
126539
|
+
stock.Symbol=this.GetSymbolNoSuffix(symbol);
|
|
126540
|
+
stock.Name=item[1];
|
|
126541
|
+
this.ReadStockJsonData(stock, item);
|
|
126542
|
+
|
|
126543
|
+
arySymbol.push(symbol);
|
|
126544
|
+
}
|
|
126545
|
+
}
|
|
126546
|
+
|
|
126547
|
+
//设置显示数据
|
|
126548
|
+
if (IFrameSplitOperator.IsNonEmptyArray(arySymbol))
|
|
126549
|
+
{
|
|
126550
|
+
for(var i=0;i<arySymbol.length;++i)
|
|
126551
|
+
{
|
|
126552
|
+
this.Data.Data.push(arySymbol[i]);
|
|
126553
|
+
this.SourceData.Data.push(arySymbol[i]);
|
|
126554
|
+
}
|
|
126555
|
+
}
|
|
126556
|
+
|
|
126557
|
+
this.Draw();
|
|
126558
|
+
}
|
|
126559
|
+
|
|
126431
126560
|
//设置全部的数据
|
|
126432
126561
|
this.SetFullData=function(data)
|
|
126433
126562
|
{
|
|
@@ -126437,6 +126566,9 @@ function JSReportChartContainer(uielement)
|
|
|
126437
126566
|
this.ResetSortStatus();
|
|
126438
126567
|
this.ResetReportSelectStatus();
|
|
126439
126568
|
|
|
126569
|
+
this.UpdateFullData(data);
|
|
126570
|
+
|
|
126571
|
+
/*
|
|
126440
126572
|
//缓存所有数据
|
|
126441
126573
|
var arySymbol=[];
|
|
126442
126574
|
if (IFrameSplitOperator.IsNonEmptyArray(data.data))
|
|
@@ -126477,6 +126609,7 @@ function JSReportChartContainer(uielement)
|
|
|
126477
126609
|
}
|
|
126478
126610
|
|
|
126479
126611
|
this.Draw();
|
|
126612
|
+
*/
|
|
126480
126613
|
}
|
|
126481
126614
|
|
|
126482
126615
|
this.RequestMemberListData=function()
|
|
@@ -139378,7 +139511,8 @@ function JSDialogDrawTool()
|
|
|
139378
139511
|
{ Title: '标价线', ClassName: 'hqchart_drawtool icon-price_line', Type:0, Data:{ ID:"标价线" } },
|
|
139379
139512
|
{ Title: '垂直线', ClassName: 'hqchart_drawtool icon-vertical_line', Type:0, Data:{ ID:"垂直线" } },
|
|
139380
139513
|
{ Title: '十字线', ClassName: 'hqchart_drawtool icon-tubiao_shizixian', Type:0, Data:{ ID:"十字线" } },
|
|
139381
|
-
{ Title: '箭头', ClassName: 'hqchart_drawtool icon-
|
|
139514
|
+
{ Title: '箭头', ClassName: 'hqchart_drawtool icon-bottom-arrow-solid', Type:0, Data:{ ID:"箭头" } },
|
|
139515
|
+
{ Title: '大箭头', ClassName: 'hqchart_drawtool icon-big_arrow', Type:0, Data:{ ID:"ArrowMarker" } },
|
|
139382
139516
|
{ Title: '趋势线', ClassName: 'hqchart_drawtool icon-draw_trendline', Type:0, Data:{ ID:"趋势线" } },
|
|
139383
139517
|
{ Title: '水平线', ClassName: 'hqchart_drawtool icon-draw_hline', Type:0, Data:{ ID:"水平线" } },
|
|
139384
139518
|
{ Title: '水平射线', ClassName: 'hqchart_drawtool icon-tubiao_shuipingshexian', Type:0, Data:{ ID:"水平射线" } },
|
|
@@ -140469,7 +140603,7 @@ function HQChartScriptWorker()
|
|
|
140469
140603
|
|
|
140470
140604
|
|
|
140471
140605
|
|
|
140472
|
-
var HQCHART_VERSION="1.1.
|
|
140606
|
+
var HQCHART_VERSION="1.1.13587";
|
|
140473
140607
|
|
|
140474
140608
|
function PrintHQChartVersion()
|
|
140475
140609
|
{
|