hqchart 1.1.14971 → 1.1.14978
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 +14 -8
- package/package.json +1 -1
- package/src/jscommon/umychart.index.data.js +1 -1
- package/src/jscommon/umychart.js +26 -9
- package/src/jscommon/umychart.report.js +9 -3
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +37 -14
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +37 -14
package/lib/umychart.vue.js
CHANGED
|
@@ -299,7 +299,7 @@ LONG := SUM(RC,0);\n\
|
|
|
299
299
|
DIFF := SMA(LONG,10,1);\n\
|
|
300
300
|
DEA := SMA(LONG,20,1);\n\
|
|
301
301
|
LON : DIFF-DEA;\n\
|
|
302
|
-
LONMA : MA(LON,
|
|
302
|
+
LONMA : MA(LON,N);\n\
|
|
303
303
|
LONT : LON, COLORSTICK;'};return data;};JSIndexScript.prototype.NDB=function(){var data={Name:'NDB',Description:'脑电波',IsMainIndex:false,Args:[{Name:'P1',Value:5},{Name:'P2',Value:10}],Script://脚本
|
|
304
304
|
'HH:=IF(C/REF(C,1)>1.098 AND L>REF(H,1),2*C-REF(C,1)-H,2*C-H-L);\n\
|
|
305
305
|
V1:= BARSCOUNT(C) - 1;\n\
|
|
@@ -7107,7 +7107,11 @@ this.TopAreaConfig=CloneData(g_JSChartResource.ChartDrawTVLongPosition.TopArea);
|
|
|
7107
7107
|
this.AryRectArea=[];this.GetXYCoordinate=this.GetXYCoordinate_default;this.SetOption_Backup=this.SetOption;this.PointToValue_Backup=this.PointToValue;this.SetOption=function(option){this.SetOption_Backup();if(option){}};this.PointToValue=function(){//拖拽完成 把点移动到线段头尾
|
|
7108
7108
|
if(this.Frame.IsHScreen){this.Point[1].X=this.Point[0].X;}else{this.Point[1].Y=this.Point[0].Y;}this.PointToValue_Backup();};//0-10 鼠标对应的点索引 100=鼠标在正个图形上 -1 鼠标不在图形上
|
|
7109
7109
|
this.IsPointIn=function(x,y,option){if(this.Status!=10)return-1;var value=this.IsPointInXYValue(x,y,option);if(value>=0)return value;for(var i=0;i<this.AryRectArea.length;++i){var item=this.AryRectArea[i];if(!item)continue;if(Path2DHelper.PtInRect(x,y,item.Rect)){return item.ID;}}return-1;};this.OnFinish=function(){if(!IFrameSplitOperator.IsNonEmptyArray(this.Value))return false;if(!this.Frame)return false;var data=this.Frame.Data;if(!data)return false;var firstPoint=this.Point[0];var firstValue=this.Value[0];var entryPrice=firstValue.YValue;var topPrice=entryPrice*(1+0.05);var bottomPrice=entryPrice*(1-0.05);this.Value[2]={XValue:firstValue.XValue,YValue:topPrice};this.Value[3]={XValue:firstValue.XValue,YValue:bottomPrice};if(firstValue.DateTime){var item=firstValue.DateTime;this.Value[2].DateTime={Date:item.Date,Time:item.Time};this.Value[3].DateTime={Date:item.Date,Time:item.Time};}this.Point[2]={X:firstPoint.X,Y:this.Frame.GetYFromData(topPrice,false)};this.Point[3]={X:firstPoint.X,Y:this.Frame.GetYFromData(bottomPrice,false)};this.PointCount=4;};this.IsDrawMain=function()//选中绘制在动态绘图上, 没有选中绘制在背景上
|
|
7110
|
-
{if(!this.GetActiveDrawPicture)return true;var active=this.GetActiveDrawPicture();if(active.Select.Guid==this.Guid)return false;return true;};this.IsSelected=function(){if(!this.GetActiveDrawPicture)return false;var active=this.GetActiveDrawPicture()
|
|
7110
|
+
{if(!this.GetActiveDrawPicture)return true;var active=this.GetActiveDrawPicture();if(active.Select.Guid==this.Guid)return false;return true;};this.IsSelected=function(){if(!this.GetActiveDrawPicture)return false;var active=this.GetActiveDrawPicture();//console.log(`[IsSelected] Select=${active.Select.Guid} MoveOn=${active.MoveOn.Guid}`);
|
|
7111
|
+
if(active.Select.Guid==this.Guid||active.MoveOn.Guid==this.Guid)return true;return false;};//未选中 作为背景色绘制
|
|
7112
|
+
this.MainDraw=function(){this.AryRectArea=[];if(this.IsFrameMinSize())return;//0=开始画 1=完成第1个点 2=完成第2个点 3=完成第3个点 10=完成 20=移动)
|
|
7113
|
+
if(this.Status!=10&&this.Status!=20)return;var drawPoint=this.CalculateDrawPoint({IsCheckX:true,IsCheckY:true});if(!drawPoint)return;if(drawPoint.length<2)return;this.IsHScreen=this.Frame.IsHScreen;if(this.IsHScreen)return;this.ClipFrame();this.ChartBorder=this.Frame.ChartBorder;this.DrawArea(drawPoint);this.Canvas.restore();};//鼠标在上面 动态绘制点和文字信息
|
|
7114
|
+
this.MainPartDraw=function(){if(this.IsFrameMinSize())return;if(this.Status!=10&&this.Status!=20)return;var drawPoint=this.CalculateDrawPoint({IsCheckX:true,IsCheckY:true});if(!drawPoint)return;if(drawPoint.length<2)return;this.IsHScreen=this.Frame.IsHScreen;if(this.IsHScreen)return;this.ClipFrame();this.ChartBorder=this.Frame.ChartBorder;this.DrawLabel(drawPoint);this.DrawPoint(drawPoint);this.Canvas.restore();};this.Draw=function(){this.AryRectArea=[];if(this.IsFrameMinSize())return;var drawPoint=this.CalculateDrawPoint({IsCheckX:true,IsCheckY:true});if(!drawPoint)return;if(drawPoint.length<2)return;this.IsHScreen=this.Frame.IsHScreen;if(this.IsHScreen)return;this.ClipFrame();this.ChartBorder=this.Frame.ChartBorder;if(this.Status==10||this.Status==20)//0=开始画 1=完成第1个点 2=完成第2个点 3=完成第3个点 10=完成 20=移动)
|
|
7111
7115
|
{this.DrawArea(drawPoint);this.DrawLabel(drawPoint);this.DrawPoint(drawPoint);}else{var ptStart=drawPoint[0];var ptEnd=drawPoint[1];this.Canvas.strokeStyle=this.LineColor;this.DrawVerticalLine(ptStart,ptEnd);}this.Canvas.restore();};this.DrawVerticalLine=function(ptStart,ptEnd){var data=this.Frame.Data;if(this.IsHScreen){var left=this.ChartBorder.GetLeft();var right=this.ChartBorder.GetRight();var xValue=Math.round(this.Frame.GetXData(ptStart.Y,false))+data.DataOffset;if(xValue<0)xValue=0;else if(xValue>=data.Data.length)xValue=data.Data.length-1;var yStart=this.Frame.GetXFromIndex(xValue-data.DataOffset,false);xValue=Math.round(this.Frame.GetXData(ptEnd.Y,false))+data.DataOffset;if(xValue<0)xValue=0;else if(xValue>=data.Data.length)xValue=data.Data.length-1;var yEnd=this.Frame.GetXFromIndex(xValue-data.DataOffset,false);this.Canvas.beginPath();this.Canvas.moveTo(left,yStart);this.Canvas.lineTo(right,yStart);this.Canvas.moveTo(left,yEnd);this.Canvas.lineTo(right,yEnd);this.Canvas.stroke();this.Canvas.beginPath();this.Canvas.moveTo(ptStart.X,yStart);this.Canvas.lineTo(ptStart.X,yEnd);this.Canvas.stroke();}else{var top=this.ChartBorder.GetTopEx();var bottom=this.ChartBorder.GetBottomEx();var xValue=Math.round(this.Frame.GetXData(ptStart.X,false))+data.DataOffset;if(xValue<0)xValue=0;else if(xValue>=data.Data.length)xValue=data.Data.length-1;var xStart=this.Frame.GetXFromIndex(xValue-data.DataOffset,false);xValue=Math.round(this.Frame.GetXData(ptEnd.X,false))+data.DataOffset;if(xValue<0)xValue=0;else if(xValue>=data.Data.length)xValue=data.Data.length-1;var xEnd=this.Frame.GetXFromIndex(xValue-data.DataOffset,false);this.Canvas.beginPath();this.Canvas.moveTo(xStart,top);this.Canvas.lineTo(xStart,bottom);this.Canvas.moveTo(xEnd,top);this.Canvas.lineTo(xEnd,bottom);this.Canvas.stroke();this.Canvas.beginPath();this.Canvas.moveTo(xStart,ptStart.Y);this.Canvas.lineTo(xEnd,ptStart.Y);this.Canvas.stroke();}};this.GetCursorType=function(ptIndex){if(ptIndex==100)return"pointer";else if(ptIndex==0)return"move";else if(ptIndex==1)return"ew-resize";else if(ptIndex==2||ptIndex==3)return"ns-resize";return null;};this.DrawArea=function(drawPoint){var ptCenter=drawPoint[0];var ptRight=drawPoint[1];var ptTop=drawPoint[2];var ptBottom=drawPoint[3];var bSelected=this.IsSelected();var rtTopArea={Left:ptCenter.X,Top:ptTop.Y,Right:ptRight.X,Bottom:ptCenter.Y};rtTopArea.Width=rtTopArea.Right-rtTopArea.Left;rtTopArea.Height=rtTopArea.Bottom-rtTopArea.Top;this.Canvas.fillStyle=bSelected?this.TopAreaConfig.SelectedAreaColor:this.TopAreaConfig.AreaColor;this.Canvas.beginPath();this.Canvas.fillRect(rtTopArea.Left,rtTopArea.Top,rtTopArea.Width,rtTopArea.Height);this.AryRectArea[0]={ID:100,Rect:rtTopArea};var rtBottomArea={Left:ptCenter.X,Top:ptCenter.Y,Right:ptRight.X,Bottom:ptBottom.Y};rtBottomArea.Width=rtBottomArea.Right-rtBottomArea.Left;rtBottomArea.Height=rtBottomArea.Bottom-rtBottomArea.Top;this.Canvas.fillStyle=bSelected?this.BottomAreaConfig.SelectedAreaColor:this.BottomAreaConfig.AreaColor;this.Canvas.beginPath();this.Canvas.fillRect(rtBottomArea.Left,rtBottomArea.Top,rtBottomArea.Width,rtBottomArea.Height);this.AryRectArea[1]={ID:100,Rect:rtBottomArea};//线段
|
|
7112
7116
|
this.Canvas.strokeStyle=this.LineColor;this.Canvas.beginPath();this.Canvas.moveTo(ptCenter.X,ToFixedPoint(ptCenter.Y));this.Canvas.lineTo(ptRight.X,ToFixedPoint(ptRight.Y));this.Canvas.stroke();};this.DrawLabel=function(drawPoint){if(!this.IsActive())return;//激活状态下才显示
|
|
7113
7117
|
var aryLabel=this.FormatLabelText(drawPoint);if(!IFrameSplitOperator.IsNonEmptyArray(aryLabel))return;this.TextFontHeight=this.GetFontHeight(this.LabelConfig.Font,"擎");for(var i=0;i<aryLabel.length;++i){var item=aryLabel[i];if(!IFrameSplitOperator.IsNonEmptyArray(item.AryText))continue;this.CalculateLabelSize(item);this.DrawLabelItem(item,drawPoint);}};this.DrawLabelItem=function(lableItem,drawPoint){var ptCenter=drawPoint[0];var ptRight=drawPoint[1];var ptTop=drawPoint[2];var ptBottom=drawPoint[3];var clientWidth=ptRight.X-ptCenter.X;var config=this.LabelConfig;var margin=config.Margin;var rtText={Width:lableItem.Width+margin.Left+margin.Right,Height:lableItem.Height+margin.Top+margin.Bottom};if(lableItem.Type==0)//中间
|
|
@@ -13287,7 +13291,7 @@ var _iteratorNormalCompletion23=true;var _didIteratorError23=false;var _iterator
|
|
|
13287
13291
|
//注册事件
|
|
13288
13292
|
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);//提示信息
|
|
13289
13293
|
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);//下载码表
|
|
13290
|
-
}};this.CreateJSReportChartContainer=function(option){var _this56=this;var chart=new JSReportChartContainer(this.CanvasElement);chart.GetExtraCanvas=function(name){return _this56.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.WheelPageType=option.WheelPageType;if(IFrameSplitOperator.IsBool(option.PageUpDownCycle))chart.PageUpDownCycle=option.PageUpDownCycle;//数据下载提示信息
|
|
13294
|
+
}};this.CreateJSReportChartContainer=function(option){var _this56=this;var chart=new JSReportChartContainer(this.CanvasElement);chart.GetExtraCanvas=function(name){return _this56.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.WheelPageType=option.WheelPageType;if(IFrameSplitOperator.IsBool(option.PageUpDownCycle))chart.PageUpDownCycle=option.PageUpDownCycle;if(IFrameSplitOperator.IsBool(option.EnablePageUpdate))chart.EnablePageUpdate=option.EnablePageUpdate;//数据下载提示信息
|
|
13291
13295
|
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);//是否自动更新
|
|
13292
13296
|
if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;//数据筛选
|
|
13293
13297
|
if(option.DataFilter){var item=option.DataFilter;if(IFrameSplitOperator.IsBool(item.Enable))chart.DataFilterConfig.Enable=item.Enable;}//注册事件
|
|
@@ -13343,6 +13347,7 @@ this.AutoDragScrollTimer=null;this.EnablePageScroll=false;this.DragMove;//={ Cli
|
|
|
13343
13347
|
this.DragHeader;this.EnableDragHeader=false;//事件回调
|
|
13344
13348
|
this.mapEvent=new _map2.default();//通知外部调用 key:JSCHART_EVENT_ID value:{Callback:回调,}
|
|
13345
13349
|
this.AutoUpdateTimer=null;this.AutoUpdateFrequency=15000;//15秒更新一次数据
|
|
13350
|
+
this.EnablePageUpdate=true;//当前页更新模式 ture=翻页都请求数据 false=所有页的数据一次下载完成
|
|
13346
13351
|
this.DelayUpdateTimer=null;//延迟更新
|
|
13347
13352
|
this.DelayUpdateFrequency=500;//延迟更新时间
|
|
13348
13353
|
this.UIElement=uielement;this.LastPoint=new Point();//鼠标位置
|
|
@@ -13455,7 +13460,7 @@ this.GetStockData=function(symbol){if(!this.MapStockData)return null;if(!this.Ma
|
|
|
13455
13460
|
this.SetFlashBGItem=function(symbol,obj){var item={ID:obj.ID,Color:obj.Color,Count:1};if(IFrameSplitOperator.IsNumber(obj.Count))item.Count=obj.Count;if(IFrameSplitOperator.IsNumber(obj.Time))item.Time=obj.Time;else item.Time=Date.now();if(this.FlashBG.has(symbol)){var stockItem=this.FlashBG.get(symbol);stockItem.LastTime=item.Time;stockItem.Data.set(item.ID,item);}else{var stockItem={LastTime:item.Time,Data:new _map2.default([[item.ID,item]])};this.FlashBG.set(symbol,stockItem);}};this.GetFlashBGData=function(symbol,time){if(!this.FlashBG)return null;if(!this.FlashBG.has(symbol))return null;var timeDiff=3*1000;var stockItem=this.FlashBG.get(symbol);if(time-stockItem.LastTime>=timeDiff)//超时的删除
|
|
13456
13461
|
{this.FlashBG.delete(symbol);return null;}if(!stockItem.Data||stockItem.Data.size<=0){this.FlashBG.delete(symbol);return null;}var aryDelID=[];//超时需要参数的
|
|
13457
13462
|
var _iteratorNormalCompletion25=true;var _didIteratorError25=false;var _iteratorError25=undefined;try{for(var _iterator25=(0,_getIterator3.default)(stockItem.Data),_step25;!(_iteratorNormalCompletion25=(_step25=_iterator25.next()).done);_iteratorNormalCompletion25=true){var mapItem=_step25.value;var item=mapItem[1];if(time-item.Time>=timeDiff||item.Count<=0)aryDelID.push(item.ID);}}catch(err){_didIteratorError25=true;_iteratorError25=err;}finally{try{if(!_iteratorNormalCompletion25&&_iterator25.return){_iterator25.return();}}finally{if(_didIteratorError25){throw _iteratorError25;}}}if(IFrameSplitOperator.IsNonEmptyArray(aryDelID)){for(var i=0;i<aryDelID.length;++i){stockItem.Data.delete(aryDelID[i]);}if(stockItem.Data.size<=0){this.FlashBG.delete(symbol);return null;}}return stockItem;};//delay=是否延迟
|
|
13458
|
-
this.DelayUpdateStockData=function(){var _this62=this;if(this.DelayUpdateTimer!=null){clearTimeout(this.DelayUpdateTimer);this.DelayUpdateTimer=null;}var frequency=this.DelayUpdateFrequency;this.DelayUpdateTimer=setTimeout(function(){_this62.UpdateStockData();},frequency);};this.UpdateStockData=function(){var chart=this.ChartPaint[0];if(!chart)return;//列表还没有加载完成
|
|
13463
|
+
this.DelayUpdateStockData=function(){var _this62=this;if(this.EnablePageUpdate===false)return;if(this.DelayUpdateTimer!=null){clearTimeout(this.DelayUpdateTimer);this.DelayUpdateTimer=null;}var frequency=this.DelayUpdateFrequency;this.DelayUpdateTimer=setTimeout(function(){_this62.UpdateStockData();},frequency);};this.UpdateStockData=function(){var chart=this.ChartPaint[0];if(!chart)return;//列表还没有加载完成
|
|
13459
13464
|
if(this.RequestStatus.IsFinishStockList==false||this.RequestStatus.IsFinishMemberList==false)return;if(this.Data.Virtual&&this.Data.Virtual.Enable){this.RequestVirtualStockData();//虚拟表格 全部取后台
|
|
13460
13465
|
return;}//if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
|
|
13461
13466
|
if(this.SortInfo&&this.SortInfo.Field>=0&&this.SortInfo.Sort>0){var column=chart.Column[this.SortInfo.Field];if(column.Sort==2){this.RequestStockSortData(column,this.SortInfo.Field,this.SortInfo.Sort);//远程排序
|
|
@@ -13463,15 +13468,16 @@ return;}}var arySymbol=chart.ShowSymbol;//if (!IFrameSplitOperator.IsNonEmptyArr
|
|
|
13463
13468
|
this.RequestStockData(arySymbol);};//下载股票数据
|
|
13464
13469
|
this.RequestStockData=function(arySymbol){var self=this;if(this.NetworkFilter){var obj={Name:'JSDealChartContainer::RequestStockData',//类名::函数名
|
|
13465
13470
|
Explain:'报价列表股票数据',Request:{Data:{stocks:arySymbol},symbol:this.Symbol,name:this.Name},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.RecvStockData(data);self.AutoUpdate();});if(obj.PreventDefault==true)return;}//throw { Name:'JSReportChartContainer::RequestStockData', Error:'(报价列表股票数据)不提供内置测试数据' };
|
|
13466
|
-
};this.RecvStockData=function(data){var setUpdateSymbol=new _set2.default();//更新的股票列表
|
|
13471
|
+
};this.RecvStockData=function(data){var bUpdate=false;var setUpdateSymbol=new _set2.default();//更新的股票列表
|
|
13467
13472
|
if(IFrameSplitOperator.IsNonEmptyArray(data.data)){//0=证券代码 1=股票名称 2=昨收 3=开 4=高 5=低 6=收 7=成交量 8=成交金额, 9=买价 10=买量 11=卖价 12=卖量 13=均价 14=流通股 15=总股本
|
|
13468
13473
|
for(var i=0;i<data.data.length;++i){var item=data.data[i];var symbol=item[0];if(!symbol)continue;var stock=null;if(this.MapStockData.has(symbol)){stock=this.MapStockData.get(symbol);}else{stock=new HQReportItem();stock.OriginalSymbol=symbol;stock.Symbol=this.GetSymbolNoSuffix(symbol);this.MapStockData.set(symbol,stock);}this.ReadStockJsonData(stock,item);if(!setUpdateSymbol.has(symbol))setUpdateSymbol.add(symbol);}}//重新更新板块成员
|
|
13469
|
-
if(IFrameSplitOperator.IsArray(data.members)){this.SourceData.Data=[];this.Data.Data=[];var aryMember=data.members;for(var i=0;i<aryMember.length;++i){var value=aryMember[i];this.Data.Data.push(value);this.SourceData.Data.push(value);}
|
|
13474
|
+
if(IFrameSplitOperator.IsArray(data.members)){this.SourceData.Data=[];this.Data.Data=[];var aryMember=data.members;for(var i=0;i<aryMember.length;++i){var value=aryMember[i];this.Data.Data.push(value);this.SourceData.Data.push(value);}bUpdate=true;//成分变动 需要重回
|
|
13475
|
+
}var chart=this.ChartPaint[0];if(!chart)return;if(this.DataFilter())bUpdate=true;//过滤数据每次都刷新
|
|
13470
13476
|
//实时本地数据排序
|
|
13471
13477
|
var chart=this.ChartPaint[0];if(chart&&(this.SortInfo.Sort==1||this.SortInfo.Sort==2)&&IFrameSplitOperator.IsNumber(this.SortInfo.Field)&&this.SortInfo.Field>=0){//当前选中的股票
|
|
13472
13478
|
var selectedSymbol=null;if(chart.SelectedRowData&&chart.SelectedModel==1)selectedSymbol=chart.SelectedRowData.Symbol;var column=chart.Column[this.SortInfo.Field];this.LocalDataSort(column,this.SortInfo);if(selectedSymbol){chart.SetSelectedRow({Symbol:selectedSymbol});}bUpdate=true;//排序暂时每次都刷新
|
|
13473
13479
|
}else{//更新的股票在当前页面,需要重绘
|
|
13474
|
-
var aryStock=chart.ShowSymbol;for(var i=0;i<aryStock.length;++i){if(setUpdateSymbol.has(aryStock[i].Symbol)){bUpdate=true;break;}}}if(bUpdate)this.Draw();};//读取单条股票json数据
|
|
13480
|
+
var aryStock=chart.ShowSymbol;if(Array.isArray(aryStock)&&aryStock.length<=0&&setUpdateSymbol.size>0)bUpdate=true;for(var i=0;i<aryStock.length;++i){if(setUpdateSymbol.has(aryStock[i].Symbol)){bUpdate=true;break;}}}if(bUpdate)this.Draw();};//读取单条股票json数据
|
|
13475
13481
|
this.ReadStockJsonData=function(stock,item){//0=证券代码 1=股票名称 2=昨收 3=开 4=高 5=低 6=收 7=成交量 8=成交金额, 9=买价 10=买量 11=卖价 12=卖量 13=均价 14=流通股 15=总股本 16=涨停价 17=跌停价
|
|
13476
13482
|
//18=内盘 19=外盘 20=现量 21=涨幅% 22=涨跌 23=换手率% 24=振幅% 25=流通市值 26=总市值 27=扩展名字
|
|
13477
13483
|
//30=全局扩展数据 31=当前板块扩展数据
|
|
@@ -15254,7 +15260,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
15254
15260
|
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);};}/********************************************************************************
|
|
15255
15261
|
* 版本信息输出
|
|
15256
15262
|
*
|
|
15257
|
-
*/var HQCHART_VERSION="1.1.
|
|
15263
|
+
*/var HQCHART_VERSION="1.1.14977";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();//把给外界调用的方法暴露出来
|
|
15258
15264
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
15259
15265
|
// BaseIndex:BaseIndex,
|
|
15260
15266
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -75393,20 +75393,40 @@ function ChartDrawTVLongPosition()
|
|
|
75393
75393
|
if (!this.GetActiveDrawPicture) return false;
|
|
75394
75394
|
|
|
75395
75395
|
var active=this.GetActiveDrawPicture();
|
|
75396
|
-
|
|
75396
|
+
//console.log(`[IsSelected] Select=${active.Select.Guid} MoveOn=${active.MoveOn.Guid}`);
|
|
75397
|
+
if (active.Select.Guid==this.Guid || active.MoveOn.Guid==this.Guid) return true;
|
|
75397
75398
|
|
|
75398
75399
|
return false;
|
|
75399
75400
|
}
|
|
75400
75401
|
|
|
75402
|
+
//未选中 作为背景色绘制
|
|
75401
75403
|
this.MainDraw=function()
|
|
75402
75404
|
{
|
|
75403
|
-
this.
|
|
75404
|
-
|
|
75405
|
+
this.AryRectArea=[]
|
|
75406
|
+
if (this.IsFrameMinSize()) return;
|
|
75405
75407
|
|
|
75408
|
+
//0=开始画 1=完成第1个点 2=完成第2个点 3=完成第3个点 10=完成 20=移动)
|
|
75409
|
+
if (this.Status!=10 && this.Status!=20) return;
|
|
75410
|
+
|
|
75411
|
+
var drawPoint=this.CalculateDrawPoint( {IsCheckX:true, IsCheckY:true} );
|
|
75412
|
+
if (!drawPoint) return;
|
|
75413
|
+
if (drawPoint.length<2) return;
|
|
75414
|
+
this.IsHScreen=this.Frame.IsHScreen;
|
|
75415
|
+
if (this.IsHScreen) return;
|
|
75416
|
+
|
|
75417
|
+
this.ClipFrame();
|
|
75406
75418
|
|
|
75419
|
+
this.ChartBorder=this.Frame.ChartBorder;
|
|
75420
|
+
this.DrawArea(drawPoint);
|
|
75421
|
+
|
|
75422
|
+
this.Canvas.restore();
|
|
75423
|
+
}
|
|
75424
|
+
|
|
75425
|
+
//鼠标在上面 动态绘制点和文字信息
|
|
75407
75426
|
this.MainPartDraw=function()
|
|
75408
75427
|
{
|
|
75409
75428
|
if (this.IsFrameMinSize()) return;
|
|
75429
|
+
if (this.Status!=10 && this.Status!=20) return;
|
|
75410
75430
|
|
|
75411
75431
|
var drawPoint=this.CalculateDrawPoint( {IsCheckX:true, IsCheckY:true} );
|
|
75412
75432
|
if (!drawPoint) return;
|
|
@@ -75415,13 +75435,10 @@ function ChartDrawTVLongPosition()
|
|
|
75415
75435
|
if (this.IsHScreen) return;
|
|
75416
75436
|
|
|
75417
75437
|
this.ClipFrame();
|
|
75418
|
-
this.ChartBorder=this.Frame.ChartBorder;
|
|
75419
75438
|
|
|
75420
|
-
|
|
75421
|
-
|
|
75422
|
-
|
|
75423
|
-
this.DrawPoint(drawPoint);
|
|
75424
|
-
}
|
|
75439
|
+
this.ChartBorder=this.Frame.ChartBorder;
|
|
75440
|
+
this.DrawLabel(drawPoint);
|
|
75441
|
+
this.DrawPoint(drawPoint);
|
|
75425
75442
|
|
|
75426
75443
|
this.Canvas.restore();
|
|
75427
75444
|
}
|
|
@@ -192,6 +192,7 @@ function JSReportChart(divElement)
|
|
|
192
192
|
if (IFrameSplitOperator.IsBool(option.EnableDragHeader)) chart.EnableDragHeader=option.EnableDragHeader;
|
|
193
193
|
if (IFrameSplitOperator.IsNumber(option.WheelPageType)) chart.WheelPageType=option.WheelPageType;
|
|
194
194
|
if (IFrameSplitOperator.IsBool(option.PageUpDownCycle)) chart.PageUpDownCycle=option.PageUpDownCycle;
|
|
195
|
+
if (IFrameSplitOperator.IsBool(option.EnablePageUpdate)) chart.EnablePageUpdate=option.EnablePageUpdate;
|
|
195
196
|
|
|
196
197
|
//数据下载提示信息
|
|
197
198
|
if (IFrameSplitOperator.IsObject(option.SplashTitle))
|
|
@@ -469,6 +470,7 @@ function JSReportChartContainer(uielement)
|
|
|
469
470
|
this.AutoUpdateTimer=null;
|
|
470
471
|
this.AutoUpdateFrequency=15000; //15秒更新一次数据
|
|
471
472
|
|
|
473
|
+
this.EnablePageUpdate=true; //当前页更新模式 ture=翻页都请求数据 false=所有页的数据一次下载完成
|
|
472
474
|
this.DelayUpdateTimer=null; //延迟更新
|
|
473
475
|
this.DelayUpdateFrequency=500; //延迟更新时间
|
|
474
476
|
|
|
@@ -1520,6 +1522,8 @@ function JSReportChartContainer(uielement)
|
|
|
1520
1522
|
//delay=是否延迟
|
|
1521
1523
|
this.DelayUpdateStockData=function()
|
|
1522
1524
|
{
|
|
1525
|
+
if (this.EnablePageUpdate===false) return;
|
|
1526
|
+
|
|
1523
1527
|
if (this.DelayUpdateTimer!=null)
|
|
1524
1528
|
{
|
|
1525
1529
|
clearTimeout(this.DelayUpdateTimer);
|
|
@@ -1593,6 +1597,7 @@ function JSReportChartContainer(uielement)
|
|
|
1593
1597
|
|
|
1594
1598
|
this.RecvStockData=function(data)
|
|
1595
1599
|
{
|
|
1600
|
+
var bUpdate=false;
|
|
1596
1601
|
var setUpdateSymbol=new Set(); //更新的股票列表
|
|
1597
1602
|
if (IFrameSplitOperator.IsNonEmptyArray(data.data))
|
|
1598
1603
|
{
|
|
@@ -1633,14 +1638,13 @@ function JSReportChartContainer(uielement)
|
|
|
1633
1638
|
this.Data.Data.push(value);
|
|
1634
1639
|
this.SourceData.Data.push(value);
|
|
1635
1640
|
}
|
|
1641
|
+
|
|
1642
|
+
bUpdate=true; //成分变动 需要重回
|
|
1636
1643
|
}
|
|
1637
1644
|
|
|
1638
1645
|
var chart=this.ChartPaint[0];
|
|
1639
1646
|
if (!chart) return;
|
|
1640
|
-
|
|
1641
1647
|
|
|
1642
|
-
|
|
1643
|
-
var bUpdate=false;
|
|
1644
1648
|
if (this.DataFilter()) bUpdate=true; //过滤数据每次都刷新
|
|
1645
1649
|
|
|
1646
1650
|
//实时本地数据排序
|
|
@@ -1665,6 +1669,8 @@ function JSReportChartContainer(uielement)
|
|
|
1665
1669
|
{
|
|
1666
1670
|
//更新的股票在当前页面,需要重绘
|
|
1667
1671
|
var aryStock=chart.ShowSymbol;
|
|
1672
|
+
if (Array.isArray(aryStock) && aryStock.length<=0 && setUpdateSymbol.size>0) bUpdate=true;
|
|
1673
|
+
|
|
1668
1674
|
for(var i=0;i<aryStock.length;++i)
|
|
1669
1675
|
{
|
|
1670
1676
|
if (setUpdateSymbol.has(aryStock[i].Symbol))
|
|
@@ -1248,7 +1248,7 @@ LONG := SUM(RC,0);\n\
|
|
|
1248
1248
|
DIFF := SMA(LONG,10,1);\n\
|
|
1249
1249
|
DEA := SMA(LONG,20,1);\n\
|
|
1250
1250
|
LON : DIFF-DEA;\n\
|
|
1251
|
-
LONMA : MA(LON,
|
|
1251
|
+
LONMA : MA(LON,N);\n\
|
|
1252
1252
|
LONT : LON, COLORSTICK;'
|
|
1253
1253
|
|
|
1254
1254
|
};
|
|
@@ -79489,20 +79489,40 @@ function ChartDrawTVLongPosition()
|
|
|
79489
79489
|
if (!this.GetActiveDrawPicture) return false;
|
|
79490
79490
|
|
|
79491
79491
|
var active=this.GetActiveDrawPicture();
|
|
79492
|
-
|
|
79492
|
+
//console.log(`[IsSelected] Select=${active.Select.Guid} MoveOn=${active.MoveOn.Guid}`);
|
|
79493
|
+
if (active.Select.Guid==this.Guid || active.MoveOn.Guid==this.Guid) return true;
|
|
79493
79494
|
|
|
79494
79495
|
return false;
|
|
79495
79496
|
}
|
|
79496
79497
|
|
|
79498
|
+
//未选中 作为背景色绘制
|
|
79497
79499
|
this.MainDraw=function()
|
|
79498
79500
|
{
|
|
79499
|
-
this.
|
|
79500
|
-
|
|
79501
|
+
this.AryRectArea=[]
|
|
79502
|
+
if (this.IsFrameMinSize()) return;
|
|
79503
|
+
|
|
79504
|
+
//0=开始画 1=完成第1个点 2=完成第2个点 3=完成第3个点 10=完成 20=移动)
|
|
79505
|
+
if (this.Status!=10 && this.Status!=20) return;
|
|
79506
|
+
|
|
79507
|
+
var drawPoint=this.CalculateDrawPoint( {IsCheckX:true, IsCheckY:true} );
|
|
79508
|
+
if (!drawPoint) return;
|
|
79509
|
+
if (drawPoint.length<2) return;
|
|
79510
|
+
this.IsHScreen=this.Frame.IsHScreen;
|
|
79511
|
+
if (this.IsHScreen) return;
|
|
79512
|
+
|
|
79513
|
+
this.ClipFrame();
|
|
79514
|
+
|
|
79515
|
+
this.ChartBorder=this.Frame.ChartBorder;
|
|
79516
|
+
this.DrawArea(drawPoint);
|
|
79501
79517
|
|
|
79518
|
+
this.Canvas.restore();
|
|
79519
|
+
}
|
|
79502
79520
|
|
|
79521
|
+
//鼠标在上面 动态绘制点和文字信息
|
|
79503
79522
|
this.MainPartDraw=function()
|
|
79504
79523
|
{
|
|
79505
79524
|
if (this.IsFrameMinSize()) return;
|
|
79525
|
+
if (this.Status!=10 && this.Status!=20) return;
|
|
79506
79526
|
|
|
79507
79527
|
var drawPoint=this.CalculateDrawPoint( {IsCheckX:true, IsCheckY:true} );
|
|
79508
79528
|
if (!drawPoint) return;
|
|
@@ -79511,13 +79531,10 @@ function ChartDrawTVLongPosition()
|
|
|
79511
79531
|
if (this.IsHScreen) return;
|
|
79512
79532
|
|
|
79513
79533
|
this.ClipFrame();
|
|
79514
|
-
this.ChartBorder=this.Frame.ChartBorder;
|
|
79515
79534
|
|
|
79516
|
-
|
|
79517
|
-
|
|
79518
|
-
|
|
79519
|
-
this.DrawPoint(drawPoint);
|
|
79520
|
-
}
|
|
79535
|
+
this.ChartBorder=this.Frame.ChartBorder;
|
|
79536
|
+
this.DrawLabel(drawPoint);
|
|
79537
|
+
this.DrawPoint(drawPoint);
|
|
79521
79538
|
|
|
79522
79539
|
this.Canvas.restore();
|
|
79523
79540
|
}
|
|
@@ -138825,6 +138842,7 @@ function JSReportChart(divElement)
|
|
|
138825
138842
|
if (IFrameSplitOperator.IsBool(option.EnableDragHeader)) chart.EnableDragHeader=option.EnableDragHeader;
|
|
138826
138843
|
if (IFrameSplitOperator.IsNumber(option.WheelPageType)) chart.WheelPageType=option.WheelPageType;
|
|
138827
138844
|
if (IFrameSplitOperator.IsBool(option.PageUpDownCycle)) chart.PageUpDownCycle=option.PageUpDownCycle;
|
|
138845
|
+
if (IFrameSplitOperator.IsBool(option.EnablePageUpdate)) chart.EnablePageUpdate=option.EnablePageUpdate;
|
|
138828
138846
|
|
|
138829
138847
|
//数据下载提示信息
|
|
138830
138848
|
if (IFrameSplitOperator.IsObject(option.SplashTitle))
|
|
@@ -139102,6 +139120,7 @@ function JSReportChartContainer(uielement)
|
|
|
139102
139120
|
this.AutoUpdateTimer=null;
|
|
139103
139121
|
this.AutoUpdateFrequency=15000; //15秒更新一次数据
|
|
139104
139122
|
|
|
139123
|
+
this.EnablePageUpdate=true; //当前页更新模式 ture=翻页都请求数据 false=所有页的数据一次下载完成
|
|
139105
139124
|
this.DelayUpdateTimer=null; //延迟更新
|
|
139106
139125
|
this.DelayUpdateFrequency=500; //延迟更新时间
|
|
139107
139126
|
|
|
@@ -140153,6 +140172,8 @@ function JSReportChartContainer(uielement)
|
|
|
140153
140172
|
//delay=是否延迟
|
|
140154
140173
|
this.DelayUpdateStockData=function()
|
|
140155
140174
|
{
|
|
140175
|
+
if (this.EnablePageUpdate===false) return;
|
|
140176
|
+
|
|
140156
140177
|
if (this.DelayUpdateTimer!=null)
|
|
140157
140178
|
{
|
|
140158
140179
|
clearTimeout(this.DelayUpdateTimer);
|
|
@@ -140226,6 +140247,7 @@ function JSReportChartContainer(uielement)
|
|
|
140226
140247
|
|
|
140227
140248
|
this.RecvStockData=function(data)
|
|
140228
140249
|
{
|
|
140250
|
+
var bUpdate=false;
|
|
140229
140251
|
var setUpdateSymbol=new Set(); //更新的股票列表
|
|
140230
140252
|
if (IFrameSplitOperator.IsNonEmptyArray(data.data))
|
|
140231
140253
|
{
|
|
@@ -140266,14 +140288,13 @@ function JSReportChartContainer(uielement)
|
|
|
140266
140288
|
this.Data.Data.push(value);
|
|
140267
140289
|
this.SourceData.Data.push(value);
|
|
140268
140290
|
}
|
|
140291
|
+
|
|
140292
|
+
bUpdate=true; //成分变动 需要重回
|
|
140269
140293
|
}
|
|
140270
140294
|
|
|
140271
140295
|
var chart=this.ChartPaint[0];
|
|
140272
140296
|
if (!chart) return;
|
|
140273
|
-
|
|
140274
140297
|
|
|
140275
|
-
|
|
140276
|
-
var bUpdate=false;
|
|
140277
140298
|
if (this.DataFilter()) bUpdate=true; //过滤数据每次都刷新
|
|
140278
140299
|
|
|
140279
140300
|
//实时本地数据排序
|
|
@@ -140298,6 +140319,8 @@ function JSReportChartContainer(uielement)
|
|
|
140298
140319
|
{
|
|
140299
140320
|
//更新的股票在当前页面,需要重绘
|
|
140300
140321
|
var aryStock=chart.ShowSymbol;
|
|
140322
|
+
if (Array.isArray(aryStock) && aryStock.length<=0 && setUpdateSymbol.size>0) bUpdate=true;
|
|
140323
|
+
|
|
140301
140324
|
for(var i=0;i<aryStock.length;++i)
|
|
140302
140325
|
{
|
|
140303
140326
|
if (setUpdateSymbol.has(aryStock[i].Symbol))
|
|
@@ -152143,7 +152166,7 @@ function ScrollBarBGChart()
|
|
|
152143
152166
|
|
|
152144
152167
|
|
|
152145
152168
|
|
|
152146
|
-
var HQCHART_VERSION="1.1.
|
|
152169
|
+
var HQCHART_VERSION="1.1.14977";
|
|
152147
152170
|
|
|
152148
152171
|
function PrintHQChartVersion()
|
|
152149
152172
|
{
|
|
@@ -1292,7 +1292,7 @@ LONG := SUM(RC,0);\n\
|
|
|
1292
1292
|
DIFF := SMA(LONG,10,1);\n\
|
|
1293
1293
|
DEA := SMA(LONG,20,1);\n\
|
|
1294
1294
|
LON : DIFF-DEA;\n\
|
|
1295
|
-
LONMA : MA(LON,
|
|
1295
|
+
LONMA : MA(LON,N);\n\
|
|
1296
1296
|
LONT : LON, COLORSTICK;'
|
|
1297
1297
|
|
|
1298
1298
|
};
|
|
@@ -79533,20 +79533,40 @@ function ChartDrawTVLongPosition()
|
|
|
79533
79533
|
if (!this.GetActiveDrawPicture) return false;
|
|
79534
79534
|
|
|
79535
79535
|
var active=this.GetActiveDrawPicture();
|
|
79536
|
-
|
|
79536
|
+
//console.log(`[IsSelected] Select=${active.Select.Guid} MoveOn=${active.MoveOn.Guid}`);
|
|
79537
|
+
if (active.Select.Guid==this.Guid || active.MoveOn.Guid==this.Guid) return true;
|
|
79537
79538
|
|
|
79538
79539
|
return false;
|
|
79539
79540
|
}
|
|
79540
79541
|
|
|
79542
|
+
//未选中 作为背景色绘制
|
|
79541
79543
|
this.MainDraw=function()
|
|
79542
79544
|
{
|
|
79543
|
-
this.
|
|
79544
|
-
|
|
79545
|
+
this.AryRectArea=[]
|
|
79546
|
+
if (this.IsFrameMinSize()) return;
|
|
79547
|
+
|
|
79548
|
+
//0=开始画 1=完成第1个点 2=完成第2个点 3=完成第3个点 10=完成 20=移动)
|
|
79549
|
+
if (this.Status!=10 && this.Status!=20) return;
|
|
79550
|
+
|
|
79551
|
+
var drawPoint=this.CalculateDrawPoint( {IsCheckX:true, IsCheckY:true} );
|
|
79552
|
+
if (!drawPoint) return;
|
|
79553
|
+
if (drawPoint.length<2) return;
|
|
79554
|
+
this.IsHScreen=this.Frame.IsHScreen;
|
|
79555
|
+
if (this.IsHScreen) return;
|
|
79556
|
+
|
|
79557
|
+
this.ClipFrame();
|
|
79558
|
+
|
|
79559
|
+
this.ChartBorder=this.Frame.ChartBorder;
|
|
79560
|
+
this.DrawArea(drawPoint);
|
|
79545
79561
|
|
|
79562
|
+
this.Canvas.restore();
|
|
79563
|
+
}
|
|
79546
79564
|
|
|
79565
|
+
//鼠标在上面 动态绘制点和文字信息
|
|
79547
79566
|
this.MainPartDraw=function()
|
|
79548
79567
|
{
|
|
79549
79568
|
if (this.IsFrameMinSize()) return;
|
|
79569
|
+
if (this.Status!=10 && this.Status!=20) return;
|
|
79550
79570
|
|
|
79551
79571
|
var drawPoint=this.CalculateDrawPoint( {IsCheckX:true, IsCheckY:true} );
|
|
79552
79572
|
if (!drawPoint) return;
|
|
@@ -79555,13 +79575,10 @@ function ChartDrawTVLongPosition()
|
|
|
79555
79575
|
if (this.IsHScreen) return;
|
|
79556
79576
|
|
|
79557
79577
|
this.ClipFrame();
|
|
79558
|
-
this.ChartBorder=this.Frame.ChartBorder;
|
|
79559
79578
|
|
|
79560
|
-
|
|
79561
|
-
|
|
79562
|
-
|
|
79563
|
-
this.DrawPoint(drawPoint);
|
|
79564
|
-
}
|
|
79579
|
+
this.ChartBorder=this.Frame.ChartBorder;
|
|
79580
|
+
this.DrawLabel(drawPoint);
|
|
79581
|
+
this.DrawPoint(drawPoint);
|
|
79565
79582
|
|
|
79566
79583
|
this.Canvas.restore();
|
|
79567
79584
|
}
|
|
@@ -138869,6 +138886,7 @@ function JSReportChart(divElement)
|
|
|
138869
138886
|
if (IFrameSplitOperator.IsBool(option.EnableDragHeader)) chart.EnableDragHeader=option.EnableDragHeader;
|
|
138870
138887
|
if (IFrameSplitOperator.IsNumber(option.WheelPageType)) chart.WheelPageType=option.WheelPageType;
|
|
138871
138888
|
if (IFrameSplitOperator.IsBool(option.PageUpDownCycle)) chart.PageUpDownCycle=option.PageUpDownCycle;
|
|
138889
|
+
if (IFrameSplitOperator.IsBool(option.EnablePageUpdate)) chart.EnablePageUpdate=option.EnablePageUpdate;
|
|
138872
138890
|
|
|
138873
138891
|
//数据下载提示信息
|
|
138874
138892
|
if (IFrameSplitOperator.IsObject(option.SplashTitle))
|
|
@@ -139146,6 +139164,7 @@ function JSReportChartContainer(uielement)
|
|
|
139146
139164
|
this.AutoUpdateTimer=null;
|
|
139147
139165
|
this.AutoUpdateFrequency=15000; //15秒更新一次数据
|
|
139148
139166
|
|
|
139167
|
+
this.EnablePageUpdate=true; //当前页更新模式 ture=翻页都请求数据 false=所有页的数据一次下载完成
|
|
139149
139168
|
this.DelayUpdateTimer=null; //延迟更新
|
|
139150
139169
|
this.DelayUpdateFrequency=500; //延迟更新时间
|
|
139151
139170
|
|
|
@@ -140197,6 +140216,8 @@ function JSReportChartContainer(uielement)
|
|
|
140197
140216
|
//delay=是否延迟
|
|
140198
140217
|
this.DelayUpdateStockData=function()
|
|
140199
140218
|
{
|
|
140219
|
+
if (this.EnablePageUpdate===false) return;
|
|
140220
|
+
|
|
140200
140221
|
if (this.DelayUpdateTimer!=null)
|
|
140201
140222
|
{
|
|
140202
140223
|
clearTimeout(this.DelayUpdateTimer);
|
|
@@ -140270,6 +140291,7 @@ function JSReportChartContainer(uielement)
|
|
|
140270
140291
|
|
|
140271
140292
|
this.RecvStockData=function(data)
|
|
140272
140293
|
{
|
|
140294
|
+
var bUpdate=false;
|
|
140273
140295
|
var setUpdateSymbol=new Set(); //更新的股票列表
|
|
140274
140296
|
if (IFrameSplitOperator.IsNonEmptyArray(data.data))
|
|
140275
140297
|
{
|
|
@@ -140310,14 +140332,13 @@ function JSReportChartContainer(uielement)
|
|
|
140310
140332
|
this.Data.Data.push(value);
|
|
140311
140333
|
this.SourceData.Data.push(value);
|
|
140312
140334
|
}
|
|
140335
|
+
|
|
140336
|
+
bUpdate=true; //成分变动 需要重回
|
|
140313
140337
|
}
|
|
140314
140338
|
|
|
140315
140339
|
var chart=this.ChartPaint[0];
|
|
140316
140340
|
if (!chart) return;
|
|
140317
|
-
|
|
140318
140341
|
|
|
140319
|
-
|
|
140320
|
-
var bUpdate=false;
|
|
140321
140342
|
if (this.DataFilter()) bUpdate=true; //过滤数据每次都刷新
|
|
140322
140343
|
|
|
140323
140344
|
//实时本地数据排序
|
|
@@ -140342,6 +140363,8 @@ function JSReportChartContainer(uielement)
|
|
|
140342
140363
|
{
|
|
140343
140364
|
//更新的股票在当前页面,需要重绘
|
|
140344
140365
|
var aryStock=chart.ShowSymbol;
|
|
140366
|
+
if (Array.isArray(aryStock) && aryStock.length<=0 && setUpdateSymbol.size>0) bUpdate=true;
|
|
140367
|
+
|
|
140345
140368
|
for(var i=0;i<aryStock.length;++i)
|
|
140346
140369
|
{
|
|
140347
140370
|
if (setUpdateSymbol.has(aryStock[i].Symbol))
|
|
@@ -163522,7 +163545,7 @@ function HQChartScriptWorker()
|
|
|
163522
163545
|
|
|
163523
163546
|
|
|
163524
163547
|
|
|
163525
|
-
var HQCHART_VERSION="1.1.
|
|
163548
|
+
var HQCHART_VERSION="1.1.14977";
|
|
163526
163549
|
|
|
163527
163550
|
function PrintHQChartVersion()
|
|
163528
163551
|
{
|