hqchart 1.1.15730 → 1.1.15738
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 +16 -14
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +10 -0
- package/src/jscommon/umychart.js +29 -10
- package/src/jscommon/umychart.popMenu.js +2 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +40 -11
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +42 -11
package/lib/umychart.vue.js
CHANGED
|
@@ -1211,11 +1211,12 @@ var scriptData=new JSIndexScript();if(option.ColorIndex)//五彩K线
|
|
|
1211
1211
|
{var item=option.ColorIndex;var indexInfo=scriptData.Get(item.Index);if(indexInfo){indexInfo.ID=item.Index;chart.ColorIndex=new ScriptIndex(indexInfo.Name,indexInfo.Script,indexInfo.Args,indexInfo);//脚本执行
|
|
1212
1212
|
}}if(option.TradeIndex)//交易指标
|
|
1213
1213
|
{var item=option.TradeIndex;var _indexInfo=scriptData.Get(item.Index);if(_indexInfo){_indexInfo.ID=item.Index;chart.TradeIndex=new ScriptIndex(_indexInfo.Name,_indexInfo.Script,_indexInfo.Args,_indexInfo);//脚本执行
|
|
1214
|
-
}}for(var i=0;i<option.Windows.length;++i){var item=option.Windows[i];if(item
|
|
1214
|
+
}}for(var i=0;i<option.Windows.length;++i){var item=option.Windows[i];if(!item)//没有配置指标
|
|
1215
|
+
{}else if(item.Script){chart.WindowIndex[i]=new ScriptIndex(item.Name,item.Script,item.Args,item);//脚本执行
|
|
1215
1216
|
}else if(item.JsonData){chart.WindowIndex[i]=new JsonDataIndex(item.Name,item.Script,item.Args,item);//脚本执行
|
|
1216
1217
|
}else if(item.Local&&item.Local.Data){chart.WindowIndex[i]=new LocalJsonDataIndex(item.Local.Name,item.Local.Args,{JsonData:item.Local.Data});}else if(item.API)//使用API挂接指标数据 API:{ Name:指标名字, Script:指标脚本可以为空, Args:参数可以为空, Url:指标执行地址 }
|
|
1217
1218
|
{var apiItem=item.API;chart.WindowIndex[i]=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,item);}else{var indexItem=JSIndexMap.Get(item.Index);if(indexItem){chart.WindowIndex[i]=indexItem.Create(item.Option);if(chart.WindowIndex[i].SetArgs)chart.WindowIndex[i].SetArgs(item.Args);chart.CreateWindowIndex(i);}else{var scriptData=new JSIndexScript();var _indexInfo2=scriptData.Get(item.Index);if(!_indexInfo2)continue;JSIndexScript.ModifyAttribute(_indexInfo2,item);_indexInfo2.ID=item.Index;chart.WindowIndex[i]=new ScriptIndex(_indexInfo2.Name,_indexInfo2.Script,_indexInfo2.Args,_indexInfo2);//脚本执行
|
|
1218
|
-
if(item.StringFormat>0)chart.WindowIndex[i].StringFormat=item.StringFormat;if(item.FloatPrecision>=0)chart.WindowIndex[i].FloatPrecision=item.FloatPrecision;}}chart.SetSubFrameAttribute(chart.Frame.SubFrame[i],item,null);chart.UpdateIndexTemporaryAttribute(i,item.AryTemporaryAttribute);//指标临时属性
|
|
1219
|
+
if(item.StringFormat>0)chart.WindowIndex[i].StringFormat=item.StringFormat;if(item.FloatPrecision>=0)chart.WindowIndex[i].FloatPrecision=item.FloatPrecision;}}chart.SetSubFrameAttribute(chart.Frame.SubFrame[i],item,null);if(item)chart.UpdateIndexTemporaryAttribute(i,item.AryTemporaryAttribute);//指标临时属性
|
|
1219
1220
|
}//叠加指标宽度
|
|
1220
1221
|
if(option.OverlayIndexFrameWidth>40)chart.Frame.FixedRightWidth.Overlay=option.OverlayIndexFrameWidth;//叠加指标
|
|
1221
1222
|
if(IFrameSplitOperator.IsNonEmptyArray(option.OverlayIndex)){for(var i=0;i<option.OverlayIndex.length;++i){var item=option.OverlayIndex[i];if(item.Windows>=chart.Frame.SubFrame.length)continue;var itemString=(0,_stringify2.default)(item);var obj=JSON.parse(itemString);if(item.Index)obj.IndexName=item.Index;if(item.Windows>=0)obj.WindowIndex=item.Windows;chart.CreateOverlayWindowsIndex(obj);}}this.AdjustTitleHeight(chart);if(option.LatestPointFlash){var item=option.LatestPointFlash;if(item.Enable){var zIndex=6;if(IFrameSplitOperator.IsNumber(item.ZIndex))zIndex=item.ZIndex;this.CreateExtraCanvasElement(JSChart.LatestPointFlashKey,{ZIndex:zIndex});chart.CreateExtendChart("LatestPointFlashPaint",item);chart.StartLatestPointFlash();}}if(option.KLineCountDown){var item=option.KLineCountDown;if(item.Enable){var zIndex=4;if(IFrameSplitOperator.IsNumber(item.ZIndex))zIndex=item.ZIndex;this.CreateExtraCanvasElement(JSChart.KLineCountDownKey,{ZIndex:zIndex});chart.CreateExtendChart("KLineCountDownPaint",item);chart.StartCountDown();}}return chart;};//自定义指数历史K线图
|
|
@@ -1246,11 +1247,11 @@ if(IFrameSplitOperator.IsBool(option.CorssCursorInfo.IsFixXLastTime))chart.Chart
|
|
|
1246
1247
|
if(option.Overlay){for(var i=0;i<option.Overlay.length;++i){var item=option.Overlay[i];chart.OverlaySymbol(item.Symbol,item);}}if(option.MinuteLine){if(option.MinuteLine.IsDrawAreaPrice==false)chart.ChartPaint[0].IsDrawArea=false;if(option.MinuteLine.IsShowLead==false)chart.IsShowLead=false;if(option.MinuteLine.IsShowAveragePrice==false){chart.ChartPaint[1].IsShow=false;chart.TitlePaint[0].IsShowAveragePrice=false;//标题栏均线也不显示
|
|
1247
1248
|
for(var i=0;i<chart.ExtendChartPaint.length;++i){var item=chart.ExtendChartPaint[i];if(item.ClassName=="MinuteTooltipPaint")item.IsShowAveragePrice=false;}}if(option.MinuteLine.SplitType>0)chart.Frame.SubFrame[0].Frame.YSplitOperator.SplitType=option.MinuteLine.SplitType;}if(option.MinuteVol){var item=option.MinuteVol;if(IFrameSplitOperator.IsNumber(item.BarColorType))chart.ChartPaint[2].BarColorType=item.BarColorType;}if(option.MinuteTitle){var item=option.MinuteTitle;var chartTitle=chart.TitlePaint[0];if(IFrameSplitOperator.IsBool(item.IsShowName))chart.TitlePaint[0].IsShowName=item.IsShowName;if(IFrameSplitOperator.IsBool(item.IsShowDate))chart.TitlePaint[0].IsShowDate=item.IsShowDate;if(IFrameSplitOperator.IsBool(item.IsShowTime))chart.TitlePaint[0].IsShowTime=item.IsShowTime;if(IFrameSplitOperator.IsBool(item.IsTitleShowLatestData))chart.IsTitleShowLatestData=item.IsTitleShowLatestData;if(IFrameSplitOperator.IsBool(item.IsAlwaysShowLastData))chart.TitlePaint[0].IsAlwaysShowLastData=item.IsAlwaysShowLastData;if(IFrameSplitOperator.IsNumber(item.ShowLastDataFormat))chart.TitlePaint[0].ShowLastDataFormat=item.ShowLastDataFormat;if(item.TimeFormat)chart.TitlePaint[0].TimeFormat=item.TimeFormat;if(item.ShowPostion||item.ShowPosition)//显示位置高级配置
|
|
1248
1249
|
{var subItem=item.ShowPostion;if(item.ShowPosition)subItem=item.ShowPosition;if(!chartTitle.ShowPositionConfig)chartTitle.ShowPositionConfig={Margin:{}};if(IFrameSplitOperator.IsNumber(subItem.Type))chartTitle.ShowPositionConfig.Type=subItem.Type;if(subItem.Margin){if(IFrameSplitOperator.IsNumber(subItem.Margin.Left))chartTitle.ShowPositionConfig.Margin.Left=subItem.Margin.Left;if(IFrameSplitOperator.IsNumber(subItem.Margin.Right))chartTitle.ShowPositionConfig.Margin.Right=subItem.Margin.Right;if(IFrameSplitOperator.IsNumber(subItem.Margin.Bottom))chartTitle.ShowPositionConfig.Margin.Bottom=subItem.Margin.Bottom;}}if(IFrameSplitOperator.IsNonEmptyArray(item.OverlayTitleName))chartTitle.AryOverlayTitleName=item.OverlayTitleName.slice();}if(IFrameSplitOperator.IsBool(option.CorssCursorTouchEnd))chart.CorssCursorTouchEnd=option.CorssCursorTouchEnd;if(IFrameSplitOperator.IsBool(option.IsClickShowCorssCursor))chart.IsClickShowCorssCursor=option.IsClickShowCorssCursor;if(option.IsShowBeforeData===true)chart.IsShowBeforeData=option.IsShowBeforeData;var windows=[null,null];if(option.MainWindow)windows[0]=option.MainWindow;if(IFrameSplitOperator.IsNonEmptyArray(option.Windows))windows.push.apply(windows,(0,_toConsumableArray3.default)(option.Windows));//分钟数据指标从第3个指标窗口设置
|
|
1249
|
-
if(IFrameSplitOperator.IsNonEmptyArray(windows)){var scriptData=new JSIndexScript();for(var i=0;i<windows.length;++i){var index=i;var item=windows[i];if(!item)
|
|
1250
|
+
if(IFrameSplitOperator.IsNonEmptyArray(windows)){var scriptData=new JSIndexScript();for(var i=0;i<windows.length;++i){var index=i;var item=windows[i];if(!item){}else if(item.Script){chart.WindowIndex[index]=new ScriptIndex(item.Name,item.Script,item.Args,item);//脚本执行
|
|
1250
1251
|
}else if(item.API)//使用API挂接指标数据 API:{ Name:指标名字, Script:指标脚本可以为空, Args:参数可以为空, Url:指标执行地址 }
|
|
1251
1252
|
{var apiItem=item.API;chart.WindowIndex[index]=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,item);}else{var indexItem=JSIndexMap.Get(item.Index);if(indexItem){chart.WindowIndex[index]=indexItem.Create();//创建子窗口的指标
|
|
1252
1253
|
chart.CreateWindowIndex(index);}else{var indexInfo=scriptData.Get(item.Index);if(!indexInfo)continue;JSIndexScript.ModifyAttribute(indexInfo,item);indexInfo.ID=item.Index;chart.WindowIndex[index]=new ScriptIndex(indexInfo.Name,indexInfo.Script,indexInfo.Args,indexInfo);//脚本执行
|
|
1253
|
-
if(item.StringFormat>0)chart.WindowIndex[index].StringFormat=item.StringFormat;if(item.FloatPrecision>=0)chart.WindowIndex[index].FloatPrecision=item.FloatPrecision;}}chart.SetSubFrameAttribute(chart.Frame.SubFrame[index],item,null);chart.UpdateIndexTemporaryAttribute(i,item.AryTemporaryAttribute);//指标临时属性
|
|
1254
|
+
if(item.StringFormat>0)chart.WindowIndex[index].StringFormat=item.StringFormat;if(item.FloatPrecision>=0)chart.WindowIndex[index].FloatPrecision=item.FloatPrecision;}}chart.SetSubFrameAttribute(chart.Frame.SubFrame[index],item,null);if(item)chart.UpdateIndexTemporaryAttribute(i,item.AryTemporaryAttribute);//指标临时属性
|
|
1254
1255
|
}}this.AdjustTitleHeight(chart);//叠加指标
|
|
1255
1256
|
if(IFrameSplitOperator.IsNonEmptyArray(option.OverlayIndex)){for(var i=0;i<option.OverlayIndex.length;++i){var item=option.OverlayIndex[i];if(item.Windows>=chart.Frame.SubFrame.length)continue;var itemString=(0,_stringify2.default)(item);var obj=JSON.parse(itemString);if(item.Index)obj.IndexName=item.Index;if(item.Windows>=0)obj.WindowIndex=item.Windows;chart.CreateOverlayWindowsIndex(obj);}}if(option.LatestPointFlash){var item=option.LatestPointFlash;if(item.Enable){this.CreateExtraCanvasElement(JSChart.LatestPointFlashKey,{ZIndex:6});chart.CreateExtendChart("LatestPointFlashPaint",item);chart.StartLatestPointFlash();}}return chart;};this.CreateMinMinuteChartContainer=function(option){var chart=null;if(option.Type==="迷你分钟走势图横屏")chart=new MinuteChartHScreenContainer(this.CanvasElement);else chart=new MinuteChartContainer(this.CanvasElement);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;var windowsCount=2;if(option.BeforeOpen)//集合竞价
|
|
1256
1257
|
{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)//收盘集合竞价
|
|
@@ -1682,7 +1683,8 @@ CMD_CORSS_YRIGHT_TEXT_STYLE:64,//十字光标右侧输出样式
|
|
|
1682
1683
|
CMD_DELETE_INDEX_ID:65,//删除指标
|
|
1683
1684
|
CMD_SHOW_MAXMIN_ID:66,//显示隐藏最大最小值
|
|
1684
1685
|
CMD_CHANGE_MINUTE_INFO_ID:67,//切换分时图信息地雷
|
|
1685
|
-
CMD_DELETE_ALL_MINUTE_INFO_ID:68,CMD_MODIFY_MINUTE_INFO_PROPERTY_ID:69,
|
|
1686
|
+
CMD_DELETE_ALL_MINUTE_INFO_ID:68,CMD_MODIFY_MINUTE_INFO_PROPERTY_ID:69,CMD_SHOW_CHANGE_INDEX_DIALOG_ID:70,//切换指标对话框
|
|
1687
|
+
CMD_REPORT_CHANGE_BLOCK_ID:100,//报价列表 切换板块ID
|
|
1686
1688
|
CMD_REPORT_COLUMN_SORT_ID:101,//报价列表 表头排序 Arg[列序号, 排序方向]
|
|
1687
1689
|
CMD_REPORT_COLUMN_DEL_ID:102,//报价列表 删除列
|
|
1688
1690
|
CMD_REPORT_COLUMN_MOVE_ID:103,//报价列表 列移动
|
|
@@ -2447,7 +2449,7 @@ this.PopupMenuByTab=function(menuData,rtTab){if(!this.JSPopMenu)return;var pixel
|
|
|
2447
2449
|
this.PopupMenuByDrapdown=function(menuData,rtButton){if(!this.JSPopMenu)return;var pixelRatio=GetDevicePixelRatio();var rtCell={Left:rtButton.Left/pixelRatio,Right:rtButton.Right/pixelRatio,Bottom:rtButton.Bottom/pixelRatio,Top:rtButton.Top/pixelRatio};rtCell.Width=rtCell.Right-rtCell.Left;rtCell.Height=rtCell.Bottom-rtCell.Top;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var offsetLeft=rtClient.left+rtScroll.Left;var offsetTop=rtClient.top+rtScroll.Top;rtCell.Left+=offsetLeft;rtCell.Right+=offsetLeft;rtCell.Top+=offsetTop;rtCell.Bottom+=offsetTop;this.JSPopMenu.CreatePopMenu(menuData);this.JSPopMenu.PopupMenuByDrapdown(rtCell);};//右键菜单
|
|
2448
2450
|
this.PopupMenuByRClick=function(menuData,x,y){if(!this.JSPopMenu)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();x+=rtClient.left+rtScroll.Left;y+=rtClient.top+rtScroll.Top;this.JSPopMenu.CreatePopMenu(menuData);this.JSPopMenu.PopupMenuByRight(x,y);};//菜单命令
|
|
2449
2451
|
this.ExecuteMenuCommand=function(cmdID,aryArgs){JSConsole.Chart.Log('[JSChartContainer::ExecuteMenuCommand] cmdID=, aryArgs=',cmdID,aryArgs);var param=null,srcParam=null;//原始值
|
|
2450
|
-
if(IFrameSplitOperator.IsNonEmptyArray(aryArgs)){srcParam=aryArgs[0];if(IFrameSplitOperator.IsNumber(aryArgs[0]))param=aryArgs[0];}switch(cmdID){case JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID:if(this.ChangePeriod&¶m!=null)this.ChangePeriod(param);break;case JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID:if(this.ChangeIndexWindowCount&¶m!=null)this.ChangeIndexWindowCount(param);break;case JSCHART_MENU_ID.CMD_CHANGE_RIGHT_ID:if(this.ChangeRight&¶m!=null)this.ChangeRight(param);break;case JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID:if(this.ChangeIndex&¶m!=null&&aryArgs[1])this.ChangeIndex(param,aryArgs[1]);break;case JSCHART_MENU_ID.CMD_DELETE_INDEX_ID:if(this.DeleteIndex&¶m!=null)this.DeleteIndex(param);break;case JSCHART_MENU_ID.CMD_CHANGE_API_INDEX_ID:if(this.ChangeAPIIndex&¶m!=null&&aryArgs[1])this.ChangeAPIIndex(param,aryArgs[1]);break;case JSCHART_MENU_ID.CMD_CHANGE_SCRIPT_INDEX_ID:if(this.ChangeScriptIndex&¶m!=null&&aryArgs[1])this.ChangeScriptIndex(param,aryArgs[1],aryArgs[2]);break;case JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID:case JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID:if(this.ChangeInstructionIndex&&aryArgs[0])this.ChangeInstructionIndex(aryArgs[0]);break;case JSCHART_MENU_ID.CMD_DELETE_COLOR_INDEX_ID://删除五彩K线指标
|
|
2452
|
+
if(IFrameSplitOperator.IsNonEmptyArray(aryArgs)){srcParam=aryArgs[0];if(IFrameSplitOperator.IsNumber(aryArgs[0]))param=aryArgs[0];}switch(cmdID){case JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID:if(this.ChangePeriod&¶m!=null)this.ChangePeriod(param);break;case JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID:if(this.ChangeIndexWindowCount&¶m!=null)this.ChangeIndexWindowCount(param);break;case JSCHART_MENU_ID.CMD_CHANGE_RIGHT_ID:if(this.ChangeRight&¶m!=null)this.ChangeRight(param);break;case JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID:if(this.ChangeIndex&¶m!=null&&aryArgs[1])this.ChangeIndex(param,aryArgs[1]);break;case JSCHART_MENU_ID.CMD_SHOW_CHANGE_INDEX_DIALOG_ID:if(srcParam)this.ShowChangeIndexDialog(srcParam);break;case JSCHART_MENU_ID.CMD_DELETE_INDEX_ID:if(this.DeleteIndex&¶m!=null)this.DeleteIndex(param,aryArgs[1]);break;case JSCHART_MENU_ID.CMD_CHANGE_API_INDEX_ID:if(this.ChangeAPIIndex&¶m!=null&&aryArgs[1])this.ChangeAPIIndex(param,aryArgs[1]);break;case JSCHART_MENU_ID.CMD_CHANGE_SCRIPT_INDEX_ID:if(this.ChangeScriptIndex&¶m!=null&&aryArgs[1])this.ChangeScriptIndex(param,aryArgs[1],aryArgs[2]);break;case JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID:case JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID:if(this.ChangeInstructionIndex&&aryArgs[0])this.ChangeInstructionIndex(aryArgs[0]);break;case JSCHART_MENU_ID.CMD_DELETE_COLOR_INDEX_ID://删除五彩K线指标
|
|
2451
2453
|
case JSCHART_MENU_ID.CMD_DELETE_TRADE_INDEX_ID://删除专家系统(交易指标)
|
|
2452
2454
|
if(this.CancelInstructionIndex)this.CancelInstructionIndex();break;case JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID://切换K线类型
|
|
2453
2455
|
if(this.ChangeKLineDrawType&¶m!=null)this.ChangeKLineDrawType(param,aryArgs[1],aryArgs[2]);break;case JSCHART_MENU_ID.CMD_CHANGE_PRICE_GAP_ID://缺口提示
|
|
@@ -2462,7 +2464,7 @@ this.Draw();break;case JSCHART_MENU_ID.CMD_ENABLE_OVERLAY_SHARE_Y_ID:if(!srcPara
|
|
|
2462
2464
|
this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
2463
2465
|
this.Draw();break;case JSCHART_MENU_ID.CMD_CHANGE_DEFAULTCURSOR_ID:if(!IFrameSplitOperator.IsString(srcParam))return;this.DefaultCursor=srcParam;this.UIElement.style.cursor=this.DefaultCursor;break;case JSCHART_MENU_ID.CMD_ADD_OVERLAY_INDEX_ID://叠加指标 0=windowIndex, 1=indexinfo
|
|
2464
2466
|
if(param==null||!aryArgs[1])return false;var obj=aryArgs[1];obj.WindowIndex=param;this.AddOverlayIndex(obj);break;case JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID:if(srcParam)this.SetLanguage(srcParam);break;case JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID:if(param!=null){if(this.ChartDragSelectRect)this.ChartDragSelectRect.ShowMode=param;}break;case JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID:if(IFrameSplitOperator.IsBool(srcParam)){if(this.ChartCorssCursor)this.ChartCorssCursor.IsShowCorss=srcParam;}break;case JSCHART_MENU_ID.CMD_ENABLE_POP_MINUTE_CHART_ID://双击弹分时图
|
|
2465
|
-
if(IFrameSplitOperator.IsBool(srcParam)){if(srcParam){this.DestroyPopMinuteChart();this.InitalPopMinuteChart({PopMinuteChart:{Enable:true}});}else{this.DestroyPopMinuteChart();}}break;case JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID:if(param==null)return false;var klineChart=this.ChartPaint[0];if(!klineChart)return false;klineChart.InfoPosition=param;this.Draw();break;case JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE:if(!aryArgs[0])return false;var option=aryArgs[0];if(!IFrameSplitOperator.IsBool(option.Enable))return false;if(option.Enable===false){this.DestroyTooltipDialog();}else{this.DestroyTooltipDialog();this.InitalTooltipDialog(option);}break;case JSCHART_MENU_ID.CMD_KLINE_TOOLTIP_ATTRIBUTE:if(!aryArgs[0])return false;var option=aryArgs[0];if(IFrameSplitOperator.IsBool(option.Enable))this.KLineTooltipConfig.Enable=option.Enable;if(IFrameSplitOperator.IsBool(option.EnableKeyDown))this.KLineTooltipConfig.EnableKeyDown=option.EnableKeyDown;break;case JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM:if(param==null)return false;var sendData={e:null,WindowIndex:param,Type:1};this.ShowModifyIndexParamDialog(sendData);break;case JSCHART_MENU_ID.CMD_MODIFY_OVERLAY_INDEX_PARAM:if(param==null)return false;if(!aryArgs[1])return false;var sendData={e:null,WindowIndex:param,Type:2,Identify:aryArgs[1]};this.ShowModifyIndexParamDialog(sendData);break;case JSCHART_MENU_ID.CMD_LOCK_CROSSCURSOR:if(srcParam)this.LockCorssCursor(srcParam);break;case JSCHART_MENU_ID.CMD_UNLOCK_CROSSCURSOR:if(this.IsLockCorssCursor())this.UnlockCorssCursor({Draw:true});break;case JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.IsOnlyDrawMinute=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.IsFixXLastTime=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor){this.ChartCorssCursor.IsOnlyDrawKLine=srcParam;this.ChartCorssCursor.IsShowClose=srcParam;}break;case JSCHART_MENU_ID.CMD_CORSS_SHOW_INCREASE_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor){this.ChartCorssCursor.StringFormatX.RangeIncrease.IsShow=srcParam;}break;case JSCHART_MENU_ID.CMD_CORSS_X_TEXTALIGN_ID:if(param==null)return false;if(this.ChartCorssCursor)this.ChartCorssCursor.BottomConfig.Align=param;break;case JSCHART_MENU_ID.CMD_CORSS_POINT_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.CorssPointConfig.Enable=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.EnableDBClick=srcParam;break;case JSCHART_MENU_ID.CMD_RBUTTON_SELECT_RECT_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartDragSelectRect)this.ChartDragSelectRect.EnableRButton=srcParam;break;case JSCHART_MENU_ID.CMD_LBUTTON_SELECT_RECT_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartDragSelectRect)this.ChartDragSelectRect.EnableLButton=srcParam;break;case JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID:if(IFrameSplitOperator.IsBool(srcParam))this.EnableXDrag.Bottom=srcParam;if(IFrameSplitOperator.IsNonEmptyArray(aryArgs)&&IFrameSplitOperator.IsNumber(aryArgs[1]))this.EnableXDrag.LButton.Type=aryArgs[1];if(IFrameSplitOperator.IsNonEmptyArray(aryArgs)&&IFrameSplitOperator.IsNumber(aryArgs[2]))this.EnableXDrag.RButton.Type=aryArgs[2];break;case JSCHART_MENU_ID.CMD_FULLSCREEN_SUMMARY_ID:this.FullScreenSummary();break;case JSCHART_MENU_ID.CMD_ENABLE_KLINE_DAY_SUMMARY_ID:if(IFrameSplitOperator.IsBool(srcParam)){this.ChartPaint[0].DaySummary.Enable=srcParam;this.Draw();}break;case JSCHART_MENU_ID.CMD_SHOW_BUYSELL_BAR_ID:if(IFrameSplitOperator.IsBool(srcParam)){var chart=this.GetChartMinuteBuySellBar();chart.IsShow=srcParam;this.RequestData({ClearYCoordinateMaxMin:true});this.Draw();}break;case JSCHART_MENU_ID.CMD_SHOW_MAXMIN_ID:if(IFrameSplitOperator.IsBool(srcParam)){var chart=this.ChartPaint[0];if(!chart)return false;if(chart.ClassName=="ChartMinutePriceLine"){chart.MaxMinTextConfig.IsShow=srcParam;this.Draw();}else if(chart.ClassName=="ChartKLine"){chart.IsShowMaxMinPrice=srcParam;this.Draw();}}break;case JSCHART_MENU_ID.CMD_CHANGE_YRIGHT_TEXT_FORMAT:if(param==null)return false;if(!this.Frame.SubFrame[0]||!this.Frame.SubFrame[0].Frame)return false;var frame=this.Frame.SubFrame[0].Frame;if(!frame.YSplitOperator||!frame.YSplitOperator.RightTextConfig)return false;frame.YSplitOperator.RightTextConfig.Format=param;if(param===2)frame.MultiTextFormat=1;this.ResetFrameXYSplit();this.Draw();break;case JSCHART_MENU_ID.CMD_CORSS_YRIGHT_TEXT_STYLE:if(param==null)return false;if(!this.ChartCorssCursor||!this.ChartCorssCursor.StringFormatY)return false;this.ChartCorssCursor.StringFormatY.TextStyleConfig.Right.Type=param;break;case JSCHART_MENU_ID.CMD_ENABLE_ZOOM_Y_ID:if(!srcParam)return false;if(this.EnableZoomYCoordinate)this.EnableZoomYCoordinate(srcParam);break;}};this.GetShowIndexMenuData=function(windowIndex,showType){var script=this.WindowIndex[windowIndex];if(!script)return null;var data={Name:script.IsShow?"隐藏指标":"显示指标",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_INDEX_ID,Args:[windowIndex,0]}};return data;};this.GetModifyIndexMenuData=function(windowIndex){var data={Name:"参数修改",Data:{ID:JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM,Args:[windowIndex]}};return data;};this.GetShowOverlayIndexMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var script=overlay.OverlayItem.Script;var data={Name:script.IsShow?"隐藏指标":"显示指标",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_OVERLAY_INDEX_ID,Args:[indexGuid,0]}};return data;};this.GetModifyOverlayIndexMenuData=function(indexGuid){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay)return null;var data={Name:"参数修改",Data:{ID:JSCHART_MENU_ID.CMD_MODIFY_OVERLAY_INDEX_PARAM,Args:[overlay.WindowIndex,indexGuid]}};return data;};this.GetShowOverlayIndexYAxisMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var frame=overlay.OverlayItem.Frame;var data={Name:frame.IsShow?"隐藏Y轴":"显示Y轴",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_OVERLAY_Y_AXIS_ID,Args:[indexGuid,0]}};return data;};this.GetOverlayIndexShareYMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var frame=overlay.OverlayItem.Frame;var data={Name:"公用窗口Y轴",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_OVERLAY_SHARE_Y_ID,Args:[indexGuid,0]},Checked:frame.IsShareY};return data;};//点击右键菜单
|
|
2467
|
+
if(IFrameSplitOperator.IsBool(srcParam)){if(srcParam){this.DestroyPopMinuteChart();this.InitalPopMinuteChart({PopMinuteChart:{Enable:true}});}else{this.DestroyPopMinuteChart();}}break;case JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID:if(param==null)return false;var klineChart=this.ChartPaint[0];if(!klineChart)return false;klineChart.InfoPosition=param;this.Draw();break;case JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE:if(!aryArgs[0])return false;var option=aryArgs[0];if(!IFrameSplitOperator.IsBool(option.Enable))return false;if(option.Enable===false){this.DestroyTooltipDialog();}else{this.DestroyTooltipDialog();this.InitalTooltipDialog(option);}break;case JSCHART_MENU_ID.CMD_KLINE_TOOLTIP_ATTRIBUTE:if(!aryArgs[0])return false;var option=aryArgs[0];if(IFrameSplitOperator.IsBool(option.Enable))this.KLineTooltipConfig.Enable=option.Enable;if(IFrameSplitOperator.IsBool(option.EnableKeyDown))this.KLineTooltipConfig.EnableKeyDown=option.EnableKeyDown;break;case JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM:if(param==null)return false;var sendData={e:null,WindowIndex:param,Type:1};this.ShowModifyIndexParamDialog(sendData);break;case JSCHART_MENU_ID.CMD_MODIFY_OVERLAY_INDEX_PARAM:if(param==null)return false;if(!aryArgs[1])return false;var sendData={e:null,WindowIndex:param,Type:2,Identify:aryArgs[1]};this.ShowModifyIndexParamDialog(sendData);break;case JSCHART_MENU_ID.CMD_LOCK_CROSSCURSOR:if(srcParam)this.LockCorssCursor(srcParam);break;case JSCHART_MENU_ID.CMD_UNLOCK_CROSSCURSOR:if(this.IsLockCorssCursor())this.UnlockCorssCursor({Draw:true});break;case JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.IsOnlyDrawMinute=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.IsFixXLastTime=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor){this.ChartCorssCursor.IsOnlyDrawKLine=srcParam;this.ChartCorssCursor.IsShowClose=srcParam;}break;case JSCHART_MENU_ID.CMD_CORSS_SHOW_INCREASE_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor){this.ChartCorssCursor.StringFormatX.RangeIncrease.IsShow=srcParam;}break;case JSCHART_MENU_ID.CMD_CORSS_X_TEXTALIGN_ID:if(param==null)return false;if(this.ChartCorssCursor)this.ChartCorssCursor.BottomConfig.Align=param;break;case JSCHART_MENU_ID.CMD_CORSS_POINT_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.CorssPointConfig.Enable=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.EnableDBClick=srcParam;break;case JSCHART_MENU_ID.CMD_RBUTTON_SELECT_RECT_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartDragSelectRect)this.ChartDragSelectRect.EnableRButton=srcParam;break;case JSCHART_MENU_ID.CMD_LBUTTON_SELECT_RECT_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartDragSelectRect)this.ChartDragSelectRect.EnableLButton=srcParam;break;case JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID:if(IFrameSplitOperator.IsBool(srcParam))this.EnableXDrag.Bottom=srcParam;if(IFrameSplitOperator.IsNonEmptyArray(aryArgs)&&IFrameSplitOperator.IsNumber(aryArgs[1]))this.EnableXDrag.LButton.Type=aryArgs[1];if(IFrameSplitOperator.IsNonEmptyArray(aryArgs)&&IFrameSplitOperator.IsNumber(aryArgs[2]))this.EnableXDrag.RButton.Type=aryArgs[2];break;case JSCHART_MENU_ID.CMD_FULLSCREEN_SUMMARY_ID:this.FullScreenSummary();break;case JSCHART_MENU_ID.CMD_ENABLE_KLINE_DAY_SUMMARY_ID:if(IFrameSplitOperator.IsBool(srcParam)){this.ChartPaint[0].DaySummary.Enable=srcParam;this.Draw();}break;case JSCHART_MENU_ID.CMD_SHOW_BUYSELL_BAR_ID:if(IFrameSplitOperator.IsBool(srcParam)){var chart=this.GetChartMinuteBuySellBar();chart.IsShow=srcParam;this.RequestData({ClearYCoordinateMaxMin:true});this.Draw();}break;case JSCHART_MENU_ID.CMD_SHOW_MAXMIN_ID:if(IFrameSplitOperator.IsBool(srcParam)){var chart=this.ChartPaint[0];if(!chart)return false;if(chart.ClassName=="ChartMinutePriceLine"){chart.MaxMinTextConfig.IsShow=srcParam;this.Draw();}else if(chart.ClassName=="ChartKLine"){chart.IsShowMaxMinPrice=srcParam;this.Draw();}}break;case JSCHART_MENU_ID.CMD_CHANGE_YRIGHT_TEXT_FORMAT:if(param==null)return false;if(!this.Frame.SubFrame[0]||!this.Frame.SubFrame[0].Frame)return false;var frame=this.Frame.SubFrame[0].Frame;if(!frame.YSplitOperator||!frame.YSplitOperator.RightTextConfig)return false;frame.YSplitOperator.RightTextConfig.Format=param;if(param===2)frame.MultiTextFormat=1;this.ResetFrameXYSplit();this.Draw();break;case JSCHART_MENU_ID.CMD_CORSS_YRIGHT_TEXT_STYLE:if(param==null)return false;if(!this.ChartCorssCursor||!this.ChartCorssCursor.StringFormatY)return false;this.ChartCorssCursor.StringFormatY.TextStyleConfig.Right.Type=param;break;case JSCHART_MENU_ID.CMD_ENABLE_ZOOM_Y_ID:if(!srcParam)return false;if(this.EnableZoomYCoordinate)this.EnableZoomYCoordinate(srcParam);break;}};this.GetShowIndexMenuData=function(windowIndex,showType){var script=this.WindowIndex[windowIndex];if(!script)return null;var data={Name:script.IsShow?"隐藏指标":"显示指标",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_INDEX_ID,Args:[windowIndex,0]}};return data;};this.GetShowChangeIndexDialogMenuData=function(windowIndex,showType){var option={e:{},WindowIndex:windowIndex,OpType:1};var data={Name:"选择指标",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CHANGE_INDEX_DIALOG_ID,Args:[option]}};return data;};this.GetModifyIndexMenuData=function(windowIndex){var data={Name:"参数修改",Data:{ID:JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM,Args:[windowIndex]}};return data;};this.GetShowOverlayIndexMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var script=overlay.OverlayItem.Script;var data={Name:script.IsShow?"隐藏指标":"显示指标",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_OVERLAY_INDEX_ID,Args:[indexGuid,0]}};return data;};this.GetModifyOverlayIndexMenuData=function(indexGuid){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay)return null;var data={Name:"参数修改",Data:{ID:JSCHART_MENU_ID.CMD_MODIFY_OVERLAY_INDEX_PARAM,Args:[overlay.WindowIndex,indexGuid]}};return data;};this.GetShowOverlayIndexYAxisMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var frame=overlay.OverlayItem.Frame;var data={Name:frame.IsShow?"隐藏Y轴":"显示Y轴",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_OVERLAY_Y_AXIS_ID,Args:[indexGuid,0]}};return data;};this.GetOverlayIndexShareYMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var frame=overlay.OverlayItem.Frame;var data={Name:"公用窗口Y轴",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_OVERLAY_SHARE_Y_ID,Args:[indexGuid,0]},Checked:frame.IsShareY};return data;};//点击右键菜单
|
|
2466
2468
|
this.OnClickRightMenu=function(data){JSConsole.Chart.Log('[JSChartContainer::OnClickRightMenu] ',data);if(!data||!data.Data)return;var cmdID=data.Data.ID;//命令ID
|
|
2467
2469
|
var aryArgs=data.Data.Args;//参数
|
|
2468
2470
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MENU_COMMAND);//回调通知外部
|
|
@@ -2470,8 +2472,8 @@ if(event&&event.Callback){var data={PreventDefault:false,CommandID:cmdID,Args:ar
|
|
|
2470
2472
|
this.CreateChartPaintExtend=function(chart,windowIndex){if(windowIndex<0)return false;var subFrame=this.Frame.SubFrame[windowIndex];if(!subFrame||!subFrame.Frame)return false;var frame=subFrame.Frame;chart.Canvas=this.Canvas;chart.ChartBorder=frame.ChartBorder;chart.ChartFrame=frame;chart.HQChart=this;this.ChartPaintEx.push(chart);return true;};this.CreateChartPaintExtendV2=function(className,option,windowIndex){if(windowIndex<0)return false;var subFrame=this.Frame.SubFrame[windowIndex];if(!subFrame||!subFrame.Frame)return false;var chart=g_ChartPaintFactory.Create(className,option);if(!chart)return false;var frame=subFrame.Frame;chart.Canvas=this.Canvas;chart.ChartBorder=frame.ChartBorder;chart.ChartFrame=frame;chart.HQChart=this;this.ChartPaintEx.push(chart);return true;};//删除指标窗口扩展图形 option={ ChartID:图形ID, WindowIndex:窗口 }
|
|
2471
2473
|
this.DeleteChartPaintExtend=function(option,bCallDestroy){if(!option)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaintEx))return;if(IFrameSplitOperator.IsNumber(option.WindowIndex)){var windowIndex=option.WindowIndex;if(!this.Frame.SubFrame[windowIndex])return;var subFrame=this.Frame.SubFrame[windowIndex].Frame;if(!subFrame)return;var paint=[];//踢出当前窗口的指标画法
|
|
2472
2474
|
var deleteCount=0;for(var i=0;i<this.ChartPaintEx.length;++i){var item=this.ChartPaintEx[i];var bFind=item.ChartFrame.Guid==subFrame.Guid||item.ChartFrame==subFrame;if(!bFind){paint.push(item);}else{++deleteCount;if(bCallDestroy===true){if(item&&item.OnDestroy)item.OnDestroy();//图形销毁
|
|
2473
|
-
}}}if(deleteCount>0)this.ChartPaintEx=paint;}};this.ClearCurrnetDrawPicture=function(){this.CurrentChartDrawPicture=null;};this.CreateDragSelectRect=function(option){var chart=g_ExtendChartPaintFactory.Create("RectDragPaint",option);if(!chart)return null;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.SetOption(option);this.ChartDragSelectRect=chart;};this.ClearDragSelectRect=function(){if(!this.ChartDragSelectRect)return;this.ChartDragSelectRect.ClearPoint();};this.ShowDragSelectRect=function(ptStart,ptEnd){if(!this.ChartDragSelectRect)return;this.ChartDragSelectRect.SetFirstPoint(ptStart.X,ptStart.Y);this.ChartDragSelectRect.SetSecondPoint(ptEnd.X,ptEnd.Y);this.ChartDragSelectRect.Draw();};this.DeleteIndex=function(windowIndex){if(windowIndex<0||windowIndex>=this.Frame.SubFrame.length)return false;this.WindowIndex[windowIndex]=null;this.DeleteIndexPaint(windowIndex);//删除主指标
|
|
2474
|
-
return true;};//切换窗口指标 option={ Window:{}, OverlayIndex:[], Frame:{ }}
|
|
2475
|
+
}}}if(deleteCount>0)this.ChartPaintEx=paint;}};this.ClearCurrnetDrawPicture=function(){this.CurrentChartDrawPicture=null;};this.CreateDragSelectRect=function(option){var chart=g_ExtendChartPaintFactory.Create("RectDragPaint",option);if(!chart)return null;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.SetOption(option);this.ChartDragSelectRect=chart;};this.ClearDragSelectRect=function(){if(!this.ChartDragSelectRect)return;this.ChartDragSelectRect.ClearPoint();};this.ShowDragSelectRect=function(ptStart,ptEnd){if(!this.ChartDragSelectRect)return;this.ChartDragSelectRect.SetFirstPoint(ptStart.X,ptStart.Y);this.ChartDragSelectRect.SetSecondPoint(ptEnd.X,ptEnd.Y);this.ChartDragSelectRect.Draw();};this.DeleteIndex=function(windowIndex,option){if(windowIndex<0||windowIndex>=this.Frame.SubFrame.length)return false;this.WindowIndex[windowIndex]=null;this.DeleteIndexPaint(windowIndex);//删除主指标
|
|
2476
|
+
if(option&&option.Draw===true)this.Draw();return true;};//切换窗口指标 option={ Window:{}, OverlayIndex:[], Frame:{ }}
|
|
2475
2477
|
this.ChangeIndexWindow=function(windowIndex,option){JSConsole.Chart.Log('[KLineChartContainer::ChangeIndexWindow] windowIndex, option',windowIndex,option);if(windowIndex<0||windowIndex>=this.Frame.SubFrame.length)return false;if(!option)return false;var frame=this.Frame.SubFrame[windowIndex];if(option.Delete){var item=option.Delete;if(item.Window===true)this.DeleteIndexPaint(windowIndex);//删除主指标
|
|
2476
2478
|
if(item.Overlay===true)this.DeleteWindowsOverlayIndex(windowIndex);//清空叠加指标
|
|
2477
2479
|
}//清空标题栏
|
|
@@ -4462,8 +4464,8 @@ this.TextColor=g_JSChartResource.ChartScatterPlotV2.TextColor;this.Radius=g_JSCh
|
|
|
4462
4464
|
var align=2;var yOffset=2;var xText=x;if(IFrameSplitOperator.IsNumber(item.YOffset))yOffset=item.YOffset;//Y偏移
|
|
4463
4465
|
if(IFrameSplitOperator.IsNumber(item.BaseLine))baseLine=item.BaseLine;var yText=y-radius-yOffset;if(baseLine==2)yText=y+radius+this.TextHeight+yOffset;//下
|
|
4464
4466
|
if(IFrameSplitOperator.IsNumber(item.Align))align=item.Align;//左中右
|
|
4465
|
-
if(align==1)xText=x-textWidth;else if(align==2)xText=x-textWidth/2;var rtText=null;if(item.BG&&item.BG.Color){var bgItem=item.BG;var marginLeft=2,marginRight=2,yBGOffset=1,marginBottom=0,marginTop=0;if(IFrameSplitOperator.IsNumber(bgItem.MarginLeft))marginLeft=bgItem.MarginLeft;if(IFrameSplitOperator.IsNumber(bgItem.MarginRight))marginRight=bgItem.MarginRight;if(IFrameSplitOperator.IsNumber(bgItem.MarginBottom))marginBottom=bgItem.MarginBottom;if(IFrameSplitOperator.IsNumber(bgItem.MarginTop))marginTop=bgItem.MarginTop;if(IFrameSplitOperator.IsNumber(bgItem.YOffset))yBGOffset=bgItem.YOffset;var rtBG={Left:xText-marginLeft,Bottom:yText+yBGOffset+marginBottom,Width:textWidth+marginLeft+marginRight,Height:this.TextHeight+marginBottom+marginTop};rtBG.Right=rtBG.Left+rtBG.Width;rtBG.Top=rtBG.Bottom-rtBG.Height;if(this.IsTextOverlap(rtBG))return;this.Canvas.fillStyle=bgItem.Color;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);rtText=rtBG;}else{rtText={Left:xText,Bottom:yText,Width:textWidth,Height:this.TextHeight};rtText.Right=rtText.Left+rtText.Width;rtText.Top=rtText.Bottom-rtText.Height;if(this.IsTextOverlap(rtText))return;}if(item.Color)this.Canvas.fillStyle=item.Color;else this.Canvas.fillStyle=this.TextColor;this.Canvas.fillText(text,xText,yText);this.AryDrawRect.push(rtText);};this.IsTextOverlap=function(rtText){for(var i=0;i<this.AryDrawRect.length;++i){var item=this.AryDrawRect[i];if(IsRectOverlap(rtText,item))return true;}return false;};this.GetMaxMin=function(){var range={Min:null,Max:null};if(!IFrameSplitOperator.IsNonEmptyArray(this.AryPoint))return range;if(!this.MapCache||this.MapCache.size<=0)return range;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;if(this.ChartFrame.GlobalOption&&this.ChartFrame.GlobalOption.IsValueFullRange){start=0;xPointCount=this.Data.Data.length;}for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var kItem=this.Data.Data[i];if(!kItem)continue;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(!IFrameSplitOperator.IsNonEmptyArray(mapItem.Data))continue;for(var k=0;k<mapItem.Data.length;++k){var item=mapItem.Data[k];var value=item.Value;if(IFrameSplitOperator.IsString(item.Value))value=this.GetKValue(kItem,item.Value);if(!IFrameSplitOperator.IsNumber(value))continue;if(range.Max==null)range.Max=value;else if(range.Max<value)range.Max=value;if(range.Min==null)range.Min=value;else if(range.Min>value)range.Min=value;}}return range;};this.GetTooltipData=function(x,y,tooltip){if(!this.IsShow)return false;if(!IFrameSplitOperator.IsNonEmptyArray(this.TooltipData))return false;for(var i=this.TooltipData.length-1;i>=0;--i){var item=this.TooltipData[i];
|
|
4466
|
-
return true;}}};}//子线段
|
|
4467
|
+
if(align==1)xText=x-textWidth;else if(align==2)xText=x-textWidth/2;var rtText=null;if(item.BG&&item.BG.Color){var bgItem=item.BG;var marginLeft=2,marginRight=2,yBGOffset=1,marginBottom=0,marginTop=0;if(IFrameSplitOperator.IsNumber(bgItem.MarginLeft))marginLeft=bgItem.MarginLeft;if(IFrameSplitOperator.IsNumber(bgItem.MarginRight))marginRight=bgItem.MarginRight;if(IFrameSplitOperator.IsNumber(bgItem.MarginBottom))marginBottom=bgItem.MarginBottom;if(IFrameSplitOperator.IsNumber(bgItem.MarginTop))marginTop=bgItem.MarginTop;if(IFrameSplitOperator.IsNumber(bgItem.YOffset))yBGOffset=bgItem.YOffset;var rtBG={Left:xText-marginLeft,Bottom:yText+yBGOffset+marginBottom,Width:textWidth+marginLeft+marginRight,Height:this.TextHeight+marginBottom+marginTop};rtBG.Right=rtBG.Left+rtBG.Width;rtBG.Top=rtBG.Bottom-rtBG.Height;if(this.IsTextOverlap(rtBG))return;this.Canvas.fillStyle=bgItem.Color;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);rtText=rtBG;}else{rtText={Left:xText,Bottom:yText,Width:textWidth,Height:this.TextHeight};rtText.Right=rtText.Left+rtText.Width;rtText.Top=rtText.Bottom-rtText.Height;if(this.IsTextOverlap(rtText))return;}if(item.Color)this.Canvas.fillStyle=item.Color;else this.Canvas.fillStyle=this.TextColor;this.Canvas.fillText(text,xText,yText);this.AryDrawRect.push(rtText);};this.IsTextOverlap=function(rtText){for(var i=0;i<this.AryDrawRect.length;++i){var item=this.AryDrawRect[i];if(IsRectOverlap(rtText,item))return true;}return false;};this.GetMaxMin=function(){var range={Min:null,Max:null};if(!IFrameSplitOperator.IsNonEmptyArray(this.AryPoint))return range;if(!this.MapCache||this.MapCache.size<=0)return range;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;if(this.ChartFrame.GlobalOption&&this.ChartFrame.GlobalOption.IsValueFullRange){start=0;xPointCount=this.Data.Data.length;}for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var kItem=this.Data.Data[i];if(!kItem)continue;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(!IFrameSplitOperator.IsNonEmptyArray(mapItem.Data))continue;for(var k=0;k<mapItem.Data.length;++k){var item=mapItem.Data[k];var value=item.Value;if(IFrameSplitOperator.IsString(item.Value))value=this.GetKValue(kItem,item.Value);if(!IFrameSplitOperator.IsNumber(value))continue;if(range.Max==null)range.Max=value;else if(range.Max<value)range.Max=value;if(range.Min==null)range.Min=value;else if(range.Min>value)range.Min=value;}}return range;};this.GetTooltipData=function(x,y,tooltip){if(!this.IsShow)return false;if(!IFrameSplitOperator.IsNonEmptyArray(this.TooltipData))return false;for(var i=this.TooltipData.length-1;i>=0;--i){var item=this.TooltipData[i];if(Path2DHelper.PtInPoint(x,y,item,item.Radius)){JSConsole.Chart.Log('[ChartScatterPlotV2::GetTooltipData] point',item);tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=6;//散点图
|
|
4468
|
+
return true;}}return false;};}//子线段
|
|
4467
4469
|
function ChartSubLine(){this.newMethod=ChartLine;//派生
|
|
4468
4470
|
this.newMethod();delete this.newMethod;this.ClassName='ChartSubLine';//类名
|
|
4469
4471
|
this.Color="rgb(255,193,37)";//线段颜色
|
|
@@ -13304,7 +13306,7 @@ if(item.data){outVarItem.Data=this.FittingMinuteArray(item.data,date,time,hqChar
|
|
|
13304
13306
|
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='STICKLINE')//柱子
|
|
13305
13307
|
{drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.Width=draw.Width;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.OVERLAY_BARS){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.BarName=draw.BarName;drawItem.BarColor=draw.BarColor;drawItem.LineWidth=draw.LineWidth;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.CLIP_COLOR_STICK){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.Data,date,time,hqChart);outVarItem.Draw=drawItem;if(draw.Option)outVarItem.Option=draw.Option;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.BASELINE_BAR){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_LINE'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);for(var k in drawItem.DrawData){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}outVarItem.Draw=drawItem;if(draw.LineDash)drawItem.LineDash=draw.LineDash;if(draw.Arrow)drawItem.Arrow=draw.Arrow;result.push(outVarItem);}else if(draw.DrawType=='MULTI_POINT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_TEXT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_SVGICON'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={Icon:draw.DrawData.Icon,Family:draw.DrawData.Family};outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWSVG'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;if(draw.AutoPosition)drawItem.AutoPosition=draw.AutoPosition;drawItem.EnalbeDetailNoOverlap=draw.EnalbeDetailNoOverlap;drawItem.EnableClick=draw.EnableClick;if(draw.BuildKeyCallback)drawItem.BuildKeyCallback=draw.BuildKeyCallback;drawItem.DrawData={Data:draw.Data,Family:draw.Family,TextFont:draw.TextFont,EnableTooltip:draw.EnableTooltip,IsDrawFirst:draw.IsDrawFirst};outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="MULTI_HTMLDOM")//外部自己创建dom
|
|
13306
13308
|
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.Callback=draw.Callback;drawItem.DrawData=this.FittingMultiText(draw.DrawData,date,time,hqChart);this.GetKLineData(drawItem.DrawData,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_BAR'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="DRAWCOLORKLINE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;if(draw.Color)drawItem.Color=draw.Color;if(IFrameSplitOperator.IsBool(draw.IsEmptyBar))drawItem.IsEmptyBar=draw.IsEmptyBar;result.push(outVarItem);}else if(draw.DrawType=="DRAWTEXT_LINE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;//{ Price:, Text:{ Title:text, Color:textcolor }, Line:{ Type:linetype, Color:linecolor } };
|
|
13307
|
-
outVarItem.Draw=drawItem;if(draw.Font)outVarItem.Font=draw.Font;result.push(outVarItem);}else if(draw.DrawType=="DRAWTITLE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.KLINE_TABLE){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;drawItem.RowCount=draw.RowCount;drawItem.RowName=draw.RowName;drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.DRAW_HORIZONTAL_CHANNEL){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else{var find=g_ScriptIndexChartFactory.Get(draw.DrawType);//外部挂接
|
|
13309
|
+
outVarItem.Draw=drawItem;if(draw.Font)outVarItem.Font=draw.Font;result.push(outVarItem);}else if(draw.DrawType=="DRAWTITLE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.KLINE_TABLE){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;drawItem.RowCount=draw.RowCount;drawItem.RowName=draw.RowName;drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.DRAW_HORIZONTAL_CHANNEL){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT_V2){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else{var find=g_ScriptIndexChartFactory.Get(draw.DrawType);//外部挂接
|
|
13308
13310
|
if(find&&find.MinuteFittingCallback){if(find.MinuteFittingCallback(item,outVarItem,{Date:date,Time:time,HQChart:hqChart},this))result.push(outVarItem);}}}}return result;};//matchType 0=精确匹配(默认) 5=模糊匹配
|
|
13309
13311
|
this.FittingMinuteArray=function(sourceData,date,time,hqChart,matchType){var minutedata=hqChart.SourceData;;//分钟线
|
|
13310
13312
|
var arySingleData=[];for(var i in sourceData){var value=sourceData[i];var indexItem=new SingleData();//单列指标数据
|
|
@@ -15406,7 +15408,7 @@ this.SelectedClassName="UMyChart_MenuItem_Tr_Selected";this.RestoreFocusDelay=10
|
|
|
15406
15408
|
"UMyChart_MenuItem_Td_Shortcut",//快捷方式
|
|
15407
15409
|
"UMyChart_MenuItem_Td_Arrow"//箭头
|
|
15408
15410
|
];this.Inital=function(hqchart,option){this.HQChart=hqchart;this.MouseDownlistenerPtr=this.OnWindowMouseDown.bind(this);window.addEventListener('mousedown',this.MouseDownlistenerPtr);};this.Destroy=function(){if(this.MouseDownlistenerPtr){window.removeEventListener('mousedown',this.MouseDownlistenerPtr);this.MouseDownlistenerPtr=null;}};//创建菜单
|
|
15409
|
-
this.CreatePopMenu=function(data){this.Clear();if(!IFrameSplitOperator.IsNonEmptyArray(data.Menu))return;var root=document.createElement("div");root.className="UMyChart_PopMenu";var table=document.createElement("table");table.className="UMyChart_PopMenu_Table";root.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_PopMenu_Tbody";table.appendChild(tbody);var rootData={Root:root,TBody:tbody,Table:table};root.JSMenuData=rootData;for(var i=0;i<data.Menu.length;++i){var item=data.Menu[i];if(item.Name==JSPopMenu.SEPARATOR_LINE_NAME){var trSeparator=this.CreateSeparatorTr();if(trSeparator)tbody.appendChild(trSeparator);continue;}var trDom=this.CreateMenu(rootData,item);tbody.appendChild(trDom);}document.body.appendChild(root);this.RootDOM=root;this.TBodyDOM=tbody;if(IFrameSplitOperator.IsNumber(data.Position))this.Data.Position=data.Position;if(data.ClickCallback)this.ClickCallback=data.ClickCallback;if(data.RestoreFocusCallback)this.RestoreFocusCallback=data.RestoreFocusCallback;};//清除菜单
|
|
15411
|
+
this.CreatePopMenu=function(data){this.Clear();if(!IFrameSplitOperator.IsNonEmptyArray(data.Menu))return;var root=document.createElement("div");root.className="UMyChart_PopMenu";var table=document.createElement("table");table.className="UMyChart_PopMenu_Table";root.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_PopMenu_Tbody";table.appendChild(tbody);var rootData={Root:root,TBody:tbody,Table:table};root.JSMenuData=rootData;for(var i=0;i<data.Menu.length;++i){var item=data.Menu[i];if(!item)continue;if(item.Name==JSPopMenu.SEPARATOR_LINE_NAME){var trSeparator=this.CreateSeparatorTr();if(trSeparator)tbody.appendChild(trSeparator);continue;}var trDom=this.CreateMenu(rootData,item);tbody.appendChild(trDom);}document.body.appendChild(root);this.RootDOM=root;this.TBodyDOM=tbody;if(IFrameSplitOperator.IsNumber(data.Position))this.Data.Position=data.Position;if(data.ClickCallback)this.ClickCallback=data.ClickCallback;if(data.RestoreFocusCallback)this.RestoreFocusCallback=data.RestoreFocusCallback;};//清除菜单
|
|
15410
15412
|
this.Clear=function(){this.Data.Menu=[];this.Data.Position=JSPopMenu.POSITION_ID.RIGHT_MENU_ID;this.ClickCallback=null;if(!this.RootDOM)return;document.body.removeChild(this.RootDOM);this.RootDOM=null;this.TBodyDOM=null;for(var i=0;i<this.ArySubRootDOM.length;++i){document.body.removeChild(this.ArySubRootDOM[i]);}this.ArySubRootDOM=[];};this.CreateMenu=function(parentItem,item){var _this90=this;var trDom=document.createElement("tr");trDom.className='UMyChart_MenuItem_Tr';if(item.Disable===true)trDom.classList.add('UMyChart_DrawTool_Disable_Tr');var prtTdDom=null;var aryTDClassName=this.AryTDClassName;if(IFrameSplitOperator.IsNonEmptyArray(item.AryTDClassName))aryTDClassName=item.AryTDClassName;for(var i=0;i<aryTDClassName.length;++i){var tdDom=document.createElement("td");tdDom.className=aryTDClassName[i];if(i==0)//图标
|
|
15411
15413
|
{if(item.Checked){var spanDom=document.createElement("span");spanDom.className=this.CheckedClassName;spanDom.style["font-size"]="10px";tdDom.appendChild(spanDom);}}else if(i==1)//内容
|
|
15412
15414
|
{tdDom.innerText=item.Name;}else if(i==2)//快捷方式
|
|
@@ -16330,7 +16332,7 @@ if(this.MouseOnItem){if(this.MouseOnItem.Data==item)color=this.TextConfig.MouseO
|
|
|
16330
16332
|
*/this.Canvas.restore();this.ResizeDataCount(endIndex);};this.ResizeDataCount=function(startIndex){if(!IFrameSplitOperator.IsNumber(startIndex))return;if(startIndex<=0)return;if(this.LimitCount<=0)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.AryText))return;if(this.Data.AryText.length<=this.LimitCount)return;var delCount=this.Data.AryText.length-this.LimitCount;for(var i=0;i<delCount&&i<startIndex;++i){this.Data.AryText.shift();}};this.GetTooltipData=function(x,y,tooltip){var rtClient=this.GetClientRect();if(x>=rtClient.Left&&x<=rtClient.Right){for(var i=0;i<this.AryRect.length;++i){var item=this.AryRect[i];if(Path2DHelper.PtInRect(x,y,item.Rect)){tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=1;return true;}}}return false;};this.ScrollStep=function(defaultStep){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.AryText))return false;if(!this.FirstItem)return false;var moveStep=this.MoveStep;if(IFrameSplitOperator.IsNumber(defaultStep))moveStep=defaultStep;var rtClient=this.GetClientRect();var left=rtClient.Left;var right=rtClient.Right;var width=this.FirstItem.Move.Width;var xOffset=this.FirstItem.Move.XOffset+moveStep;if(right-xOffset+width<left){var startIndex=this.GetDataIndex(this.FirstItem);nextIndex=startIndex-1;if(nextIndex<0){var index=this.Data.AryText.length-1;this.FirstItem=this.Data.AryText[index];this.FirstItem.Move={XOffset:0};}else{this.FirstItem=this.Data.AryText[nextIndex];this.FirstItem.Move={XOffset:xOffset-width};}}else{this.FirstItem.Move.XOffset=xOffset;}return true;};}/********************************************************************************
|
|
16331
16333
|
* 版本信息输出
|
|
16332
16334
|
*
|
|
16333
|
-
*/var HQCHART_VERSION="1.1.
|
|
16335
|
+
*/var HQCHART_VERSION="1.1.15737";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();//把给外界调用的方法暴露出来
|
|
16334
16336
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
16335
16337
|
// BaseIndex:BaseIndex,
|
|
16336
16338
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -27046,6 +27046,16 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
27046
27046
|
outVarItem.Draw=drawItem;
|
|
27047
27047
|
result.push(outVarItem);
|
|
27048
27048
|
}
|
|
27049
|
+
else if (draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT_V2)
|
|
27050
|
+
{
|
|
27051
|
+
drawItem.Name=draw.Name;
|
|
27052
|
+
drawItem.Type=draw.Type;
|
|
27053
|
+
drawItem.DrawType=draw.DrawType;
|
|
27054
|
+
drawItem.DrawData=draw.DrawData;
|
|
27055
|
+
drawItem.Config=draw.Config;
|
|
27056
|
+
outVarItem.Draw=drawItem;
|
|
27057
|
+
result.push(outVarItem);
|
|
27058
|
+
}
|
|
27049
27059
|
else
|
|
27050
27060
|
{
|
|
27051
27061
|
var find=g_ScriptIndexChartFactory.Get(draw.DrawType); //外部挂接
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -708,7 +708,11 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
708
708
|
for(var i=0;i<option.Windows.length;++i)
|
|
709
709
|
{
|
|
710
710
|
var item=option.Windows[i];
|
|
711
|
-
if (item
|
|
711
|
+
if (!item) //没有配置指标
|
|
712
|
+
{
|
|
713
|
+
|
|
714
|
+
}
|
|
715
|
+
else if (item.Script)
|
|
712
716
|
{
|
|
713
717
|
chart.WindowIndex[i]=new ScriptIndex(item.Name,item.Script,item.Args,item); //脚本执行
|
|
714
718
|
}
|
|
@@ -750,7 +754,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
750
754
|
}
|
|
751
755
|
|
|
752
756
|
chart.SetSubFrameAttribute(chart.Frame.SubFrame[i],item, null);
|
|
753
|
-
chart.UpdateIndexTemporaryAttribute(i, item.AryTemporaryAttribute); //指标临时属性
|
|
757
|
+
if (item) chart.UpdateIndexTemporaryAttribute(i, item.AryTemporaryAttribute); //指标临时属性
|
|
754
758
|
}
|
|
755
759
|
|
|
756
760
|
//叠加指标宽度
|
|
@@ -1186,9 +1190,11 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
1186
1190
|
{
|
|
1187
1191
|
var index=i;
|
|
1188
1192
|
var item=windows[i];
|
|
1189
|
-
if (!item)
|
|
1193
|
+
if (!item)
|
|
1194
|
+
{
|
|
1190
1195
|
|
|
1191
|
-
|
|
1196
|
+
}
|
|
1197
|
+
else if (item.Script)
|
|
1192
1198
|
{
|
|
1193
1199
|
chart.WindowIndex[index]=new ScriptIndex(item.Name,item.Script,item.Args,item); //脚本执行
|
|
1194
1200
|
}
|
|
@@ -1218,7 +1224,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
1218
1224
|
}
|
|
1219
1225
|
|
|
1220
1226
|
chart.SetSubFrameAttribute(chart.Frame.SubFrame[index],item, null);
|
|
1221
|
-
chart.UpdateIndexTemporaryAttribute(i, item.AryTemporaryAttribute); //指标临时属性
|
|
1227
|
+
if (item) chart.UpdateIndexTemporaryAttribute(i, item.AryTemporaryAttribute); //指标临时属性
|
|
1222
1228
|
}
|
|
1223
1229
|
}
|
|
1224
1230
|
|
|
@@ -3038,6 +3044,7 @@ var JSCHART_MENU_ID=
|
|
|
3038
3044
|
CMD_CHANGE_MINUTE_INFO_ID:67, //切换分时图信息地雷
|
|
3039
3045
|
CMD_DELETE_ALL_MINUTE_INFO_ID:68,
|
|
3040
3046
|
CMD_MODIFY_MINUTE_INFO_PROPERTY_ID:69,
|
|
3047
|
+
CMD_SHOW_CHANGE_INDEX_DIALOG_ID:70, //切换指标对话框
|
|
3041
3048
|
|
|
3042
3049
|
|
|
3043
3050
|
CMD_REPORT_CHANGE_BLOCK_ID:100, //报价列表 切换板块ID
|
|
@@ -11616,9 +11623,12 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11616
11623
|
if (this.ChangeIndex && param!=null && aryArgs[1])
|
|
11617
11624
|
this.ChangeIndex(param,aryArgs[1]);
|
|
11618
11625
|
break;
|
|
11626
|
+
case JSCHART_MENU_ID.CMD_SHOW_CHANGE_INDEX_DIALOG_ID:
|
|
11627
|
+
if (srcParam) this.ShowChangeIndexDialog(srcParam);
|
|
11628
|
+
break;
|
|
11619
11629
|
case JSCHART_MENU_ID.CMD_DELETE_INDEX_ID:
|
|
11620
11630
|
if (this.DeleteIndex && param!=null)
|
|
11621
|
-
this.DeleteIndex(param);
|
|
11631
|
+
this.DeleteIndex(param, aryArgs[1]);
|
|
11622
11632
|
break;
|
|
11623
11633
|
case JSCHART_MENU_ID.CMD_CHANGE_API_INDEX_ID:
|
|
11624
11634
|
if (this.ChangeAPIIndex && param!=null && aryArgs[1])
|
|
@@ -12064,6 +12074,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
12064
12074
|
return data;
|
|
12065
12075
|
}
|
|
12066
12076
|
|
|
12077
|
+
this.GetShowChangeIndexDialogMenuData=function(windowIndex, showType)
|
|
12078
|
+
{
|
|
12079
|
+
var option={ e:{}, WindowIndex:windowIndex,OpType:1 }
|
|
12080
|
+
var data= { Name:"选择指标", Data:{ ID: JSCHART_MENU_ID.CMD_SHOW_CHANGE_INDEX_DIALOG_ID, Args:[option] } };
|
|
12081
|
+
return data;
|
|
12082
|
+
}
|
|
12083
|
+
|
|
12067
12084
|
this.GetModifyIndexMenuData=function(windowIndex)
|
|
12068
12085
|
{
|
|
12069
12086
|
var data= { Name:"参数修改", Data:{ ID: JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM, Args:[windowIndex] } };
|
|
@@ -12270,12 +12287,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
12270
12287
|
this.ChartDragSelectRect.Draw();
|
|
12271
12288
|
}
|
|
12272
12289
|
|
|
12273
|
-
this.DeleteIndex=function(windowIndex)
|
|
12290
|
+
this.DeleteIndex=function(windowIndex, option)
|
|
12274
12291
|
{
|
|
12275
12292
|
if (windowIndex<0 || windowIndex>=this.Frame.SubFrame.length) return false;
|
|
12276
12293
|
this.WindowIndex[windowIndex]=null;
|
|
12277
12294
|
this.DeleteIndexPaint(windowIndex); //删除主指标
|
|
12278
12295
|
|
|
12296
|
+
if (option && option.Draw===true) this.Draw();
|
|
12297
|
+
|
|
12279
12298
|
return true;
|
|
12280
12299
|
}
|
|
12281
12300
|
|
|
@@ -38213,9 +38232,7 @@ function ChartScatterPlotV2()
|
|
|
38213
38232
|
{
|
|
38214
38233
|
var item=this.TooltipData[i];
|
|
38215
38234
|
|
|
38216
|
-
|
|
38217
|
-
this.Canvas.arc(item.X, item.Y, item.Radius, 0, 2 * Math.PI);
|
|
38218
|
-
if (this.Canvas.isPointInPath(x,y))
|
|
38235
|
+
if (Path2DHelper.PtInPoint(x, y, item, item.Radius))
|
|
38219
38236
|
{
|
|
38220
38237
|
JSConsole.Chart.Log('[ChartScatterPlotV2::GetTooltipData] point', item);
|
|
38221
38238
|
tooltip.Data=item;
|
|
@@ -38224,6 +38241,8 @@ function ChartScatterPlotV2()
|
|
|
38224
38241
|
return true;
|
|
38225
38242
|
}
|
|
38226
38243
|
}
|
|
38244
|
+
|
|
38245
|
+
return false;
|
|
38227
38246
|
}
|
|
38228
38247
|
|
|
38229
38248
|
}
|
|
@@ -4806,7 +4806,11 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4806
4806
|
for(var i=0;i<option.Windows.length;++i)
|
|
4807
4807
|
{
|
|
4808
4808
|
var item=option.Windows[i];
|
|
4809
|
-
if (item
|
|
4809
|
+
if (!item) //没有配置指标
|
|
4810
|
+
{
|
|
4811
|
+
|
|
4812
|
+
}
|
|
4813
|
+
else if (item.Script)
|
|
4810
4814
|
{
|
|
4811
4815
|
chart.WindowIndex[i]=new ScriptIndex(item.Name,item.Script,item.Args,item); //脚本执行
|
|
4812
4816
|
}
|
|
@@ -4848,7 +4852,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4848
4852
|
}
|
|
4849
4853
|
|
|
4850
4854
|
chart.SetSubFrameAttribute(chart.Frame.SubFrame[i],item, null);
|
|
4851
|
-
chart.UpdateIndexTemporaryAttribute(i, item.AryTemporaryAttribute); //指标临时属性
|
|
4855
|
+
if (item) chart.UpdateIndexTemporaryAttribute(i, item.AryTemporaryAttribute); //指标临时属性
|
|
4852
4856
|
}
|
|
4853
4857
|
|
|
4854
4858
|
//叠加指标宽度
|
|
@@ -5284,9 +5288,11 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5284
5288
|
{
|
|
5285
5289
|
var index=i;
|
|
5286
5290
|
var item=windows[i];
|
|
5287
|
-
if (!item)
|
|
5291
|
+
if (!item)
|
|
5292
|
+
{
|
|
5288
5293
|
|
|
5289
|
-
|
|
5294
|
+
}
|
|
5295
|
+
else if (item.Script)
|
|
5290
5296
|
{
|
|
5291
5297
|
chart.WindowIndex[index]=new ScriptIndex(item.Name,item.Script,item.Args,item); //脚本执行
|
|
5292
5298
|
}
|
|
@@ -5316,7 +5322,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5316
5322
|
}
|
|
5317
5323
|
|
|
5318
5324
|
chart.SetSubFrameAttribute(chart.Frame.SubFrame[index],item, null);
|
|
5319
|
-
chart.UpdateIndexTemporaryAttribute(i, item.AryTemporaryAttribute); //指标临时属性
|
|
5325
|
+
if (item) chart.UpdateIndexTemporaryAttribute(i, item.AryTemporaryAttribute); //指标临时属性
|
|
5320
5326
|
}
|
|
5321
5327
|
}
|
|
5322
5328
|
|
|
@@ -7136,6 +7142,7 @@ var JSCHART_MENU_ID=
|
|
|
7136
7142
|
CMD_CHANGE_MINUTE_INFO_ID:67, //切换分时图信息地雷
|
|
7137
7143
|
CMD_DELETE_ALL_MINUTE_INFO_ID:68,
|
|
7138
7144
|
CMD_MODIFY_MINUTE_INFO_PROPERTY_ID:69,
|
|
7145
|
+
CMD_SHOW_CHANGE_INDEX_DIALOG_ID:70, //切换指标对话框
|
|
7139
7146
|
|
|
7140
7147
|
|
|
7141
7148
|
CMD_REPORT_CHANGE_BLOCK_ID:100, //报价列表 切换板块ID
|
|
@@ -15714,9 +15721,12 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
15714
15721
|
if (this.ChangeIndex && param!=null && aryArgs[1])
|
|
15715
15722
|
this.ChangeIndex(param,aryArgs[1]);
|
|
15716
15723
|
break;
|
|
15724
|
+
case JSCHART_MENU_ID.CMD_SHOW_CHANGE_INDEX_DIALOG_ID:
|
|
15725
|
+
if (srcParam) this.ShowChangeIndexDialog(srcParam);
|
|
15726
|
+
break;
|
|
15717
15727
|
case JSCHART_MENU_ID.CMD_DELETE_INDEX_ID:
|
|
15718
15728
|
if (this.DeleteIndex && param!=null)
|
|
15719
|
-
this.DeleteIndex(param);
|
|
15729
|
+
this.DeleteIndex(param, aryArgs[1]);
|
|
15720
15730
|
break;
|
|
15721
15731
|
case JSCHART_MENU_ID.CMD_CHANGE_API_INDEX_ID:
|
|
15722
15732
|
if (this.ChangeAPIIndex && param!=null && aryArgs[1])
|
|
@@ -16162,6 +16172,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
16162
16172
|
return data;
|
|
16163
16173
|
}
|
|
16164
16174
|
|
|
16175
|
+
this.GetShowChangeIndexDialogMenuData=function(windowIndex, showType)
|
|
16176
|
+
{
|
|
16177
|
+
var option={ e:{}, WindowIndex:windowIndex,OpType:1 }
|
|
16178
|
+
var data= { Name:"选择指标", Data:{ ID: JSCHART_MENU_ID.CMD_SHOW_CHANGE_INDEX_DIALOG_ID, Args:[option] } };
|
|
16179
|
+
return data;
|
|
16180
|
+
}
|
|
16181
|
+
|
|
16165
16182
|
this.GetModifyIndexMenuData=function(windowIndex)
|
|
16166
16183
|
{
|
|
16167
16184
|
var data= { Name:"参数修改", Data:{ ID: JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM, Args:[windowIndex] } };
|
|
@@ -16368,12 +16385,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
16368
16385
|
this.ChartDragSelectRect.Draw();
|
|
16369
16386
|
}
|
|
16370
16387
|
|
|
16371
|
-
this.DeleteIndex=function(windowIndex)
|
|
16388
|
+
this.DeleteIndex=function(windowIndex, option)
|
|
16372
16389
|
{
|
|
16373
16390
|
if (windowIndex<0 || windowIndex>=this.Frame.SubFrame.length) return false;
|
|
16374
16391
|
this.WindowIndex[windowIndex]=null;
|
|
16375
16392
|
this.DeleteIndexPaint(windowIndex); //删除主指标
|
|
16376
16393
|
|
|
16394
|
+
if (option && option.Draw===true) this.Draw();
|
|
16395
|
+
|
|
16377
16396
|
return true;
|
|
16378
16397
|
}
|
|
16379
16398
|
|
|
@@ -42311,9 +42330,7 @@ function ChartScatterPlotV2()
|
|
|
42311
42330
|
{
|
|
42312
42331
|
var item=this.TooltipData[i];
|
|
42313
42332
|
|
|
42314
|
-
|
|
42315
|
-
this.Canvas.arc(item.X, item.Y, item.Radius, 0, 2 * Math.PI);
|
|
42316
|
-
if (this.Canvas.isPointInPath(x,y))
|
|
42333
|
+
if (Path2DHelper.PtInPoint(x, y, item, item.Radius))
|
|
42317
42334
|
{
|
|
42318
42335
|
JSConsole.Chart.Log('[ChartScatterPlotV2::GetTooltipData] point', item);
|
|
42319
42336
|
tooltip.Data=item;
|
|
@@ -42322,6 +42339,8 @@ function ChartScatterPlotV2()
|
|
|
42322
42339
|
return true;
|
|
42323
42340
|
}
|
|
42324
42341
|
}
|
|
42342
|
+
|
|
42343
|
+
return false;
|
|
42325
42344
|
}
|
|
42326
42345
|
|
|
42327
42346
|
}
|
|
@@ -140781,6 +140800,16 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
140781
140800
|
outVarItem.Draw=drawItem;
|
|
140782
140801
|
result.push(outVarItem);
|
|
140783
140802
|
}
|
|
140803
|
+
else if (draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT_V2)
|
|
140804
|
+
{
|
|
140805
|
+
drawItem.Name=draw.Name;
|
|
140806
|
+
drawItem.Type=draw.Type;
|
|
140807
|
+
drawItem.DrawType=draw.DrawType;
|
|
140808
|
+
drawItem.DrawData=draw.DrawData;
|
|
140809
|
+
drawItem.Config=draw.Config;
|
|
140810
|
+
outVarItem.Draw=drawItem;
|
|
140811
|
+
result.push(outVarItem);
|
|
140812
|
+
}
|
|
140784
140813
|
else
|
|
140785
140814
|
{
|
|
140786
140815
|
var find=g_ScriptIndexChartFactory.Get(draw.DrawType); //外部挂接
|
|
@@ -159213,7 +159242,7 @@ function ScrollBarBGChart()
|
|
|
159213
159242
|
|
|
159214
159243
|
|
|
159215
159244
|
|
|
159216
|
-
var HQCHART_VERSION="1.1.
|
|
159245
|
+
var HQCHART_VERSION="1.1.15737";
|
|
159217
159246
|
|
|
159218
159247
|
function PrintHQChartVersion()
|
|
159219
159248
|
{
|
|
@@ -4850,7 +4850,11 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4850
4850
|
for(var i=0;i<option.Windows.length;++i)
|
|
4851
4851
|
{
|
|
4852
4852
|
var item=option.Windows[i];
|
|
4853
|
-
if (item
|
|
4853
|
+
if (!item) //没有配置指标
|
|
4854
|
+
{
|
|
4855
|
+
|
|
4856
|
+
}
|
|
4857
|
+
else if (item.Script)
|
|
4854
4858
|
{
|
|
4855
4859
|
chart.WindowIndex[i]=new ScriptIndex(item.Name,item.Script,item.Args,item); //脚本执行
|
|
4856
4860
|
}
|
|
@@ -4892,7 +4896,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4892
4896
|
}
|
|
4893
4897
|
|
|
4894
4898
|
chart.SetSubFrameAttribute(chart.Frame.SubFrame[i],item, null);
|
|
4895
|
-
chart.UpdateIndexTemporaryAttribute(i, item.AryTemporaryAttribute); //指标临时属性
|
|
4899
|
+
if (item) chart.UpdateIndexTemporaryAttribute(i, item.AryTemporaryAttribute); //指标临时属性
|
|
4896
4900
|
}
|
|
4897
4901
|
|
|
4898
4902
|
//叠加指标宽度
|
|
@@ -5328,9 +5332,11 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5328
5332
|
{
|
|
5329
5333
|
var index=i;
|
|
5330
5334
|
var item=windows[i];
|
|
5331
|
-
if (!item)
|
|
5335
|
+
if (!item)
|
|
5336
|
+
{
|
|
5332
5337
|
|
|
5333
|
-
|
|
5338
|
+
}
|
|
5339
|
+
else if (item.Script)
|
|
5334
5340
|
{
|
|
5335
5341
|
chart.WindowIndex[index]=new ScriptIndex(item.Name,item.Script,item.Args,item); //脚本执行
|
|
5336
5342
|
}
|
|
@@ -5360,7 +5366,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5360
5366
|
}
|
|
5361
5367
|
|
|
5362
5368
|
chart.SetSubFrameAttribute(chart.Frame.SubFrame[index],item, null);
|
|
5363
|
-
chart.UpdateIndexTemporaryAttribute(i, item.AryTemporaryAttribute); //指标临时属性
|
|
5369
|
+
if (item) chart.UpdateIndexTemporaryAttribute(i, item.AryTemporaryAttribute); //指标临时属性
|
|
5364
5370
|
}
|
|
5365
5371
|
}
|
|
5366
5372
|
|
|
@@ -7180,6 +7186,7 @@ var JSCHART_MENU_ID=
|
|
|
7180
7186
|
CMD_CHANGE_MINUTE_INFO_ID:67, //切换分时图信息地雷
|
|
7181
7187
|
CMD_DELETE_ALL_MINUTE_INFO_ID:68,
|
|
7182
7188
|
CMD_MODIFY_MINUTE_INFO_PROPERTY_ID:69,
|
|
7189
|
+
CMD_SHOW_CHANGE_INDEX_DIALOG_ID:70, //切换指标对话框
|
|
7183
7190
|
|
|
7184
7191
|
|
|
7185
7192
|
CMD_REPORT_CHANGE_BLOCK_ID:100, //报价列表 切换板块ID
|
|
@@ -15758,9 +15765,12 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
15758
15765
|
if (this.ChangeIndex && param!=null && aryArgs[1])
|
|
15759
15766
|
this.ChangeIndex(param,aryArgs[1]);
|
|
15760
15767
|
break;
|
|
15768
|
+
case JSCHART_MENU_ID.CMD_SHOW_CHANGE_INDEX_DIALOG_ID:
|
|
15769
|
+
if (srcParam) this.ShowChangeIndexDialog(srcParam);
|
|
15770
|
+
break;
|
|
15761
15771
|
case JSCHART_MENU_ID.CMD_DELETE_INDEX_ID:
|
|
15762
15772
|
if (this.DeleteIndex && param!=null)
|
|
15763
|
-
this.DeleteIndex(param);
|
|
15773
|
+
this.DeleteIndex(param, aryArgs[1]);
|
|
15764
15774
|
break;
|
|
15765
15775
|
case JSCHART_MENU_ID.CMD_CHANGE_API_INDEX_ID:
|
|
15766
15776
|
if (this.ChangeAPIIndex && param!=null && aryArgs[1])
|
|
@@ -16206,6 +16216,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
16206
16216
|
return data;
|
|
16207
16217
|
}
|
|
16208
16218
|
|
|
16219
|
+
this.GetShowChangeIndexDialogMenuData=function(windowIndex, showType)
|
|
16220
|
+
{
|
|
16221
|
+
var option={ e:{}, WindowIndex:windowIndex,OpType:1 }
|
|
16222
|
+
var data= { Name:"选择指标", Data:{ ID: JSCHART_MENU_ID.CMD_SHOW_CHANGE_INDEX_DIALOG_ID, Args:[option] } };
|
|
16223
|
+
return data;
|
|
16224
|
+
}
|
|
16225
|
+
|
|
16209
16226
|
this.GetModifyIndexMenuData=function(windowIndex)
|
|
16210
16227
|
{
|
|
16211
16228
|
var data= { Name:"参数修改", Data:{ ID: JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM, Args:[windowIndex] } };
|
|
@@ -16412,12 +16429,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
16412
16429
|
this.ChartDragSelectRect.Draw();
|
|
16413
16430
|
}
|
|
16414
16431
|
|
|
16415
|
-
this.DeleteIndex=function(windowIndex)
|
|
16432
|
+
this.DeleteIndex=function(windowIndex, option)
|
|
16416
16433
|
{
|
|
16417
16434
|
if (windowIndex<0 || windowIndex>=this.Frame.SubFrame.length) return false;
|
|
16418
16435
|
this.WindowIndex[windowIndex]=null;
|
|
16419
16436
|
this.DeleteIndexPaint(windowIndex); //删除主指标
|
|
16420
16437
|
|
|
16438
|
+
if (option && option.Draw===true) this.Draw();
|
|
16439
|
+
|
|
16421
16440
|
return true;
|
|
16422
16441
|
}
|
|
16423
16442
|
|
|
@@ -42355,9 +42374,7 @@ function ChartScatterPlotV2()
|
|
|
42355
42374
|
{
|
|
42356
42375
|
var item=this.TooltipData[i];
|
|
42357
42376
|
|
|
42358
|
-
|
|
42359
|
-
this.Canvas.arc(item.X, item.Y, item.Radius, 0, 2 * Math.PI);
|
|
42360
|
-
if (this.Canvas.isPointInPath(x,y))
|
|
42377
|
+
if (Path2DHelper.PtInPoint(x, y, item, item.Radius))
|
|
42361
42378
|
{
|
|
42362
42379
|
JSConsole.Chart.Log('[ChartScatterPlotV2::GetTooltipData] point', item);
|
|
42363
42380
|
tooltip.Data=item;
|
|
@@ -42366,6 +42383,8 @@ function ChartScatterPlotV2()
|
|
|
42366
42383
|
return true;
|
|
42367
42384
|
}
|
|
42368
42385
|
}
|
|
42386
|
+
|
|
42387
|
+
return false;
|
|
42369
42388
|
}
|
|
42370
42389
|
|
|
42371
42390
|
}
|
|
@@ -140825,6 +140844,16 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
140825
140844
|
outVarItem.Draw=drawItem;
|
|
140826
140845
|
result.push(outVarItem);
|
|
140827
140846
|
}
|
|
140847
|
+
else if (draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT_V2)
|
|
140848
|
+
{
|
|
140849
|
+
drawItem.Name=draw.Name;
|
|
140850
|
+
drawItem.Type=draw.Type;
|
|
140851
|
+
drawItem.DrawType=draw.DrawType;
|
|
140852
|
+
drawItem.DrawData=draw.DrawData;
|
|
140853
|
+
drawItem.Config=draw.Config;
|
|
140854
|
+
outVarItem.Draw=drawItem;
|
|
140855
|
+
result.push(outVarItem);
|
|
140856
|
+
}
|
|
140828
140857
|
else
|
|
140829
140858
|
{
|
|
140830
140859
|
var find=g_ScriptIndexChartFactory.Get(draw.DrawType); //外部挂接
|
|
@@ -162616,6 +162645,8 @@ function JSPopMenu()
|
|
|
162616
162645
|
for(var i=0;i<data.Menu.length;++i)
|
|
162617
162646
|
{
|
|
162618
162647
|
var item=data.Menu[i];
|
|
162648
|
+
if (!item) continue;
|
|
162649
|
+
|
|
162619
162650
|
if (item.Name==JSPopMenu.SEPARATOR_LINE_NAME)
|
|
162620
162651
|
{
|
|
162621
162652
|
var trSeparator=this.CreateSeparatorTr();
|
|
@@ -175575,7 +175606,7 @@ function ChartScrollText()
|
|
|
175575
175606
|
|
|
175576
175607
|
|
|
175577
175608
|
|
|
175578
|
-
var HQCHART_VERSION="1.1.
|
|
175609
|
+
var HQCHART_VERSION="1.1.15737";
|
|
175579
175610
|
|
|
175580
175611
|
function PrintHQChartVersion()
|
|
175581
175612
|
{
|