hqchart 1.1.14874 → 1.1.14877
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 -11
- package/package.json +1 -1
- package/src/jscommon/umychart.js +28 -15
- package/src/jscommon/umychart.resource/css/tools.css +1 -4
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +29 -16
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +29 -16
package/lib/umychart.vue.js
CHANGED
|
@@ -1178,7 +1178,10 @@ this.CanvasElement.width=parseInt(pixelTatio*width);if(this.OffscreenCanvasEleme
|
|
|
1178
1178
|
this.AdjustChartBorder=function(chart){var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
1179
1179
|
chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;if(chart.Frame.AutoLeftBorder){var item=chart.Frame.AutoLeftBorder;if(IFrameSplitOperator.IsNumber(item.MinWidth))item.MinWidth*=pixelTatio;if(IFrameSplitOperator.IsNumber(item.Blank))item.Blank*=pixelTatio;}if(chart.Frame.AutoRightBorder){var item=chart.Frame.AutoRightBorder;if(IFrameSplitOperator.IsNumber(item.MinWidth))item.MinWidth*=pixelTatio;if(IFrameSplitOperator.IsNumber(item.Blank))item.Blank*=pixelTatio;}};this.AdjustTitleHeight=function(chart){var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
1180
1180
|
for(var i=0;i<chart.Frame.SubFrame.length;++i){chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight*=pixelTatio;}chart.ChartCorssCursor.TextHeight*=pixelTatio;//十字光标文本信息高度
|
|
1181
|
-
};this.SetChartBorder=function(chart,option){if(!option.Border)return;var item=option.Border;if(IFrameSplitOperator.IsNumber(option.Border.Left))chart.Frame.ChartBorder.Left=option.Border.Left;else option.Border.Left=chart.Frame.ChartBorder.Left;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;else option.Border.Right=chart.Frame.ChartBorder.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;else option.Border.Top=chart.Frame.ChartBorder.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;else option.Border.Bottom=chart.Frame.ChartBorder.Bottom;if(item.AutoLeft){chart.Frame.AutoLeftBorder={};if(IFrameSplitOperator.IsNumber(item.AutoLeft.Blank))chart.Frame.AutoLeftBorder.Blank=item.AutoLeft.Blank;if(IFrameSplitOperator.IsNumber(item.AutoLeft.MinWidth))chart.Frame.AutoLeftBorder.MinWidth=item.AutoLeft.MinWidth;}if(item.AutoRight){chart.Frame.AutoRightBorder={};if(IFrameSplitOperator.IsNumber(item.AutoRight.Blank))chart.Frame.AutoRightBorder.Blank=item.AutoRight.Blank;if(IFrameSplitOperator.IsNumber(item.AutoRight.MinWidth))chart.Frame.AutoRightBorder.MinWidth=item.AutoRight.MinWidth;}};this.SetEventCallback=function(chart,aryCallback){if(!chart)return;if(!IFrameSplitOperator.IsNonEmptyArray(aryCallback))return;for(var i=0;i<aryCallback.length;++i){var item=aryCallback[i];chart.AddEventCallback(item);}}
|
|
1181
|
+
};this.SetChartBorder=function(chart,option){if(!option.Border)return;var item=option.Border;if(IFrameSplitOperator.IsNumber(option.Border.Left))chart.Frame.ChartBorder.Left=option.Border.Left;else option.Border.Left=chart.Frame.ChartBorder.Left;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;else option.Border.Right=chart.Frame.ChartBorder.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;else option.Border.Top=chart.Frame.ChartBorder.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;else option.Border.Bottom=chart.Frame.ChartBorder.Bottom;if(item.AutoLeft){chart.Frame.AutoLeftBorder={};if(IFrameSplitOperator.IsNumber(item.AutoLeft.Blank))chart.Frame.AutoLeftBorder.Blank=item.AutoLeft.Blank;if(IFrameSplitOperator.IsNumber(item.AutoLeft.MinWidth))chart.Frame.AutoLeftBorder.MinWidth=item.AutoLeft.MinWidth;}if(item.AutoRight){chart.Frame.AutoRightBorder={};if(IFrameSplitOperator.IsNumber(item.AutoRight.Blank))chart.Frame.AutoRightBorder.Blank=item.AutoRight.Blank;if(IFrameSplitOperator.IsNumber(item.AutoRight.MinWidth))chart.Frame.AutoRightBorder.MinWidth=item.AutoRight.MinWidth;}};this.SetEventCallback=function(chart,aryCallback){if(!chart)return;if(!IFrameSplitOperator.IsNonEmptyArray(aryCallback))return;for(var i=0;i<aryCallback.length;++i){var item=aryCallback[i];chart.AddEventCallback(item);}};/////////////////////////////////////////////////////////////////////////////////
|
|
1182
|
+
//属性设置
|
|
1183
|
+
//
|
|
1184
|
+
this.SetPressKeyboardConfig=function(chart,option){if(!chart||!option)return;if(IFrameSplitOperator.IsBool(option.PauseUpdate))chart.PressKeyboardConfig.PauseUpdate=option.PauseUpdate;};//历史K线图
|
|
1182
1185
|
this.CreateKLineChartContainer=function(option){var _this=this;var chart=null;if(option.Type==="历史K线图横屏")chart=new KLineChartHScreenContainer(this.CanvasElement);else chart=new KLineChartContainer(this.CanvasElement,this.OffscreenCanvasElement,this.CacheCanvasElement);chart.GetExtraCanvas=function(name){return _this.GetExtraCanvas(name);};var extraElement=this.GetExtraCanvas(JSChart.CorssCursorCanvasKey);if(extraElement)chart.SetCorssCursorElement(extraElement);if(option.EventCallback)this.SetEventCallback(chart,option.EventCallback);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;var pixelRatio=GetDevicePixelRatio();//右键菜单
|
|
1183
1186
|
if(IFrameSplitOperator.IsBool(option.IsShowRightMenu))chart.IsShowRightMenu=option.IsShowRightMenu;if(option.ScriptError)chart.ScriptErrorCallback=option.ScriptError;if(option.EnableScrollUpDown==true)chart.EnableScrollUpDown=option.EnableScrollUpDown;if(option.DisableMouse==true)chart.DisableMouse=option.DisableMouse;if(option.TouchMoveMinAngle)chart.TouchMoveMinAngle=option.TouchMoveMinAngle;if(option.EnableZoomUpDown)chart.EnableZoomUpDown=option.EnableZoomUpDown;if(IFrameSplitOperator.IsString(option.SplashTitle))chart.LoadDataSplashTitle=option.SplashTitle;if(IFrameSplitOperator.IsBool(option.EnableZoomIndexWindow))chart.EnableZoomIndexWindow=option.EnableZoomIndexWindow;if(IFrameSplitOperator.IsBool(option.IsDrawPictureXY))chart.IsDrawPictureXY=option.IsDrawPictureXY;if(IFrameSplitOperator.IsNumber(option.CtrlMoveStep))chart.CtrlMoveStep=option.CtrlMoveStep;if(IFrameSplitOperator.IsNumber(option.ShiftMoveStep))chart.ShiftMoveStep=option.ShiftMoveStep;if(IFrameSplitOperator.IsBool(option.EnableIndexChartDrag))chart.EnableIndexChartDrag=option.EnableIndexChartDrag;if(IFrameSplitOperator.IsBool(option.EnableVerifyRecvData))chart.EnableVerifyRecvData=option.EnableVerifyRecvData;if(option.GlobalOption){var item=option.GlobalOption;if(IFrameSplitOperator.IsBool(item.IsValueFullRange))chart.GlobalOption.IsValueFullRange=item.IsValueFullRange;if(item.SelectedBorder){var subItem=item.SelectedBorder;if(IFrameSplitOperator.IsNumber(subItem.Mode))chart.GlobalOption.SelectedBorder.Mode=subItem.Mode;}}if(option.EnableYDrag){var item=option.EnableYDrag;if(IFrameSplitOperator.IsBool(item.Left))chart.EnableYDrag.Left=item.Left;if(IFrameSplitOperator.IsBool(item.Right))chart.EnableYDrag.Right=item.Right;if(IFrameSplitOperator.IsBool(item.Wheel))chart.EnableYDrag.Wheel=item.Wheel;if(IFrameSplitOperator.IsNumber(item.WheelYMove))chart.EnableYDrag.WheelYMove=item.WheelYMove;}if(option.EnableXDrag){var item=option.EnableXDrag;if(IFrameSplitOperator.IsBool(item.Bottom))chart.EnableXDrag.Bottom=item.Bottom;if(item.LButton&&IFrameSplitOperator.IsNumber(item.LButton.Type))chart.EnableXDrag.LButton.Type=item.LButton.Type;if(item.RButton&&IFrameSplitOperator.IsNumber(item.RButton.Type))chart.EnableXDrag.RButton.Type=item.RButton.Type;}if(option.KLineTooltip){var item=option.KLineTooltip;if(IFrameSplitOperator.IsBool(item.Enable))chart.KLineTooltipConfig.Enable=item.Enable;if(IFrameSplitOperator.IsBool(item.EnableKeyDown))chart.KLineTooltipConfig.EnableKeyDown=item.EnableKeyDown;}if(option.KLine)//k线图的属性设置
|
|
1184
1187
|
{var item=option.KLine;if(option.KLine.DragMode>=0)chart.DragMode=option.KLine.DragMode;if(option.KLine.Right>=0)chart.Right=option.KLine.Right;if(option.KLine.Period>=0)chart.Period=option.KLine.Period;if(option.KLine.MaxReqeustDataCount>0)chart.MaxRequestDataCount=option.KLine.MaxReqeustDataCount;//兼容老版本
|
|
@@ -1187,7 +1190,7 @@ if(option.KLine.RightSpaceCount>0)chart.RightSpaceCount=option.KLine.RightSpaceC
|
|
|
1187
1190
|
if(option.CustomShow&&IFrameSplitOperator.IsPlusNumber(option.CustomShow.Date)){var item=option.CustomShow;chart.CustomShow={Date:item.Date};if(IFrameSplitOperator.IsNumber(item.Time))chart.CustomShow.Time=item.Time;if(IFrameSplitOperator.IsPlusNumber(item.PageSize))chart.CustomShow.PageSize=item.PageSize;}if(option.EnableFlowCapital){var item=option.EnableFlowCapital;if(item.BIT==true)chart.EnableFlowCapital.BIT=item.BIT;}if(IFrameSplitOperator.IsBool(option.EnableBorderDrag)){chart.EnableBorderDrag=option.EnableBorderDrag;}if(option.Page){if(option.Page.Day&&option.Page.Day.Enable==true)chart.Page.Day.Enable=true;if(option.Page.Minute&&option.Page.Minute.Enable==true)chart.Page.Minute.Enable=true;}if(option.DragDownload){if(option.DragDownload.Day&&option.DragDownload.Day.Enable==true)chart.DragDownload.Day.Enable=true;if(option.DragDownload.Minute&&option.DragDownload.Minute.Enable==true)chart.DragDownload.Minute.Enable=true;}if(option.ZoomDownload){if(option.ZoomDownload.Day&&IFrameSplitOperator.IsBool(option.ZoomDownload.Day.Enable))chart.ZoomDownload.Day.Enable=option.ZoomDownload.Day.Enable;if(option.ZoomDownload.Minute&&IFrameSplitOperator.IsBool(option.ZoomDownload.Minute.Enable))chart.ZoomDownload.Minute.Enable=option.ZoomDownload.Minute.Enable;}if(option.Language){var value=g_JSChartLocalization.GetLanguageID(option.Language);if(IFrameSplitOperator.IsNumber(value))chart.LanguageID=value;}if(option.SourceDatatLimit)chart.SetSourceDatatLimit(option.SourceDatatLimit);if(option.DrawPicture)//画图工具
|
|
1188
1191
|
{if(option.DrawPicture.StorageKey&&chart.ChartDrawStorage)chart.ChartDrawStorage.Load(option.DrawPicture.StorageKey);}if(option.DrawTool)//画图工具
|
|
1189
1192
|
{if(option.DrawTool.StorageKey&&chart.ChartDrawStorage)chart.ChartDrawStorage.Load(option.DrawTool.StorageKey);}if(option.KeyboardMove){var item=option.KeyboardMove;if(IFrameSplitOperator.IsPlusNumber(item.Delay))chart.KeyboardMove.Delay=item.Delay;}if(IFrameSplitOperator.IsNumber(option.StepPixel))chart.StepPixel=option.StepPixel;if(option.ZoomStepPixel>0)chart.ZoomStepPixel=option.ZoomStepPixel;if(option.IsApiPeriod==true)chart.IsApiPeriod=option.IsApiPeriod;//图形选中
|
|
1190
|
-
if(option.SelectedChart){var item=option.SelectedChart;if(IFrameSplitOperator.IsBool(item.EnableSelected))chart.SelectedChart.EnableSelected=item.EnableSelected;if(IFrameSplitOperator.IsBool(item.EnableMoveOn))chart.SelectedChart.EnableMoveOn=item.EnableMoveOn;}if(!option.Windows||option.Windows.length<=0)return null;//K线扩展计算方法配置
|
|
1193
|
+
if(option.SelectedChart){var item=option.SelectedChart;if(IFrameSplitOperator.IsBool(item.EnableSelected))chart.SelectedChart.EnableSelected=item.EnableSelected;if(IFrameSplitOperator.IsBool(item.EnableMoveOn))chart.SelectedChart.EnableMoveOn=item.EnableMoveOn;}if(option.PressKeyboardConfig)this.SetPressKeyboardConfig(chart,option.PressKeyboardConfig);if(!option.Windows||option.Windows.length<=0)return null;//K线扩展计算方法配置
|
|
1191
1194
|
if(IFrameSplitOperator.IsNonEmptyArray(option.KLineCalcOption)){for(var i=0;i<option.KLineCalcOption.length;++i){var item=option.KLineCalcOption[i];if(!item.ClassName||!item.Option)continue;chart.SetKLineCalcOption(item.ClassName,item.Option);}}if(option.FastSlide){var item=option.FastSlide;if(IFrameSplitOperator.IsNumber(item.MinDistance))chart.FastSlideConfig.MinDistance=item.MinDistance;if(IFrameSplitOperator.IsNumber(item.MinSpeed))chart.FastSlideConfig.MinSpeed=item.MinSpeed;if(IFrameSplitOperator.IsNumber(item.MaxTime))chart.FastSlideConfig.MaxTime=item.MaxTime;if(IFrameSplitOperator.IsBool(item.Enable))chart.FastSlideConfig.Enable=item.Enable;}if(chart.ClassName=="KLineChartContainer"){if(!option.DragSelectRect){option.DragSelectRect={Enable:true};//默认开启区间选中画布
|
|
1192
1195
|
}if(option.DragSelectRect){var zindex=10;var item=option.DragSelectRect;if(IFrameSplitOperator.IsNumber(item.ZIndex))zindex=item.ZIndex;if(item.Enable)this.CreateExtraCanvasElement(JSChart.RectDragCanvasKey,{ZIndex:zindex});//创建独立的区间选择画布
|
|
1193
1196
|
}if(option.DragKLine){var item=option.DragKLine;if(IFrameSplitOperator.IsBool(item.EnableShfit))chart.KLineDragConfig.EnableShfit=item.EnableShfit;}}//创建子窗口
|
|
@@ -1231,7 +1234,7 @@ if(IFrameSplitOperator.IsBool(option.EnableSelectRect)){if(!option.DragSelectRec
|
|
|
1231
1234
|
{if(option.DrawTool.StorageKey&&chart.ChartDrawStorage)chart.ChartDrawStorage.Load(option.DrawTool.StorageKey);}if(option.BeforeOpen)//集合竞价
|
|
1232
1235
|
{var item=option.BeforeOpen;if(IFrameSplitOperator.IsBool(item.IsShow))chart.IsShowBeforeData=item.IsShow;if(IFrameSplitOperator.IsNumber(item.Width))chart.ExtendWidth.Left=item.Width;if(IFrameSplitOperator.IsBool(item.IsShowMultiDay))chart.IsShowMultiDayBeforeData=item.IsShowMultiDay;if(IFrameSplitOperator.IsNumber(item.MulitiDayWidth))chart.MultiDayExtendWidth.Left=item.MulitiDayWidth;}if(option.AfterClose)//收盘集合竞价
|
|
1233
1236
|
{var item=option.AfterClose;if(IFrameSplitOperator.IsBool(item.IsShow))chart.IsShowAfterData=item.IsShow;if(IFrameSplitOperator.IsNumber(item.ShareVol))chart.ShareAfterVol=item.ShareVol;if(IFrameSplitOperator.IsNumber(item.Width))chart.ExtendWidth.Right=item.Width;if(IFrameSplitOperator.IsBool(item.IsShowMultiDay))chart.IsShowMultiDayAfterData=item.IsShowMultiDay;if(IFrameSplitOperator.IsNumber(item.MulitiDayWidth))chart.MultiDayExtendWidth.Right=item.MulitiDayWidth;}//图形选中
|
|
1234
|
-
if(option.SelectedChart){var item=option.SelectedChart;if(IFrameSplitOperator.IsBool(item.EnableSelected))chart.SelectedChart.EnableSelected=item.EnableSelected;if(IFrameSplitOperator.IsBool(item.EnableMoveOn))chart.SelectedChart.EnableMoveOn=item.EnableMoveOn;}if(chart.ClassName=="MinuteChartContainer"){if(!option.DragSelectRect){option.DragSelectRect={Enable:true};//默认开启区间选中画布
|
|
1237
|
+
if(option.SelectedChart){var item=option.SelectedChart;if(IFrameSplitOperator.IsBool(item.EnableSelected))chart.SelectedChart.EnableSelected=item.EnableSelected;if(IFrameSplitOperator.IsBool(item.EnableMoveOn))chart.SelectedChart.EnableMoveOn=item.EnableMoveOn;}if(option.PressKeyboardConfig)this.SetPressKeyboardConfig(chart,option.PressKeyboardConfig);if(chart.ClassName=="MinuteChartContainer"){if(!option.DragSelectRect){option.DragSelectRect={Enable:true};//默认开启区间选中画布
|
|
1235
1238
|
}if(option.DragSelectRect){var item=option.DragSelectRect;var zindex=10;if(IFrameSplitOperator.IsNumber(item.ZIndex))zindex=item.ZIndex;if(item.Enable)this.CreateExtraCanvasElement(JSChart.RectDragCanvasKey,{ZIndex:zindex});//创建独立的区间选择画布
|
|
1236
1239
|
}}if(option.EnableYDrag){var item=option.EnableYDrag;if(IFrameSplitOperator.IsBool(item.Left))chart.EnableYDrag.Left=item.Left;if(IFrameSplitOperator.IsBool(item.Right))chart.EnableYDrag.Right=item.Right;if(IFrameSplitOperator.IsBool(item.Wheel))chart.EnableYDrag.Wheel=item.Wheel;if(IFrameSplitOperator.IsNumber(item.WheelYMove))chart.EnableYDrag.WheelYMove=item.WheelYMove;}if(option.FastSlide){var item=option.FastSlide;if(IFrameSplitOperator.IsNumber(item.MinDistance))chart.FastSlideConfig.MinDistance=item.MinDistance;if(IFrameSplitOperator.IsNumber(item.MinSpeed))chart.FastSlideConfig.MinSpeed=item.MinSpeed;if(IFrameSplitOperator.IsNumber(item.MaxTime))chart.FastSlideConfig.MaxTime=item.MaxTime;if(IFrameSplitOperator.IsBool(item.Enable))chart.FastSlideConfig.Enable=item.Enable;}//分页
|
|
1237
1240
|
if(option.PageInfo)chart.SetPageInfo(option.PageInfo);chart.Create(windowsCount,option);//创建子窗口
|
|
@@ -1348,9 +1351,7 @@ if(option.TooltipDialog&&option.TooltipDialog.Enable)chart.InitalTooltipDialog(o
|
|
|
1348
1351
|
if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}//设置股票代码
|
|
1349
1352
|
if(!option.Symbol){chart.DrawEmpty();this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
|
|
1350
1353
|
}else{chart.Draw();chart.ChangeSymbol(option.Symbol);this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
|
|
1351
|
-
this.JSChartContainer.Draw();}};this.CreateResizeListener=function(){var _this3=this;this.ResizeListener=new ResizeObserver(function(entries){_this3.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSChart::OnDivResize] entries=",entries);this.OnSize({Type:1});}
|
|
1352
|
-
this.CreateToolbar=function(option){};//创建设置div窗口
|
|
1353
|
-
this.CreateSettingDiv=function(option){};this.Focus=function(){if(this.CanvasElement)this.CanvasElement.focus();};//切换股票代码接口
|
|
1354
|
+
this.JSChartContainer.Draw();}};this.CreateResizeListener=function(){var _this3=this;this.ResizeListener=new ResizeObserver(function(entries){_this3.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSChart::OnDivResize] entries=",entries);this.OnSize({Type:1});};this.Focus=function(){if(this.CanvasElement)this.CanvasElement.focus();};//切换股票代码接口
|
|
1354
1355
|
this.ChangeSymbol=function(symbol,option){if(this.JSChartContainer)this.JSChartContainer.ChangeSymbol(symbol,option);};//K线切换指标
|
|
1355
1356
|
this.ChangeIndex=function(windowIndex,indexName,option){if(this.JSChartContainer&&typeof this.JSChartContainer.ChangeIndex=='function')this.JSChartContainer.ChangeIndex(windowIndex,indexName,option);};//切换一个窗口指标,包含叠加指标,以及这个窗口的属性
|
|
1356
1357
|
this.ChangeIndexWindow=function(windowIndex,option){if(this.JSChartContainer&&typeof this.JSChartContainer.ChangeIndexWindow=='function')this.JSChartContainer.ChangeIndexWindow(windowIndex,option);};this.AddIndexWindow=function(indexName,option){if(this.JSChartContainer&&typeof this.JSChartContainer.AddIndexWindow=='function')this.JSChartContainer.AddIndexWindow(indexName,option);};this.AddScriptIndexWindow=function(indexInfo,option){if(this.JSChartContainer&&typeof this.JSChartContainer.AddScriptIndexWindow=='function')this.JSChartContainer.AddScriptIndexWindow(indexInfo,option);};this.AddAPIIndexWindow=function(indexData,option){if(this.JSChartContainer&&typeof this.JSChartContainer.AddAPIIndexWindow=='function')this.JSChartContainer.AddAPIIndexWindow(indexData,option);};this.RemoveIndexWindow=function(id){if(this.JSChartContainer&&typeof this.JSChartContainer.RemoveIndexWindow=='function')this.JSChartContainer.RemoveIndexWindow(id);};this.ChangeScriptIndex=function(windowIndex,indexData,option){if(this.JSChartContainer&&typeof this.JSChartContainer.ChangeScriptIndex=='function')this.JSChartContainer.ChangeScriptIndex(windowIndex,indexData,option);};this.ChangePyScriptIndex=function(windowIndex,indexData)//切换py指标
|
|
@@ -1724,6 +1725,7 @@ this.TouchDrawCount=0;//手势绘制次数
|
|
|
1724
1725
|
this.DisableMouse=false;//禁止鼠标事件
|
|
1725
1726
|
this.LanguageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;this.PressTime=500;this.IsPress=false;//是否长按
|
|
1726
1727
|
this.IsPressKeyboard=false;//是否键盘按键
|
|
1728
|
+
this.PressKeyboardConfig={PauseUpdate:false};//按键以后 是否涨停数据更新
|
|
1727
1729
|
this.NetworkFilter;//网络请求回调 function(data, callback);
|
|
1728
1730
|
this.LastMouseStatus={MouseOnToolbar:null};// MouseOnToolbar={ Rect:{}, Title: }
|
|
1729
1731
|
this.ClickDownPoint;//鼠标点击坐标 {X, Y}, 鼠标放开以后清空为null
|
|
@@ -2418,7 +2420,8 @@ RectSelectPaint:paint//区间选择背景
|
|
|
2418
2420
|
this.FastSlideEvent=function(){if(!this.TouchDrag)return false;if(!this.FastSlideConfig)return false;var config=this.FastSlideConfig;if(!config.Enable)return false;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_TOUCH_FAST_SLIDE);if(!event||!event.Callback)return false;var drag=this.TouchDrag;var time=Date.now();var spanTime=time-drag.StartTime;if(spanTime>config.MaxTime)return false;if(!drag.Click||!drag.LastMove)return false;var xStart=drag.Click.X;var xEnd=drag.LastMove.X;if(!IFrameSplitOperator.IsNumber(xStart)||!IFrameSplitOperator.IsNumber(xEnd))return false;var distance=xEnd-xStart;var speed=Math.abs(distance)/spanTime;JSConsole.Chart.Log('[JSChartContainer:FastSlideEvent] speed='+speed+', distance='+distance+', spanTime='+spanTime);if(Math.abs(distance)<config.MinDistance)return false;if(speed<config.MinSpeed)return false;var sendData={Speed:speed,Distance:distance,IsLeft:distance<0?true:false};event.Callback(event,sendData,this);return true;};//是否是额外的集合竞价部分
|
|
2419
2421
|
this.IsCallAuctionFrame=function(frameID){return false;};//更新交易状态
|
|
2420
2422
|
this.UpdateTradeStatusData=function(data,option){if(option){//是否清空
|
|
2421
|
-
if(option.IsClear===true)this.GlobalOption.TradeStatus=null;}if(!data)return false;if(IFrameSplitOperator.IsNumber(data.Date)&&IFrameSplitOperator.IsNumber(data.Time)&&IFrameSplitOperator.IsNumber(data.Status)){this.GlobalOption.TradeStatus={Date:data.Date,Time:data.Time,Status:data.Status};return true;}return false;}
|
|
2423
|
+
if(option.IsClear===true)this.GlobalOption.TradeStatus=null;}if(!data)return false;if(IFrameSplitOperator.IsNumber(data.Date)&&IFrameSplitOperator.IsNumber(data.Time)&&IFrameSplitOperator.IsNumber(data.Status)){this.GlobalOption.TradeStatus={Date:data.Date,Time:data.Time,Status:data.Status};return true;}return false;};//键盘下按暂停更新
|
|
2424
|
+
this.IsPauseUpdateByKeyboard=function(){if(!this.IsPressKeyboard)return false;if(!this.PressKeyboardConfig)return false;if(!this.PressKeyboardConfig.PauseUpdate)return false;return true;};}function GetDevicePixelRatio(){if(typeof window=='undefined')return 1;return window.devicePixelRatio||1;}function GetFontHeight(context,font,word){if(!context)return null;if(font)context.font=font;var text='擎';if(IFrameSplitOperator.IsString(word))text=word;var fontInfo=context.measureText(text);var textHeight=fontInfo.fontBoundingBoxAscent+fontInfo.fontBoundingBoxDescent;if(!IFrameSplitOperator.IsNumber(textHeight))textHeight=fontInfo.width+2*GetDevicePixelRatio();return textHeight;}function IsPhoneWeb(){var userAgentInfo=navigator.userAgent;var Agents=new Array("Android","iPhone","SymbianOS","Windows Phone","iPad","iPod");for(var v=0;v<Agents.length;v++){if(userAgentInfo.indexOf(Agents[v])>0)return true;}return false;}function OnKeyDown(e)//键盘事件
|
|
2422
2425
|
{if(this.JSChartContainer&&this.JSChartContainer.OnKeyDown)this.JSChartContainer.OnKeyDown(e);}function OnKeyUp(e)//键盘事件
|
|
2423
2426
|
{if(this.JSChartContainer&&this.JSChartContainer.OnKeyUp)this.JSChartContainer.OnKeyUp(e);}function OnWheel(e)//上下滚动事件
|
|
2424
2427
|
{if(this.JSChartContainer&&this.JSChartContainer.OnWheel)this.JSChartContainer.OnWheel(e);}function ToFixed(number,precision){var b=1;if(isNaN(number))return number;if(number<0)b=-1;var multiplier=Math.pow(10,precision);var value=Math.round(Math.abs(number)*multiplier)/multiplier*b;if(/^(\d+(?:\.\d+)?)(e)([\-]?\d+)$/.test(value))var s=value.toFixed2(precision);else var s=value.toString();var rs=s.indexOf('.');if(rs<0&&precision>0){rs=s.length;s+='.';}while(s.length<=rs+precision){s+='0';}return s;}function IsRectOverlap(rt,rt2){if(Math.max(rt.Left,rt2.Left)<Math.min(rt.Right,rt2.Right)&&Math.max(rt.Top,rt2.Top)<Math.min(rt.Bottom,rt2.Bottom))return true;return false;}//获取文字高度和宽度
|
|
@@ -7996,7 +7999,7 @@ this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
|
7996
7999
|
this.Frame.SetSizeChage(true);this.Draw();this.SendKLineUpdateEvent(bindData);this.UpdateDOMTooltip(0,bindData);this.UpdateHQFloatTooltip(bindData);//叠加指标计算
|
|
7997
8000
|
this.BindAllOverlayIndexData(bindData,{CheckRunCount:true,SyncExecute:false});//异步模式叠加指标
|
|
7998
8001
|
if(this.mapEvent.has(JSCHART_EVENT_ID.ON_RECV_REALTIME_DATA)){var event=this.mapEvent.get(JSCHART_EVENT_ID.ON_RECV_REALTIME_DATA);var data={HistoryData:bindData,Stock:{Symbol:this.Symbol,Name:this.Name}};event.Callback(event,data,this);}};this.RecvRealtimeData=function(data){if(this.IsOnTouch==true)return;//正在操作手势不更新数据
|
|
7999
|
-
if(this.
|
|
8002
|
+
if(this.IsPauseUpdateByKeyboard())return;//正在操作键盘不更新数据
|
|
8000
8003
|
if(data.Ver==3.0){this.RecvRealtimeDataV2(data);return;}var realtimeData=KLineChartContainer.JsonDataToRealtimeData(data,this.Symbol);if(!realtimeData)return;var item=this.SourceData.Data[this.SourceData.Data.length-1];//最新的一条数据
|
|
8001
8004
|
var lastDataCount=this.GetHistoryDataCount();//保存下上一次的数据个数
|
|
8002
8005
|
if(this.SourceData.Data.length==0)//第1条数据
|
|
@@ -8038,7 +8041,7 @@ Explain:'当天1分钟K线数据',Request:{Url:self.RealtimeApiUrl,Data:{symbol:
|
|
|
8038
8041
|
}JSNetwork.HttpRequest({url:this.RealtimeApiUrl,data:{"field":["name","symbol","price","yclose","minutecount","minute","date","time"],"symbol":arySymbol,"start":-1},type:"post",dataType:"json",async:true,success:function success(data){self.RecvMinuteRealtimeData(data);self.AutoUpdate();}});};this.SetSourceDatatLimit=function(aryLimit){this.SourceDataLimit=new _map2.default();for(var i in aryLimit){var item=aryLimit[i];this.SourceDataLimit.set(item.Period,item.MaxCount);//每个周期缓存数据最大个数 key=周期 value=最大个数
|
|
8039
8042
|
JSConsole.Chart.Log('[KLineChartContainer::SetSourceDatatLimit] Period='+item.Period+', MaxCount='+item.MaxCount);}};this.ReduceSourceData=function(){if(!this.SourceDataLimit)return;if(!this.SourceDataLimit.has(this.Period))return;var limitCount=this.SourceDataLimit.get(this.Period);var frameHisdata=null;if(!this.Frame.Data)frameHisdata=this.Frame.Data;else if(this.Frame.SubFrame&&this.Frame.SubFrame[0])frameHisdata=this.Frame.SubFrame[0].Frame.Data;if(!frameHisdata)return;if(limitCount<50)return;var dataOffset=frameHisdata.DataOffset;var removeCount=0;while(this.SourceData.Data.length>limitCount){this.SourceData.Data.shift();--dataOffset;++removeCount;}if(removeCount>0){if(dataOffset<0)dataOffset=0;frameHisdata.DataOffset=dataOffset;JSConsole.Chart.Log('[KLineChartContainer::ReduceSourceData] remove data '+removeCount+', dataOffset='+dataOffset);}};this.RecvMinuteRealtimeDataV2=function(data)//新版本的
|
|
8040
8043
|
{if(this.IsOnTouch==true)return;//正在操作中不更新数据
|
|
8041
|
-
if(this.
|
|
8044
|
+
if(this.IsPauseUpdateByKeyboard())return;//正在操作键盘不更新数据
|
|
8042
8045
|
if(this.EnableVerifyRecvData&&data.symbol!=this.Symbol){JSConsole.Chart.Warn('[KLineChartContainer::RecvMinuteRealtimeDataV2] recv data symbol not match. HQChart['+this.Symbol+'] , Recv['+data.symbol+']');return;}var aryMinuteData=KLineChartContainer.JsonDataToMinuteHistoryData(data);if(!aryMinuteData||aryMinuteData.length<=0)return;if(this.IsApiPeriod)this.ReduceSourceData();//减少数据
|
|
8043
8046
|
var lastDataCount=this.GetHistoryDataCount();//保存下上一次的数据个数
|
|
8044
8047
|
if(!this.SourceData)return;if(!this.SourceData.MergeMinuteData(aryMinuteData,this.Period))return;JSConsole.Chart.Log('[KLineChartContainer::RecvMinuteRealtimeDataV2] update kline by 1 minute data ['+lastDataCount+'->'+this.SourceData.Data.length+'], IsAutoSyncDataOffset='+this.IsAutoSyncDataOffset);if(this.IsAutoSyncDataOffset===false)lastDataCount=null;//维持当前的屏位置
|
|
@@ -9078,7 +9081,7 @@ if(IFrameSplitOperator.IsNonEmptyArray(data.stock)&&data.stock[0]){this.DataStat
|
|
|
9078
9081
|
this.RecvBuySellData(data.stock[0].BuySellData);}if(data.LatestPointFlash)//最新数据闪烁
|
|
9079
9082
|
{var item=data.LatestPointFlash;if(IFrameSplitOperator.IsNumber(item.FlashCount))this.SetLatestPointFlash(item.FlashCount);}this.DataStatus.LatestDay=true;if(this.DayCount>1)//多日走势图
|
|
9080
9083
|
{this.UpdateCallCationData(beforeOpenData,afterCloseData);this.UpdateLineColorData(aryColorData,data.stock[0].date);this.UpdateLatestMinuteData(aryMinuteData,data.stock[0].date,data.stock[0]);this.UpdateTradeStatusData(data.TradeStatus);this.UpdateHistoryMinuteUI(updateTime);this.RecvMinuteDataEvent({FunctionName:"RecvMinuteData"});this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
|
|
9081
|
-
this.BindAllOverlayIndexData(this.SourceData,{SyncExecute:false});this.AutoUpdateEvent(true,"MinuteChartContainer::RecvMinuteData");this.AutoUpdate();return;}if(this.IsOnTouch==true||this.
|
|
9084
|
+
this.BindAllOverlayIndexData(this.SourceData,{SyncExecute:false});this.AutoUpdateEvent(true,"MinuteChartContainer::RecvMinuteData");this.AutoUpdate();return;}if(this.IsOnTouch==true||this.IsPauseUpdateByKeyboard())//正在操作中不更新数据
|
|
9082
9085
|
{if(this.SourceData&&IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data)){this.AutoUpdate();return;}}//原始数据
|
|
9083
9086
|
var sourceData=new ChartData();sourceData.Data=aryMinuteData;sourceData.UpdateTime=updateTime;this.SourceData=sourceData;this.ColorLineData=aryColorData;this.UpdateTradeStatusData(data.TradeStatus);this.UpdateMinuteUI(data.stock[0],{FunctionName:"RecvMinuteData",Day:{IsFirstData:bFirstData}});if(data.AutoUpdate===false)//不执行自动更新
|
|
9084
9087
|
{}else{this.AutoUpdateEvent(true,"MinuteChartContainer::RecvMinuteData");this.AutoUpdate();}};//更新单日分时图
|
|
@@ -15167,7 +15170,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
15167
15170
|
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);};}/********************************************************************************
|
|
15168
15171
|
* 版本信息输出
|
|
15169
15172
|
*
|
|
15170
|
-
*/var HQCHART_VERSION="1.1.
|
|
15173
|
+
*/var HQCHART_VERSION="1.1.14875";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();//把给外界调用的方法暴露出来
|
|
15171
15174
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
15172
15175
|
// BaseIndex:BaseIndex,
|
|
15173
15176
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -261,6 +261,16 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
261
261
|
}
|
|
262
262
|
}
|
|
263
263
|
|
|
264
|
+
/////////////////////////////////////////////////////////////////////////////////
|
|
265
|
+
//属性设置
|
|
266
|
+
//
|
|
267
|
+
|
|
268
|
+
this.SetPressKeyboardConfig=function(chart, option)
|
|
269
|
+
{
|
|
270
|
+
if (!chart || !option) return;
|
|
271
|
+
if (IFrameSplitOperator.IsBool(option.PauseUpdate)) chart.PressKeyboardConfig.PauseUpdate=option.PauseUpdate;
|
|
272
|
+
}
|
|
273
|
+
|
|
264
274
|
//历史K线图
|
|
265
275
|
this.CreateKLineChartContainer=function(option)
|
|
266
276
|
{
|
|
@@ -421,6 +431,8 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
421
431
|
if (IFrameSplitOperator.IsBool(item.EnableMoveOn)) chart.SelectedChart.EnableMoveOn=item.EnableMoveOn;
|
|
422
432
|
}
|
|
423
433
|
|
|
434
|
+
if (option.PressKeyboardConfig) this.SetPressKeyboardConfig(chart, option.PressKeyboardConfig);
|
|
435
|
+
|
|
424
436
|
if (!option.Windows || option.Windows.length<=0) return null;
|
|
425
437
|
|
|
426
438
|
//K线扩展计算方法配置
|
|
@@ -998,6 +1010,8 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
998
1010
|
if (IFrameSplitOperator.IsBool(item.EnableMoveOn)) chart.SelectedChart.EnableMoveOn=item.EnableMoveOn;
|
|
999
1011
|
}
|
|
1000
1012
|
|
|
1013
|
+
if (option.PressKeyboardConfig) this.SetPressKeyboardConfig(chart, option.PressKeyboardConfig);
|
|
1014
|
+
|
|
1001
1015
|
if (chart.ClassName=="MinuteChartContainer")
|
|
1002
1016
|
{
|
|
1003
1017
|
if (!option.DragSelectRect)
|
|
@@ -1902,18 +1916,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
1902
1916
|
this.OnSize( {Type:1} );
|
|
1903
1917
|
}
|
|
1904
1918
|
|
|
1905
|
-
//创建工具条
|
|
1906
|
-
this.CreateToolbar=function(option)
|
|
1907
|
-
{
|
|
1908
|
-
|
|
1909
|
-
}
|
|
1910
|
-
|
|
1911
|
-
//创建设置div窗口
|
|
1912
|
-
this.CreateSettingDiv=function(option)
|
|
1913
|
-
{
|
|
1914
|
-
|
|
1915
|
-
}
|
|
1916
|
-
|
|
1917
1919
|
this.Focus=function()
|
|
1918
1920
|
{
|
|
1919
1921
|
if (this.CanvasElement) this.CanvasElement.focus();
|
|
@@ -3219,6 +3221,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3219
3221
|
this.PressTime=500;
|
|
3220
3222
|
this.IsPress=false; //是否长按
|
|
3221
3223
|
this.IsPressKeyboard=false; //是否键盘按键
|
|
3224
|
+
this.PressKeyboardConfig={ PauseUpdate:false, }; //按键以后 是否涨停数据更新
|
|
3222
3225
|
|
|
3223
3226
|
this.NetworkFilter; //网络请求回调 function(data, callback);
|
|
3224
3227
|
this.LastMouseStatus={ MouseOnToolbar:null }; // MouseOnToolbar={ Rect:{}, Title: }
|
|
@@ -12117,6 +12120,16 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
12117
12120
|
|
|
12118
12121
|
return false;
|
|
12119
12122
|
}
|
|
12123
|
+
|
|
12124
|
+
//键盘下按暂停更新
|
|
12125
|
+
this.IsPauseUpdateByKeyboard=function()
|
|
12126
|
+
{
|
|
12127
|
+
if (!this.IsPressKeyboard) return false;
|
|
12128
|
+
if (!this.PressKeyboardConfig) return false;
|
|
12129
|
+
if (!this.PressKeyboardConfig.PauseUpdate) return false;
|
|
12130
|
+
|
|
12131
|
+
return true;
|
|
12132
|
+
}
|
|
12120
12133
|
}
|
|
12121
12134
|
|
|
12122
12135
|
function GetDevicePixelRatio()
|
|
@@ -82605,7 +82618,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
82605
82618
|
this.RecvRealtimeData=function(data)
|
|
82606
82619
|
{
|
|
82607
82620
|
if (this.IsOnTouch==true) return; //正在操作手势不更新数据
|
|
82608
|
-
if (this.
|
|
82621
|
+
if (this.IsPauseUpdateByKeyboard()) return; //正在操作键盘不更新数据
|
|
82609
82622
|
|
|
82610
82623
|
if (data.Ver==3.0)
|
|
82611
82624
|
{
|
|
@@ -82952,7 +82965,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
82952
82965
|
this.RecvMinuteRealtimeDataV2=function(data) //新版本的
|
|
82953
82966
|
{
|
|
82954
82967
|
if (this.IsOnTouch==true) return; //正在操作中不更新数据
|
|
82955
|
-
if (this.
|
|
82968
|
+
if (this.IsPauseUpdateByKeyboard()) return; //正在操作键盘不更新数据
|
|
82956
82969
|
|
|
82957
82970
|
if (this.EnableVerifyRecvData && data.symbol!=this.Symbol)
|
|
82958
82971
|
{
|
|
@@ -92626,7 +92639,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
92626
92639
|
return;
|
|
92627
92640
|
}
|
|
92628
92641
|
|
|
92629
|
-
if (this.IsOnTouch==true || this.
|
|
92642
|
+
if (this.IsOnTouch==true || this.IsPauseUpdateByKeyboard()) //正在操作中不更新数据
|
|
92630
92643
|
{
|
|
92631
92644
|
if (this.SourceData && IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data))
|
|
92632
92645
|
{
|
|
@@ -1509,18 +1509,15 @@ input[type="color"] {
|
|
|
1509
1509
|
top: 1px;
|
|
1510
1510
|
height: 500px;
|
|
1511
1511
|
width: 600px;
|
|
1512
|
-
z-index: 809;
|
|
1513
1512
|
visibility:hidden;
|
|
1514
1513
|
background-color: rgba(255,255,255,0.95);
|
|
1515
1514
|
border: solid 1px rgba(200, 210, 219, 0.92);
|
|
1516
|
-
display: flex;
|
|
1517
|
-
flex-flow: column;
|
|
1518
1515
|
z-index: 99;
|
|
1519
1516
|
}
|
|
1520
1517
|
|
|
1521
1518
|
.jschart_pop_minute_chart
|
|
1522
1519
|
{
|
|
1523
|
-
|
|
1520
|
+
height:480px
|
|
1524
1521
|
}
|
|
1525
1522
|
|
|
1526
1523
|
.jschart_pop_minute_chart_Title_Div
|
|
@@ -4357,6 +4357,16 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4357
4357
|
}
|
|
4358
4358
|
}
|
|
4359
4359
|
|
|
4360
|
+
/////////////////////////////////////////////////////////////////////////////////
|
|
4361
|
+
//属性设置
|
|
4362
|
+
//
|
|
4363
|
+
|
|
4364
|
+
this.SetPressKeyboardConfig=function(chart, option)
|
|
4365
|
+
{
|
|
4366
|
+
if (!chart || !option) return;
|
|
4367
|
+
if (IFrameSplitOperator.IsBool(option.PauseUpdate)) chart.PressKeyboardConfig.PauseUpdate=option.PauseUpdate;
|
|
4368
|
+
}
|
|
4369
|
+
|
|
4360
4370
|
//历史K线图
|
|
4361
4371
|
this.CreateKLineChartContainer=function(option)
|
|
4362
4372
|
{
|
|
@@ -4517,6 +4527,8 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4517
4527
|
if (IFrameSplitOperator.IsBool(item.EnableMoveOn)) chart.SelectedChart.EnableMoveOn=item.EnableMoveOn;
|
|
4518
4528
|
}
|
|
4519
4529
|
|
|
4530
|
+
if (option.PressKeyboardConfig) this.SetPressKeyboardConfig(chart, option.PressKeyboardConfig);
|
|
4531
|
+
|
|
4520
4532
|
if (!option.Windows || option.Windows.length<=0) return null;
|
|
4521
4533
|
|
|
4522
4534
|
//K线扩展计算方法配置
|
|
@@ -5094,6 +5106,8 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5094
5106
|
if (IFrameSplitOperator.IsBool(item.EnableMoveOn)) chart.SelectedChart.EnableMoveOn=item.EnableMoveOn;
|
|
5095
5107
|
}
|
|
5096
5108
|
|
|
5109
|
+
if (option.PressKeyboardConfig) this.SetPressKeyboardConfig(chart, option.PressKeyboardConfig);
|
|
5110
|
+
|
|
5097
5111
|
if (chart.ClassName=="MinuteChartContainer")
|
|
5098
5112
|
{
|
|
5099
5113
|
if (!option.DragSelectRect)
|
|
@@ -5998,18 +6012,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5998
6012
|
this.OnSize( {Type:1} );
|
|
5999
6013
|
}
|
|
6000
6014
|
|
|
6001
|
-
//创建工具条
|
|
6002
|
-
this.CreateToolbar=function(option)
|
|
6003
|
-
{
|
|
6004
|
-
|
|
6005
|
-
}
|
|
6006
|
-
|
|
6007
|
-
//创建设置div窗口
|
|
6008
|
-
this.CreateSettingDiv=function(option)
|
|
6009
|
-
{
|
|
6010
|
-
|
|
6011
|
-
}
|
|
6012
|
-
|
|
6013
6015
|
this.Focus=function()
|
|
6014
6016
|
{
|
|
6015
6017
|
if (this.CanvasElement) this.CanvasElement.focus();
|
|
@@ -7315,6 +7317,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7315
7317
|
this.PressTime=500;
|
|
7316
7318
|
this.IsPress=false; //是否长按
|
|
7317
7319
|
this.IsPressKeyboard=false; //是否键盘按键
|
|
7320
|
+
this.PressKeyboardConfig={ PauseUpdate:false, }; //按键以后 是否涨停数据更新
|
|
7318
7321
|
|
|
7319
7322
|
this.NetworkFilter; //网络请求回调 function(data, callback);
|
|
7320
7323
|
this.LastMouseStatus={ MouseOnToolbar:null }; // MouseOnToolbar={ Rect:{}, Title: }
|
|
@@ -16213,6 +16216,16 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
16213
16216
|
|
|
16214
16217
|
return false;
|
|
16215
16218
|
}
|
|
16219
|
+
|
|
16220
|
+
//键盘下按暂停更新
|
|
16221
|
+
this.IsPauseUpdateByKeyboard=function()
|
|
16222
|
+
{
|
|
16223
|
+
if (!this.IsPressKeyboard) return false;
|
|
16224
|
+
if (!this.PressKeyboardConfig) return false;
|
|
16225
|
+
if (!this.PressKeyboardConfig.PauseUpdate) return false;
|
|
16226
|
+
|
|
16227
|
+
return true;
|
|
16228
|
+
}
|
|
16216
16229
|
}
|
|
16217
16230
|
|
|
16218
16231
|
function GetDevicePixelRatio()
|
|
@@ -86701,7 +86714,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
86701
86714
|
this.RecvRealtimeData=function(data)
|
|
86702
86715
|
{
|
|
86703
86716
|
if (this.IsOnTouch==true) return; //正在操作手势不更新数据
|
|
86704
|
-
if (this.
|
|
86717
|
+
if (this.IsPauseUpdateByKeyboard()) return; //正在操作键盘不更新数据
|
|
86705
86718
|
|
|
86706
86719
|
if (data.Ver==3.0)
|
|
86707
86720
|
{
|
|
@@ -87048,7 +87061,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
87048
87061
|
this.RecvMinuteRealtimeDataV2=function(data) //新版本的
|
|
87049
87062
|
{
|
|
87050
87063
|
if (this.IsOnTouch==true) return; //正在操作中不更新数据
|
|
87051
|
-
if (this.
|
|
87064
|
+
if (this.IsPauseUpdateByKeyboard()) return; //正在操作键盘不更新数据
|
|
87052
87065
|
|
|
87053
87066
|
if (this.EnableVerifyRecvData && data.symbol!=this.Symbol)
|
|
87054
87067
|
{
|
|
@@ -96722,7 +96735,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96722
96735
|
return;
|
|
96723
96736
|
}
|
|
96724
96737
|
|
|
96725
|
-
if (this.IsOnTouch==true || this.
|
|
96738
|
+
if (this.IsOnTouch==true || this.IsPauseUpdateByKeyboard()) //正在操作中不更新数据
|
|
96726
96739
|
{
|
|
96727
96740
|
if (this.SourceData && IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data))
|
|
96728
96741
|
{
|
|
@@ -150724,7 +150737,7 @@ function ScrollBarBGChart()
|
|
|
150724
150737
|
|
|
150725
150738
|
|
|
150726
150739
|
|
|
150727
|
-
var HQCHART_VERSION="1.1.
|
|
150740
|
+
var HQCHART_VERSION="1.1.14875";
|
|
150728
150741
|
|
|
150729
150742
|
function PrintHQChartVersion()
|
|
150730
150743
|
{
|
|
@@ -4401,6 +4401,16 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4401
4401
|
}
|
|
4402
4402
|
}
|
|
4403
4403
|
|
|
4404
|
+
/////////////////////////////////////////////////////////////////////////////////
|
|
4405
|
+
//属性设置
|
|
4406
|
+
//
|
|
4407
|
+
|
|
4408
|
+
this.SetPressKeyboardConfig=function(chart, option)
|
|
4409
|
+
{
|
|
4410
|
+
if (!chart || !option) return;
|
|
4411
|
+
if (IFrameSplitOperator.IsBool(option.PauseUpdate)) chart.PressKeyboardConfig.PauseUpdate=option.PauseUpdate;
|
|
4412
|
+
}
|
|
4413
|
+
|
|
4404
4414
|
//历史K线图
|
|
4405
4415
|
this.CreateKLineChartContainer=function(option)
|
|
4406
4416
|
{
|
|
@@ -4561,6 +4571,8 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4561
4571
|
if (IFrameSplitOperator.IsBool(item.EnableMoveOn)) chart.SelectedChart.EnableMoveOn=item.EnableMoveOn;
|
|
4562
4572
|
}
|
|
4563
4573
|
|
|
4574
|
+
if (option.PressKeyboardConfig) this.SetPressKeyboardConfig(chart, option.PressKeyboardConfig);
|
|
4575
|
+
|
|
4564
4576
|
if (!option.Windows || option.Windows.length<=0) return null;
|
|
4565
4577
|
|
|
4566
4578
|
//K线扩展计算方法配置
|
|
@@ -5138,6 +5150,8 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5138
5150
|
if (IFrameSplitOperator.IsBool(item.EnableMoveOn)) chart.SelectedChart.EnableMoveOn=item.EnableMoveOn;
|
|
5139
5151
|
}
|
|
5140
5152
|
|
|
5153
|
+
if (option.PressKeyboardConfig) this.SetPressKeyboardConfig(chart, option.PressKeyboardConfig);
|
|
5154
|
+
|
|
5141
5155
|
if (chart.ClassName=="MinuteChartContainer")
|
|
5142
5156
|
{
|
|
5143
5157
|
if (!option.DragSelectRect)
|
|
@@ -6042,18 +6056,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
6042
6056
|
this.OnSize( {Type:1} );
|
|
6043
6057
|
}
|
|
6044
6058
|
|
|
6045
|
-
//创建工具条
|
|
6046
|
-
this.CreateToolbar=function(option)
|
|
6047
|
-
{
|
|
6048
|
-
|
|
6049
|
-
}
|
|
6050
|
-
|
|
6051
|
-
//创建设置div窗口
|
|
6052
|
-
this.CreateSettingDiv=function(option)
|
|
6053
|
-
{
|
|
6054
|
-
|
|
6055
|
-
}
|
|
6056
|
-
|
|
6057
6059
|
this.Focus=function()
|
|
6058
6060
|
{
|
|
6059
6061
|
if (this.CanvasElement) this.CanvasElement.focus();
|
|
@@ -7359,6 +7361,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7359
7361
|
this.PressTime=500;
|
|
7360
7362
|
this.IsPress=false; //是否长按
|
|
7361
7363
|
this.IsPressKeyboard=false; //是否键盘按键
|
|
7364
|
+
this.PressKeyboardConfig={ PauseUpdate:false, }; //按键以后 是否涨停数据更新
|
|
7362
7365
|
|
|
7363
7366
|
this.NetworkFilter; //网络请求回调 function(data, callback);
|
|
7364
7367
|
this.LastMouseStatus={ MouseOnToolbar:null }; // MouseOnToolbar={ Rect:{}, Title: }
|
|
@@ -16257,6 +16260,16 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
16257
16260
|
|
|
16258
16261
|
return false;
|
|
16259
16262
|
}
|
|
16263
|
+
|
|
16264
|
+
//键盘下按暂停更新
|
|
16265
|
+
this.IsPauseUpdateByKeyboard=function()
|
|
16266
|
+
{
|
|
16267
|
+
if (!this.IsPressKeyboard) return false;
|
|
16268
|
+
if (!this.PressKeyboardConfig) return false;
|
|
16269
|
+
if (!this.PressKeyboardConfig.PauseUpdate) return false;
|
|
16270
|
+
|
|
16271
|
+
return true;
|
|
16272
|
+
}
|
|
16260
16273
|
}
|
|
16261
16274
|
|
|
16262
16275
|
function GetDevicePixelRatio()
|
|
@@ -86745,7 +86758,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
86745
86758
|
this.RecvRealtimeData=function(data)
|
|
86746
86759
|
{
|
|
86747
86760
|
if (this.IsOnTouch==true) return; //正在操作手势不更新数据
|
|
86748
|
-
if (this.
|
|
86761
|
+
if (this.IsPauseUpdateByKeyboard()) return; //正在操作键盘不更新数据
|
|
86749
86762
|
|
|
86750
86763
|
if (data.Ver==3.0)
|
|
86751
86764
|
{
|
|
@@ -87092,7 +87105,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
87092
87105
|
this.RecvMinuteRealtimeDataV2=function(data) //新版本的
|
|
87093
87106
|
{
|
|
87094
87107
|
if (this.IsOnTouch==true) return; //正在操作中不更新数据
|
|
87095
|
-
if (this.
|
|
87108
|
+
if (this.IsPauseUpdateByKeyboard()) return; //正在操作键盘不更新数据
|
|
87096
87109
|
|
|
87097
87110
|
if (this.EnableVerifyRecvData && data.symbol!=this.Symbol)
|
|
87098
87111
|
{
|
|
@@ -96766,7 +96779,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96766
96779
|
return;
|
|
96767
96780
|
}
|
|
96768
96781
|
|
|
96769
|
-
if (this.IsOnTouch==true || this.
|
|
96782
|
+
if (this.IsOnTouch==true || this.IsPauseUpdateByKeyboard()) //正在操作中不更新数据
|
|
96770
96783
|
{
|
|
96771
96784
|
if (this.SourceData && IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data))
|
|
96772
96785
|
{
|
|
@@ -161944,7 +161957,7 @@ function HQChartScriptWorker()
|
|
|
161944
161957
|
|
|
161945
161958
|
|
|
161946
161959
|
|
|
161947
|
-
var HQCHART_VERSION="1.1.
|
|
161960
|
+
var HQCHART_VERSION="1.1.14875";
|
|
161948
161961
|
|
|
161949
161962
|
function PrintHQChartVersion()
|
|
161950
161963
|
{
|