hqchart 1.1.15630 → 1.1.15654
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 +246 -211
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogSearchIndex.js +27 -3
- package/src/jscommon/umychart.NetworkFilterTest.js +43 -1
- package/src/jscommon/umychart.ScrollText.js +102 -18
- package/src/jscommon/umychart.complier.js +72 -10
- package/src/jscommon/umychart.index.data.js +2 -0
- package/src/jscommon/umychart.js +559 -215
- package/src/jscommon/umychart.testdata.js +43 -1
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +634 -226
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +43 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +763 -247
package/lib/umychart.vue.js
CHANGED
|
@@ -70,7 +70,7 @@ this.Get=function(id){if(!this.DataMap.has(id))return null;return this.DataMap.g
|
|
|
70
70
|
]);}JSIndexScript.AddIndex=function(aryIndex)//添加自定义指标
|
|
71
71
|
{for(var i in aryIndex){g_CustomIndex.Add(aryIndex[i]);}};//修改指标属性
|
|
72
72
|
JSIndexScript.ModifyAttribute=function(indexInfo,attribute){if(!attribute)return;if(attribute.Args)indexInfo.Args=attribute.Args;//外部可以设置参数
|
|
73
|
-
if(IFrameSplitOperator.IsNumber(attribute.FloatPrecision))indexInfo.FloatPrecision=attribute.FloatPrecision;if(IFrameSplitOperator.IsNumber(attribute.StringFormat))indexInfo.StringFormat=attribute.StringFormat;if(IFrameSplitOperator.IsBool(attribute.IsSync))indexInfo.IsSync=attribute.IsSync;if(IFrameSplitOperator.IsBool(attribute.IsShortTitle))indexInfo.IsShortTitle=attribute.IsShortTitle;if(attribute.TitleFont)indexInfo.TitleFont=attribute.TitleFont;if(attribute.Lock)indexInfo.Lock=attribute.Lock;if(IFrameSplitOperator.IsNumber(attribute.YSplitType))indexInfo.YSplitType=attribute.YSplitType;if(IFrameSplitOperator.IsBool(attribute.IsShowIndexTitle))indexInfo.IsShowIndexTitle=attribute.IsShowIndexTitle;if(IFrameSplitOperator.IsNumber(attribute.KLineType))indexInfo.KLineType=attribute.KLineType;if(attribute.YAxis){var item=attribute.YAxis;if(!indexInfo.YAxis)indexInfo.YAxis={};if(IFrameSplitOperator.IsNumber(item.FloatPrecision))indexInfo.YAxis.FloatPrecision=item.FloatPrecision;if(IFrameSplitOperator.IsNumber(item.StringFormat))indexInfo.YAxis.StringFormat=item.StringFormat;if(IFrameSplitOperator.IsBool(item.EnableRemoveZero))indexInfo.YAxis.EnableRemoveZero=item.EnableRemoveZero;if(IFrameSplitOperator.IsBool(item.ExcludeValue))indexInfo.YAxis.ExcludeValue=item.ExcludeValue;//不参数Y轴的计算
|
|
73
|
+
if(IFrameSplitOperator.IsNumber(attribute.FloatPrecision))indexInfo.FloatPrecision=attribute.FloatPrecision;if(IFrameSplitOperator.IsNumber(attribute.StringFormat))indexInfo.StringFormat=attribute.StringFormat;if(IFrameSplitOperator.IsBool(attribute.IsSync))indexInfo.IsSync=attribute.IsSync;if(IFrameSplitOperator.IsBool(attribute.IsShortTitle))indexInfo.IsShortTitle=attribute.IsShortTitle;if(attribute.TitleFont)indexInfo.TitleFont=attribute.TitleFont;if(attribute.Lock)indexInfo.Lock=attribute.Lock;if(IFrameSplitOperator.IsNumber(attribute.YSplitType))indexInfo.YSplitType=attribute.YSplitType;if(IFrameSplitOperator.IsBool(attribute.IsShowIndexTitle))indexInfo.IsShowIndexTitle=attribute.IsShowIndexTitle;if(IFrameSplitOperator.IsNumber(attribute.KLineType))indexInfo.KLineType=attribute.KLineType;if(IFrameSplitOperator.IsBool(attribute.IsAuthorization))indexInfo.IsAuthorization=attribute.IsAuthorization;if(IFrameSplitOperator.IsBool(attribute.IsShow))indexInfo.IsShow=attribute.IsShow;if(attribute.YAxis){var item=attribute.YAxis;if(!indexInfo.YAxis)indexInfo.YAxis={};if(IFrameSplitOperator.IsNumber(item.FloatPrecision))indexInfo.YAxis.FloatPrecision=item.FloatPrecision;if(IFrameSplitOperator.IsNumber(item.StringFormat))indexInfo.YAxis.StringFormat=item.StringFormat;if(IFrameSplitOperator.IsBool(item.EnableRemoveZero))indexInfo.YAxis.EnableRemoveZero=item.EnableRemoveZero;if(IFrameSplitOperator.IsBool(item.ExcludeValue))indexInfo.YAxis.ExcludeValue=item.ExcludeValue;//不参数Y轴的计算
|
|
74
74
|
}};JSIndexScript.prototype.Get=function(id){var data=g_CustomIndex.Get(id);if(data)return data;var func=this.DataMap.get(id);if(func){var data=func();data.ID=id;return data;}return null;};JSIndexScript.prototype.Search=function(name){var result=[];var reg=new RegExp(name,'i');this.DataMap.forEach(function(value,key){if(key.indexOf('交易系统-')!=0&&key.indexOf('五彩K线-')!=0&&key.search(reg)>=0)result.push(key);});return result;};JSIndexScript.prototype.MA=function(){var data={Name:'MA',Description:'均线',IsMainIndex:true,StringFormat:2,Args:[{Name:'M1',Value:5},{Name:'M2',Value:10},{Name:'M3',Value:20}],OutName:[{Name:'MA1',DynamicName:"MA{M1}"},{Name:'MA2',DynamicName:"MA{M2}"},{Name:'MA3',DynamicName:"MA{M3}"}],Script://脚本
|
|
75
75
|
'MA1:MA(CLOSE,M1);\n\
|
|
76
76
|
MA2:MA(CLOSE,M2);\n\
|
|
@@ -1262,37 +1262,8 @@ var scriptData=new JSIndexScript();if(option.ColorIndex)//五彩K线
|
|
|
1262
1262
|
}else if(item.JsonData){chart.WindowIndex[i]=new JsonDataIndex(item.Name,item.Script,item.Args,item);//脚本执行
|
|
1263
1263
|
}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:指标执行地址 }
|
|
1264
1264
|
{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);//脚本执行
|
|
1265
|
-
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)
|
|
1266
|
-
|
|
1267
|
-
if (IFrameSplitOperator.IsBool(item.Modify)) frame.ModifyIndex=item.Modify;
|
|
1268
|
-
if (IFrameSplitOperator.IsBool(item.Change)) frame.ChangeIndex=item.Change;
|
|
1269
|
-
if (IFrameSplitOperator.IsBool(item.Close)) frame.CloseIndex=item.Close;
|
|
1270
|
-
if (IFrameSplitOperator.IsBool(item.Overlay)) frame.OverlayIndex=item.Overlay;
|
|
1271
|
-
if (IFrameSplitOperator.IsBool(item.Export)) frame.ExportData=item.Export;
|
|
1272
|
-
if (IFrameSplitOperator.IsBool(item.MaxMin)) chart.Frame.SubFrame[i].Frame.MaxMinWindow=item.MaxMin;
|
|
1273
|
-
if (IFrameSplitOperator.IsBool(item.TitleWindow)) chart.Frame.SubFrame[i].Frame.TitleWindow=item.TitleWindow;
|
|
1274
|
-
if (IFrameSplitOperator.IsBool(item.AddIndexWindow)) frame.AddIndexWindow=item.AddIndexWindow;
|
|
1275
|
-
if (IFrameSplitOperator.IsBool(item.IndexHelp)) frame.IndexHelp=item.IndexHelp;
|
|
1276
|
-
|
|
1277
|
-
if (item.IsDrawTitleBG==true) chart.Frame.SubFrame[i].Frame.IsDrawTitleBG=item.IsDrawTitleBG;
|
|
1278
|
-
if (IFrameSplitOperator.IsBool(item.IsShowNameArrow)) chart.Frame.SubFrame[i].Frame.IsShowNameArrow=item.IsShowNameArrow;
|
|
1279
|
-
|
|
1280
|
-
if (IFrameSplitOperator.IsNumber(item.TitleHeight)) chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;
|
|
1281
|
-
else item.TitleHeight=chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight;
|
|
1282
|
-
if (IFrameSplitOperator.IsBool(item.IsShowTitleArrow)) frame.IsShowTitleArrow=item.IsShowTitleArrow;
|
|
1283
|
-
if (IFrameSplitOperator.IsNumber(item.TitleArrowType)) frame.TitleArrowType=item.TitleArrowType;
|
|
1284
|
-
if (item.IsShowIndexName==false) chart.Frame.SubFrame[i].Frame.IsShowIndexName=false;
|
|
1285
|
-
if (item.IsShowOverlayIndexName==false) chart.Frame.SubFrame[i].Frame.IsShowOverlayIndexName=false;
|
|
1286
|
-
if (IFrameSplitOperator.IsNumber(item.IndexParamSpace)) chart.Frame.SubFrame[i].Frame.IndexParamSpace=item.IndexParamSpace;
|
|
1287
|
-
if (IFrameSplitOperator.IsNumber(item.IndexTitleSpace)) chart.Frame.SubFrame[i].Frame.IndexTitleSpace=item.IndexTitleSpace;
|
|
1288
|
-
if (!IFrameSplitOperator.IsUndefined(item.HorizontalReserved)) frame.HorizontalReserved=item.HorizontalReserved;
|
|
1289
|
-
|
|
1290
|
-
if (item.OverlayIndexType)
|
|
1291
|
-
{
|
|
1292
|
-
if (IFrameSplitOperator.IsNumber(item.OverlayIndexType.Position)) chart.Frame.SubFrame[i].Frame.OverlayIndexType.Position=item.OverlayIndexType.Position;
|
|
1293
|
-
if (IFrameSplitOperator.IsNumber(item.OverlayIndexType.LineSpace)) chart.Frame.SubFrame[i].Frame.OverlayIndexType.LineSpace=item.OverlayIndexType.LineSpace;
|
|
1294
|
-
}
|
|
1295
|
-
*/}//叠加指标宽度
|
|
1265
|
+
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);//指标临时属性
|
|
1266
|
+
}//叠加指标宽度
|
|
1296
1267
|
if(option.OverlayIndexFrameWidth>40)chart.Frame.FixedRightWidth.Overlay=option.OverlayIndexFrameWidth;//叠加指标
|
|
1297
1268
|
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线图
|
|
1298
1269
|
this.CreateCustomKLineChartContainer=function(option){var chart=new CustomKLineChartContainer(this.CanvasElement);//右键菜单
|
|
@@ -1646,7 +1617,7 @@ ON_HIDE_ALL_POP_DIV:181,//隐藏所有弹框div
|
|
|
1646
1617
|
ON_CLICK_STATUSBAR_ITEM:301,ON_RCLICK_STATUSBAR_ITEM:302,//5档买卖
|
|
1647
1618
|
ON_CLICK_STOCKINFO_ITEM:350,ON_RCLICK_STOCKINFO_ITEM:351,ON_KEYBOARD_SHOW:350,//显示键盘精灵
|
|
1648
1619
|
ON_KEYBOARD_SELECTED:351,//键盘精灵选中回车
|
|
1649
|
-
ON_KEYBOARD_MOUSEUP:352,ON_CLICK_SCROLL_TEXT_ITEM:381,ON_RCLICK_SCROLL_TEXT_ITEM:382};var JSCHART_OPERATOR_ID={OP_SCROLL_LEFT:1,//往左移动
|
|
1620
|
+
ON_KEYBOARD_MOUSEUP:352,ON_CLICK_SCROLL_TEXT_ITEM:381,ON_RCLICK_SCROLL_TEXT_ITEM:382,ON_CLICK_UP_SCROLL_TEXT_ITEM:383,ON_RCLICK_UP_SCROLL_TEXT_ITEM:384};var JSCHART_OPERATOR_ID={OP_SCROLL_LEFT:1,//往左移动
|
|
1650
1621
|
OP_SCROLL_RIGHT:2,//往右移动
|
|
1651
1622
|
OP_ZOOM_OUT:3,//缩小
|
|
1652
1623
|
OP_ZOOM_IN:4,//放大
|
|
@@ -1770,7 +1741,9 @@ ENDTR_ID:6000,//交易结束
|
|
|
1770
1741
|
//上面状态个位数 是停牌状态 如3001 连续交易时间段停牌
|
|
1771
1742
|
SUSP_ID:1//停牌
|
|
1772
1743
|
//十字光标状态
|
|
1773
|
-
};var JSCHART_CORSSCURSOR_STATUS_ID={NONE_ID:0,LINE_ID:1,LEFT_TEXT_ID:2,LEFT_INTER_TEXT_ID:4,RIGHT_TEXT_ID:8,RIGHT_INTER_TEXT_ID:16,BOTTOM_TEXT_ID:32};
|
|
1744
|
+
};var JSCHART_CORSSCURSOR_STATUS_ID={NONE_ID:0,LINE_ID:1,LEFT_TEXT_ID:2,LEFT_INTER_TEXT_ID:4,RIGHT_TEXT_ID:8,RIGHT_INTER_TEXT_ID:16,BOTTOM_TEXT_ID:32};var JSCHART_TEMPORARY_ATTRIBUTE={MAINFRAME:{BOTTOMSPACE:"MainFrame-BottomSpace",//主图底部预留空间,单位像素
|
|
1745
|
+
TOPSPACE:"MainFrame-TopSpace"//主图顶部预留空间,单位像素
|
|
1746
|
+
}};function PhoneDBClick(){this.Start=[];this.Clear=function(){this.Start=[];};this.AddTouchStart=function(x,y,time){if(this.Start.length>0){var item=this.Start[this.Start.length-1];var spanTime=time-item.Time;if(spanTime>0&&spanTime<300){this.Start.push({X:x,Y:y,Time:time});}else{this.Start=[];}}else{this.Start.push({X:x,Y:y,Time:time});}};this.IsVaildDBClick=function(){if(this.Start.length==2)return true;return false;};this.AddTouchEnd=function(time){if(this.Start.length<=0)return;var item=this.Start[this.Start.length-1];var spanTime=time-item.Time;if(spanTime>=0&&spanTime<150){}else{this.Start=[];}};}/*
|
|
1774
1747
|
图形控件
|
|
1775
1748
|
*/function JSChartContainer(uielement,OffscreenElement,cacheElement){var _this9=this;this.ClassName='JSChartContainer';var _self=this;this.Frame;//框架画法
|
|
1776
1749
|
this.ChartPaint=new Array();//图形画法
|
|
@@ -2466,8 +2439,10 @@ return result;}else{return paint.ClearPoint();}};//删除指定窗口的所有
|
|
|
2466
2439
|
this.DeleteWindowsOverlayIndex=function(windowIndex){if(!IFrameSplitOperator.IsNumber(windowIndex))return;if(windowIndex<0||windowIndex>=this.Frame.SubFrame.length)return;var subFrame=this.Frame.SubFrame[windowIndex];if(!IFrameSplitOperator.IsNonEmptyArray(subFrame.OverlayIndex))return;var aryIndexID=[];for(var i=0;i<subFrame.OverlayIndex.length;++i){var overlayItem=subFrame.OverlayIndex[i];aryIndexID.push(overlayItem.Identify);for(var j=0;j<overlayItem.ChartPaint.length;++j)//图形销毁事件
|
|
2467
2440
|
{var overlayChart=overlayItem.ChartPaint[j];if(overlayChart&&overlayChart.OnDestroy)overlayChart.OnDestroy();}overlayItem.ChartPaint=[];}subFrame.OverlayIndex=[];var titlePaint=this.TitlePaint[windowIndex+1];for(var i=0;i<aryIndexID.length;++i){var identify=aryIndexID[i];if(titlePaint.OverlayIndex.has(identify))titlePaint.OverlayIndex.delete(identify);if(titlePaint.OverlayDynamicTitle.has(identify))titlePaint.OverlayDynamicTitle.delete(identify);}};//删除叠加指标, 没有重绘
|
|
2468
2441
|
this.DeleteOverlayIndex=function(identify,windowIndex){var findIndex=null;if(IFrameSplitOperator.IsNumber(windowIndex)){if(windowIndex>=0&&windowIndex<this.Frame.SubFrame.length){var item=this.Frame.SubFrame[windowIndex];for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(overlayItem.Identify===identify){for(var k=0;k<overlayItem.ChartPaint.length;++k)//图形销毁事件
|
|
2469
|
-
{var overlayChart=overlayItem.ChartPaint[k];if(overlayChart&&overlayChart.OnDestroy)overlayChart.OnDestroy();}
|
|
2470
|
-
|
|
2442
|
+
{var overlayChart=overlayItem.ChartPaint[k];if(overlayChart&&overlayChart.OnDestroy)overlayChart.OnDestroy();}overlayItem.RestoreTemporaryAttribute(item.Frame);//还原临时属性
|
|
2443
|
+
item.OverlayIndex.splice(j,1);findIndex=windowIndex;break;}}}}else{for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(overlayItem.Identify===identify){for(var k=0;k<overlayItem.ChartPaint.length;++k)//图形销毁事件
|
|
2444
|
+
{var overlayChart=overlayItem.ChartPaint[k];if(overlayChart&&overlayChart.OnDestroy)overlayChart.OnDestroy();}overlayItem.RestoreTemporaryAttribute(item.Frame);//还原临时属性
|
|
2445
|
+
item.OverlayIndex.splice(j,1);findIndex=i;break;}}}}if(findIndex==null){console.warn('[JSChartContainer::DeleteOverlayIndex] can\'t find overlay index. [identify='+identify+']');return false;}var windowsIndex=findIndex+1;var titlePaint=this.TitlePaint[windowsIndex];if(titlePaint.OverlayIndex.has(identify))titlePaint.OverlayIndex.delete(identify);if(titlePaint.OverlayDynamicTitle.has(identify))titlePaint.OverlayDynamicTitle.delete(identify);return true;};this.FindScriptIndex=function(guid,windowsIndex){if(IFrameSplitOperator.IsNumber(windowsIndex)&&windowsIndex>=0){if(windowsIndex>=this.Frame.SubFrame.length)return null;var item=this.WindowIndex[windowsIndex];if(item&&item.Guid==guid)return{Type:0,Data:item,WindowIndex:windowsIndex};var item=this.Frame.SubFrame[windowsIndex];for(var i=0;i<item.OverlayIndex.length;++i){var overlayItem=item.OverlayIndex[i];if(overlayItem.Identify===guid)return{Type:1,Data:overlayItem,WindowIndex:windowsIndex,OverlayIndex:i};}}else{for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.WindowIndex[i];if(item&&item.Guid==guid)return{Type:0,Data:item,WindowIndex:i};var item=this.Frame.SubFrame[i];for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(overlayItem.Identify===guid)return{Type:1,Data:overlayItem,WindowIndex:i,OverlayIndex:j};}}}return null;};//移动指标 src={ WindowIndex:指标窗口索引,IndexID:指标ID } dest={ WindowIndex:指标窗口索引 } , option={ Operator: 0=移动, 1=复制 }
|
|
2471
2446
|
this.MoveIndex=function(src,dest,option){var _this21=this;if(!src||!dest||!option)return false;if(!IFrameSplitOperator.IsNumber(src.WindowIndex)||src.WindowIndex<0||src.WindowIndex>=this.Frame.SubFrame.length)return false;if(!IFrameSplitOperator.IsNumber(dest.WindowIndex)||dest.WindowIndex<0||dest.WindowIndex>=this.Frame.SubFrame.length)return false;var find=this.FindScriptIndex(src.IndexID,src.WindowIndex);if(!find)return false;var findItem=null,findOverlayItem=null;if(find.Type==0)findItem=find.Data;else if(find.Type==1)findOverlayItem=find.Data;if(!findOverlayItem&&!findItem)return false;//固定窗口
|
|
2472
2447
|
var fixedWindowCount=0;var isMinuteChart=this.ClassName=="MinuteChartContainer"||this.ClassName=="MinuteChartHScreenContainer"?true:false;if(isMinuteChart)fixedWindowCount=2;//走势图固定2个窗口
|
|
2473
2448
|
if(dest.WindowIndex>=fixedWindowCount&&this.WindowIndex[dest.WindowIndex]==null)//主指标是空的,移动到主指标上
|
|
@@ -2779,7 +2754,7 @@ this.XTextExtend;//[0]=底部 { Align:0=默认(居中), 1=左对齐 }
|
|
|
2779
2754
|
this.XLineExtend;//[0]=底部 { Mode:1, Color: } Mode=1 分割线 Mode=2短线
|
|
2780
2755
|
this.FrameData={SubFrameItem:null};//窗口框架信息
|
|
2781
2756
|
//画图工具刻度
|
|
2782
|
-
this.DrawPicture={BGColor:g_JSChartResource.DrawPicture.XYCoordinate.BGColor,TextBGColor:g_JSChartResource.DrawPicture.XYCoordinate.TextBGColor,TextColor:g_JSChartResource.DrawPicture.XYCoordinate.TextColor,Font:g_JSChartResource.DrawPicture.XYCoordinate.Font};this.IChartFramePainting_ReloadResource=this.ReloadResource;this.ReloadResource=function(resource){this.IChartFramePainting_ReloadResource(resource);if(!resource){this.ToolbarButtonStyle=g_JSChartResource.ToolbarButtonStyle;this.CloseWindowButton=CloneData(g_JSChartResource.Buttons.CloseWindow);this.OverlayIndexButton=CloneData(g_JSChartResource.Buttons.OverlayIndex);this.ChangeIndexButton=CloneData(g_JSChartResource.Buttons.ChangeIndex);this.ModifyIndexParamButton=CloneData(g_JSChartResource.Buttons.ModifyIndexParam);this.MaxMinWindowButton=CloneData(g_JSChartResource.Buttons.MaxMinWindow);this.TitleWindowButton=CloneData(g_JSChartResource.Buttons.TitleWindow);this.ButtonTooltip=CloneData(g_JSChartResource.Buttons.Tooltip);this.AddIndexWindowButton=CloneData(g_JSChartResource.Buttons.AddIndexWindow);this.IndexHelpButton=CloneData(g_JSChartResource.Buttons.IndexHelp);}if(this.ToolbarButtonStyle==1){this.ClearToolbar();}else{if(this.DivFrameToolbar)this.DivFrameToolbar.ReloadResource(resource);}};this.DrawFrame=function(){if(this.XPointCount>0){var dInterval=this.ChartBorder.GetWidth()/(6*this.XPointCount);//分6份, 数据4 间距2
|
|
2757
|
+
this.DrawPicture={BGColor:g_JSChartResource.DrawPicture.XYCoordinate.BGColor,TextBGColor:g_JSChartResource.DrawPicture.XYCoordinate.TextBGColor,TextColor:g_JSChartResource.DrawPicture.XYCoordinate.TextColor,Font:g_JSChartResource.DrawPicture.XYCoordinate.Font};this.IChartFramePainting_ReloadResource=this.ReloadResource;this.ReloadResource=function(resource){this.IChartFramePainting_ReloadResource(resource);if(!resource){this.ToolbarButtonStyle=g_JSChartResource.ToolbarButtonStyle;this.CloseWindowButton=CloneData(g_JSChartResource.Buttons.CloseWindow);this.OverlayIndexButton=CloneData(g_JSChartResource.Buttons.OverlayIndex);this.ChangeIndexButton=CloneData(g_JSChartResource.Buttons.ChangeIndex);this.ModifyIndexParamButton=CloneData(g_JSChartResource.Buttons.ModifyIndexParam);this.MaxMinWindowButton=CloneData(g_JSChartResource.Buttons.MaxMinWindow);this.TitleWindowButton=CloneData(g_JSChartResource.Buttons.TitleWindow);this.ButtonTooltip=CloneData(g_JSChartResource.Buttons.Tooltip);this.AddIndexWindowButton=CloneData(g_JSChartResource.Buttons.AddIndexWindow);this.IndexHelpButton=CloneData(g_JSChartResource.Buttons.IndexHelp);this.ExportDataButton=CloneData(g_JSChartResource.Buttons.ExportData);}if(this.ToolbarButtonStyle==1){this.ClearToolbar();}else{if(this.DivFrameToolbar)this.DivFrameToolbar.ReloadResource(resource);}};this.DrawFrame=function(){if(this.XPointCount>0){var dInterval=this.ChartBorder.GetWidth()/(6*this.XPointCount);//分6份, 数据4 间距2
|
|
2783
2758
|
this.DistanceWidth=2*dInterval;this.DataWidth=4*dInterval;}this.DrawHorizontal();this.DrawVertical();};this.DrawTitleButton=function(aryButton,moveonPoint,mouseStatus){var border=this.GetBorder();if(this.IsHScreen){var y=border.Bottom-this.ToolbarConfig.Margin.Right;var x=border.RightTitle+this.ChartBorder.TitleHeight/2;this.ToolbarCacheSize={RToolbar:{Right:y,Left:y}};//相当于额 Top, Bottom
|
|
2784
2759
|
this.Canvas.save();this.Canvas.translate(x,y);this.Canvas.rotate(90*Math.PI/180);//底部开始画
|
|
2785
2760
|
var yButton=0,xButton=0,bottom=0;for(var i=0;i<aryButton.length;++i){var item=aryButton[i];var size=item.Style.Size;var xButton=bottom-size-item.Style.MerginLeft;var font=size+'px '+item.Style.Family;var color=item.Style.Color;this.Canvas.fillStyle=color;this.Canvas.font=font;this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";this.Canvas.fillText(item.Style.Text,xButton,0);var rtButton={Left:x-size/2,Right:x+size/2,Bottom:y,Width:size,Height:size+item.Style.MerginLeft};rtButton.Top=rtButton.Bottom-size-item.Style.MerginLeft;this.Buttons.push({ID:item.ID,Rect:rtButton});this.ToolbarCacheSize.RToolbar.Left=rtButton.Top;bottom=xButton;y=rtButton.Top;}this.Canvas.restore();}else{var right=border.RightEx-this.ToolbarConfig.Margin.Right;var left=border.Left;var yButton=border.Top+this.ChartBorder.TitleHeight/2;this.ToolbarCacheSize={RToolbar:{Right:right,Left:right}//右往左绘制
|
|
@@ -3377,11 +3352,14 @@ this.DrawHorizontal=function(){}/*
|
|
|
3377
3352
|
*/};this.GetScaleTextWidth=function(){return{TextWidth:0};};}function SubFrameItem(){this.Frame;this.Height;this.OverlayIndex=[];//叠加指标
|
|
3378
3353
|
//this.Interval=60; //子坐标间间距
|
|
3379
3354
|
}function OverlayIndexItem(){this.Frame;this.ChartPaint=[];this.Identify=Guid();this.Scprit;//脚本
|
|
3355
|
+
this.AryTemporaryAttribute=[];//临时属性,删除指标以后需要还原 { Name:, Value:, BackupValue: }
|
|
3380
3356
|
this.UpdateFrameMaxMin=function()//调整坐标最大 最小值
|
|
3381
3357
|
{var value={Max:null,Min:null};if(this.Frame.IsShareY)//共享Y轴坐标
|
|
3382
3358
|
{this.Frame.XYSplit=true;return;}if(this.Frame.YSpecificMaxMin)//固定坐标
|
|
3383
3359
|
{value.Max=this.Frame.YSpecificMaxMin.Max;value.Min=this.Frame.YSpecificMaxMin.Min;}else{for(var i=0;i<this.ChartPaint.length;++i){var paint=this.ChartPaint[i];if(paint.IsShow==false)continue;//隐藏的图形不计算
|
|
3384
|
-
var range=paint.GetMaxMin();if(range==null||range.Max==null||range.Min==null)continue;if(IFrameSplitOperator.IsNumber(range.Max)){if(value.Max==null||value.Max<range.Max)value.Max=range.Max;}if(IFrameSplitOperator.IsNumber(range.Min)){if(value.Min==null||value.Min>range.Min)value.Min=range.Min;}}}if(!IFrameSplitOperator.IsNumber(this.Frame.YMaxMin.Max)||this.Frame.YMaxMin.Max!=value.Max){this.Frame.YMaxMin.Max=value.Max;this.Frame.XYSplit=true;}if(!IFrameSplitOperator.IsNumber(this.Frame.YMaxMin.Min)||this.Frame.YMaxMin.Min!=value.Min){this.Frame.YMaxMin.Min=value.Min;this.Frame.XYSplit=true;}if(this.Frame.XYSplit){var max=10,min=0;if(value.Max!=null)max=value.Max;if(value.Min!=null)min=value.Min;this.Frame.HorizontalMax=max;this.Frame.HorizontalMin=min;}else{this.Frame.XYSplit=true;}};
|
|
3360
|
+
var range=paint.GetMaxMin();if(range==null||range.Max==null||range.Min==null)continue;if(IFrameSplitOperator.IsNumber(range.Max)){if(value.Max==null||value.Max<range.Max)value.Max=range.Max;}if(IFrameSplitOperator.IsNumber(range.Min)){if(value.Min==null||value.Min>range.Min)value.Min=range.Min;}}}if(!IFrameSplitOperator.IsNumber(this.Frame.YMaxMin.Max)||this.Frame.YMaxMin.Max!=value.Max){this.Frame.YMaxMin.Max=value.Max;this.Frame.XYSplit=true;}if(!IFrameSplitOperator.IsNumber(this.Frame.YMaxMin.Min)||this.Frame.YMaxMin.Min!=value.Min){this.Frame.YMaxMin.Min=value.Min;this.Frame.XYSplit=true;}if(this.Frame.XYSplit){var max=10,min=0;if(value.Max!=null)max=value.Max;if(value.Min!=null)min=value.Min;this.Frame.HorizontalMax=max;this.Frame.HorizontalMin=min;}else{this.Frame.XYSplit=true;}};this.UpdateTemporaryAttribute=function(mainFrame,aryAttribute)//更新临时属性
|
|
3361
|
+
{if(!IFrameSplitOperator.IsNonEmptyArray(aryAttribute))return;for(var i=0;i<aryAttribute.length;++i){var item=aryAttribute[i];if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.BOTTOMSPACE){var backup=mainFrame.ChartBorder.BottomSpace;mainFrame.ChartBorder.BottomSpace=item.Value;this.AryTemporaryAttribute.push({Name:item.Name,Value:item.Value,BackupValue:backup});}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.TOPSPACE){var backup=mainFrame.ChartBorder.TopSpace;mainFrame.ChartBorder.TopSpace=item.Value;this.AryTemporaryAttribute.push({Name:item.Name,Value:item.Value,BackupValue:backup});}}};this.RestoreTemporaryAttribute=function(mainFrame)//还原临时属性
|
|
3362
|
+
{if(!IFrameSplitOperator.IsNonEmptyArray(this.AryTemporaryAttribute))return;for(var i=0;i<this.AryTemporaryAttribute.length;++i){var item=this.AryTemporaryAttribute[i];if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.BOTTOMSPACE){mainFrame.ChartBorder.BottomSpace=item.BackupValue;}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.TOPSPACE){mainFrame.ChartBorder.TopSpace=item.BackupValue;}}this.AryTemporaryAttribute=[];};}//行情框架
|
|
3385
3363
|
function HQTradeFrame(){this.SubFrame=new Array();//SubFrameItem 数组
|
|
3386
3364
|
this.SizeChange=true;//大小是否改变
|
|
3387
3365
|
this.ChartBorder;this.Canvas;//画布
|
|
@@ -4122,7 +4100,7 @@ tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=1;//信息地雷
|
|
|
4122
4100
|
return true;}}if(IFrameSplitOperator.IsNonEmptyArray(this.TooltipRect)){for(var i=0;i<this.TooltipRect.length;++i){var rect=this.TooltipRect[i][1];var left=rect.X,top=rect.Y;var right=left+rect.Width;var bottom=top+rect.Height;if(x>=left&&x<=right&&y>=top&&y<=bottom){var index=this.TooltipRect[i][0];tooltip.Data=this.Data.Data[index];tooltip.ChartPaint=this;tooltip.Type=0;//K线信息
|
|
4123
4101
|
tooltip.Symbol=this.Symbol;return true;}}}return false;};//计算当天显示数据的最大最小值
|
|
4124
4102
|
this.GetMaxMin=function(){if(this.DrawType==14){if(this.FFKChart&&this.FFKChart.GetMaxMin){return this.FFKChart.GetMaxMin(this);}}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;}var range={Max:null,Min:null};if(this.DrawType==1||this.DrawType==4)// 1=收盘价线 4=收盘价面积图
|
|
4125
|
-
{for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var data=this.Data.Data[i];if(!data||!IFrameSplitOperator.IsNumber(data.Close))continue;if(range.Max==null)range.Max=data.Close;if(range.Min==null)range.Min=data.Close;if(range.Max<data.Close)range.Max=data.Close;if(range.Min>data.Close)range.Min=data.Close;}}else{for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var data=this.Data.Data[i];if(!data||data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;if([5,7,8,17,18].includes(this.DrawType)&&data.OrderFlow&&IFrameSplitOperator.IsNumber(data.OrderFlow.PriceOffset)){var high=data.High;var low=data.Low;if(IFrameSplitOperator.IsNonEmptyArray(data.OrderFlow.High)){for(var k=0;k<data.OrderFlow.High.length;++k){var item=data.OrderFlow.High[k];if(high<item.Price)high=item.Price;}}if(IFrameSplitOperator.IsNonEmptyArray(data.OrderFlow.Low)){for(var k=0;k<data.OrderFlow.Low.length;++k){var item=data.OrderFlow.Low[k];if(low>item.Price)low=item.Price;}}high+=data.OrderFlow.PriceOffset;low-=data.OrderFlow.PriceOffset;if(range.Max==null)range.Max=high;if(range.Min==null)range.Min=low;if(range.Max<high)range.Max=high;if(range.Min>low)range.Min=low;}else{if(range.Max==null)range.Max=data.High;if(range.Min==null)range.Min=data.Low;if(range.Max<data.High)range.Max=data.High;if(range.Min>data.Low)range.Min=data.Low;}}}return range;};//获取所有的价格
|
|
4103
|
+
{for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var data=this.Data.Data[i];if(!data||!IFrameSplitOperator.IsNumber(data.Close))continue;if(range.Max==null)range.Max=data.Close;if(range.Min==null)range.Min=data.Close;if(range.Max<data.Close)range.Max=data.Close;if(range.Min>data.Close)range.Min=data.Close;}}else{for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var data=this.Data.Data[i];if(!data||data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;if([5,7,8,17,18,21].includes(this.DrawType)&&data.OrderFlow&&IFrameSplitOperator.IsNumber(data.OrderFlow.PriceOffset)){var high=data.High;var low=data.Low;if(IFrameSplitOperator.IsNonEmptyArray(data.OrderFlow.High)){for(var k=0;k<data.OrderFlow.High.length;++k){var item=data.OrderFlow.High[k];if(high<item.Price)high=item.Price;}}if(IFrameSplitOperator.IsNonEmptyArray(data.OrderFlow.Low)){for(var k=0;k<data.OrderFlow.Low.length;++k){var item=data.OrderFlow.Low[k];if(low>item.Price)low=item.Price;}}high+=data.OrderFlow.PriceOffset;low-=data.OrderFlow.PriceOffset;if(range.Max==null)range.Max=high;if(range.Min==null)range.Min=low;if(range.Max<high)range.Max=high;if(range.Min>low)range.Min=low;}else{if(range.Max==null)range.Max=data.High;if(range.Min==null)range.Min=data.Low;if(range.Max<data.High)range.Max=data.High;if(range.Min>data.Low)range.Min=data.Low;}}}return range;};//获取所有的价格
|
|
4126
4104
|
this.GetAllPrice=function(){var xPointCount=this.ChartFrame.XPointCount;var setPrice=new _set2.default();for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var data=this.Data.Data[i];if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var value=data.Close;setPrice.add(value);}var aryPrice=[];var _iteratorNormalCompletion6=true;var _didIteratorError6=false;var _iteratorError6=undefined;try{for(var _iterator6=(0,_getIterator3.default)(setPrice),_step6;!(_iteratorNormalCompletion6=(_step6=_iterator6.next()).done);_iteratorNormalCompletion6=true){var item=_step6.value;aryPrice.push(item);}}catch(err){_didIteratorError6=true;_iteratorError6=err;}finally{try{if(!_iteratorNormalCompletion6&&_iterator6.return){_iterator6.return();}}finally{if(_didIteratorError6){throw _iteratorError6;}}}aryPrice.sort(function(a,b){return a-b;});//排序 升序
|
|
4127
4105
|
return aryPrice;};this.DrawLastPointEvent=function(ptLast){if(!this.GetEventCallback)return;//通知外部绘制最后一个点
|
|
4128
4106
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DRAW_KLINE_LAST_POINT);if(event){var kWidth={Data:this.ChartFrame.DataWidth,Distance:this.ChartFrame.DistanceWidth};if(ptLast)var data={LastPoint:{X:ptLast.X,Y:ptLast.Y,XLeft:ptLast.XLeft,XRight:ptLast.XRight},KItem:ptLast.KItem,DrawType:this.DrawType,KWidth:kWidth,ChartRight:ptLast.ChartRight};else var data={LastPoint:null,KItem:null,KWidth:kWidth};event.Callback(event,data,this);}};this.DrawOrderFlow=function(){var isHScreen=this.ChartFrame.IsHScreen===true;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var xPointCount=this.ChartFrame.XPointCount;if(isHScreen){var border=this.ChartBorder.GetHScreenBorder();xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;chartright=border.BottomEx;}var upColor=this.UpColor;var downColor=this.DownColor;var unchagneColor=this.UnchagneColor;this.ShowRange.Start=this.Data.DataOffset;this.ShowRange.End=this.ShowRange.Start;this.ShowRange.DataCount=0;this.ShowRange.ShowCount=xPointCount;this.DrawKRange.Start=this.Data.DataOffset;var ptLast=null;this.DrawOrderFlowHBar();//横向柱子
|
|
@@ -4212,8 +4190,8 @@ for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++
|
|
|
4212
4190
|
//订单流样式6
|
|
4213
4191
|
this.DrawOrderFlow_Style6=function(){var isHScreen=this.ChartFrame.IsHScreen===true;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var xPointCount=this.ChartFrame.XPointCount;this.AryOrderFlowBorder=[];if(isHScreen){var border=this.ChartBorder.GetHScreenBorder();xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;chartright=border.BottomEx;}var config=this.OrderFlow_Style6;var upColor=config.UpColor;var downColor=config.DownColor;var unchagneColor=config.UnchagneColor;var barWidth=ToFixedRect(config.BarWidth);var textWidth=dataWidth-barWidth;if(textWidth/7<barWidth)barWidth=textWidth/7;if(barWidth<=3)barWidth=3;this.ShowRange.Start=this.Data.DataOffset;this.ShowRange.End=this.ShowRange.Start;this.ShowRange.DataCount=0;this.ShowRange.ShowCount=xPointCount;this.DrawKRange.Start=this.Data.DataOffset;this.DrawOrderFlowHBar();//横向柱子
|
|
4214
4192
|
//居中K线
|
|
4215
|
-
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth,++this.ShowRange.DataCount){var data=this.Data.Data[i];this.ShowRange.End=i;if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);var yOpen=this.GetYFromData(data.Open,false);var yClose=this.GetYFromData(data.Close,false);var y=yHigh;this.DrawKRange.End=i;var barTop=Math.min(yOpen,yClose);var barBottom=Math.max(yOpen,yClose);var barLeft=ToFixedRect(x-barWidth/2);var barRight=barLeft+barWidth;var kColor=unchagneColor;if(data.Open<data.Close)kColor=upColor;else if(data.Open>data.Close)kColor=downColor;this.Canvas.strokeStyle=kColor;this.Canvas.beginPath();this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(yLow));this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(yHigh));this.Canvas.stroke();this.Canvas.fillStyle=kColor;var barHeight=ToFixedRect(barBottom-barTop);if(barHeight<1)barHeight=1;this.Canvas.fillRect(barLeft,ToFixedRect(barTop),barWidth,barHeight);var rtKLine={Left:barLeft,Right:barRight,Top:barTop,Bottom:barBottom,Center:x,DataWidth:dataWidth};rtKLine.Width=rtKLine.Right-rtKLine.Left;rtKLine.Height=rtKLine.Bottom-rtKLine.Top;var rtCell={Left:left-distanceWidth/2,Right:right
|
|
4216
|
-
var rect={Left:rtCell.Left,Right:rtKLine.Left-1,Bottom:yPrice+cellHeight/2,Top:yPrice-cellHeight/2};rect.Width=rect.Right-rect.Left;rect.Height=rect.Bottom-rect.Top;if(IFrameSplitOperator.IsNumber(item.Ask.Value)){var color=config.AskBarColor;if(item.Ask.BG)color=item.Ask.BG;this.Canvas.fillStyle=color;this.Canvas.fillRect(ToFixedRect(rect.Left+minBarWidth),rect.Top,ToFixedRect(rect.Width-minBarWidth),rect.Height);
|
|
4193
|
+
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth,++this.ShowRange.DataCount){var data=this.Data.Data[i];this.ShowRange.End=i;if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);var yOpen=this.GetYFromData(data.Open,false);var yClose=this.GetYFromData(data.Close,false);var y=yHigh;this.DrawKRange.End=i;var barTop=Math.min(yOpen,yClose);var barBottom=Math.max(yOpen,yClose);var barLeft=ToFixedRect(x-barWidth/2);var barRight=barLeft+barWidth;var kColor=unchagneColor;if(data.Open<data.Close)kColor=upColor;else if(data.Open>data.Close)kColor=downColor;this.Canvas.strokeStyle=kColor;this.Canvas.beginPath();this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(yLow));this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(yHigh));this.Canvas.stroke();this.Canvas.fillStyle=kColor;var barHeight=ToFixedRect(barBottom-barTop);if(barHeight<1)barHeight=1;this.Canvas.fillRect(barLeft,ToFixedRect(barTop),barWidth,barHeight);var rtKLine={Left:barLeft,Right:barRight,Top:barTop,Bottom:barBottom,Center:x,DataWidth:dataWidth};rtKLine.Width=rtKLine.Right-rtKLine.Left;rtKLine.Height=rtKLine.Bottom-rtKLine.Top;var rtCell={Left:left-distanceWidth/2,Right:right+distanceWidth/2};rtCell.Width=rtCell.Right-rtCell.Left;this.DrawOrderFlowBar_Style6(data.OrderFlow,data,rtKLine,rtCell,isHScreen);}};this.DrawOrderFlowBar_Style6=function(orderFlow,kItem,rtKLine,rtCell,isHScreen){var cellWidth=(rtCell.Width-rtKLine.Width)/2;var cellHeight=0;if(orderFlow&&IFrameSplitOperator.IsNumber(orderFlow.PriceOffset))cellHeight=this.GetPriceYOffset(orderFlow.PriceOffset);var textFont=this.GetDynamicOrderFlowFont(cellHeight,cellWidth);this.IsShowOrderText=cellHeight>5&&cellWidth>10;if(this.OrderFlow.AlwaysShowOrderText)this.IsShowOrderText=true;var config=this.OrderFlow_Style6;this.Canvas.textBaseline='middle';this.Canvas.font=textFont;var minBarWidth=config.MinBarWidth;var aryBorder=[];if(orderFlow&&IFrameSplitOperator.IsNonEmptyArray(orderFlow.Order)){var maxValue=orderFlow.MaxValue;for(var i=0;i<orderFlow.Order.length;++i){var item=orderFlow.Order[i];var yPrice=this.GetYFromData(item.Price,false);//左边
|
|
4194
|
+
var rect={Left:rtCell.Left,Right:rtKLine.Left-1,Bottom:yPrice+cellHeight/2,Top:yPrice-cellHeight/2};rect.Width=rect.Right-rect.Left;rect.Height=rect.Bottom-rect.Top;if(IFrameSplitOperator.IsNumber(item.Ask.Value)){var color=config.AskBarColor;if(item.Ask.BG)color=item.Ask.BG;this.Canvas.fillStyle=color;this.Canvas.fillRect(ToFixedRect(rect.Left+minBarWidth),rect.Top,ToFixedRect(rect.Width-minBarWidth),rect.Height);var borderLine={Left:rect.Left+minBarWidth,Right:rect.Right,Y:rect.Top};var maxTextWidth=rect.Width-minBarWidth;if(maxTextWidth>1)maxTextWidth-=1;var text=null;if(IFrameSplitOperator.IsString(item.Ask.Text))text=item.Ask.Text;else text=item.Ask.Value.toString();if(text&&this.IsShowOrderText){var textColor=this.OrderFlow.Text.Color;if(item.Ask.Color)textColor=item.Ask.Color;this.Canvas.fillStyle=textColor;this.Canvas.textAlign='right';var xText=rect.Right-this.OrderFlow_Style5.LeftMargin;if(item.Ask.Font){var itemFont=this.GetDynamicOrderFlowFont(cellHeight,cellWidth,item.Ask.Font);this.Canvas.font=itemFont;this.Canvas.fillText(text,xText,yPrice,maxTextWidth);this.Canvas.font=textFont;}else{this.Canvas.fillText(text,xText,yPrice,maxTextWidth);}}if(item.Ask.MinBar&&item.Ask.MinBar.Color){var color=item.Ask.MinBar.Color;var rtMinBar={Left:rect.Left,Top:rect.Top,Width:minBarWidth-1,Height:rect.Height};this.Canvas.fillStyle=color;this.Canvas.fillRect(ToFixedRect(rtMinBar.Left),rtMinBar.Top,ToFixedRect(rtMinBar.Width),rtMinBar.Height);borderLine={Left:rtMinBar.Left,Right:rect.Right,Y:rect.Top};}aryBorder.push(borderLine);}var rect={Left:rtKLine.Right+1,Right:rtCell.Right,Bottom:yPrice+cellHeight/2,Top:yPrice-cellHeight/2};rect.Width=rect.Right-rect.Left;rect.Height=rect.Bottom-rect.Top;if(IFrameSplitOperator.IsNumber(item.Bid.Value)){var color=config.BidBarColor;if(item.Bid.BG)color=item.Bid.BG;this.Canvas.fillStyle=color;this.Canvas.fillRect(ToFixedRect(rect.Left),rect.Top,ToFixedRect(rect.Width-minBarWidth),rect.Height);var borderLine={Left:rect.Left,Right:rect.Right-minBarWidth,Y:rect.Top};var maxTextWidth=rect.Width-minBarWidth;if(maxTextWidth>1)maxTextWidth-=1;var text=null;if(IFrameSplitOperator.IsString(item.Bid.Text))text=item.Bid.Text;else text=item.Bid.Value.toString();if(text&&this.IsShowOrderText){var textColor=this.OrderFlow.Text.Color;if(item.Bid.Color)textColor=item.Bid.Color;this.Canvas.fillStyle=textColor;this.Canvas.textAlign='left';var xText=rect.Left+this.OrderFlow_Style5.RightMargin;if(item.Bid.Font){var itemFont=this.GetDynamicOrderFlowFont(cellHeight,cellWidth,item.Bid.Font);this.Canvas.font=itemFont;this.Canvas.fillText(text,xText,yPrice,maxTextWidth);this.Canvas.font=textFont;}else{this.Canvas.fillText(text,xText,yPrice,maxTextWidth);}}if(item.Bid.MinBar&&item.Bid.MinBar.Color){var color=item.Bid.MinBar.Color;var rtMinBar={Left:rect.Right-minBarWidth+1,Top:rect.Top,Width:minBarWidth-1,Height:rect.Height};this.Canvas.fillStyle=color;this.Canvas.fillRect(ToFixedRect(rtMinBar.Left),rtMinBar.Top,ToFixedRect(rtMinBar.Width),rtMinBar.Height);borderLine={Left:rect.Left,Right:rect.Right,Y:rect.Top};}aryBorder.push(borderLine);}}}if(IFrameSplitOperator.IsNonEmptyArray(aryBorder)&&config.BorderColor){this.Canvas.strokeStyle=config.BorderColor;this.Canvas.beginPath();for(var i=0;i<aryBorder.length;++i){var item=aryBorder[i];this.Canvas.moveTo(ToFixedPoint(item.Left),ToFixedPoint(item.Y));this.Canvas.lineTo(ToFixedPoint(item.Right),ToFixedPoint(item.Y));}this.Canvas.stroke();}this.DrawOrderFlowBarHighLow(orderFlow,rtKLine,cellHeight);//绘制最高 最低点文字
|
|
4217
4195
|
};//////////////////////////////////////////////////////////////
|
|
4218
4196
|
// high low bar
|
|
4219
4197
|
//
|
|
@@ -4316,29 +4294,74 @@ if(firstOpen==null)return;var drawType=this.DrawType;if(this.CustomDrawType!=nul
|
|
|
4316
4294
|
}return this.PtInKBar(x,y,{OverlayKLine:true});};this.DrawSelectedStatus=function(){this.DrawLinePoint({OverlayKLine:true});};}//K线表格
|
|
4317
4295
|
function ChartKLineTable(){this.newMethod=IChartPainting;//派生
|
|
4318
4296
|
this.newMethod();delete this.newMethod;this.ClassName='ChartKLineTable';//类名
|
|
4319
|
-
this.Data;this.
|
|
4320
|
-
this.BGColor;//背景色
|
|
4321
|
-
this.BorderColor;//分割线颜色
|
|
4322
|
-
this.AryBorderColor;//分割线颜色
|
|
4323
|
-
this.RowCount=5;//行数
|
|
4297
|
+
this.Data;this.AryRowName;this.RowCount=5;//行数
|
|
4324
4298
|
this.RowHeight=10;//行高
|
|
4325
|
-
this.
|
|
4326
|
-
this.TextFontConfig=CloneData(g_JSChartResource.ChartKLineTable.TextFont);this.
|
|
4299
|
+
this.ItemMargin=CloneData(g_JSChartResource.ChartKLineTable.ItemMargin);this.CellWidth=12*GetDevicePixelRatio();//单元格文字
|
|
4300
|
+
this.TextFontConfig=CloneData(g_JSChartResource.ChartKLineTable.TextFont);this.TextFont;this.TextColor=g_JSChartResource.ChartKLineTable.TextColor;this.Style=0;//0=全部窗口模式 1=顶部指定行数 2=底部指定行数;
|
|
4301
|
+
this.YOffset=1;//表格整体偏移
|
|
4327
4302
|
this.AryTableData=[];this.MapCache=null;//key=date/date-time value={ Date:, Time:, Data:[ ] }
|
|
4328
4303
|
this.GetKValue=ChartData.GetKValue;this.AryCellRect=[];//保存单元格信息
|
|
4329
4304
|
this.AryNameRect=[];//右侧行的名字
|
|
4330
|
-
this.
|
|
4331
|
-
|
|
4332
|
-
|
|
4305
|
+
this.BorderConfig={Vertical:{IsShow:true,Color:g_JSChartResource.ChartKLineTable.Border.Vertical.Color},//竖线
|
|
4306
|
+
Horizontal:{IsShow:true,Color:g_JSChartResource.ChartKLineTable.Border.Horizontal.Color,AryColor:[]}//横线
|
|
4307
|
+
};this.BGConfig={IsShow:true,Color:g_JSChartResource.ChartKLineTable.BG.Color},//背景色
|
|
4308
|
+
this.LabelConfig={Position:1,//0不显示 1=内左 2=外左 3=内右 4=外右
|
|
4309
|
+
Font:g_JSChartResource.ChartKLineTable.Label.Font,Color:g_JSChartResource.ChartKLineTable.Label.Color,BGColor:g_JSChartResource.ChartKLineTable.Label.BGColor,BorderColor:g_JSChartResource.ChartKLineTable.Label.BorderColor,Margin:{Left:10,Right:10},XOffset:4,YOffset:4};this.AryLabel=[];this.RectTable=null;this.SetOption=function(option){if(!option)return;if(option.BG)//背景
|
|
4310
|
+
{var item=option.BG;if(IFrameSplitOperator.IsBool(item.IsShow))this.BGConfig.IsShow=item.IsShow;if(item.Color)this.BGConfig.Color=item.Color;}if(option.Border)//分割线
|
|
4311
|
+
{var item=option.Border;if(item.Vertical){var subItem=item.Vertical;if(IFrameSplitOperator.IsBool(subItem.IsShow))this.BorderConfig.Vertical.IsShow=subItem.IsShow;if(subItem.Color)this.BorderConfig.Vertical.Color=subItem.Color;}if(item.Horizontal){var subItem=item.Horizontal;if(IFrameSplitOperator.IsBool(subItem.IsShow))this.BorderConfig.Horizontal.IsShow=subItem.IsShow;if(subItem.Color)this.BorderConfig.Horizontal.Color=subItem.Color;if(IFrameSplitOperator.IsNonEmptyArray(subItem.AryColor))this.BorderConfig.Horizontal.AryColor=subItem.AryColor.slice();}}if(option.Label)//标签
|
|
4312
|
+
{var item=option.Label;if(IFrameSplitOperator.IsNumber(item.Position))this.LabelConfig.Position=item.Position;if(item.Font)this.LabelConfig.Font=item.Font;if(item.Color)this.LabelConfig.Color=item.Color;if(IFrameSplitOperator.IsNumber(item.XOffset))this.LabelConfig.XOffset=item.XOffset;if(IFrameSplitOperator.IsNumber(item.YOffset))this.LabelConfig.YOffset=item.YOffset;if(item.BGColor)this.LabelConfig.BGColor=item.BGColor;if(item.BorderColor)this.LabelConfig.BorderColor=item.BorderColor;if(item.Margin){var subItem=item.Margin;if(IFrameSplitOperator.IsNumber(subItem.Left))this.LabelConfig.Margin.Left=subItem.Left;if(IFrameSplitOperator.IsNumber(subItem.Right))this.LabelConfig.Margin.Right=subItem.Right;}}//样式
|
|
4313
|
+
if(IFrameSplitOperator.IsNumber(option.Style))this.Style=option.Style;if(IFrameSplitOperator.IsNumber(option.YOffset))this.YOffset=option.YOffset;//单元格
|
|
4314
|
+
if(option.ItemMargin){var subItem=option.ItemMargin;if(IFrameSplitOperator.IsNumber(subItem.Left))this.ItemMargin.Left=subItem.Left;if(IFrameSplitOperator.IsNumber(subItem.Top))this.ItemMargin.Top=subItem.Top;if(IFrameSplitOperator.IsNumber(subItem.Bottom))this.ItemMargin.Bottom=subItem.Bottom;if(IFrameSplitOperator.IsNumber(subItem.Right))this.ItemMargin.Right=subItem.Right;if(IFrameSplitOperator.IsNumber(subItem.YOffset))this.ItemMargin.YOffset=subItem.YOffset;}if(option.TextColor)this.TextColor=option.TextColor;if(option.TextFont){var subItem=option.TextFont;if(IFrameSplitOperator.IsNumber(subItem.FontMaxSize))this.TextFontConfig.FontMaxSize=subItem.FontMaxSize;if(subItem.Family)this.TextFontConfig.Family=subItem.Family;}if(IFrameSplitOperator.IsPlusNumber(option.CellWidth))this.CellWidth=option.CellWidth;};this.ReloadResource=function(resource){this.ItemMargin=CloneData(g_JSChartResource.ChartKLineTable.ItemMargin);//单元格文字
|
|
4315
|
+
this.TextFontConfig=CloneData(g_JSChartResource.ChartKLineTable.TextFont);this.TextColor=g_JSChartResource.ChartKLineTable.TextColor;this.BorderConfig.Vertical.Color=g_JSChartResource.ChartKLineTable.Border.Vertical.Color;//竖线
|
|
4316
|
+
this.BorderConfig.Horizontal.Color=g_JSChartResource.ChartKLineTable.Border.Horizontal.Color;//横线
|
|
4317
|
+
this.BGConfig.Color=g_JSChartResource.ChartKLineTable.BG.Color;//背景色
|
|
4318
|
+
this.LabelConfig.Font=g_JSChartResource.ChartKLineTable.Label.Font;this.LabelConfig.Color=g_JSChartResource.ChartKLineTable.Label.Color;this.LabelConfig.BGColor=g_JSChartResource.ChartKLineTable.Label.BGColor;this.LabelConfig.BorderColor=g_JSChartResource.ChartKLineTable.Label.BorderColor;};this.BuildCacheData=function(){var mapData=new _map2.default();this.MapCache=mapData;if(!IFrameSplitOperator.IsNonEmptyArray(this.AryTableData))return;for(var i=0;i<this.AryTableData.length;++i){var item=this.AryTableData[i];var key=this.BuildKey(item);mapData.set(key,item);}};//绘制背景色
|
|
4319
|
+
this.DrawBG=function(rtBG){if(!this.RectTable)return;var config=this.BGConfig;if(!config.IsShow)return;this.Canvas.fillStyle=config.Color;this.Canvas.fillRect(this.RectTable.Left,this.RectTable.Top,this.RectTable.Width,this.RectTable.Height);};//画竖线
|
|
4320
|
+
this.DrawVerticalBorder=function(){if(!this.RectTable)return;var config=this.BorderConfig.Vertical;if(!config.IsShow)return;var border=this.ChartFrame.GetBorder();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;var xOffset=border.LeftEx+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var bMinute=this.IsMinuteFrame();this.Canvas.beginPath();for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){if(bMinute){var x=this.ChartFrame.GetXFromIndex(j);var left=x-cellWidth/2;var right=x+cellWidth/2;}else{var left=xOffset;var right=xOffset+dataWidth+distanceWidth;if(right>chartright)break;var x=left+(right-left)/2;if(x>chartright)break;}this.Canvas.moveTo(ToFixedPoint(right),ToFixedPoint(this.RectTable.Top));this.Canvas.lineTo(ToFixedPoint(right),ToFixedPoint(this.RectTable.Bottom));}this.Canvas.strokeStyle=config.Color;this.Canvas.stroke();};//画横线
|
|
4321
|
+
this.DrawHorizontalBorder=function(){if(!this.RectTable)return;var config=this.BorderConfig.Horizontal;if(!config.IsShow)return;var lineCount=this.RowCount+1;var yLine=this.RectTable.Top;for(var i=0;i<lineCount;++i){var borderColor=config.Color;if(config.AryColor&&config.AryColor[i])borderColor=config.AryColor[i];this.Canvas.strokeStyle=borderColor;this.Canvas.beginPath();this.Canvas.moveTo(this.RectTable.Left,ToFixedPoint(yLine));this.Canvas.lineTo(this.RectTable.Right,ToFixedPoint(yLine));this.Canvas.stroke();yLine+=this.RowHeight;if(yLine>this.RectTable.Bottom)break;}};this.DrawBorder=function(){this.DrawVerticalBorder();this.DrawHorizontalBorder();};//计算表格大小
|
|
4322
|
+
this.CalculateTableRect=function(){this.RowHeight=this.TextFontConfig.FontMaxSize+this.ItemMargin.Top+this.ItemMargin.Bottom;var border=this.ChartFrame.GetBorder();this.RectTable=null;if(this.Style===2)//底部指定行数
|
|
4323
|
+
{var bottom=border.Bottom-this.YOffset;this.RectTable={Left:border.LeftEx,Right:border.LeftEx,Top:bottom,Bottom:bottom};this.CalculateTableWidth();this.CalculateBottomTableRect();}else if(this.Style==1)//顶部指定行
|
|
4324
|
+
{var top=border.TopTitle+this.YOffset;this.RectTable={Left:border.LeftEx,Right:border.LeftEx,Top:top,Bottom:top};this.CalculateTableWidth();this.CalculateTopTableRect();}};this.CalculateTableWidth=function(){if(!this.RectTable)return;var border=this.ChartFrame.GetBorder();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;var xOffset=border.LeftEx+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var bMinute=this.IsMinuteFrame();var rtClient=this.RectTable;if([3,4].indexOf(this.LabelConfig.Position)>=0)//右侧标签
|
|
4325
|
+
{rtClient.Right=border.RightEx;}else{for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){if(bMinute){var x=this.ChartFrame.GetXFromIndex(j);var left=x-cellWidth/2;var right=x+cellWidth/2;}else{var left=xOffset;var right=xOffset+dataWidth+distanceWidth;if(right>chartright)break;var x=left+(right-left)/2;if(x>chartright)break;}rtClient.Right=right;}}rtClient.Width=rtClient.Right-rtClient.Left;};this.CalculateBottomTableRect=function(){if(!this.RectTable)return;var rtClient=this.RectTable;var border=this.ChartFrame.GetBorder();for(var i=0;i<this.RowCount;++i){var top=rtClient.Top-this.RowHeight;if(top<border.TopTitle)break;rtClient.Top=top;}rtClient.Height=rtClient.Bottom-rtClient.Top;};this.CalculateTopTableRect=function(){if(!this.RectTable)return;var rtClient=this.RectTable;var border=this.ChartFrame.GetBorder();for(var i=0;i<this.RowCount;++i){var bottom=rtClient.Bottom+this.RowHeight;if(bottom>border.Bottom)break;rtClient.Bottom=bottom;}rtClient.Height=rtClient.Bottom-rtClient.Top;};this.ClipClient=function(){/*
|
|
4326
|
+
var border=this.ChartFrame.GetBorder();
|
|
4327
|
+
|
|
4328
|
+
if (this.Style===1)
|
|
4329
|
+
{
|
|
4330
|
+
var rtBG={ Left:border.LeftEx+1, Top:border.TopTitle, Right:border.RightEx-1, Bottom:border.TopEx };
|
|
4331
|
+
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
4332
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
4333
|
+
}
|
|
4334
|
+
else if (this.Style===2)
|
|
4335
|
+
{
|
|
4336
|
+
var rtBG={ Left:border.LeftEx+1, Top:border.BottomEx, Right:border.RightEx-1, Bottom:border.Bottom };
|
|
4337
|
+
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
4338
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
4339
|
+
}
|
|
4340
|
+
else
|
|
4341
|
+
{
|
|
4342
|
+
return;
|
|
4343
|
+
}
|
|
4344
|
+
|
|
4345
|
+
this.Canvas.beginPath();
|
|
4346
|
+
this.Canvas.rect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);
|
|
4347
|
+
//this.Canvas.stroke(); //调试用
|
|
4348
|
+
this.Canvas.clip();
|
|
4349
|
+
*/};this.Draw=function(){this.AryCellRect=[];this.AryNameRect=[];if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;if([1,2].indexOf(this.Style)<0)return;//if (!IFrameSplitOperator.IsNonEmptyArray(this.AryTableData)) return;
|
|
4333
4350
|
//if (!this.MapCache || this.MapCache.size<=0) return;
|
|
4334
|
-
var isHScreen=this.ChartFrame.IsHScreen===true;if(isHScreen)return;if(this.RowCount<=0)return;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;var border=this.ChartFrame.GetBorder();var height=border.Bottom-border.TopTitle;var xOffset=border.LeftEx+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var top=border.TopTitle;var bottom=border.Bottom
|
|
4335
|
-
|
|
4336
|
-
}
|
|
4337
|
-
|
|
4351
|
+
var isHScreen=this.ChartFrame.IsHScreen===true;if(isHScreen)return;if(this.RowCount<=0)return;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;var border=this.ChartFrame.GetBorder();var height=border.Bottom-border.TopTitle;var xOffset=border.LeftEx+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var top=border.TopTitle;var bottom=border.Bottom;this.Canvas.save();this.ClipClient();this.CalculateTableRect();this.DrawBG();var itemHeight=this.RowHeight;var itemWidth=dataWidth+distanceWidth;var font=this.GetDynamicTextFont(itemHeight,itemWidth);this.TextFont=font;this.Canvas.font=this.TextFont;var bMinute=this.IsMinuteFrame();var cellWidth=1;if(bMinute){cellWidth=(border.Right-border.Left)/this.ChartFrame.XPointCount;if(cellWidth<1)cellWidth=1;}var top=this.RectTable.Top;var bottom=this.RectTable.Bottom;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];if(!kItem)continue;if(bMinute){var x=this.ChartFrame.GetXFromIndex(j);var left=x-cellWidth/2;var right=x+cellWidth/2;}else{var left=xOffset;var right=xOffset+dataWidth+distanceWidth;if(right>chartright)break;var x=left+(right-left)/2;if(x>chartright)break;}var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);this.DrawRow(mapItem,top,bottom,left,right);//绘制一列
|
|
4352
|
+
}this.Canvas.restore();this.DrawBorder();this.DrawRowName();//内部的标签名称
|
|
4353
|
+
};this.DrawRowName=function(){var config=this.LabelConfig;if([1,2,3,4].indexOf(config.Position)<0)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.AryLabel))return;this.Canvas.font=config.Font;//计算宽度
|
|
4354
|
+
var maxTextWidth=0;for(var i=0;i<this.AryLabel.length;++i){var item=this.AryLabel[i];var textWidth=this.Canvas.measureText(item.Name).width;if(maxTextWidth<textWidth)maxTextWidth=textWidth;}var labelWidth=maxTextWidth+config.Margin.Left+config.Margin.Right;var x=this.RectTable.Left;var y=this.RectTable.Top;if(config.Position==2)x=this.RectTable.Left-labelWidth;else if(config.Position==3)x=this.RectTable.Right-labelWidth;else if(config.Position==4)x=this.RectTable.Right;var aryBorder=[];//文字输出
|
|
4355
|
+
for(var i=0;i<this.AryLabel.length;++i){var item=this.AryLabel[i];var rtBG={Left:x,Top:y,Height:this.RowHeight,Width:labelWidth};rtBG.Right=rtBG.Left+rtBG.Width;rtBG.Bottom=rtBG.Top+this.RowHeight;var yText=rtBG.Bottom-config.YOffset;var bgColor=config.BGColor;if(item.BGColor)bgColor=item.BGColor;this.Canvas.fillStyle=bgColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);if(i==0)aryBorder.push({Y:rtBG.Top,Left:rtBG.Left,Right:rtBG.Right});aryBorder.push({Y:rtBG.Bottom,Left:rtBG.Left,Right:rtBG.Right});if(item.Name&&rtBG.Width>10){this.Canvas.fillStyle=item.Color?item.Color:config.Color;this.Canvas.textBaseline='bottom';if(item.TextAlign=='right'){this.Canvas.textAlign='right';this.Canvas.fillText(item.Name,rtBG.Right-config.XOffset,yText);}else if(item.TextAlign=='center'){this.Canvas.textAlign='center';this.Canvas.fillText(item.Name,rtBG.Left+rtBG.Width/2,yText);}else{this.Canvas.textAlign='left';this.Canvas.fillText(item.Name,rtBG.Left+config.XOffset,yText);}}y+=this.RowHeight;}//边框线
|
|
4356
|
+
this.Canvas.beginPath();this.Canvas.strokeStyle=config.BorderColor;for(var i=0;i<aryBorder.length;++i){var item=aryBorder[i];this.Canvas.moveTo(item.Left,ToFixedPoint(item.Y));this.Canvas.lineTo(item.Right,ToFixedPoint(item.Y));}if(config.Position==1)//左边
|
|
4357
|
+
{var x=this.RectTable.Left+1;this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(this.RectTable.Top));this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(this.RectTable.Bottom));x=this.RectTable.Left+labelWidth;this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(this.RectTable.Top));this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(this.RectTable.Bottom));}else if(config.Position==2)//左边(外)
|
|
4358
|
+
{var x=this.RectTable.Left;this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(this.RectTable.Top));this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(this.RectTable.Bottom));x=this.RectTable.Left-labelWidth;this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(this.RectTable.Top));this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(this.RectTable.Bottom));}else if(config.Position==3)//右边
|
|
4359
|
+
{var x=this.RectTable.Right-1;this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(this.RectTable.Top));this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(this.RectTable.Bottom));x=this.RectTable.Right-labelWidth;this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(this.RectTable.Top));this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(this.RectTable.Bottom));}else if(config.Position==4)//右边(外)
|
|
4360
|
+
{var x=this.RectTable.Right;this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(this.RectTable.Top));this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(this.RectTable.Bottom));x=this.RectTable.Right+labelWidth;this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(this.RectTable.Top));this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(this.RectTable.Bottom));}this.Canvas.stroke();};this.DrawRow=function(data,top,bottom,left,right){if(!IFrameSplitOperator.IsNonEmptyArray(data.Data))return;var x=left,y=top,width=right-left;var yOffset=3;if(this.ItemMargin.YOffset)yOffset=this.ItemMargin.YOffset;for(var i=0;i<data.Data.length;++i,y+=this.RowHeight){var item=data.Data[i];if(!item)continue;var rtBG={Left:x,Top:y,Right:right,Height:this.RowHeight,Width:width};rtBG.Bottom=rtBG.Top+this.RowHeight;if(rtBG.Bottom>bottom)break;if(IFrameSplitOperator.IsNonEmptyArray(item.AryText))//左右显示
|
|
4338
4361
|
{var subCellWidth=rtBG.Width/item.AryText.length;var xCell=rtBG.Left;for(var j=0;j<item.AryText.length;++j){var subItem=item.AryText[j];var rtSubBG={Left:xCell,Top:rtBG.Top,Bottom:rtBG.Bottom,Width:subCellWidth,Height:rtBG.Height};rtSubBG.Right=rtSubBG.Left+rtSubBG.Width;if(subItem&&subItem.BGColor){this.Canvas.fillStyle=subItem.BGColor;this.Canvas.fillRect(rtSubBG.Left,rtSubBG.Top,rtSubBG.Width,rtSubBG.Height);}if(subItem&&subItem.Color&&subCellWidth>10){this.Canvas.fillStyle=subItem.Color;this.Canvas.textBaseline='bottom';var yText=rtSubBG.Bottom-yOffset;if(subItem.TextAlign=='right'){this.Canvas.textAlign='right';this.Canvas.fillText(subItem.Text,rtSubBG.Right-2,yText,width-4);}else if(subItem.TextAlign=='center'){this.Canvas.textAlign='center';this.Canvas.fillText(subItem.Text,rtSubBG.Left+rtSubBG.Width/2,yText,width-4);}else{this.Canvas.textAlign='left';this.Canvas.fillText(subItem.Text,rtSubBG.Left+2,yText,width-4);}}//if (rtBG.Width>5)
|
|
4339
4362
|
{this.AryCellRect.push({Item:{Cell:item,Colunm:data,RowIndex:i,SubCell:subItem,SubIndex:j,Tooltip:subItem.Tooltip,Type:2},Rect:rtSubBG});}xCell+=subCellWidth;}}else{if(item.BGColor){this.Canvas.fillStyle=item.BGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}if(item.Text&&rtBG.Width>10){if(item.Color)this.Canvas.fillStyle=item.Color;else this.Canvas.fillStyle=this.TextColor;this.Canvas.textBaseline='bottom';var yText=rtBG.Bottom-yOffset;if(item.TextAlign=='right'){this.Canvas.textAlign='right';this.Canvas.fillText(item.Text,rtBG.Right-2,yText,width-4);}else if(item.TextAlign=='center'){this.Canvas.textAlign='center';this.Canvas.fillText(item.Text,rtBG.Left+rtBG.Width/2,yText,width-4);}else{this.Canvas.textAlign='left';this.Canvas.fillText(item.Text,rtBG.Left+2,yText,width-4);}}//if (rtBG.Width>5)
|
|
4340
4363
|
{this.AryCellRect.push({Item:{Cell:item,Colunm:data,RowIndex:i,Tooltip:item.Tooltip,Type:1},Rect:rtBG});}}}};this.GetDynamicTextFont=function(cellHeight,width,fontOption){var fontSize=parseInt(cellHeight)-2;if(cellHeight<5)fontSize=parseInt(cellHeight);//高度太小了就不要上下间距了
|
|
4341
|
-
if(fontSize>this.TextFontConfig.FontMaxSize)fontSize=this.TextFontConfig.FontMaxSize;else if(fontSize<=0)fontSize=1;var font=this.FormatFontString(fontSize,this.TextFontConfig.Family,fontOption);return font;};this.FormatFontString=function(fontSize,family,option){var font;if(!option){font=fontSize+'px '+family;}else{if(option.Weight)font=option.Weight+' '+fontSize+'px '+family;}return font;};this.GetMaxMin=function(){return
|
|
4364
|
+
if(fontSize>this.TextFontConfig.FontMaxSize)fontSize=this.TextFontConfig.FontMaxSize;else if(fontSize<=0)fontSize=1;var font=this.FormatFontString(fontSize,this.TextFontConfig.Family,fontOption);return font;};this.FormatFontString=function(fontSize,family,option){var font;if(!option){font=fontSize+'px '+family;}else{if(option.Weight)font=option.Weight+' '+fontSize+'px '+family;}return font;};this.GetMaxMin=function(){return null;};this.GetTooltipData=function(x,y,tooltip){if(!this.IsShow)return false;for(var i=0;i<this.AryCellRect.length;++i){var item=this.AryCellRect[i];if(!item.Rect)continue;var rect=item.Rect;if(x>=rect.Left&&x<=rect.Right&&y>=rect.Top&&y<=rect.Bottom){var data=item.Item;JSConsole.Chart.Log('[ChartKLineTable::GetTooltipData] cell',item);tooltip.Data={Rect:item.Rect,Item:data};tooltip.ChartPaint=this;tooltip.Type=9;//ChartKLineTable
|
|
4342
4365
|
return true;}}return false;};}//表格
|
|
4343
4366
|
function ChartSimpleTable(){this.newMethod=IChartPainting;//派生
|
|
4344
4367
|
this.newMethod();delete this.newMethod;this.ClassName='ChartSimpleTable';//类名
|
|
@@ -6667,7 +6690,8 @@ if(left+textWidth>right)break;this.Canvas.fillText(text,left,bottom,textWidth);l
|
|
|
6667
6690
|
}};this.OnDrawEventCallback=function(drawData){if(!this.OnDrawEvent||!this.OnDrawEvent.Callback)return;var data={Draw:drawData,Name:'DynamicChartTitlePainting'};this.OnDrawEvent.Callback(this.OnDrawEvent,data,this);};this.GetFontHeight=function(font){return GetFontHeight(this.Canvas,font,"擎");};//指标名字按钮
|
|
6668
6691
|
this.DrawNameButton=function(rtButton,moveonPoint,mouseStatus){var pixelRatio=GetDevicePixelRatio();var title=this.Title;var textWidth=this.Canvas.measureText(title).width;var arrowWidth=0;if(this.IsShowNameArrow&&this.NameArrowConfig){arrowWidth=this.Canvas.measureText(this.NameArrowConfig.Symbol).width;if(IFrameSplitOperator.IsNumber(this.NameArrowConfig.Space))arrowWidth+=this.NameArrowConfig.Space;}var bgHeight=this.Canvas.measureText("擎").width+4*pixelRatio;var roundRadius=this.BorderRoundRadius*pixelRatio;var bgWidth=textWidth+arrowWidth+4*pixelRatio+roundRadius*2;rtButton.Top=rtButton.YCenter-bgHeight/2-1,rtButton.Width=bgWidth;rtButton.Height=bgHeight;rtButton.Right=rtButton.Left+rtButton.Width;rtButton.Bottom=rtButton.Top+rtButton.Height;var borderColor=this.BGBorderColor;if(moveonPoint&&moveonPoint.X>=rtButton.Left&&moveonPoint.X<rtButton.Right&&moveonPoint.Y>=rtButton.Top&&moveonPoint.Y<=rtButton.Bottom){if(this.BGBorderMoveOnColor)borderColor=this.BGBorderMoveOnColor;if(mouseStatus){var btnItem={ID:JSCHART_BUTTON_ID.INDEX_NAME_BUTTON};mouseStatus.MouseOnToolbar={ID:"IndexNameButton",Rect:rtButton,Item:btnItem,Frame:this.Frame,Point:{X:moveonPoint.X,Y:moveonPoint.Y}};}}if(this.Canvas.roundRect&&this.NameButtonStyle==1)//判断下是否支持roundRect
|
|
6669
6692
|
{this.Canvas.beginPath();this.Canvas.roundRect(ToFixedPoint(rtButton.Left),ToFixedPoint(rtButton.Top),ToFixedRect(rtButton.Width),ToFixedRect(rtButton.Height),[roundRadius]);this.Canvas.closePath();this.Canvas.fillStyle=this.BGColor;this.Canvas.fill();if(borderColor){this.Canvas.strokeStyle=borderColor;this.Canvas.stroke();}}else{this.Canvas.fillStyle=this.BGColor;this.Canvas.fillRect(rtButton.Left,rtButton.Top,rtButton.Width,rtButton.Height);if(borderColor){this.Canvas.strokeStyle=borderColor;this.Canvas.strokeRect(ToFixedPoint(rtButton.Left),ToFixedPoint(rtButton.Top),ToFixedRect(rtButton.Width),ToFixedRect(rtButton.Height),[roundRadius]);}}var xText=rtButton.Left+roundRadius+2*pixelRatio;this.Canvas.fillStyle=this.TitleColor;this.Canvas.fillText(title,xText,rtButton.YCenter);xText+=textWidth;if(this.IsShowNameArrow&&this.NameArrowConfig){if(IFrameSplitOperator.IsNumber(this.NameArrowConfig.Space))xText+=this.NameArrowConfig.Space;this.Canvas.fillStyle=this.NameArrowConfig.Color;this.Canvas.fillText(this.NameArrowConfig.Symbol,xText,rtButton.YCenter);}};//绘制按钮
|
|
6670
|
-
this.DrawButton=function(item,rtButton,moveonPoint,mouseStatus){var size=item.Style.Size;if(IFrameSplitOperator.IsNumber(item.Style.YMoveOffset))rtButton.YCenter+=item.Style.YMoveOffset;var font=size+'px '+item.Style.Family;rtButton.Top=rtButton.YCenter-size/2;rtButton.Width=size+item.Style.MerginLeft;rtButton.Height=size;rtButton.Bottom=rtButton.Top+rtButton.Height;rtButton.Right=rtButton.Left+rtButton.Width;var color=item.Style.Color;if(moveonPoint&&moveonPoint.X>=rtButton.Left&&moveonPoint.X<rtButton.Right&&moveonPoint.Y>=rtButton.Top&&moveonPoint.Y<=rtButton.Bottom){color=item.Style.MoveOnColor;if(mouseStatus)mouseStatus.MouseOnToolbar={ID:"TitleButton",Rect:rtButton,Item:item,Frame:this.Frame,Point:{X:moveonPoint.X,Y:moveonPoint.Y}};}this.Canvas.fillStyle=color;this.Canvas.font=font;this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";this.Canvas.fillText(item.Style.Text,rtButton.Left,rtButton.YCenter);return true;};this.DrawToolbar=function(toolbarInfo,moveonPoint,mouseStatus){toolbarInfo.Width=0;if(!this.Frame||!this.Frame.GetLeftToolbar)return
|
|
6693
|
+
this.DrawButton=function(item,rtButton,moveonPoint,mouseStatus){var size=item.Style.Size;if(IFrameSplitOperator.IsNumber(item.Style.YMoveOffset))rtButton.YCenter+=item.Style.YMoveOffset;var font=size+'px '+item.Style.Family;rtButton.Top=rtButton.YCenter-size/2;rtButton.Width=size+item.Style.MerginLeft;rtButton.Height=size;rtButton.Bottom=rtButton.Top+rtButton.Height;rtButton.Right=rtButton.Left+rtButton.Width;var color=item.Style.Color;if(moveonPoint&&moveonPoint.X>=rtButton.Left&&moveonPoint.X<rtButton.Right&&moveonPoint.Y>=rtButton.Top&&moveonPoint.Y<=rtButton.Bottom){color=item.Style.MoveOnColor;if(mouseStatus)mouseStatus.MouseOnToolbar={ID:"TitleButton",Rect:rtButton,Item:item,Frame:this.Frame,Point:{X:moveonPoint.X,Y:moveonPoint.Y}};}this.Canvas.fillStyle=color;this.Canvas.font=font;this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";this.Canvas.fillText(item.Style.Text,rtButton.Left,rtButton.YCenter);return true;};this.DrawToolbar=function(toolbarInfo,moveonPoint,mouseStatus){toolbarInfo.Width=0;if(!this.Frame||!this.Frame.GetLeftToolbar)return;//if (!this.Title && !IFrameSplitOperator.IsNonEmptyArray(this.Data)) return;
|
|
6694
|
+
var aryButton=this.Frame.GetLeftToolbar();if(!IFrameSplitOperator.IsNonEmptyArray(aryButton))return;if(this.Frame.IsHScreen===true){}else{var border=this.Frame.GetBorder();var right=border.Right-3;var left=border.Left+3;var yCenter=toolbarInfo.YCenter;for(var i=0;i<aryButton.length;++i){var item=aryButton[i];var rtButton={Left:left,YCenter:yCenter};this.DrawButton(item,rtButton,moveonPoint,mouseStatus);this.Buttons.push({ID:item.ID,Rect:rtButton,FrameID:this.Frame.Identify,Type:0,Data:item.Data});//Type 0=主图按钮 1=附图按钮 2=主图指标名字按钮
|
|
6671
6695
|
left=rtButton.Right;toolbarInfo.Width+=rtButton.Width;}if(toolbarInfo.Width>0)toolbarInfo.Width+=3;}};this.DrawOverlayToolbar=function(overlayItem,toolbarInfo,moveonPoint,mouseStatus){toolbarInfo.Width=0;if(!overlayItem||!overlayItem.Frame||!overlayItem.Frame.GetLeftToolbar)return;var frame=overlayItem.Frame;var aryButton=frame.GetLeftToolbar({Overlay:overlayItem,OverlayID:toolbarInfo.ID});if(!IFrameSplitOperator.IsNonEmptyArray(aryButton))return;if(this.Frame.IsHScreen===true){}else{var border=frame.GetBorder();var right=border.Right-3;var left=border.Left+3;var yCenter=toolbarInfo.YCenter;for(var i=0;i<aryButton.length;++i){var item=aryButton[i];var rtButton={Left:left,YCenter:yCenter};this.DrawButton(item,rtButton,moveonPoint,mouseStatus);this.Buttons.push({ID:item.ID,Rect:rtButton,FrameID:this.Frame.Identify,Type:1,OverlayID:toolbarInfo.ID,Title:overlayItem.Title,Data:item.Data});left=rtButton.Right;toolbarInfo.Width+=rtButton.Width;}if(toolbarInfo.Width>0)toolbarInfo.Width+=3;}};this.PtInButtons=function(x,y){for(var i=0;i<this.Buttons.length;++i){var item=this.Buttons[i];if(!item.Rect)continue;var rect=item.Rect;if(x>rect.Left&&x<rect.Right&&y>rect.Top&&y<rect.Bottom){var result={ID:item.ID,Rect:rect,FrameID:item.FrameID,Type:item.Type,Data:item.Data};if(item.Type==1){result.Title=item.Title;result.OverlayID=item.OverlayID;}return result;}}return null;};}//画图工具
|
|
6672
6696
|
function IChartDrawPicture(){this.Frame;this.Canvas;this.Point=new Array();//画图的点
|
|
6673
6697
|
this.Value=new Array();//XValue,YValue
|
|
@@ -7616,7 +7640,7 @@ TextColor:"rgb(255,255,255)",//文字颜色
|
|
|
7616
7640
|
Font:14*GetDevicePixelRatio()+"px 微软雅黑"//文字字体
|
|
7617
7641
|
},PointType:2,// 0=圆点 1=方框 2=空心圆
|
|
7618
7642
|
IsShowPoint:false//是否始终显示点
|
|
7619
|
-
};this.ChartOX={Family:'iconfont',Up:{Color:'rgb(178,34,34)',Text:'\uE697'},Down:{Color:"rgb(0,206,209)",Text:'\uE68C'},SquareLineColor:'rgb(119,136,153)'};this.KLineTrain={Font:'bold 14px arial',LastDataIcon:{Color:'rgb(0,0,205)',Text:'⬇'},BuyIcon:{Color:'rgb(0,205,102 )',Text:'B'},SellIcon:{Color:'rgb(255,127,36 )',Text:'S'},IconFont:{Family:'iconfont',Buy:{Text:'\uE64A',HScreenText:'\uE68A',Color:'rgb(255,140,0)'},Sell:{Text:'\uE64B',HScreenText:'\uE68A',Color:'rgb(6,79,18)'},Last:{Text:'\uE681',HScreenText:'\uE68A',Color:'rgb(55,0,255)'}}};this.ChartKLineTable={TextFont:{Family:'Arial',FontMaxSize:
|
|
7643
|
+
};this.ChartOX={Family:'iconfont',Up:{Color:'rgb(178,34,34)',Text:'\uE697'},Down:{Color:"rgb(0,206,209)",Text:'\uE68C'},SquareLineColor:'rgb(119,136,153)'};this.KLineTrain={Font:'bold 14px arial',LastDataIcon:{Color:'rgb(0,0,205)',Text:'⬇'},BuyIcon:{Color:'rgb(0,205,102 )',Text:'B'},SellIcon:{Color:'rgb(255,127,36 )',Text:'S'},IconFont:{Family:'iconfont',Buy:{Text:'\uE64A',HScreenText:'\uE68A',Color:'rgb(255,140,0)'},Sell:{Text:'\uE64B',HScreenText:'\uE68A',Color:'rgb(6,79,18)'},Last:{Text:'\uE681',HScreenText:'\uE68A',Color:'rgb(55,0,255)'}}};this.ChartKLineTable={TextFont:{Family:'Arial',FontMaxSize:14*GetDevicePixelRatio()},ItemMargin:{Left:5,Right:5,Top:4,Bottom:2},Border:{Vertical:{Color:"rgb(236, 236, 236)"},Horizontal:{Color:"rgb(236, 236, 236)"}},BG:{Color:"rgb(250,250,250)"},Label:{Font:12*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1',Color:"rgb(0,0,0)",BGColor:"rgb(250,250,250)",BorderColor:"rgb(236, 236, 236)"},TextColor:"rgb(0,0,0)"};this.ChartSimpleTable={TextFont:{Family:'微软雅黑',Size:14},ItemMargin:{Left:5,Right:5,Top:4,Bottom:2},TextColor:"rgb(0,0,0)",BGColor:"rgba(255,255,255,0.95)",BorderColor:"rgb(217,217,217)"};this.ChartSimplePie={TextFont:{Family:'微软雅黑',Size:12},BorderColor:"rgb(169,169,169)",Offset:{X:-5,Y:5}};this.ChartSimpleDoughnut={TextFont:{Family:'微软雅黑',Size:12},BorderColor:"rgb(169,169,169)",Offset:{X:-5,Y:5}};this.ChartSimpleRadar={TextFont:{Family:'微软雅黑',Size:12},BorderColor:"rgb(169,169,169)",Offset:{X:-5,Y:5},TextColor:"rgb(105,105,105)",AryBGColor:['rgba(255,255,255,0.9)','rgba(230, 234, 242,0.9)'],AryArea:[{Color:"rgba(242,154,118,0.4)",LineColor:"rgb(242,154,118)"},{Color:"rgba(121,197,228,0.4)",LineColor:"rgb(92,165,196)"}]};this.ChartBaseLineBar={UpColor:"rgb(238,21,21)",DownColor:"rgb(25,158,0)"};this.ChartPointDot={UpColor:"rgb(255,61,61)",DownColor:"rgb(0,199,65)"};this.ChartDrawTVLongPosition={TopArea:{AreaColor:"rgba(214, 234, 230,0.8)",SelectedAreaColor:"rgba(214, 234, 230,0.55)",TextBGColor:"rgb(80, 150, 130)",TextColor:"rgb(255,255,255)"},BottomArea:{AreaColor:"rgb(243, 217, 218,0.8)",SelectedAreaColor:"rgba(243, 217, 218,0.55)",TextBGColor:"rgb(214, 75, 75)",TextColor:"rgb(255,255,255)"},Label:{Font:12*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1',Margin:{Left:2,Top:2,Bottom:2,Right:2}}//手机端tooltip
|
|
7620
7644
|
};this.TooltipPaint={BGColor:'rgba(250,250,250,0.8)',//背景色
|
|
7621
7645
|
BorderColor:'rgb(120,120,120)',//边框颜色
|
|
7622
7646
|
TitleColor:'rgb(79, 79, 79)',//标题颜色
|
|
@@ -7799,7 +7823,7 @@ UnchangeTextColor:"rgb(90,90,90)",//平盘文字颜色
|
|
|
7799
7823
|
BorderColor:"rgb(192,192,192)"};this.ScrollText={Font:12*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1',Color:"rgb(77,77,77)",MouseOnColor:"rgb(233,85,4)",Margin:{Top:2,Bottom:2},Spacing:20,//间距
|
|
7800
7824
|
LeftMargin:5*GetDevicePixelRatio(),RightMargin:5*GetDevicePixelRatio(),MoveStep:4,//移动步长
|
|
7801
7825
|
Label:{Color:"rgb(50,50,50)",Font:13*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1',Margin:{Left:10*GetDevicePixelRatio(),Bottom:1,Right:10*GetDevicePixelRatio()}}//自定义风格
|
|
7802
|
-
};this.SetStyle=function(style){var T_SetButtonStyle=function T_SetButtonStyle(item,dest){if(!item)return;if(item.Color)dest.Color=item.Color;if(item.MoveOnColor)dest.MoveOnColor=item.MoveOnColor;if(item.SelectedColor)dest.SelectedColor=item.SelectedColor;if(item.Family)dest.Family=item.Family;if(item.Text)dest.Text=item.Text;if(IFrameSplitOperator.IsNumber(item.Size))dest.Size=item.Size;if(IFrameSplitOperator.IsNumber(item.MerginLeft))dest.MerginLeft=item.MerginLeft;};if(style.TooltipBGColor)this.TooltipBGColor=style.TooltipBGColor;if(style.TooltipAlpha)this.TooltipAlpha=style.TooltipAlpha;if(style.SelectRectBGColor)this.SelectRectBGColor=style.SelectRectBGColor;if(style.UpBarColor)this.UpBarColor=style.UpBarColor;if(style.DownBarColor)this.DownBarColor=style.DownBarColor;if(style.UnchagneBarColor)this.UnchagneBarColor=style.UnchagneBarColor;if(style.EmptyBarBGColor)this.EmptyBarBGColor=style.EmptyBarBGColor;if(style.HighLowBarColor)this.HighLowBarColor=style.HighLowBarColor;if(style.HighLowText){var dest=this.HighLowText;var item=style.HighLowText;if(item.FontName)dest.FontName=item.FontName;if(item.Color)dest.Color=item.Color;if(item.MaxText)dest.MaxText=item.MaxText;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))dest.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))dest.MinSize=item.MinSize;}if(style.SplashScreen){var item=style.SplashScreen;if(item.BGColor)this.SplashScreen.BGColor=item.BGColor;if(item.Title)this.SplashScreen.Title=item.Title;if(item.TextColor)this.SplashScreen.TextColor=item.TextColor;if(item.Font)this.SplashScreen.Font=item.Font;}if(style.HLCArea){var item=style.HLCArea;if(item.HighLineColor)this.HLCArea.HighLineColor=item.HighLineColor;if(item.LowLineColor)this.HLCArea.LowLineColor=item.LowLineColor;if(item.CloseLineColor)this.HLCArea.CloseLineColor=item.CloseLineColor;if(item.UpAreaColor)this.HLCArea.UpAreaColor=item.UpAreaColor;if(item.DownAreaColor)this.HLCArea.DownAreaColor=item.DownAreaColor;if(IFrameSplitOperator.IsNumber(item.LineWidth))this.HLCArea.LineWidth=item.LineWidth;}if(style.Minute){if(style.Minute.VolBarColor)this.Minute.VolBarColor=style.Minute.VolBarColor;if(style.Minute.VolTitleColor)this.Minute.VolTitleColor=style.Minute.VolTitleColor;if(style.Minute.PriceColor)this.Minute.PriceColor=style.Minute.PriceColor;if(IFrameSplitOperator.IsNumber(style.Minute.PriceLineWidth))this.Minute.PriceLineWidth=style.Minute.PriceLineWidth;if(style.Minute.AvPriceColor)this.Minute.AvPriceColor=style.Minute.AvPriceColor;if(style.Minute.AreaPriceColor)this.Minute.AreaPriceColor=style.Minute.AreaPriceColor;if(style.Minute.PositionColor)this.Minute.PositionColor=style.Minute.PositionColor;if(style.Minute.FrameSplitTextColor)this.Minute.FrameSplitTextColor=style.Minute.FrameSplitTextColor;if(style.Minute.Before){var item=style.Minute.Before;if(item.BGColor)this.Minute.Before.BGColor=item.BGColor;if(item.LineColor)this.Minute.Before.LineColor=item.LineColor;if(item.VolColor)this.Minute.Before.VolColor=item.VolColor;if(item.AvPriceColor)this.Minute.Before.AvPriceColor=item.AvPriceColor;if(item.CloseIcon)T_SetButtonStyle(item.CloseIcon,this.Minute.Before.CloseIcon);if(item.Point){if(item.Point.Color)this.Minute.Before.Point.Color=item.Point.Color;if(item.Point.Radius)this.Minute.Before.Point.Radius=item.Point.Radius;}}if(style.Minute.After){var item=style.Minute.After;if(item.BGColor)this.Minute.After.BGColor=item.BGColor;if(item.LineColor)this.Minute.After.LineColor=item.LineColor;if(item.VolColor)this.Minute.After.VolColor=item.VolColor;if(item.AvPriceColor)this.Minute.After.AvPriceColor=item.AvPriceColor;if(item.Point){if(item.Point.Color)this.Minute.After.Point.Color=item.Point.Color;if(item.Point.Radius)this.Minute.After.Point.Radius=item.Point.Radius;}}if(style.Minute.NightDay){var item=style.Minute.NightDay;if(item.NightBGColor)this.Minute.NightDay.NightBGColor=item.NightBGColor;if(item.Font)this.Minute.NightDay.Font=item.Font;if(item.Day){var subItem=item.Day;if(subItem.Color)this.Minute.NightDay.Day.Color=subItem.Color;if(subItem.BGColor)this.Minute.NightDay.Day.BGColor=subItem.BGColor;if(subItem.BorderColor)this.Minute.NightDay.Day.BorderColor=subItem.BorderColor;CopyMarginConfig(this.Minute.NightDay.Day.Margin,subItem.Margin);}if(item.Night){var subItem=item.Night;if(subItem.Color)this.Minute.NightDay.Night.Color=subItem.Color;if(subItem.BGColor)this.Minute.NightDay.Night.BGColor=subItem.BGColor;if(subItem.BorderColor)this.Minute.NightDay.Night.BorderColor=subItem.BorderColor;CopyMarginConfig(this.Minute.NightDay.Night.Margin,subItem.Margin);}}if(style.Minute.BuySellBar){var item=style.Minute.BuySellBar;var dest=this.Minute.BuySellBar;if(item.BuyColor)dest.BuyColor=item.BuyColor;if(item.SellColor)dest.SellColor=item.SellColor;if(item.Font)dest.Font=item.Font;if(item.TextColor)dest.TextColor=item.TextColor;if(IFrameSplitOperator.IsNumber(item.BarWidth))dest.BarWidth=item.BarWidth;if(IFrameSplitOperator.IsNonEmptyArray(item.AryBarRange))dest.AryBarRange=item.AryBarRange;if(IFrameSplitOperator.IsNumber(item.YOffset))dest.YOffset=item.YOffset;}}if(style.PopMinuteChart){var item=style.PopMinuteChart;var dest=this.PopMinuteChart;if(item.BGColor)dest.BGColor=item.BGColor;if(item.BorderColor)dest.BorderColor=item.BorderColor;if(item.TitleColor)dest.TitleColor=item.TitleColor;if(item.TitleBGColor)dest.TitleBGColor=item.TitleBGColor;if(item.Mark){if(item.Mark.LineColor)dest.Mark.LineColor=item.Mark.LineColor;if(IFrameSplitOperator.IsNumber(item.Mark.LineWidth))dest.Mark.LineWidth=item.Mark.LineWidth;}if(item.Title){if(item.Title.Font)dest.Title.Font=item.Title.Font;}if(item.CorssCursor){if(item.CorssCursor.Font)dest.CorssCursor.Font=item.CorssCursor.Font;}if(item.Frame){if(item.Frame.Font)dest.Frame.Font=item.Frame.Font;}}if(style.PopKLineChart){var item=style.PopKLineChart;var dest=this.PopKLineChart;if(item.BGColor)dest.BGColor=item.BGColor;if(item.BorderColor)dest.BorderColor=item.BorderColor;if(item.TitleColor)dest.TitleColor=item.TitleColor;if(item.TitleBGColor)dest.TitleBGColor=item.TitleBGColor;}if(style.DefaultTextColor)this.DefaultTextColor=style.DefaultTextColor;if(style.DefaultTextFont)this.DefaultTextFont=style.DefaultTextFont;if(style.TitleFont)this.TitleFont=style.TitleFont;if(style.IndexTitleBGColor)this.IndexTitleBGColor=style.IndexTitleBGColor;if(style.IndexTitleBorderColor)this.IndexTitleBorderColor=style.IndexTitleBorderColor;if(style.IndexTitleBorderMoveOnColor)this.IndexTitleBorderMoveOnColor=style.IndexTitleBorderMoveOnColor;if(IFrameSplitOperator.IsNumber(style.IndexTitleBorderStyle))this.IndexTitleBorderStyle=style.IndexTitleBorderStyle;if(style.IndexTitleColor)this.IndexTitleColor=style.IndexTitleColor;if(style.IndexTitleSelectedColor)this.IndexTitleSelectedColor=style.IndexTitleSelectedColor;if(style.OverlayIndexTitleBGColor)this.OverlayIndexTitleBGColor=style.OverlayIndexTitleBGColor;if(style.UpTextColor)this.UpTextColor=style.UpTextColor;if(style.DownTextColor)this.DownTextColor=style.DownTextColor;if(style.UnchagneTextColor)this.UnchagneTextColor=style.UnchagneTextColor;if(style.CloseLineColor)this.CloseLineColor=style.CloseLineColor;if(style.CloseLineAreaColor)this.CloseLineAreaColor=style.CloseLineAreaColor;if(style.CloseLineWidth)this.CloseLineWidth=style.CloseLineWidth;if(style.FrameBorderPen)this.FrameBorderPen=style.FrameBorderPen;if(style.MultiDayBorderPen)this.MultiDayBorderPen=style.MultiDayBorderPen;if(style.FrameSplitPen)this.FrameSplitPen=style.FrameSplitPen;if(style.FrameDotSplitPen)this.FrameDotSplitPen=style.FrameDotSplitPen;if(style.FrameSplitTextColor)this.FrameSplitTextColor=style.FrameSplitTextColor;if(style.FrameSplitTextFont)this.FrameSplitTextFont=style.FrameSplitTextFont;if(style.FrameTitleBGColor)this.FrameTitleBGColor=style.FrameTitleBGColor;if(style.SelFrameBorderColor)this.SelFrameBorderColor=style.SelFrameBorderColor;if(IFrameSplitOperator.IsNumber(style.IndexTitleMerginLeft))this.IndexTitleMerginLeft=style.IndexTitleMerginLeft;if(style.IndexTitle){var item=style.IndexTitle;if(item.UpDownArrow){var subItem=item.UpDownArrow;if(subItem.UpColor)this.IndexTitle.UpDownArrow.UpColor=subItem.UpColor;if(subItem.DownColor)this.IndexTitle.UpDownArrow.DownColor=subItem.DownColor;if(subItem.UnchangeColor)this.IndexTitle.UpDownArrow.UnchangeColor=subItem.UnchangeColor;}if(IFrameSplitOperator.IsNumber(item.ArrowType))this.IndexTitle.ArrowType=item.ArrowType;if(IFrameSplitOperator.IsBool(item.EnableIndexArrow))this.IndexTitle.EnableIndexArrow=item.EnableIndexArrow;if(IFrameSplitOperator.IsBool(item.IsSinlgeLine))this.IndexTitle.IsSinlgeLine=item.IsSinlgeLine;if(item.NameArrow){var subItem=item.NameArrow;if(subItem.Color)this.IndexTitle.NameArrow.Color=subItem.Color;if(subItem.Symbol)this.IndexTitle.NameArrow.Symbol=subItem.Symbol;if(IFrameSplitOperator.IsNumber(subItem.Space))this.IndexTitle.NameArrow.Space=subItem.Space;}}if(style.Frame){if(style.Frame.XBottomOffset)this.Frame.XBottomOffset=style.Frame.XBottomOffset;if(style.Frame.YTopOffset)this.Frame.YTopOffset=style.Frame.YTopOffset;if(IFrameSplitOperator.IsNumber(style.Frame.XPointCount))this.Frame.XPointCount=style.Frame.XPointCount;if(style.Frame.PercentageText){var item=style.Frame.PercentageText;if(item.PriceColor)this.Frame.PercentageText.PriceColor=item.PriceColor;if(item.PercentageColor)this.Frame.PercentageText.PercentageColor=item.PercentageColor;if(item.SplitColor)this.Frame.PercentageText.SplitColor=item.SplitColor;if(item.Font)this.Frame.PercentageText.Font=item.Font;}}if(IFrameSplitOperator.IsNumber(style.ToolbarButtonStyle))this.ToolbarButtonStyle=style.ToolbarButtonStyle;if(IFrameSplitOperator.IsBool(style.IsDOMFrameTitle))this.IsDOMFrameTitle=style.IsDOMFrameTitle;if(style.FrameLatestPrice){var item=style.FrameLatestPrice;if(style.FrameLatestPrice.TextColor)this.FrameLatestPrice.TextColor=style.FrameLatestPrice.TextColor;if(style.FrameLatestPrice.UpBarColor)this.FrameLatestPrice.UpBarColor=style.FrameLatestPrice.UpBarColor;if(style.FrameLatestPrice.DownBarColor)this.FrameLatestPrice.DownBarColor=style.FrameLatestPrice.DownBarColor;if(style.FrameLatestPrice.UnchagneBarColor)this.FrameLatestPrice.UnchagneBarColor=style.FrameLatestPrice.UnchagneBarColor;if(style.FrameLatestPrice.BGAlpha)this.FrameLatestPrice.BGAlpha=style.FrameLatestPrice.BGAlpha;if(style.FrameLatestPrice.OverlayTextColor)this.FrameLatestPrice.OverlayTextColor=style.FrameLatestPrice.OverlayTextColor;if(item.EmptyBGColor)this.FrameLatestPrice.EmptyBGColor=item.EmptyBGColor;}if(style.OverlayFrame){var item=style.OverlayFrame;if(style.OverlayFrame.BolderPen)this.OverlayFrame.BolderPen=style.OverlayFrame.BolderPen;if(style.OverlayFrame.TitleColor)this.OverlayFrame.TitleColor=style.OverlayFrame.TitleColor;if(style.OverlayFrame.TitleFont)this.OverlayFrame.TitleFont=style.OverlayFrame.TitleFont;}if(style.CorssCursorBGColor)this.CorssCursorBGColor=style.CorssCursorBGColor;if(style.CorssCursorTextColor)this.CorssCursorTextColor=style.CorssCursorTextColor;if(style.CorssCursorTextFont)this.CorssCursorTextFont=style.CorssCursorTextFont;if(style.CorssCursorVPenColor)this.CorssCursorVPenColor=style.CorssCursorVPenColor;if(style.CorssCursorHPenColor)this.CorssCursorHPenColor=style.CorssCursorHPenColor;if(style.CorssCursorBorderColor)this.CorssCursorBorderColor=style.CorssCursorBorderColor;if(style.CorssCursorXRangeBGColor)this.CorssCursorXRangeBGColor=style.CorssCursorXRangeBGColor;if(style.CorssCursorLineDash)this.CorssCursorLineDash=style.CorssCursorLineDash.slice();if(style.CorssCursor&&style.CorssCursor.RightButton){var item=style.CorssCursor.RightButton;if(item.BGColor)this.CorssCursor.RightButton.BGColor=item.BGColor;if(item.PenColor)this.CorssCursor.RightButton.PenColor=item.PenColor;if(item.Icon)this.CorssCursor.RightButton.Icon=item.Icon;}if(style.CorssCursor&&style.CorssCursor.CorssPoint){var item=style.CorssCursor.CorssPoint;if(item.Center){var subItem=item.Center;var subDest=this.CorssCursor.CorssPoint.Center;if(IFrameSplitOperator.IsNumber(subItem.Radius))subDest.Radius=subItem.Radius;if(subItem.Color)subDest.Color=subItem.Color;}if(item.Border){var subItem=item.Border;var subDest=this.CorssCursor.CorssPoint.Border;if(IFrameSplitOperator.IsNumber(subItem.Width))subDest.Width=subItem.Width;if(subItem.Color)subDest.Color=subItem.Color;}}if(style.LatestPointFlash){var item=style.LatestPointFlash;var dest=this.LatestPointFlash;if(item.PointColor)dest.PointColor=item.PointColor;if(IFrameSplitOperator.IsNumber(item.PointRadius))dest.PointRadius=item.PointRadius;if(item.BGColor)dest.BGColor=item.BGColor;if(IFrameSplitOperator.IsNumber(item.BGRadius))dest.BGRadius=item.BGRadius;}if(style.KLine)this.KLine=style.KLine;if(style.VirtualKLine){var item=style.VirtualKLine;if(item.Color)this.VirtualKLine.Color=item.Color;if(item.LineDash)this.VirtualKLine.LineDash=item.LineDash;}if(style.PredictionKLine){if(style.PredictionKLine.Line){var item=style.PredictionKLine.Line;var dest=this.PredictionKLine.Line;if(item.Color)dest.Color=item.Color;if(item.LineDash)dest.LineDash=item.LineDash;if(IFrameSplitOperator.IsNumber(item.LineWidth))dest.LineWidth=item.LineWidth;}if(style.PredictionKLine.Bar){var item=style.PredictionKLine.Bar;var dest=this.PredictionKLine.Bar;if(item.UpColor)dest.UpColor=item.UpColor;if(item.DownColor)dest.DownColor=item.DownColor;if(item.UnchangeColor)dest.UnchangeColor=item.UnchangeColor;if(IFrameSplitOperator.IsNumber(item.DrawType)||item.DrawType===null)dest.DrawType=item.DrawType;}}if(style.PriceGapStyple){var item=style.PriceGapStyple;if(item.Line&&item.Line.Color)this.PriceGapStyple.Line.Color=item.Line.Color;if(item.Text){if(item.Text.Color)this.PriceGapStyple.Text.Color=item.Text.Color;if(item.Text.Font)this.PriceGapStyple.Text.Font=item.Text.Font;}}if(style.DaySummaryKLine){var item=style.DaySummaryKLine;var dest=this.DaySummaryKLine;if(item.Font)dest.Font=item.Font;if(item.TextColor)dest.TextColor=item.TextColor;if(IFrameSplitOperator.IsNumber(item.LeftMargin))dest.LeftMargin=item.LeftMargin;}if(style.Index){if(style.Index.LineColor)this.Index.LineColor=style.Index.LineColor;if(style.Index.NotSupport)this.Index.NotSupport=style.Index.NotSupport;}if(style.ColorArray)this.ColorArray=style.ColorArray;if(style.DrawPicture){var item=style.DrawPicture;if(item.LineColor)this.DrawPicture.LineColor=item.LineColor;if(item.PointColor)this.DrawPicture.PointColor=item.PointColor;if(item.XYCoordinate)this.DrawPicture.XYCoordinate=item.XYCoordinate;if(IFrameSplitOperator.IsNumber(item.PointType))this.DrawPicture.PointType=item.PointType;if(IFrameSplitOperator.IsBool(item.IsShowPoint))this.DrawPicture.IsShowPoint=item.IsShowPoint;}if(style.TooltipPaint){if(style.TooltipPaint.BGColor)this.TooltipPaint.BGColor=style.TooltipPaint.BGColor;if(style.TooltipPaint.BorderColor)this.TooltipPaint.BorderColor=style.TooltipPaint.BorderColor;if(style.TooltipPaint.TitleColor)this.TooltipPaint.TitleColor=style.TooltipPaint.TitleColor;if(style.TooltipPaint.TitleFont)this.TooltipPaint.TitleFont=style.TooltipPaint.TitleFont;if(style.TooltipPaint.DateTimeColor)this.TooltipPaint.DateTimeColor=style.TooltipPaint.DateTimeColor;if(style.TooltipPaint.VolColor)this.TooltipPaint.VolColor=style.TooltipPaint.VolColor;if(style.TooltipPaint.AmountColor)this.TooltipPaint.AmountColor=style.TooltipPaint.AmountColor;}if(style.PCTooltipPaint){var item=style.PCTooltipPaint;if(item.BGColor)this.PCTooltipPaint.BGColor=item.BGColor;if(item.BorderColor)this.PCTooltipPaint.BorderColor=item.BorderColor;if(item.TitleColor)this.PCTooltipPaint.TitleColor=item.TitleColor;if(item.TitleFont)this.PCTooltipPaint.TitleFont=item.TitleFont;if(item.DateTimeColor)this.PCTooltipPaint.DateTimeColor=item.DateTimeColor;if(item.VolColor)this.PCTooltipPaint.VolColor=item.VolColor;if(item.AmountColor)this.PCTooltipPaint.AmountColor=item.AmountColor;if(item.PositionColor)this.PCTooltipPaint.PositionColor=item.PositionColor;}if(style.DialogTooltip){var item=style.DialogTooltip;if(item.BGColor)this.DialogTooltip.BGColor=item.BGColor;if(item.BorderColor)this.DialogTooltip.BorderColor=item.BorderColor;if(item.TitleColor)this.DialogTooltip.TitleColor=item.TitleColor;if(item.TitleBGColor)this.DialogTooltip.TitleBGColor=item.TitleBGColor;if(item.DateTimeColor)this.DialogTooltip.DateTimeColor=item.DateTimeColor;if(item.VolColor)this.DialogTooltip.VolColor=item.VolColor;if(item.AmountColor)this.DialogTooltip.AmountColor=item.AmountColor;if(item.TurnoverRateColor)this.DialogTooltip.TurnoverRateColor=item.TurnoverRateColor;if(item.PositionColor)this.DialogTooltip.PositionColor=item.PositionColor;if(item.TextColor)this.DialogTooltip.TextColor=item.TextColor;if(item.ValueColor)this.DialogTooltip.ValueColor=item.ValueColor;}if(style.FloatTooltip){var item=style.FloatTooltip;if(item.BGColor)this.FloatTooltip.BGColor=item.BGColor;if(item.BorderColor)this.FloatTooltip.BorderColor=item.BorderColor;if(item.DateTimeColor)this.FloatTooltip.DateTimeColor=item.DateTimeColor;if(item.VolColor)this.FloatTooltip.VolColor=item.VolColor;if(item.AmountColor)this.FloatTooltip.AmountColor=item.AmountColor;if(item.TurnoverRateColor)this.FloatTooltip.TurnoverRateColor=item.TurnoverRateColor;if(item.PositionColor)this.FloatTooltip.PositionColor=item.PositionColor;if(item.TextColor)this.FloatTooltip.TextColor=item.TextColor;if(item.ValueColor)this.FloatTooltip.ValueColor=item.ValueColor;}if(style.DialogSelectRect){var item=style.DialogSelectRect;if(item.BGColor)this.DialogSelectRect.BGColor=item.BGColor;if(item.BorderColor)this.DialogSelectRect.BorderColor=item.BorderColor;if(item.TitleColor)this.DialogSelectRect.TitleColor=item.TitleColor;if(item.TextColor)this.DialogSelectRect.TextColor=item.TextColor;if(item.ValueColor)this.DialogSelectRect.ValueColor=item.ValueColor;if(item.VolColor)this.DialogSelectRect.VolColor=item.VolColor;if(item.AmountColor)this.DialogSelectRect.AmountColor=item.AmountColor;if(item.TurnoverRateColor)this.DialogSelectRect.TurnoverRateColor=item.TurnoverRateColor;if(item.PositionColor)this.DialogSelectRect.PositionColor=item.PositionColor;}if(style.DialogPopKeyboard){var item=style.DialogPopKeyboard;if(item.BGColor)this.DialogPopKeyboard.BGColor=item.BGColor;if(item.BorderColor)this.DialogPopKeyboard.BorderColor=item.BorderColor;if(item.TitleColor)this.DialogPopKeyboard.TitleColor=item.TitleColor;if(item.TitleBGColor)this.DialogTooltip.TitleBGColor=item.TitleBGColor;if(item.Input){var subItem=item.Input;if(subItem.BGColor)this.DialogPopKeyboard.Input.BGColor=subItem.BGColor;if(subItem.TextColor)this.DialogPopKeyboard.Input.TextColor=subItem.TextColor;}}if(style.MinuteInfo){var item=style.MinuteInfo;if(style.MinuteInfo.TextColor)this.MinuteInfo.TextColor=style.MinuteInfo.TextColor;if(style.MinuteInfo.Font)this.MinuteInfo.Font=style.MinuteInfo.Font;if(style.MinuteInfo.PointColor)this.MinuteInfo.PointColor=style.MinuteInfo.PointColor;if(style.MinuteInfo.LineColor)this.MinuteInfo.LineColor=style.MinuteInfo.LineColor;if(style.MinuteInfo.TextBGColor)this.MinuteInfo.TextBGColor=style.MinuteInfo.TextBGColor;if(IFrameSplitOperator.IsNumber(item.PointRadius))this.MinuteInfo.PointRadius=item.PointRadius;}if(style.Title){if(style.Title.TradeIndexColor)this.Title.TradeIndexColor=style.Title.TradeIndexColor;if(style.Title.ColorIndexColor)this.Title.ColorIndexColor=style.Title.ColorIndexColor;if(style.Title.VolColor)this.Title.VolColor=style.Title.VolColor;if(style.Title.AmountColor)this.Title.AmountColor=style.Title.AmountColor;if(style.Title.DateTimeColor)this.Title.DateTimeColor=style.Title.DateTimeColor;if(style.Title.NameColor)this.Title.NameColor=style.Title.NameColor;if(style.Title.SettingColor)this.Title.SettingColor=style.Title.SettingColor;if(style.Title.TurnoverRateColor)this.Title.TurnoverRateColor=style.Title.TurnoverRateColor;if(style.Title.PositionColor)this.Title.PositionColor=style.Title.PositionColor;}if(style.ChartSimpleTable)this.SetChartSimpleTable(style.ChartSimpleTable);if(style.ChartSimplePie)this.SetChartSimplePie(style.ChartSimplePie);if(style.ChartSimpleDoughnut)this.SetChartSimpleDoughnut(style.ChartSimpleDoughnut);if(style.ChartSimpleRadar)this.SetChartSimpleRadar(style.ChartSimpleRadar);if(style.ChartBaseLineBar)this.SetChartBaseLineBar(style.ChartBaseLineBar);if(style.ChartPointDot)this.SetChartPointDot(style.ChartPointDot);if(style.DRAWICON){if(style.DRAWICON.Icon){var item=style.DRAWICON.Icon;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.Icon.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.Icon.MinSize=item.MinSize;if(item.Zoom)this.DRAWICON.Icon.Zoom=item.Zoom;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWICON.Icon.YOffset=item.YOffset;}if(style.DRAWICON.Text){var item=style.DRAWICON.Text;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.Text.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.Text.MinSize=item.MinSize;if(item.Zoom)this.DRAWICON.Text.Zoom=item.Zoom;if(item.FontName)this.DRAWICON.Text.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWICON.Text.YOffset=item.YOffset;}}if(style.DRAWTEXT){var item=style.DRAWTEXT;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.MinSize=item.MinSize;if(item.Zoom)this.DRAWTEXT.Zoom=item.Zoom;if(item.FontName)this.DRAWTEXT.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWTEXT.YOffset=item.YOffset;}if(style.DRAWTEXT_FIX){var item=style.DRAWTEXT_FIX;if(item.Font)this.DRAWTEXT_FIX.Font=item.Font;}if(style.DRAWNUMBER_FIX){var item=style.DRAWNUMBER_FIX;if(item.Font)this.DRAWNUMBER_FIX.Font=item.Font;}if(style.DRAWNUMBER){var item=style.DRAWNUMBER;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWNUMBER.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWNUMBER.MinSize=item.MinSize;if(item.Zoom)this.DRAWNUMBER.Zoom=item.Zoom;if(item.FontName)this.DRAWNUMBER.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWNUMBER.YOffset=item.YOffset;}if(style.DRAWABOVE){var item=style.DRAWABOVE;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWABOVE.YOffset=item.YOffset;}if(style.DOTLINE)this.DOTLINE=style.DOTLINE;if(style.DRAWSL)this.DOTLINE=style.DRAWSL;if(style.DragSubFrameBorder)this.DragSubFrameBorder=style.DragSubFrameBorder;if(style.DepthMapPaint){var item=style.DepthMapPaint;if(item.LineColor)this.DepthMapPaint.LineColor=item.LineColor;if(item.AreaColor)this.DepthMapPaint.AreaColor=item.AreaColor;if(item.TextColor)this.DepthMapPaint.TextColor=item.TextColor;if(item.TextBGColor)this.DepthMapPaint.TextBGColor=item.TextBGColor;}if(style.KLineYAxisBGPaint){var item=style.KLineYAxisBGPaint;if(item.Font)this.KLineYAxisBGPaint.Font=item.Font;if(item.LineColor)this.KLineYAxisBGPaint.LineColor=item.LineColor;if(item.DiffValutTextColor)this.KLineYAxisBGPaint.DiffValutTextColor=item.DiffValutTextColor;if(item.DiffValueBGColor)this.KLineYAxisBGPaint.DiffValueBGColor=item.DiffValueBGColor;}if(style.StockChip){var item=style.StockChip;if(item.InfoColor)this.StockChip.InfoColor=item.InfoColor;if(item.DayInfoColor)this.StockChip.DayInfoColor=item.DayInfoColor;if(item.Font)this.StockChip.Font=item.Font;if(item.DefaultButton)T_SetButtonStyle(item.DefaultButton,this.StockChip.DefaultButton);if(item.LongButton)T_SetButtonStyle(item.LongButton,this.StockChip.LongButton);if(item.RecentButton)T_SetButtonStyle(item.RecentButton,this.StockChip.RecentButton);if(item.CloseButton)T_SetButtonStyle(item.CloseButton,this.StockChip.CloseButton);if(item.PhoneCloseButton){var subItem=item.PhoneCloseButton;if(subItem.Family)this.StockChip.PhoneCloseButton.Family=subItem.Family;if(subItem.Text)this.StockChip.PhoneCloseButton.Text=subItem.Text;if(subItem.Color)this.StockChip.PhoneCloseButton.Color=subItem.Color;if(IFrameSplitOperator.IsNumber(subItem.Size))this.StockChip.PhoneCloseButton.Size=subItem.Size;if(IFrameSplitOperator.IsBool(subItem.IsShow))this.StockChip.PhoneCloseButton.IsShow=subItem.IsShow;if(subItem.Border){if(subItem.Border.BGColor)this.StockChip.PhoneCloseButton.Border.BGColor=subItem.Border.BGColor;}}}if(style.DepthChart){var item=style.DepthChart;if(item.BidColor){if(item.BidColor.Line)this.DepthChart.BidColor.Line=item.BidColor.Line;if(item.BidColor.Area)this.DepthChart.BidColor.Area=item.BidColor.Area;}if(item.AskColor){if(item.AskColor.Line)this.DepthChart.AskColor.Line=item.AskColor.Line;if(item.AskColor.Area)this.DepthChart.AskColor.Area=item.AskColor.Area;}if(item.LineWidth)this.DepthChart.LineWidth=item.LineWidth;}if(style.DepthCorss){var item=style.DepthCorss;if(item.BidColor){if(item.BidColor.Line)this.DepthCorss.BidColor.Line=item.BidColor.Line;}if(item.AskColor){if(item.AskColor.Line)this.DepthCorss.AskColor.Line=item.AskColor.Line;}if(item.LineWidth)this.DepthCorss.LineWidth=item.LineWidth;if(item.LineDash)this.DepthCorss.LineDash=item.LineDash;if(item.Tooltip){var tooltip=item.Tooltip;if(tooltip.BGColor)this.DepthCorss.Tooltip.BGColor=tooltip.BGColor;if(tooltip.TextColor)this.DepthCorss.Tooltip.TextColor=tooltip.TextColor;if(tooltip.Font)this.DepthCorss.Tooltip.Font=tooltip.Font;if(tooltip.LineHeight)this.DepthCorss.Tooltip.LineHeight=tooltip.LineHeight;var border=tooltip.Border;if(IFrameSplitOperator.IsNumber(border.Top))this.DepthCorss.Tooltip.Border.Top=border.Top;if(IFrameSplitOperator.IsNumber(border.Bottom))this.DepthCorss.Tooltip.Border.Bottom=border.Bottom;if(IFrameSplitOperator.IsNumber(border.Left))this.DepthCorss.Tooltip.Border.Left=border.Left;if(IFrameSplitOperator.IsNumber(border.Right))this.DepthCorss.Tooltip.Border.Right=border.Right;if(IFrameSplitOperator.IsNumber(border.ItemSpace))this.DepthCorss.Tooltip.Border.ItemSpace=border.ItemSpace;}}if(style.CIRCLEDOT){var item=style.CIRCLEDOT;if(IFrameSplitOperator.IsNumber(item.Radius))this.CIRCLEDOT.Radius=item.Radius;}if(style.POINTDOT){var item=style.POINTDOT;if(IFrameSplitOperator.IsNumber(item.Radius))this.POINTDOT.Radius=item.Radius;}if(style.RectSelect){var item=style.RectSelect;if(item.LineColor)this.RectSelect.LineColor=item.LineColor;if(item.LineWidth>0)this.RectSelect.LineWidth=item.LineWidth;if(item.LineDotted)this.RectSelect.LineDotted=item.LineDotted;if(item.AreaColor)this.RectSelect.AreaColor=item.AreaColor;if(item.SubAreaColor)this.RectSelect.SubAreaColor=item.SubAreaColor;if(item.RangeTextColor)this.RectSelect.RangeTextColor=item.RangeTextColor;if(item.RangeTextFont)this.RectSelect.RangeTextFont=item.RangeTextFont;if(item.RangeTextBGColor)this.RectSelect.RangeTextBGColor=item.RangeTextBGColor;if(item.RangeTextSubColor)this.RectSelect.RangeTextSubColor=item.RangeTextSubColor;if(item.RangeTextSubFont)this.RectSelect.RangeTextSubFont=item.RangeTextSubFont;if(item.RangeTextSubBGColor)this.RectSelect.RangeTextSubBGColor=item.RangeTextSubBGColor;if(item.Mark){var subItem=item.Mark;if(subItem.Family)this.RectSelect.Mark.Family=subItem.Family;if(subItem.Text)this.RectSelect.Mark.Text=subItem.Text;if(subItem.Color)this.RectSelect.Mark.Color=subItem.Color;if(IFrameSplitOperator.IsNumber(subItem.Size))this.RectSelect.Mark.Size=subItem.Size;if(subItem.Position){if(subItem.Position.Top)this.RectSelect.Mark.Position.Top=subItem.Position.Top;if(IFrameSplitOperator.IsNumber(subItem.Position.Index))this.RectSelect.Mark.Position.Index=subItem.Position.Index;}}}if(style.RectDrag){var item=style.RectDrag;var dest=this.RectDrag;if(item.LineColor)dest.LineColor=item.LineColor;if(IFrameSplitOperator.IsPlusNumber(item.LineWidth))dest.LineWidth=item.LineWidth;if(item.BGColor)dest.BGColor=item.BGColor;}if(style.OrderFlow){item=style.OrderFlow;if(item.UpColor)this.OrderFlow.UpColor=item.UpColor;if(item.DownColor)this.OrderFlow.DownColor=item.DownColor;if(item.UnchagneColor)this.OrderFlow.UnchagneColor=item.UnchagneColor;if(item.Text)this.OrderFlow.Text=item.Text;if(item.Line)this.OrderFlow.Line=item.Line;}if(style.OrderFlow_Style2){item=style.OrderFlow_Style2;if(item.UpColor)this.OrderFlow_Style2.UpColor=item.UpColor;if(item.DownColor)this.OrderFlow_Style2.DownColor=item.DownColor;if(item.UnchagneColor)this.OrderFlow_Style2.UnchagneColor=item.UnchagneColor;if(IFrameSplitOperator.IsNumber(item.BarWidth))this.OrderFlow_Style2.BarWidth=item.BarWidth;}if(style.ChartOX){var item=style.ChartOX;if(item.Family)this.ChartOX.Family=item.Family;if(item.Up)this.ChartOX.Up=item.Up;if(item.Down)this.ChartOX.Down=item.Down;if(item.SquareLineColor)this.ChartOX.SquareLineColor=item.SquareLineColor;}if(style.DealList){var item=style.DealList;if(item.BorderColor)this.DealList.BorderColor=item.BorderColor;if(item.UpTextColor)this.DealList.UpTextColor=item.UpTextColor;if(item.DownTextColor)this.DealList.DownTextColor=item.DownTextColor;if(item.UnchagneTextColor)this.DealList.UnchagneTextColor=item.UnchagneTextColor;if(item.CloseLineColor)this.DealList.CloseLineColor=item.CloseLineColor;if(item.Header){var header=item.Header;if(header.Color)this.DealList.Header.Color=header.Color;if(header.Mergin){var mergin=header.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.DealList.Header.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.DealList.Header.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Header.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Header.Mergin.Bottom=mergin.Bottom;}if(header.Font){var font=header.Font;if(font.Name)this.DealList.Header.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.DealList.Header.Font.Size=font.Size;}}if(item.Row){var row=item.Row;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Row.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Row.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)this.DealList.Row.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.DealList.Row.Font.Size=font.Size;}if(row.BarMergin){var mergin=row.BarMergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.DealList.Row.BarMergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Row.BarMergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.DealList.Row.BarMergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Row.BarMergin.Bottom=mergin.Bottom;}}if(item.FieldColor){var filed=item.FieldColor;if(filed.Vol)this.DealList.FieldColor.Vol=filed.Vol;if(filed.Time)this.DealList.FieldColor.Time=filed.Time;if(filed.Deal)this.DealList.FieldColor.Deal=filed.Deal;if(filed.Index)this.DealList.FieldColor.Index=filed.Index;if(filed.BarTitle)this.DealList.FieldColor.BarTitle=filed.BarTitle;if(filed.Text)this.DealList.FieldColor.Text=filed.Text;if(IFrameSplitOperator.IsNonEmptyArray(filed.Bar)){for(var i=0;i<filed.Bar.length;++i){this.DealList.FieldColor.Bar[i]=filed.Bar[i];}}}if(item.Selected){var subItem=item.Selected;if(subItem.BGColor)this.DealList.Selected.BGColor=subItem.BGColor;if(subItem.LineColor)this.DealList.Selected.LineColor=subItem.LineColor;if(IFrameSplitOperator.IsPlusNumber(subItem.LineWidth))this.DealList.Selected.LineWidth=subItem.LineWidth;}}if(style.Report)this.SetReportStyle(style.Report);if(style.TReport)this.SetTReportStyle(style.TReport);if(style.SelectedChart){var item=style.SelectedChart;if(IFrameSplitOperator.IsNumber(item.LineWidth))this.SelectedChart.LineWidth=item.LineWidth;if(IFrameSplitOperator.IsNumber(item.Radius))this.SelectedChart.Radius=item.Radius;if(IFrameSplitOperator.IsNumber(item.MinSpace))this.SelectedChart.MinSpace=item.MinSpace;if(item.LineColor)this.SelectedChart.LineColor=item.LineColor;if(item.BGColor)this.SelectedChart.BGColor=item.BGColor;}if(style.DragMovePaint){var item=style.DragMovePaint;if(item.TextColor)this.DragMovePaint.TextColor=item.TextColor;if(item.Font)this.DragMovePaint.Font=item.Font;}if(style.SessionBreaksPaint){var item=style.SessionBreaksPaint;if(IFrameSplitOperator.IsNonEmptyArray(item.BGColor))this.SessionBreaksPaint.BGColor=item.BGColor.slice();if(item.SplitLine){var subItem=item.SplitLine;if(subItem.Color)this.SessionBreaksPaint.SplitLine.Color=subItem.Color;if(IFrameSplitOperator.IsNumber(subItem.Width))this.SessionBreaksPaint.SplitLine.Width=subItem.Width;this.SessionBreaksPaint.SplitLine.Dash=subItem.Dash;}}if(IFrameSplitOperator.IsNumber(style.ToolbarButtonStyle))this.ToolbarButtonStyle=style.ToolbarButtonStyle;if(style.Buttons){var buttons=style.Buttons;T_SetButtonStyle(buttons.CloseOverlayIndex,this.Buttons.CloseOverlayIndex);T_SetButtonStyle(buttons.CloseWindow,this.Buttons.CloseWindow);T_SetButtonStyle(buttons.ChangeIndex,this.Buttons.ChangeIndex);T_SetButtonStyle(buttons.OverlayIndex,this.Buttons.OverlayIndex);T_SetButtonStyle(buttons.ModifyIndexParam,this.Buttons.ModifyIndexParam);T_SetButtonStyle(buttons.MaxMinWindow,this.Buttons.MaxMinWindow);T_SetButtonStyle(buttons.TitleWindow,this.Buttons.TitleWindow);T_SetButtonStyle(buttons.ExportData,this.Buttons.ExportData);T_SetButtonStyle(buttons.AddIndexWindow,this.Buttons.AddIndexWindow);T_SetButtonStyle(buttons.IndexHelp,this.Buttons.IndexHelp);if(buttons.Tooltip){var item=buttons.Tooltip;var src=this.Buttons.Tooltip;if(item.Font)src.Font=item.Font;if(item.Color)src.Color=item.Color;if(item.ColorBG)src.ColorBG=item.ColorBG;if(item.ColorBorder)src.ColorBorder=item.ColorBorder;if(item.BorderRadius)src.BorderRadius=item.BorderRadius;if(item.Margin){if(IFrameSplitOperator.IsNumber(item.Margin.Left))src.Margin.Left=item.Margin.Left;if(IFrameSplitOperator.IsNumber(item.Margin.Top))src.Margin.Top=item.Margin.Top;if(IFrameSplitOperator.IsNumber(item.Margin.Bottom))src.Margin.Bottom=item.Margin.Bottom;if(IFrameSplitOperator.IsNumber(item.Margin.Right))src.Margin.Right=item.Margin.Right;}}}if(style.ChartDrawVolProfile){var item=style.ChartDrawVolProfile;if(item.UpVolColor)this.ChartDrawVolProfile.UpVolColor=item.UpVolColor;if(item.DownVolColor)this.ChartDrawVolProfile.DownVolColor=item.DownVolColor;if(item.AreaUpColor)this.ChartDrawVolProfile.AreaUpColor=item.AreaUpColor;if(item.AreaDonwColor)this.ChartDrawVolProfile.AreaDonwColor=item.AreaDonwColor;if(item.BGColor)this.ChartDrawVolProfile.BGColor=item.BGColor;if(item.BorderColor)this.ChartDrawVolProfile.BorderColor=item.BorderColor;if(item.VolLineColor)this.ChartDrawVolProfile.VolLineColor=item.VolLineColor;if(item.Text){if(item.Text.Color)this.ChartDrawVolProfile.Text.Color=item.Text.Color;if(item.Text.Family)this.ChartDrawVolProfile.Text.Family=item.Text.Family;if(IFrameSplitOperator.IsNumber(item.Text.FontMaxSize))this.ChartDrawVolProfile.Text.FontMaxSize=item.Text.FontMaxSize;if(IFrameSplitOperator.IsNumber(item.Text.FontMinSize))this.ChartDrawVolProfile.Text.FontMinSize=item.Text.FontMinSize;}}if(style.DisableLogo===true){if(this.FrameLogo)this.FrameLogo.Text=null;}if(style.ScrollBar){var item=style.ScrollBar;if(item.BorderColor)this.ScrollBar.BorderColor=item.BorderColor;if(item.XSplitTextFont)this.ScrollBar.XSplitTextFont=item.XSplitTextFont;if(item.XSplitTextColor)this.ScrollBar.XSplitTextColor=item.XSplitTextColor;if(item.XSplitLineColor)this.ScrollBar.XSplitLineColor=item.XSplitLineColor;if(item.Slider){var subItem=item.Slider;if(subItem.DateFont)this.ScrollBar.Slider.DateFont=subItem.DateFont;if(subItem.DateColor)this.ScrollBar.Slider.DateColor=subItem.DateColor;if(subItem.BarColor)this.ScrollBar.Slider.BarColor=subItem.BarColor;if(subItem.BarAreaColor)this.ScrollBar.Slider.BarAreaColor=subItem.BarAreaColor;if(IFrameSplitOperator.IsNumber(subItem.BarWidth))this.ScrollBar.Slider.BarWidth=subItem.BarWidth;if(IFrameSplitOperator.IsNumber(subItem.BarPadding))this.ScrollBar.Slider.BarPadding=subItem.BarPadding;if(IFrameSplitOperator.IsNumber(subItem.MinCenterWidth))this.ScrollBar.Slider.MinCenterWidth=subItem.MinCenterWidth;}if(item.BGChart){var subItem=item.BGChart;if(subItem.Color)this.ScrollBar.BGChart.Color=subItem.Color;if(subItem.AreaColor)this.ScrollBar.BGChart.AreaColor=subItem.AreaColor;if(IFrameSplitOperator.IsPlusNumber(subItem.LineWidth))this.ScrollBar.BGChart.LineWidth=subItem.LineWidth;}}if(style.FrameButtomToolbar)this.SetFrameButtomToolbar(style.FrameButtomToolbar);if(style.Keyboard)this.SetKeyboardStyle(style.Keyboard);if(style.MinuteToolbar)this.SetMinuteToolbar(style.MinuteToolbar);if(style.KLineToolbar)this.SetKLineToolbar(style.KLineToolbar);if(style.IndexLock)this.SetIndexLock(style.IndexLock);if(style.ChartScatterPlotV2)this.SetChartScatterPlotV2(style.ChartScatterPlotV2);if(style.ChartDrawTVLongPosition)this.SetChartDrawTVLongPosition(style.ChartDrawTVLongPosition);if(style.KLineCountDownPaint)this.SetKLineCountDownPaint(style.KLineCountDownPaint);if(style.SmallFloatTooltipV2)this.SetSmallFloatTooltipV2(style.SmallFloatTooltipV2);if(style.StockInfo)this.SetStockInfo(style.StockInfo);if(style.StatusBar)this.SetStatusBar(style.StatusBar);if(style.ScrollText)this.SetScrollText(style.ScrollText);};this.SetScrollText=function(style){var dest=this.ScrollText;if(style.Font)dest.Font=style.Font;if(style.Color)dest.Color=style.Color;if(style.MouseOnColor)dest.MouseOnColor=style.MouseOnColor;if(style.Margin){var item=style.Margin;if(IFrameSplitOperator.IsNumber(item.Top))dest.Margin.Top=item.Top;if(IFrameSplitOperator.IsNumber(item.Bottom))dest.Margin.Bottom=item.Bottom;}if(IFrameSplitOperator.IsNumber(style.LeftMargin))dest.LeftMargin=style.LeftMargin;if(IFrameSplitOperator.IsNumber(style.RightMargin))dest.RightMargin=style.RightMargin;if(IFrameSplitOperator.IsNumber(style.Spacing))dest.Spacing=style.Spacing;if(IFrameSplitOperator.IsNumber(style.MoveStep))dest.MoveStep=style.MoveStep;if(style.Label){var item=style.Label;var subDest=dest.Label;if(item.Color)subDest.Color=item.Color;if(item.Font)subDest.Font=item.Font;if(item.Margin)CopyMarginConfig(subDest.Margin,item.Margin);}};this.SetStatusBar=function(style){var dest=this.StatusBar;if(style.Table){var item=style.Table;if(item.Font)dest.Table.Font=item.Font;if(item.TitleColor)dest.Table.TitleColor=item.TitleColor;if(IFrameSplitOperator.IsNonEmptyArray(item.AryTextColor))dest.Table.AryTextColor=item.AryTextColor.slice();CopyMarginConfig(dest.Table.Margin,item.Margin);if(item.CellMargin){var subItem=item.CellMargin;CopyMarginConfig(dest.Table.CellMargin,subItem);if(IFrameSplitOperator.IsNumber(subItem.YOffset))dest.Table.CellMargin.YOffset=subItem.YOffset;}if(item.Separator){var subItem=item.Separator;var subDest=dest.Table.Separator;if(IFrameSplitOperator.IsNumber(subItem.Left))subDest.Left=subItem.Left;if(IFrameSplitOperator.IsNumber(subItem.Right))subDest.Left=subItem.Right;if(subItem.Line){if(IFrameSplitOperator.IsNumber(subItem.Line.Width))subDest.Line.Width=subItem.Line.Width;if(IFrameSplitOperator.IsNumber(subItem.Line.Top))subDest.Line.Top=subItem.Line.Top;if(IFrameSplitOperator.IsNumber(subItem.Line.Bottom))subDest.Line.Bottom=subItem.Line.Bottom;if(subItem.Line.Color)subDest.Line.Color=subItem.Line.Color;}}}if(style.DateTime){var item=style.DateTime;if(item.Font)dest.DateTime.Font=item.Font;if(item.TitleColor)dest.DateTime.TitleColor=item.TitleColor;if(item.Format)dest.DateTime.Format=item.Format;if(item.MaxText)dest.DateTime.MaxText=item.MaxText;if(item.Margin){var subItem=item.Margin;CopyMarginConfig(dest.DateTime.Margin,subItem);if(IFrameSplitOperator.IsNumber(subItem.YOffset))dest.DateTime.Margin.YOffset=subItem.YOffset;}}if(style.UpTextColor)dest.UpTextColor=style.UpTextColor;if(style.DownTextColor)dest.DownTextColor=style.DownTextColor;if(style.UnchangeTextColor)dest.UnchangeTextColor=style.UnchangeTextColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;};this.SetStockInfo=function(style){var dest=this.StockInfo;if(style.BuySell){var item=style.BuySell;if(item.Font)dest.BuySell.Font=item.Font;if(item.TitleColor)dest.BuySell.TitleColor=item.TitleColor;if(item.VolColor)dest.BuySell.VolColor=item.VolColor;CopyMarginConfig(dest.BuySell.Margin,item.Margin);if(item.CellMargin){var subItem=item.CellMargin;CopyMarginConfig(dest.BuySell.CellMargin,subItem);if(IFrameSplitOperator.IsNumber(subItem.YOffset))dest.BuySell.CellMargin.YOffset=subItem.YOffset;}if(item.BottomLine){var subItem=item.BottomLine;if(subItem.Color)dest.BuySell.BottomLine.Color=subItem.Color;if(IFrameSplitOperator.IsBool(subItem.Enable))dest.BuySell.BottomLine.Enable=subItem.Enable;}if(item.TopLine){var subItem=item.TopLine;if(subItem.Color)dest.BuySell.TopLine.Color=subItem.Color;if(IFrameSplitOperator.IsBool(subItem.Enable))dest.BuySell.TopLine.Enable=subItem.Enable;}if(item.CenterLine){var subItem=item.CenterLine;if(subItem.BuyColor)dest.BuySell.CenterLine.BuyColor=subItem.BuyColor;if(subItem.SellColor)dest.BuySell.CenterLine.SellColor=subItem.SellColor;if(subItem.NoneColor)dest.BuySell.CenterLine.NoneColor=subItem.NoneColor;if(IFrameSplitOperator.IsNumber(subItem.Width))dest.BuySell.CenterLine.Width=subItem.Width;}}if(style.Table){var item=style.Table;if(item.Font)dest.Table.Font=item.Font;if(item.TitleColor)dest.Table.TitleColor=item.TitleColor;if(item.TextColor)dest.Table.TextColor=item.TextColor;CopyMarginConfig(dest.Table.Margin,item.Margin);if(item.CellMargin){var subItem=item.CellMargin;CopyMarginConfig(dest.Table.CellMargin,subItem);if(IFrameSplitOperator.IsNumber(subItem.YOffset))dest.Table.CellMargin.YOffset=subItem.YOffset;}}if(style.Header){var item=style.Header;if(item.Font)dest.Header.Font=item.Font;if(item.TextColor)dest.Header.TextColor=item.TextColor;if(item.Name){var subItem=item.Name;if(subItem.Font)dest.Header.Name.Font=subItem.Font;if(subItem.Color)dest.Header.Name.Color=subItem.Color;if(subItem.Margin){var margin=subItem.Margin;CopyMarginConfig(dest.Header.Name.Margin,margin);if(IFrameSplitOperator.IsNumber(margin.YOffset))dest.Header.Name.Margin.YOffset=margin.YOffset;}}if(item.Symbol){var subItem=item.Symbol;if(subItem.Font)dest.Header.Symbol.Font=subItem.Font;if(subItem.Color)dest.Header.Symbol.Color=subItem.Color;if(subItem.Margin){var margin=subItem.Margin;CopyMarginConfig(dest.Header.Symbol.Margin,margin);if(IFrameSplitOperator.IsNumber(margin.YOffset))dest.Header.Symbol.Margin.YOffset=margin.YOffset;}}if(IFrameSplitOperator.IsNonEmptyArray(item.AryCell)){for(var i=0;i<item.AryCell.length;++i){var subItem=item.AryCell[i];if(!dest.Header.AryCell[i])dest.Header.AryCell[i]={};var subDest=dest.Header.AryCell[i];if(subItem.Font)subDest.Font=subItem.Font;if(subItem.Margin){var margin=subItem.Margin;CopyMarginConfig(subDest.Margin,margin);if(IFrameSplitOperator.IsNumber(margin.YOffset))subDest.YOffset=margin.YOffset;}}}if(item.BottomLine){var subItem=item.BottomLine;if(subItem.Color)dest.Header.BottomLine.Color=subItem.Color;if(IFrameSplitOperator.IsBool(subItem.Enable))dest.Header.BottomLine.Enable=subItem.Enable;}}if(style.MouseOn){var item=style.MouseOn;if(item.BGColor)dest.MouseOn.BGColor=item.BGColor;}if(style.UpTextColor)dest.UpTextColor=style.UpTextColor;if(style.DownTextColor)dest.DownTextColor=style.DownTextColor;if(style.UnchangeTextColor)dest.UnchangeTextColor=style.UnchangeTextColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;};this.SetSmallFloatTooltipV2=function(style){var dest=this.SmallFloatTooltipV2;if(style.BGColor)dest.BGColor=style.BGColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.TextColor)dest.TextColor=style.TextColor;if(style.ValueColor)dest.ValueColor=style.ValueColor;};this.SetKLineCountDownPaint=function(style){var dest=this.KLineCountDownPaint;if(style.Font)dest.Font=style.Font;if(style.TextMargin){var item=style.TextMargin;CopyMarginConfig(dest.TextMargin,item);if(IFrameSplitOperator.IsNumber(item.YOffset))dest.TextMargin.YOffset=item.YOffset;}if(style.LabelMargin)CopyMarginConfig(dest.LabelMargin,style.LabelMargin);if(style.Line){var item=style.Line;if(IFrameSplitOperator.IsNumber(item.Width))dest.Line.Width=item.Width;if(IFrameSplitOperator.IsBool(item.IsShow))dest.Line.Width=item.Width;if(item.Dash)dest.Line.Dash=item.Dash;}if(style.Unchange){var item=style.Unchange;var subDest=dest.Unchange;if(item.BGColor)subDest.BGColor=item.BGColor;if(item.PriceColor)subDest.PriceColor=item.PriceColor;if(item.TimeColor)subDest.TimeColor=item.TimeColor;}if(style.Up){var item=style.Up;var subDest=dest.Up;if(item.BGColor)subDest.BGColor=item.BGColor;if(item.PriceColor)subDest.PriceColor=item.PriceColor;if(item.TimeColor)subDest.TimeColor=item.TimeColor;}if(style.Down){var item=style.Down;var subDest=dest.Down;if(item.BGColor)subDest.BGColor=item.BGColor;if(item.PriceColor)subDest.PriceColor=item.PriceColor;if(item.TimeColor)subDest.TimeColor=item.TimeColor;}};this.SetChartDrawTVLongPosition=function(style){if(style.TopArea){var item=style.TopArea;var dest=this.ChartDrawTVLongPosition.TopArea;if(item.AreaColor)dest.AreaColor=item.AreaColor;if(item.SelectedAreaColor)dest.SelectedAreaColor=item.SelectedAreaColor;if(item.TextBGColor)dest.TextBGColor=item.TextBGColor;if(item.TextColor)dest.BorderColor=item.TextColor;}if(style.BottomArea){var item=style.BottomArea;var dest=this.ChartDrawTVLongPosition.BottomArea;if(item.AreaColor)dest.AreaColor=item.AreaColor;if(item.SelectedAreaColor)dest.SelectedAreaColor=item.SelectedAreaColor;if(item.TextBGColor)dest.TextBGColor=item.TextBGColor;if(item.TextColor)dest.BorderColor=item.TextColor;}if(style.Label){var item=style.Label;var dest=this.ChartDrawTVLongPosition.Label;if(item.Font)dest.Font=item.Font;CopyMarginConfig(dest.Margin,item.Margin);}};this.SetKeyboardStyle=function(style){var item=style;var dest=this.Keyboard;if(item.BorderColor)dest.BorderColor=item.BorderColor;if(item.SelectedColor)dest.SelectedColor=item.SelectedColor;if(item.TextColor)dest.TextColor=item.TextColor;if(item.Item){var row=item.Item;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))dest.Item.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))dest.Item.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))dest.Item.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))dest.Item.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)dest.Item.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.Font.Size=font.Size;}if(row.BarMergin){var mergin=row.BarMergin;if(IFrameSplitOperator.IsNumber(mergin.Left))dest.Item.BarMergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))dest.Item.BarMergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))dest.Item.BarMergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))dest.Item.BarMergin.Bottom=mergin.Bottom;}if(row.NameFont){var font=row.NameFont;if(font.Name)dest.Item.NameFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.NameFont.Size=font.Size;}if(row.SymbolFont){var font=row.SymbolFont;if(font.Name)dest.Item.SymbolFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.SymbolFont.Size=font.Size;}}if(item.VScrollbar){var scroll=item.VScrollbar;if(IFrameSplitOperator.IsNumber(scroll.ScrollBarHeight))dest.VScrollbar.ScrollBarHeight=scroll.ScrollBarHeight;if(scroll.ButtonColor)dest.VScrollbar.ButtonColor=scroll.ButtonColor;if(scroll.BarColor)dest.VScrollbar.BarColor=scroll.BarColor;if(scroll.BorderColor)dest.VScrollbar.BorderColor=scroll.BorderColor;if(scroll.BGColor)dest.VScrollbar.BGColor=scroll.BGColor;if(scroll.BarWidth){var subItem=scroll.BarWidth;if(IFrameSplitOperator.IsNumber(subItem.Size))dest.VScrollbar.BarWidth.Size=subItem.Size;}}};this.SetReportStyle=function(style){var item=style;var dest=this.Report;if(item.BorderColor)this.Report.BorderColor=item.BorderColor;if(item.UpTextColor)this.Report.UpTextColor=item.UpTextColor;if(item.DownTextColor)this.Report.DownTextColor=item.DownTextColor;if(item.UnchagneTextColor)this.Report.UnchagneTextColor=item.UnchagneTextColor;if(item.BorderColor)this.Report.SelectedColor=item.SelectedColor;if(item.SelectedLine){var subItem=item.SelectedLine;var subDest=this.Report.SelectedLine;if(subItem.Color)subDest.Color=subItem.Color;if(IFrameSplitOperator.IsNumber(subItem.Width))subDest.Width=subItem.Width;}if(item.CloseLine){var closeLine=item.CloseLine;if(closeLine.CloseColor)this.Report.CloseLine.CloseColor=closeLine.CloseColor;if(closeLine.YCloseColor)this.Report.CloseLine.YCloseColor=closeLine.YCloseColor;if(closeLine.AreaColor)this.Report.CloseLine.AreaColor=closeLine.AreaColor;if(closeLine.UpColor)this.Report.CloseLine.UpColor=closeLine.UpColor;if(closeLine.UpAreaColor)this.Report.CloseLine.UpAreaColor=closeLine.UpAreaColor;if(closeLine.DownColor)this.Report.CloseLine.DownColor=closeLine.DownColor;if(closeLine.DownAreaColor)this.Report.CloseLine.DownAreaColor=closeLine.DownAreaColor;if(closeLine.UnchangeColor)this.Report.CloseLine.UnchangeColor=closeLine.UnchangeColor;if(closeLine.UnchangeAreaColor)this.Report.CloseLine.UnchangeAreaColor=closeLine.UnchangeAreaColor;}if(item.KLine){var kline=item.KLine;if(kline.UpColor)this.Report.KLine.UpColor=kline.UpColor;if(kline.DownColor)this.Report.KLine.DownColor=kline.DownColor;if(kline.UnchagneColor)this.Report.KLine.UnchagneColor=kline.UnchagneColor;if(IFrameSplitOperator.IsNumber(kline.DataWidth))this.Report.KLine.DataWidth=kline.DataWidth;if(IFrameSplitOperator.IsNumber(kline.DistanceWidth))this.Report.KLine.DistanceWidth=kline.DistanceWidth;}if(item.Header){var header=item.Header;if(header.Color)this.Report.Header.Color=header.Color;if(header.Mergin){var mergin=header.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.Header.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.Header.Mergin.Left=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.Header.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.Header.Mergin.Bottom=mergin.Bottom;}if(header.Font){var font=header.Font;if(font.Name)this.Report.Header.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Header.Font.Size=font.Size;}}if(item.SortIcon){var sort=item.SortIcon;if(IFrameSplitOperator.IsNonEmptyArray(sort.Color))this.Report.SortIcon.Color=sort.Color.slice();if(IFrameSplitOperator.IsNumber(sort.Size))this.Report.SortIcon.Size=sort.Size;if(sort.Family)this.Report.SortIcon.Family=sort.Family;if(IFrameSplitOperator.IsNonEmptyArray(sort.Arrow))this.Report.SortIcon.Arrow=sort.Arrow.slice();if(sort.Margin){var margin=sort.Margin;if(IFrameSplitOperator.IsNumber(margin.Left))this.Report.SortIcon.Margin.Left=margin.Left;if(IFrameSplitOperator.IsNumber(margin.Right))this.Report.SortIcon.Margin.Right=margin.Right;if(IFrameSplitOperator.IsNumber(margin.Top))this.Report.SortIcon.Margin.Top=margin.Top;if(IFrameSplitOperator.IsNumber(margin.Bottom))this.Report.SortIcon.Margin.Bottom=margin.Bottom;}}if(item.Item){var row=item.Item;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.Item.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.Item.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.Item.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.Item.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)this.Report.Item.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Item.Font.Size=font.Size;}if(row.BarMergin){var mergin=row.BarMergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.Item.BarMergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.Item.BarMergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.Item.BarMergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.Item.BarMergin.Bottom=mergin.Bottom;}if(row.NameFont){var font=row.NameFont;if(font.Name)this.Report.Item.NameFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Item.NameFont.Size=font.Size;}if(row.SymbolFont){var font=row.SymbolFont;if(font.Name)this.Report.Item.SymbolFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Item.SymbolFont.Size=font.Size;}}if(item.FixedItem){var row=item.FixedItem;if(row.Font){var font=row.Font;if(font.Name)this.Report.FixedItem.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.FixedItem.Font.Size=font.Size;}}if(item.LimitBorder){var limit=item.LimitBorder;if(limit.Color)this.Report.LimitBorder.Color=limit.Color;if(limit.Mergin){var mergin=limit.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.LimitBorder.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.LimitBorder.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.LimitBorder.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.LimitBorder.Mergin.Bottom=mergin.Bottom;}}if(item.LimitColor){var limit=item.LimitColor;if(limit.UpColor)this.Report.LimitColor.UpColor=limit.UpColor;if(limit.DownColor)this.Report.LimitColor.DownColor=limit.DownColor;if(limit.TextColor)this.Report.LimitColor.UpColor=limit.TextColor;}if(item.FieldColor){var filed=item.FieldColor;if(filed.Name)this.Report.FieldColor.Name=filed.Name;if(filed.Symbol)this.Report.FieldColor.Symbol=filed.Symbol;if(filed.Vol)this.Report.FieldColor.Vol=filed.Vol;if(filed.Amount)this.Report.FieldColor.Amount=filed.Amount;if(filed.Index)this.Report.FieldColor.Index=filed.Index;if(filed.BarTitle)this.Report.FieldColor.BarTitle=filed.BarTitle;if(filed.Text)this.Report.FieldColor.Text=filed.Text;if(IFrameSplitOperator.IsNonEmptyArray(filed.Bar)){for(var i=0;i<filed.Bar.length;++i){this.Report.FieldColor.Bar[i]=filed.Bar[i];}}}if(item.NameSymbolV2){var nameSymbol=item.NameSymbolV2;if(nameSymbol.Name){var subItem=nameSymbol.Name;if(IFrameSplitOperator.IsNumber(subItem.Size))this.Report.NameSymbolV2.Name.Size=subItem.Size;if(subItem.Name)this.Report.NameSymbolV2.Name.Name=subItem.Name;if(subItem.Color)this.Report.NameSymbolV2.Name.Color=subItem.Color;}if(nameSymbol.Symbol){var subItem=nameSymbol.Symbol;if(IFrameSplitOperator.IsNumber(subItem.Size))this.Report.NameSymbolV2.Symbol.Size=subItem.Size;if(subItem.Name)this.Report.NameSymbolV2.Symbol.Name=subItem.Name;if(subItem.Color)this.Report.NameSymbolV2.Symbol.Color=subItem.Color;}}if(item.Tab){var tab=item.Tab;if(tab.Font){var font=tab.Font;if(font.Name)this.Report.Tab.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Tab.Font.Size=font.Size;}if(IFrameSplitOperator.IsNumber(tab.ScrollBarWidth))this.Report.Tab.ScrollBarWidth=tab.ScrollBarWidth;if(tab.ButtonColor)this.Report.Tab.ButtonColor=tab.ButtonColor;if(tab.BarColor)this.Report.Tab.BarColor=tab.BarColor;if(tab.BorderColor)this.Report.Tab.BorderColor=tab.BorderColor;if(tab.TabTitleColor)this.Report.Tab.TabTitleColor=tab.TabTitleColor;if(tab.TabSelectedTitleColor)this.Report.Tab.TabSelectedTitleColor=tab.TabSelectedTitleColor;if(tab.TabSelectedBGColor)this.Report.Tab.TabSelectedBGColor=tab.TabSelectedBGColor;if(tab.TabMoveOnTitleColor)this.Report.Tab.TabMoveOnTitleColor=tab.TabMoveOnTitleColor;if(tab.TabBGColor)this.Report.Tab.TabBGColor=tab.TabBGColor;}if(item.PageInfo){var pageinfo=item.PageInfo;if(pageinfo.Font){var font=pageinfo.Font;if(font.Name)this.Report.PageInfo.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.PageInfo.Font.Size=font.Size;}if(pageinfo.TextColor)this.Report.PageInfo.TextColor=pageinfo.TextColor;if(pageinfo.BGColor)this.Report.PageInfo.BGColor=pageinfo.BGColor;if(pageinfo.Mergin){var mergin=pageinfo.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.PageInfo.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.PageInfo.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.PageInfo.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.PageInfo.Mergin.Bottom=mergin.Bottom;}}if(item.DragRow){var dragRow=item.DragRow;if(dragRow.Color)this.Report.DragRow.Color=dragRow.Color;if(dragRow.TextColor)this.Report.DragRow.TextColor=dragRow.TextColor;if(dragRow.MoveRowColor)this.Report.DragRow.MoveRowColor=dragRow.MoveRowColor;if(dragRow.SrcRowColor)this.Report.DragRow.SrcRowColor=dragRow.SrcRowColor;}if(item.VScrollbar){var subItem=item.VScrollbar;if(IFrameSplitOperator.IsNumber(subItem.ScrollBarHeight))dest.VScrollbar.ScrollBarHeight=subItem.ScrollBarHeight;if(subItem.ButtonColor)dest.VScrollbar.ButtonColor=subItem.ButtonColor;if(subItem.BarColor)dest.VScrollbar.BarColor=subItem.BarColor;if(subItem.BorderColor)dest.VScrollbar.BorderColor=subItem.BorderColor;if(subItem.BGColor)dest.VScrollbar.BGColor=subItem.BGColor;}if(item.CheckBox){var subItem=item.CheckBox;if(subItem.Family)dest.CheckBox.Family=subItem.Family;if(IFrameSplitOperator.IsNumber(subItem.Size))dest.CheckBox.Size=subItem.Size;if(subItem.Checked){var child=subItem.Checked;if(child.Color)dest.CheckBox.Checked.Color=child.Color;if(child.Symbol)dest.CheckBox.Checked.Symbol=child.Symbol;if(child.DisableColor)dest.CheckBox.Checked.DisableColor=child.DisableColor;}if(subItem.Unchecked){var child=subItem.Unchecked;if(child.Color)dest.CheckBox.Unchecked.Color=child.Color;if(child.Symbol)dest.CheckBox.Unchecked.Symbol=child.Symbol;if(child.DisableColor)dest.CheckBox.Unchecked.DisableColor=child.DisableColor;}CopyMarginConfig(dest.CheckBox.Margin,subItem.Margin);}if(item.Link){var subItem=item.Link;if(subItem.Font)dest.Link.Font=subItem.Font;if(subItem.TextColor)dest.Link.TextColor=subItem.TextColor;if(subItem.Disable&&subItem.Disable.TextColor)dest.Link.Disable.TextColor=subItem.Disable.TextColor;if(subItem.MouseOn&&subItem.MouseOn.TextColor)dest.Link.MouseOn.TextColor=subItem.MouseOn.TextColor;}if(item.ProgressBar){var subItem=item.ProgressBar;if(subItem.BGColor)dest.ProgressBar.BGColor=subItem.BGColor;if(subItem.BarColor)dest.ProgressBar.BarColor=subItem.BarColor;if(subItem.TextColor)dest.ProgressBar.TextColor=subItem.TextColor;if(subItem.Font)dest.ProgressBar.Font=subItem.Font;if(subItem.Disable){if(subItem.Disable.BGColor)dest.ProgressBar.Disable.BGColor=subItem.Disable.BGColor;if(subItem.Disable.BarColor)dest.ProgressBar.Disable.BarColor=subItem.Disable.BarColor;if(subItem.Disable.TextColor)dest.ProgressBar.Disable.TextColor=subItem.Disable.TextColor;}CopyMarginConfig(dest.ProgressBar.Margin,subItem.Margin);CopyMarginConfig(dest.ProgressBar.BarMargin,subItem.BarMargin);CopyMarginConfig(dest.ProgressBar.TextMargin,subItem.TextMargin);}if(item.Buttom){var subItem=item.Buttom;if(subItem.BGColor)dest.Buttom.BGColor=subItem.BGColor;if(subItem.TextColor)dest.Buttom.TextColor=subItem.TextColor;if(subItem.BorderColor)dest.Buttom.BorderColor=subItem.BorderColor;if(subItem.Font)dest.Buttom.Font=subItem.Font;if(subItem.Disable){if(subItem.Disable.BGColor)dest.Buttom.Disable.BGColor=subItem.Disable.BGColor;if(subItem.Disable.TextColor)dest.Buttom.Disable.TextColor=subItem.Disable.TextColor;}if(subItem.MouseOn){if(subItem.MouseOn.BGColor)dest.Buttom.MouseOn.BGColor=subItem.MouseOn.BGColor;if(subItem.MouseOn.TextColor)dest.Buttom.MouseOn.TextColor=subItem.MouseOn.TextColor;}CopyMarginConfig(dest.Buttom.Margin,subItem.Margin);CopyMarginConfig(dest.Buttom.TextMargin,subItem.TextMargin);}};this.SetTReportStyle=function(style){var item=style;var dest=this.TReport;if(item.BorderColor)dest.BorderColor=item.BorderColor;if(item.UpTextColor)dest.UpTextColor=item.UpTextColor;if(item.DownTextColor)dest.DownTextColor=item.DownTextColor;if(item.UnchangeTextColor)dest.UnchangeTextColor=item.UnchangeTextColor;if(item.BorderColor)dest.SelectedColor=item.SelectedColor;if(item.UpBGColor)dest.UpBGColor=item.UpBGColor;if(item.DownBGColor)dest.DownBGColor=item.DownBGColor;if(item.Header){var header=item.Header;if(header.Color)dest.Header.Color=header.Color;if(header.SortColor)dest.Header.SortColor=header.SortColor;if(header.Mergin){var mergin=header.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))dest.Header.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))dest.Header.Mergin.Left=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))dest.Header.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))dest.Header.Mergin.Bottom=mergin.Bottom;}if(header.Font){var font=header.Font;if(font.Name)dest.Header.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Header.Font.Size=font.Size;}}if(item.CenterItem){var cell=item.CenterItem;if(cell.TextColor)dest.CenterItem.TextColor=cell.TextColor;if(cell.BaseTextColor)dest.CenterItem.BaseTextColor=cell.BaseTextColor;if(cell.BGColor)dest.CenterItem.BGColor=cell.BGColor;if(cell.MatchTextColor)dest.CenterItem.MatchTextColor=cell.MatchTextColor;}if(item.Item){var row=item.Item;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))dest.Item.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))dest.Item.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))dest.Item.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))dest.Item.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)dest.Item.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.Font.Size=font.Size;}if(row.NameFont){var font=row.NameFont;if(font.Name)dest.Item.NameFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.NameFont.Size=font.Size;}if(row.SymbolFont){var font=row.SymbolFont;if(font.Name)dest.Item.SymbolFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.SymbolFont.Size=font.Size;}}if(item.FieldColor){var filed=item.FieldColor;if(filed.Name)dest.FieldColor.Name=filed.Name;if(filed.Symbol)dest.FieldColor.Symbol=filed.Symbol;if(filed.Vol)dest.FieldColor.Vol=filed.Vol;if(filed.Amount)dest.FieldColor.Amount=filed.Amount;if(filed.Index)dest.FieldColor.Index=filed.Index;if(filed.Text)dest.FieldColor.Text=filed.Text;if(filed.Position)dest.FieldColor.Position=filed.Position;}if(item.MarkBorder){var subIem=item.MarkBorder;if(subIem.MaxPositionColor)dest.MarkBorder.MaxPositionColor=subIem.MaxPositionColor;}if(item.FixedItem){var subIem=item.FixedItem;if(subIem.Font){var font=subIem.Font;if(font.Name)dest.FixedItem.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.FixedItem.Font.Size=font.Size;}}};this.SetFrameButtomToolbar=function(style){var dest=this.FrameButtomToolbar;if(style.BGColor)dest.BGColor=style.BGColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.Button){var button=style.Button;if(button.BorderColor)dest.Button.BorderColor=button.BorderColor;if(button.Font){var item=button.Font;var destItem=this.FrameButtomToolbar.Button.Font;if(item.Family)destItem.Family=item.Family;if(IFrameSplitOperator.IsNumber(item.Size))destItem.Size=item.Size;}if(button.TitleColor){var item=button.TitleColor;var destItem=this.FrameButtomToolbar.Button.TitleColor;if(item.Selected)destItem.Selected=item.Selected;if(item.Default)destItem.Default=item.Default;if(item.MoveOn)destItem.MoveOn=item.MoveOn;}if(button.BGColor){var item=button.BGColor;var destItem=this.FrameButtomToolbar.Button.BGColor;if(item.Selected)destItem.Selected=item.Selected;if(item.Default)destItem.Default=item.Default;if(item.MoveOn)destItem.MoveOn=item.MoveOn;}if(button.Mergin){var item=button.Mergin;var destItem=this.FrameButtomToolbar.Button.Mergin;if(IFrameSplitOperator.IsNumber(item.Left))destItem.Left=item.Left;if(IFrameSplitOperator.IsNumber(item.Right))destItem.Left=item.Right;if(IFrameSplitOperator.IsNumber(item.Top))destItem.Top=item.Top;if(IFrameSplitOperator.IsNumber(item.Bottom))destItem.Bottom=item.Bottom;}if(button.SVG){var item=button.SVG;var destItem=this.FrameButtomToolbar.Button.SVG;if(IFrameSplitOperator.IsNumber(item.Size))destItem.Size=item.Size;if(IFrameSplitOperator.IsNumber(item.MerginLeft))destItem.MerginLeft=item.MerginLeft;if(item.Family)destItem.Family=item.Family;}}};this.SetMinuteToolbar=function(style){var dest=this.MinuteToolbar;if(IFrameSplitOperator.IsBool(style.ModifyIndex))dest.ModifyIndex=style.ModifyIndex;if(IFrameSplitOperator.IsBool(style.ChangeIndex))dest.ChangeIndex=style.ChangeIndex;if(IFrameSplitOperator.IsBool(style.CloseIndex))dest.CloseIndex=style.CloseIndex;if(IFrameSplitOperator.IsBool(style.OverlayIndex))dest.OverlayIndex=style.OverlayIndex;if(IFrameSplitOperator.IsBool(style.MaxMinWindow))dest.ModifyIndex=style.MaxMinWindow;if(IFrameSplitOperator.IsBool(style.TitleWindow))dest.ModifyIndex=style.TitleWindow;if(IFrameSplitOperator.IsBool(style.ExportData))dest.ModifyIndex=style.ExportData;if(IFrameSplitOperator.IsBool(style.AddIndexWindow))dest.AddIndexWindow=style.AddIndexWindow;if(IFrameSplitOperator.IsBool(style.IndexHelp))dest.IndexHelp=style.IndexHelp;if(IFrameSplitOperator.IsBool(style.IsShowOverlayToolbar))dest.IsShowOverlayToolbar=style.IsShowOverlayToolbar;if(IFrameSplitOperator.IsBool(style.IsShowOverlayFrame))dest.IsShowOverlayFrame=style.IsShowOverlayFrame;};this.SetKLineToolbar=function(style){var dest=this.KLineToolbar;if(IFrameSplitOperator.IsBool(style.ModifyIndex))dest.ModifyIndex=style.ModifyIndex;if(IFrameSplitOperator.IsBool(style.ChangeIndex))dest.ChangeIndex=style.ChangeIndex;if(IFrameSplitOperator.IsBool(style.CloseIndex))dest.CloseIndex=style.CloseIndex;if(IFrameSplitOperator.IsBool(style.OverlayIndex))dest.OverlayIndex=style.OverlayIndex;if(IFrameSplitOperator.IsBool(style.MaxMinWindow))dest.ModifyIndex=style.MaxMinWindow;if(IFrameSplitOperator.IsBool(style.TitleWindow))dest.ModifyIndex=style.TitleWindow;if(IFrameSplitOperator.IsBool(style.ExportData))dest.ModifyIndex=style.ExportData;if(IFrameSplitOperator.IsBool(style.AddIndexWindow))dest.AddIndexWindow=style.AddIndexWindow;if(IFrameSplitOperator.IsBool(style.IndexHelp))dest.IndexHelp=style.IndexHelp;};this.SetChartSimpleTable=function(style){var dest=this.ChartSimpleTable;if(style.TextColor)dest.TextColor=style.TextColor;if(style.BGColor)dest.BGColor=style.BGColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.TextFont){var item=style.TextFont;if(item.Name)dest.TextFont.Name=item.Name;if(IFrameSplitOperator.IsNumber(item.Size))dest.TextFont.Size=item.Size;}if(style.ItemMargin){var margin=style.ItemMargin;if(IFrameSplitOperator.IsNumber(margin.Left))dest.ItemMargin.Left=margin.Left;if(IFrameSplitOperator.IsNumber(margin.Right))dest.ItemMargin.Right=margin.Right;if(IFrameSplitOperator.IsNumber(margin.Top))dest.ItemMargin.Top=margin.Top;if(IFrameSplitOperator.IsNumber(margin.Bottom))dest.ItemMargin.Bottom=margin.Bottom;}};this.SetChartSimplePie=function(style){var dest=this.ChartSimplePie;if(style.TextFont){var item=style.TextFont;if(item.Name)dest.TextFont.Name=item.Name;if(IFrameSplitOperator.IsNumber(item.Size))dest.TextFont.Size=item.Size;}if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.Offset){var item=style.Offset;if(IFrameSplitOperator.IsNumber(item.X))dest.Offset.X=item.X;if(IFrameSplitOperator.IsNumber(item.Y))dest.Offset.Y=item.Y;}};this.SetChartSimpleDoughnut=function(style){var dest=this.ChartSimpleDoughnut;if(style.TextFont){var item=style.TextFont;if(item.Name)dest.TextFont.Name=item.Name;if(IFrameSplitOperator.IsNumber(item.Size))dest.TextFont.Size=item.Size;}if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.Offset){var item=style.Offset;if(IFrameSplitOperator.IsNumber(item.X))dest.Offset.X=item.X;if(IFrameSplitOperator.IsNumber(item.Y))dest.Offset.Y=item.Y;}};this.SetChartSimpleRadar=function(style){var dest=this.ChartSimpleRadar;if(style.TextFont){var item=style.TextFont;if(item.Name)dest.TextFont.Name=item.Name;if(IFrameSplitOperator.IsNumber(item.Size))dest.TextFont.Size=item.Size;}if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.TextColor)dest.TextColor=style.TextColor;if(style.Offset){var item=style.Offset;if(IFrameSplitOperator.IsNumber(item.X))dest.Offset.X=item.X;if(IFrameSplitOperator.IsNumber(item.Y))dest.Offset.Y=item.Y;}if(IFrameSplitOperator.IsNonEmptyArray(style.AryBGColor))dest.AryBGColor=style.AryBGColor.slice();if(IFrameSplitOperator.IsNonEmptyArray(style.AryArea))dest.AryArea=style.AryArea.slice();};this.SetChartBaseLineBar=function(style){var dest=this.ChartBaseLineBar;if(style.UpColor)dest.UpColor=style.UpColor;if(style.DownColor)dest.DownColor=style.DownColor;};this.SetChartPointDot=function(style){var dest=this.ChartPointDot;if(style.UpColor)dest.UpColor=style.UpColor;if(style.DownColor)dest.DownColor=style.DownColor;};this.SetIndexLock=function(style){var item=style;var dest=this.IndexLock;if(item.BGColor)dest.BGColor=item.BGColor;if(item.TextColor)dest.TextColor=item.TextColor;if(item.Font)dest.Font=item.Font;if(item.Title)dest.Title=item.Title;};this.SetChartScatterPlotV2=function(style){var item=style;var dest=this.ChartScatterPlotV2;if(item.Color)dest.Color=item.Color;if(item.TextColor)dest.TextColor=item.TextColor;if(item.Font)dest.Font=item.Font;if(IFrameSplitOperator.IsNumber(item.Radius))dest.Radius=item.Radius;};}var g_JSChartResource=new JSChartResource();/////////////////////////////////////////////////////////////////////////////////
|
|
7826
|
+
};this.SetStyle=function(style){var T_SetButtonStyle=function T_SetButtonStyle(item,dest){if(!item)return;if(item.Color)dest.Color=item.Color;if(item.MoveOnColor)dest.MoveOnColor=item.MoveOnColor;if(item.SelectedColor)dest.SelectedColor=item.SelectedColor;if(item.Family)dest.Family=item.Family;if(item.Text)dest.Text=item.Text;if(IFrameSplitOperator.IsNumber(item.Size))dest.Size=item.Size;if(IFrameSplitOperator.IsNumber(item.MerginLeft))dest.MerginLeft=item.MerginLeft;};if(style.TooltipBGColor)this.TooltipBGColor=style.TooltipBGColor;if(style.TooltipAlpha)this.TooltipAlpha=style.TooltipAlpha;if(style.SelectRectBGColor)this.SelectRectBGColor=style.SelectRectBGColor;if(style.UpBarColor)this.UpBarColor=style.UpBarColor;if(style.DownBarColor)this.DownBarColor=style.DownBarColor;if(style.UnchagneBarColor)this.UnchagneBarColor=style.UnchagneBarColor;if(style.EmptyBarBGColor)this.EmptyBarBGColor=style.EmptyBarBGColor;if(style.HighLowBarColor)this.HighLowBarColor=style.HighLowBarColor;if(style.HighLowText){var dest=this.HighLowText;var item=style.HighLowText;if(item.FontName)dest.FontName=item.FontName;if(item.Color)dest.Color=item.Color;if(item.MaxText)dest.MaxText=item.MaxText;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))dest.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))dest.MinSize=item.MinSize;}if(style.SplashScreen){var item=style.SplashScreen;if(item.BGColor)this.SplashScreen.BGColor=item.BGColor;if(item.Title)this.SplashScreen.Title=item.Title;if(item.TextColor)this.SplashScreen.TextColor=item.TextColor;if(item.Font)this.SplashScreen.Font=item.Font;}if(style.HLCArea){var item=style.HLCArea;if(item.HighLineColor)this.HLCArea.HighLineColor=item.HighLineColor;if(item.LowLineColor)this.HLCArea.LowLineColor=item.LowLineColor;if(item.CloseLineColor)this.HLCArea.CloseLineColor=item.CloseLineColor;if(item.UpAreaColor)this.HLCArea.UpAreaColor=item.UpAreaColor;if(item.DownAreaColor)this.HLCArea.DownAreaColor=item.DownAreaColor;if(IFrameSplitOperator.IsNumber(item.LineWidth))this.HLCArea.LineWidth=item.LineWidth;}if(style.Minute){if(style.Minute.VolBarColor)this.Minute.VolBarColor=style.Minute.VolBarColor;if(style.Minute.VolTitleColor)this.Minute.VolTitleColor=style.Minute.VolTitleColor;if(style.Minute.PriceColor)this.Minute.PriceColor=style.Minute.PriceColor;if(IFrameSplitOperator.IsNumber(style.Minute.PriceLineWidth))this.Minute.PriceLineWidth=style.Minute.PriceLineWidth;if(style.Minute.AvPriceColor)this.Minute.AvPriceColor=style.Minute.AvPriceColor;if(style.Minute.AreaPriceColor)this.Minute.AreaPriceColor=style.Minute.AreaPriceColor;if(style.Minute.PositionColor)this.Minute.PositionColor=style.Minute.PositionColor;if(style.Minute.FrameSplitTextColor)this.Minute.FrameSplitTextColor=style.Minute.FrameSplitTextColor;if(style.Minute.Before){var item=style.Minute.Before;if(item.BGColor)this.Minute.Before.BGColor=item.BGColor;if(item.LineColor)this.Minute.Before.LineColor=item.LineColor;if(item.VolColor)this.Minute.Before.VolColor=item.VolColor;if(item.AvPriceColor)this.Minute.Before.AvPriceColor=item.AvPriceColor;if(item.CloseIcon)T_SetButtonStyle(item.CloseIcon,this.Minute.Before.CloseIcon);if(item.Point){if(item.Point.Color)this.Minute.Before.Point.Color=item.Point.Color;if(item.Point.Radius)this.Minute.Before.Point.Radius=item.Point.Radius;}}if(style.Minute.After){var item=style.Minute.After;if(item.BGColor)this.Minute.After.BGColor=item.BGColor;if(item.LineColor)this.Minute.After.LineColor=item.LineColor;if(item.VolColor)this.Minute.After.VolColor=item.VolColor;if(item.AvPriceColor)this.Minute.After.AvPriceColor=item.AvPriceColor;if(item.Point){if(item.Point.Color)this.Minute.After.Point.Color=item.Point.Color;if(item.Point.Radius)this.Minute.After.Point.Radius=item.Point.Radius;}}if(style.Minute.NightDay){var item=style.Minute.NightDay;if(item.NightBGColor)this.Minute.NightDay.NightBGColor=item.NightBGColor;if(item.Font)this.Minute.NightDay.Font=item.Font;if(item.Day){var subItem=item.Day;if(subItem.Color)this.Minute.NightDay.Day.Color=subItem.Color;if(subItem.BGColor)this.Minute.NightDay.Day.BGColor=subItem.BGColor;if(subItem.BorderColor)this.Minute.NightDay.Day.BorderColor=subItem.BorderColor;CopyMarginConfig(this.Minute.NightDay.Day.Margin,subItem.Margin);}if(item.Night){var subItem=item.Night;if(subItem.Color)this.Minute.NightDay.Night.Color=subItem.Color;if(subItem.BGColor)this.Minute.NightDay.Night.BGColor=subItem.BGColor;if(subItem.BorderColor)this.Minute.NightDay.Night.BorderColor=subItem.BorderColor;CopyMarginConfig(this.Minute.NightDay.Night.Margin,subItem.Margin);}}if(style.Minute.BuySellBar){var item=style.Minute.BuySellBar;var dest=this.Minute.BuySellBar;if(item.BuyColor)dest.BuyColor=item.BuyColor;if(item.SellColor)dest.SellColor=item.SellColor;if(item.Font)dest.Font=item.Font;if(item.TextColor)dest.TextColor=item.TextColor;if(IFrameSplitOperator.IsNumber(item.BarWidth))dest.BarWidth=item.BarWidth;if(IFrameSplitOperator.IsNonEmptyArray(item.AryBarRange))dest.AryBarRange=item.AryBarRange;if(IFrameSplitOperator.IsNumber(item.YOffset))dest.YOffset=item.YOffset;}}if(style.PopMinuteChart){var item=style.PopMinuteChart;var dest=this.PopMinuteChart;if(item.BGColor)dest.BGColor=item.BGColor;if(item.BorderColor)dest.BorderColor=item.BorderColor;if(item.TitleColor)dest.TitleColor=item.TitleColor;if(item.TitleBGColor)dest.TitleBGColor=item.TitleBGColor;if(item.Mark){if(item.Mark.LineColor)dest.Mark.LineColor=item.Mark.LineColor;if(IFrameSplitOperator.IsNumber(item.Mark.LineWidth))dest.Mark.LineWidth=item.Mark.LineWidth;}if(item.Title){if(item.Title.Font)dest.Title.Font=item.Title.Font;}if(item.CorssCursor){if(item.CorssCursor.Font)dest.CorssCursor.Font=item.CorssCursor.Font;}if(item.Frame){if(item.Frame.Font)dest.Frame.Font=item.Frame.Font;}}if(style.PopKLineChart){var item=style.PopKLineChart;var dest=this.PopKLineChart;if(item.BGColor)dest.BGColor=item.BGColor;if(item.BorderColor)dest.BorderColor=item.BorderColor;if(item.TitleColor)dest.TitleColor=item.TitleColor;if(item.TitleBGColor)dest.TitleBGColor=item.TitleBGColor;}if(style.DefaultTextColor)this.DefaultTextColor=style.DefaultTextColor;if(style.DefaultTextFont)this.DefaultTextFont=style.DefaultTextFont;if(style.TitleFont)this.TitleFont=style.TitleFont;if(style.IndexTitleBGColor)this.IndexTitleBGColor=style.IndexTitleBGColor;if(style.IndexTitleBorderColor)this.IndexTitleBorderColor=style.IndexTitleBorderColor;if(style.IndexTitleBorderMoveOnColor)this.IndexTitleBorderMoveOnColor=style.IndexTitleBorderMoveOnColor;if(IFrameSplitOperator.IsNumber(style.IndexTitleBorderStyle))this.IndexTitleBorderStyle=style.IndexTitleBorderStyle;if(style.IndexTitleColor)this.IndexTitleColor=style.IndexTitleColor;if(style.IndexTitleSelectedColor)this.IndexTitleSelectedColor=style.IndexTitleSelectedColor;if(style.OverlayIndexTitleBGColor)this.OverlayIndexTitleBGColor=style.OverlayIndexTitleBGColor;if(style.UpTextColor)this.UpTextColor=style.UpTextColor;if(style.DownTextColor)this.DownTextColor=style.DownTextColor;if(style.UnchagneTextColor)this.UnchagneTextColor=style.UnchagneTextColor;if(style.CloseLineColor)this.CloseLineColor=style.CloseLineColor;if(style.CloseLineAreaColor)this.CloseLineAreaColor=style.CloseLineAreaColor;if(style.CloseLineWidth)this.CloseLineWidth=style.CloseLineWidth;if(style.FrameBorderPen)this.FrameBorderPen=style.FrameBorderPen;if(style.MultiDayBorderPen)this.MultiDayBorderPen=style.MultiDayBorderPen;if(style.FrameSplitPen)this.FrameSplitPen=style.FrameSplitPen;if(style.FrameDotSplitPen)this.FrameDotSplitPen=style.FrameDotSplitPen;if(style.FrameSplitTextColor)this.FrameSplitTextColor=style.FrameSplitTextColor;if(style.FrameSplitTextFont)this.FrameSplitTextFont=style.FrameSplitTextFont;if(style.FrameTitleBGColor)this.FrameTitleBGColor=style.FrameTitleBGColor;if(style.SelFrameBorderColor)this.SelFrameBorderColor=style.SelFrameBorderColor;if(IFrameSplitOperator.IsNumber(style.IndexTitleMerginLeft))this.IndexTitleMerginLeft=style.IndexTitleMerginLeft;if(style.IndexTitle){var item=style.IndexTitle;if(item.UpDownArrow){var subItem=item.UpDownArrow;if(subItem.UpColor)this.IndexTitle.UpDownArrow.UpColor=subItem.UpColor;if(subItem.DownColor)this.IndexTitle.UpDownArrow.DownColor=subItem.DownColor;if(subItem.UnchangeColor)this.IndexTitle.UpDownArrow.UnchangeColor=subItem.UnchangeColor;}if(IFrameSplitOperator.IsNumber(item.ArrowType))this.IndexTitle.ArrowType=item.ArrowType;if(IFrameSplitOperator.IsBool(item.EnableIndexArrow))this.IndexTitle.EnableIndexArrow=item.EnableIndexArrow;if(IFrameSplitOperator.IsBool(item.IsSinlgeLine))this.IndexTitle.IsSinlgeLine=item.IsSinlgeLine;if(item.NameArrow){var subItem=item.NameArrow;if(subItem.Color)this.IndexTitle.NameArrow.Color=subItem.Color;if(subItem.Symbol)this.IndexTitle.NameArrow.Symbol=subItem.Symbol;if(IFrameSplitOperator.IsNumber(subItem.Space))this.IndexTitle.NameArrow.Space=subItem.Space;}}if(style.Frame){if(style.Frame.XBottomOffset)this.Frame.XBottomOffset=style.Frame.XBottomOffset;if(style.Frame.YTopOffset)this.Frame.YTopOffset=style.Frame.YTopOffset;if(IFrameSplitOperator.IsNumber(style.Frame.XPointCount))this.Frame.XPointCount=style.Frame.XPointCount;if(style.Frame.PercentageText){var item=style.Frame.PercentageText;if(item.PriceColor)this.Frame.PercentageText.PriceColor=item.PriceColor;if(item.PercentageColor)this.Frame.PercentageText.PercentageColor=item.PercentageColor;if(item.SplitColor)this.Frame.PercentageText.SplitColor=item.SplitColor;if(item.Font)this.Frame.PercentageText.Font=item.Font;}}if(IFrameSplitOperator.IsNumber(style.ToolbarButtonStyle))this.ToolbarButtonStyle=style.ToolbarButtonStyle;if(IFrameSplitOperator.IsBool(style.IsDOMFrameTitle))this.IsDOMFrameTitle=style.IsDOMFrameTitle;if(style.FrameLatestPrice){var item=style.FrameLatestPrice;if(style.FrameLatestPrice.TextColor)this.FrameLatestPrice.TextColor=style.FrameLatestPrice.TextColor;if(style.FrameLatestPrice.UpBarColor)this.FrameLatestPrice.UpBarColor=style.FrameLatestPrice.UpBarColor;if(style.FrameLatestPrice.DownBarColor)this.FrameLatestPrice.DownBarColor=style.FrameLatestPrice.DownBarColor;if(style.FrameLatestPrice.UnchagneBarColor)this.FrameLatestPrice.UnchagneBarColor=style.FrameLatestPrice.UnchagneBarColor;if(style.FrameLatestPrice.BGAlpha)this.FrameLatestPrice.BGAlpha=style.FrameLatestPrice.BGAlpha;if(style.FrameLatestPrice.OverlayTextColor)this.FrameLatestPrice.OverlayTextColor=style.FrameLatestPrice.OverlayTextColor;if(item.EmptyBGColor)this.FrameLatestPrice.EmptyBGColor=item.EmptyBGColor;}if(style.OverlayFrame){var item=style.OverlayFrame;if(style.OverlayFrame.BolderPen)this.OverlayFrame.BolderPen=style.OverlayFrame.BolderPen;if(style.OverlayFrame.TitleColor)this.OverlayFrame.TitleColor=style.OverlayFrame.TitleColor;if(style.OverlayFrame.TitleFont)this.OverlayFrame.TitleFont=style.OverlayFrame.TitleFont;}if(style.CorssCursorBGColor)this.CorssCursorBGColor=style.CorssCursorBGColor;if(style.CorssCursorTextColor)this.CorssCursorTextColor=style.CorssCursorTextColor;if(style.CorssCursorTextFont)this.CorssCursorTextFont=style.CorssCursorTextFont;if(style.CorssCursorVPenColor)this.CorssCursorVPenColor=style.CorssCursorVPenColor;if(style.CorssCursorHPenColor)this.CorssCursorHPenColor=style.CorssCursorHPenColor;if(style.CorssCursorBorderColor)this.CorssCursorBorderColor=style.CorssCursorBorderColor;if(style.CorssCursorXRangeBGColor)this.CorssCursorXRangeBGColor=style.CorssCursorXRangeBGColor;if(style.CorssCursorLineDash)this.CorssCursorLineDash=style.CorssCursorLineDash.slice();if(style.CorssCursor&&style.CorssCursor.RightButton){var item=style.CorssCursor.RightButton;if(item.BGColor)this.CorssCursor.RightButton.BGColor=item.BGColor;if(item.PenColor)this.CorssCursor.RightButton.PenColor=item.PenColor;if(item.Icon)this.CorssCursor.RightButton.Icon=item.Icon;}if(style.CorssCursor&&style.CorssCursor.CorssPoint){var item=style.CorssCursor.CorssPoint;if(item.Center){var subItem=item.Center;var subDest=this.CorssCursor.CorssPoint.Center;if(IFrameSplitOperator.IsNumber(subItem.Radius))subDest.Radius=subItem.Radius;if(subItem.Color)subDest.Color=subItem.Color;}if(item.Border){var subItem=item.Border;var subDest=this.CorssCursor.CorssPoint.Border;if(IFrameSplitOperator.IsNumber(subItem.Width))subDest.Width=subItem.Width;if(subItem.Color)subDest.Color=subItem.Color;}}if(style.LatestPointFlash){var item=style.LatestPointFlash;var dest=this.LatestPointFlash;if(item.PointColor)dest.PointColor=item.PointColor;if(IFrameSplitOperator.IsNumber(item.PointRadius))dest.PointRadius=item.PointRadius;if(item.BGColor)dest.BGColor=item.BGColor;if(IFrameSplitOperator.IsNumber(item.BGRadius))dest.BGRadius=item.BGRadius;}if(style.KLine)this.KLine=style.KLine;if(style.VirtualKLine){var item=style.VirtualKLine;if(item.Color)this.VirtualKLine.Color=item.Color;if(item.LineDash)this.VirtualKLine.LineDash=item.LineDash;}if(style.PredictionKLine){if(style.PredictionKLine.Line){var item=style.PredictionKLine.Line;var dest=this.PredictionKLine.Line;if(item.Color)dest.Color=item.Color;if(item.LineDash)dest.LineDash=item.LineDash;if(IFrameSplitOperator.IsNumber(item.LineWidth))dest.LineWidth=item.LineWidth;}if(style.PredictionKLine.Bar){var item=style.PredictionKLine.Bar;var dest=this.PredictionKLine.Bar;if(item.UpColor)dest.UpColor=item.UpColor;if(item.DownColor)dest.DownColor=item.DownColor;if(item.UnchangeColor)dest.UnchangeColor=item.UnchangeColor;if(IFrameSplitOperator.IsNumber(item.DrawType)||item.DrawType===null)dest.DrawType=item.DrawType;}}if(style.PriceGapStyple){var item=style.PriceGapStyple;if(item.Line&&item.Line.Color)this.PriceGapStyple.Line.Color=item.Line.Color;if(item.Text){if(item.Text.Color)this.PriceGapStyple.Text.Color=item.Text.Color;if(item.Text.Font)this.PriceGapStyple.Text.Font=item.Text.Font;}}if(style.DaySummaryKLine){var item=style.DaySummaryKLine;var dest=this.DaySummaryKLine;if(item.Font)dest.Font=item.Font;if(item.TextColor)dest.TextColor=item.TextColor;if(IFrameSplitOperator.IsNumber(item.LeftMargin))dest.LeftMargin=item.LeftMargin;}if(style.Index){if(style.Index.LineColor)this.Index.LineColor=style.Index.LineColor;if(style.Index.NotSupport)this.Index.NotSupport=style.Index.NotSupport;}if(style.ColorArray)this.ColorArray=style.ColorArray;if(style.DrawPicture){var item=style.DrawPicture;if(item.LineColor)this.DrawPicture.LineColor=item.LineColor;if(item.PointColor)this.DrawPicture.PointColor=item.PointColor;if(item.XYCoordinate)this.DrawPicture.XYCoordinate=item.XYCoordinate;if(IFrameSplitOperator.IsNumber(item.PointType))this.DrawPicture.PointType=item.PointType;if(IFrameSplitOperator.IsBool(item.IsShowPoint))this.DrawPicture.IsShowPoint=item.IsShowPoint;}if(style.TooltipPaint){if(style.TooltipPaint.BGColor)this.TooltipPaint.BGColor=style.TooltipPaint.BGColor;if(style.TooltipPaint.BorderColor)this.TooltipPaint.BorderColor=style.TooltipPaint.BorderColor;if(style.TooltipPaint.TitleColor)this.TooltipPaint.TitleColor=style.TooltipPaint.TitleColor;if(style.TooltipPaint.TitleFont)this.TooltipPaint.TitleFont=style.TooltipPaint.TitleFont;if(style.TooltipPaint.DateTimeColor)this.TooltipPaint.DateTimeColor=style.TooltipPaint.DateTimeColor;if(style.TooltipPaint.VolColor)this.TooltipPaint.VolColor=style.TooltipPaint.VolColor;if(style.TooltipPaint.AmountColor)this.TooltipPaint.AmountColor=style.TooltipPaint.AmountColor;}if(style.PCTooltipPaint){var item=style.PCTooltipPaint;if(item.BGColor)this.PCTooltipPaint.BGColor=item.BGColor;if(item.BorderColor)this.PCTooltipPaint.BorderColor=item.BorderColor;if(item.TitleColor)this.PCTooltipPaint.TitleColor=item.TitleColor;if(item.TitleFont)this.PCTooltipPaint.TitleFont=item.TitleFont;if(item.DateTimeColor)this.PCTooltipPaint.DateTimeColor=item.DateTimeColor;if(item.VolColor)this.PCTooltipPaint.VolColor=item.VolColor;if(item.AmountColor)this.PCTooltipPaint.AmountColor=item.AmountColor;if(item.PositionColor)this.PCTooltipPaint.PositionColor=item.PositionColor;}if(style.DialogTooltip){var item=style.DialogTooltip;if(item.BGColor)this.DialogTooltip.BGColor=item.BGColor;if(item.BorderColor)this.DialogTooltip.BorderColor=item.BorderColor;if(item.TitleColor)this.DialogTooltip.TitleColor=item.TitleColor;if(item.TitleBGColor)this.DialogTooltip.TitleBGColor=item.TitleBGColor;if(item.DateTimeColor)this.DialogTooltip.DateTimeColor=item.DateTimeColor;if(item.VolColor)this.DialogTooltip.VolColor=item.VolColor;if(item.AmountColor)this.DialogTooltip.AmountColor=item.AmountColor;if(item.TurnoverRateColor)this.DialogTooltip.TurnoverRateColor=item.TurnoverRateColor;if(item.PositionColor)this.DialogTooltip.PositionColor=item.PositionColor;if(item.TextColor)this.DialogTooltip.TextColor=item.TextColor;if(item.ValueColor)this.DialogTooltip.ValueColor=item.ValueColor;}if(style.FloatTooltip){var item=style.FloatTooltip;if(item.BGColor)this.FloatTooltip.BGColor=item.BGColor;if(item.BorderColor)this.FloatTooltip.BorderColor=item.BorderColor;if(item.DateTimeColor)this.FloatTooltip.DateTimeColor=item.DateTimeColor;if(item.VolColor)this.FloatTooltip.VolColor=item.VolColor;if(item.AmountColor)this.FloatTooltip.AmountColor=item.AmountColor;if(item.TurnoverRateColor)this.FloatTooltip.TurnoverRateColor=item.TurnoverRateColor;if(item.PositionColor)this.FloatTooltip.PositionColor=item.PositionColor;if(item.TextColor)this.FloatTooltip.TextColor=item.TextColor;if(item.ValueColor)this.FloatTooltip.ValueColor=item.ValueColor;}if(style.DialogSelectRect){var item=style.DialogSelectRect;if(item.BGColor)this.DialogSelectRect.BGColor=item.BGColor;if(item.BorderColor)this.DialogSelectRect.BorderColor=item.BorderColor;if(item.TitleColor)this.DialogSelectRect.TitleColor=item.TitleColor;if(item.TextColor)this.DialogSelectRect.TextColor=item.TextColor;if(item.ValueColor)this.DialogSelectRect.ValueColor=item.ValueColor;if(item.VolColor)this.DialogSelectRect.VolColor=item.VolColor;if(item.AmountColor)this.DialogSelectRect.AmountColor=item.AmountColor;if(item.TurnoverRateColor)this.DialogSelectRect.TurnoverRateColor=item.TurnoverRateColor;if(item.PositionColor)this.DialogSelectRect.PositionColor=item.PositionColor;}if(style.DialogPopKeyboard){var item=style.DialogPopKeyboard;if(item.BGColor)this.DialogPopKeyboard.BGColor=item.BGColor;if(item.BorderColor)this.DialogPopKeyboard.BorderColor=item.BorderColor;if(item.TitleColor)this.DialogPopKeyboard.TitleColor=item.TitleColor;if(item.TitleBGColor)this.DialogTooltip.TitleBGColor=item.TitleBGColor;if(item.Input){var subItem=item.Input;if(subItem.BGColor)this.DialogPopKeyboard.Input.BGColor=subItem.BGColor;if(subItem.TextColor)this.DialogPopKeyboard.Input.TextColor=subItem.TextColor;}}if(style.MinuteInfo){var item=style.MinuteInfo;if(style.MinuteInfo.TextColor)this.MinuteInfo.TextColor=style.MinuteInfo.TextColor;if(style.MinuteInfo.Font)this.MinuteInfo.Font=style.MinuteInfo.Font;if(style.MinuteInfo.PointColor)this.MinuteInfo.PointColor=style.MinuteInfo.PointColor;if(style.MinuteInfo.LineColor)this.MinuteInfo.LineColor=style.MinuteInfo.LineColor;if(style.MinuteInfo.TextBGColor)this.MinuteInfo.TextBGColor=style.MinuteInfo.TextBGColor;if(IFrameSplitOperator.IsNumber(item.PointRadius))this.MinuteInfo.PointRadius=item.PointRadius;}if(style.Title){if(style.Title.TradeIndexColor)this.Title.TradeIndexColor=style.Title.TradeIndexColor;if(style.Title.ColorIndexColor)this.Title.ColorIndexColor=style.Title.ColorIndexColor;if(style.Title.VolColor)this.Title.VolColor=style.Title.VolColor;if(style.Title.AmountColor)this.Title.AmountColor=style.Title.AmountColor;if(style.Title.DateTimeColor)this.Title.DateTimeColor=style.Title.DateTimeColor;if(style.Title.NameColor)this.Title.NameColor=style.Title.NameColor;if(style.Title.SettingColor)this.Title.SettingColor=style.Title.SettingColor;if(style.Title.TurnoverRateColor)this.Title.TurnoverRateColor=style.Title.TurnoverRateColor;if(style.Title.PositionColor)this.Title.PositionColor=style.Title.PositionColor;}if(style.ChartSimpleTable)this.SetChartSimpleTable(style.ChartSimpleTable);if(style.ChartSimplePie)this.SetChartSimplePie(style.ChartSimplePie);if(style.ChartSimpleDoughnut)this.SetChartSimpleDoughnut(style.ChartSimpleDoughnut);if(style.ChartSimpleRadar)this.SetChartSimpleRadar(style.ChartSimpleRadar);if(style.ChartBaseLineBar)this.SetChartBaseLineBar(style.ChartBaseLineBar);if(style.ChartPointDot)this.SetChartPointDot(style.ChartPointDot);if(style.DRAWICON){if(style.DRAWICON.Icon){var item=style.DRAWICON.Icon;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.Icon.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.Icon.MinSize=item.MinSize;if(item.Zoom)this.DRAWICON.Icon.Zoom=item.Zoom;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWICON.Icon.YOffset=item.YOffset;}if(style.DRAWICON.Text){var item=style.DRAWICON.Text;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.Text.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.Text.MinSize=item.MinSize;if(item.Zoom)this.DRAWICON.Text.Zoom=item.Zoom;if(item.FontName)this.DRAWICON.Text.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWICON.Text.YOffset=item.YOffset;}}if(style.DRAWTEXT){var item=style.DRAWTEXT;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.MinSize=item.MinSize;if(item.Zoom)this.DRAWTEXT.Zoom=item.Zoom;if(item.FontName)this.DRAWTEXT.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWTEXT.YOffset=item.YOffset;}if(style.DRAWTEXT_FIX){var item=style.DRAWTEXT_FIX;if(item.Font)this.DRAWTEXT_FIX.Font=item.Font;}if(style.DRAWNUMBER_FIX){var item=style.DRAWNUMBER_FIX;if(item.Font)this.DRAWNUMBER_FIX.Font=item.Font;}if(style.DRAWNUMBER){var item=style.DRAWNUMBER;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWNUMBER.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWNUMBER.MinSize=item.MinSize;if(item.Zoom)this.DRAWNUMBER.Zoom=item.Zoom;if(item.FontName)this.DRAWNUMBER.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWNUMBER.YOffset=item.YOffset;}if(style.DRAWABOVE){var item=style.DRAWABOVE;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWABOVE.YOffset=item.YOffset;}if(style.DOTLINE)this.DOTLINE=style.DOTLINE;if(style.DRAWSL)this.DOTLINE=style.DRAWSL;if(style.DragSubFrameBorder)this.DragSubFrameBorder=style.DragSubFrameBorder;if(style.DepthMapPaint){var item=style.DepthMapPaint;if(item.LineColor)this.DepthMapPaint.LineColor=item.LineColor;if(item.AreaColor)this.DepthMapPaint.AreaColor=item.AreaColor;if(item.TextColor)this.DepthMapPaint.TextColor=item.TextColor;if(item.TextBGColor)this.DepthMapPaint.TextBGColor=item.TextBGColor;}if(style.KLineYAxisBGPaint){var item=style.KLineYAxisBGPaint;if(item.Font)this.KLineYAxisBGPaint.Font=item.Font;if(item.LineColor)this.KLineYAxisBGPaint.LineColor=item.LineColor;if(item.DiffValutTextColor)this.KLineYAxisBGPaint.DiffValutTextColor=item.DiffValutTextColor;if(item.DiffValueBGColor)this.KLineYAxisBGPaint.DiffValueBGColor=item.DiffValueBGColor;}if(style.StockChip){var item=style.StockChip;if(item.InfoColor)this.StockChip.InfoColor=item.InfoColor;if(item.DayInfoColor)this.StockChip.DayInfoColor=item.DayInfoColor;if(item.Font)this.StockChip.Font=item.Font;if(item.DefaultButton)T_SetButtonStyle(item.DefaultButton,this.StockChip.DefaultButton);if(item.LongButton)T_SetButtonStyle(item.LongButton,this.StockChip.LongButton);if(item.RecentButton)T_SetButtonStyle(item.RecentButton,this.StockChip.RecentButton);if(item.CloseButton)T_SetButtonStyle(item.CloseButton,this.StockChip.CloseButton);if(item.PhoneCloseButton){var subItem=item.PhoneCloseButton;if(subItem.Family)this.StockChip.PhoneCloseButton.Family=subItem.Family;if(subItem.Text)this.StockChip.PhoneCloseButton.Text=subItem.Text;if(subItem.Color)this.StockChip.PhoneCloseButton.Color=subItem.Color;if(IFrameSplitOperator.IsNumber(subItem.Size))this.StockChip.PhoneCloseButton.Size=subItem.Size;if(IFrameSplitOperator.IsBool(subItem.IsShow))this.StockChip.PhoneCloseButton.IsShow=subItem.IsShow;if(subItem.Border){if(subItem.Border.BGColor)this.StockChip.PhoneCloseButton.Border.BGColor=subItem.Border.BGColor;}}}if(style.DepthChart){var item=style.DepthChart;if(item.BidColor){if(item.BidColor.Line)this.DepthChart.BidColor.Line=item.BidColor.Line;if(item.BidColor.Area)this.DepthChart.BidColor.Area=item.BidColor.Area;}if(item.AskColor){if(item.AskColor.Line)this.DepthChart.AskColor.Line=item.AskColor.Line;if(item.AskColor.Area)this.DepthChart.AskColor.Area=item.AskColor.Area;}if(item.LineWidth)this.DepthChart.LineWidth=item.LineWidth;}if(style.DepthCorss){var item=style.DepthCorss;if(item.BidColor){if(item.BidColor.Line)this.DepthCorss.BidColor.Line=item.BidColor.Line;}if(item.AskColor){if(item.AskColor.Line)this.DepthCorss.AskColor.Line=item.AskColor.Line;}if(item.LineWidth)this.DepthCorss.LineWidth=item.LineWidth;if(item.LineDash)this.DepthCorss.LineDash=item.LineDash;if(item.Tooltip){var tooltip=item.Tooltip;if(tooltip.BGColor)this.DepthCorss.Tooltip.BGColor=tooltip.BGColor;if(tooltip.TextColor)this.DepthCorss.Tooltip.TextColor=tooltip.TextColor;if(tooltip.Font)this.DepthCorss.Tooltip.Font=tooltip.Font;if(tooltip.LineHeight)this.DepthCorss.Tooltip.LineHeight=tooltip.LineHeight;var border=tooltip.Border;if(IFrameSplitOperator.IsNumber(border.Top))this.DepthCorss.Tooltip.Border.Top=border.Top;if(IFrameSplitOperator.IsNumber(border.Bottom))this.DepthCorss.Tooltip.Border.Bottom=border.Bottom;if(IFrameSplitOperator.IsNumber(border.Left))this.DepthCorss.Tooltip.Border.Left=border.Left;if(IFrameSplitOperator.IsNumber(border.Right))this.DepthCorss.Tooltip.Border.Right=border.Right;if(IFrameSplitOperator.IsNumber(border.ItemSpace))this.DepthCorss.Tooltip.Border.ItemSpace=border.ItemSpace;}}if(style.CIRCLEDOT){var item=style.CIRCLEDOT;if(IFrameSplitOperator.IsNumber(item.Radius))this.CIRCLEDOT.Radius=item.Radius;}if(style.POINTDOT){var item=style.POINTDOT;if(IFrameSplitOperator.IsNumber(item.Radius))this.POINTDOT.Radius=item.Radius;}if(style.RectSelect){var item=style.RectSelect;if(item.LineColor)this.RectSelect.LineColor=item.LineColor;if(item.LineWidth>0)this.RectSelect.LineWidth=item.LineWidth;if(item.LineDotted)this.RectSelect.LineDotted=item.LineDotted;if(item.AreaColor)this.RectSelect.AreaColor=item.AreaColor;if(item.SubAreaColor)this.RectSelect.SubAreaColor=item.SubAreaColor;if(item.RangeTextColor)this.RectSelect.RangeTextColor=item.RangeTextColor;if(item.RangeTextFont)this.RectSelect.RangeTextFont=item.RangeTextFont;if(item.RangeTextBGColor)this.RectSelect.RangeTextBGColor=item.RangeTextBGColor;if(item.RangeTextSubColor)this.RectSelect.RangeTextSubColor=item.RangeTextSubColor;if(item.RangeTextSubFont)this.RectSelect.RangeTextSubFont=item.RangeTextSubFont;if(item.RangeTextSubBGColor)this.RectSelect.RangeTextSubBGColor=item.RangeTextSubBGColor;if(item.Mark){var subItem=item.Mark;if(subItem.Family)this.RectSelect.Mark.Family=subItem.Family;if(subItem.Text)this.RectSelect.Mark.Text=subItem.Text;if(subItem.Color)this.RectSelect.Mark.Color=subItem.Color;if(IFrameSplitOperator.IsNumber(subItem.Size))this.RectSelect.Mark.Size=subItem.Size;if(subItem.Position){if(subItem.Position.Top)this.RectSelect.Mark.Position.Top=subItem.Position.Top;if(IFrameSplitOperator.IsNumber(subItem.Position.Index))this.RectSelect.Mark.Position.Index=subItem.Position.Index;}}}if(style.RectDrag){var item=style.RectDrag;var dest=this.RectDrag;if(item.LineColor)dest.LineColor=item.LineColor;if(IFrameSplitOperator.IsPlusNumber(item.LineWidth))dest.LineWidth=item.LineWidth;if(item.BGColor)dest.BGColor=item.BGColor;}if(style.OrderFlow){item=style.OrderFlow;if(item.UpColor)this.OrderFlow.UpColor=item.UpColor;if(item.DownColor)this.OrderFlow.DownColor=item.DownColor;if(item.UnchagneColor)this.OrderFlow.UnchagneColor=item.UnchagneColor;if(item.Text)this.OrderFlow.Text=item.Text;if(item.Line)this.OrderFlow.Line=item.Line;}if(style.OrderFlow_Style2){item=style.OrderFlow_Style2;if(item.UpColor)this.OrderFlow_Style2.UpColor=item.UpColor;if(item.DownColor)this.OrderFlow_Style2.DownColor=item.DownColor;if(item.UnchagneColor)this.OrderFlow_Style2.UnchagneColor=item.UnchagneColor;if(IFrameSplitOperator.IsNumber(item.BarWidth))this.OrderFlow_Style2.BarWidth=item.BarWidth;}if(style.ChartOX){var item=style.ChartOX;if(item.Family)this.ChartOX.Family=item.Family;if(item.Up)this.ChartOX.Up=item.Up;if(item.Down)this.ChartOX.Down=item.Down;if(item.SquareLineColor)this.ChartOX.SquareLineColor=item.SquareLineColor;}if(style.DealList){var item=style.DealList;if(item.BorderColor)this.DealList.BorderColor=item.BorderColor;if(item.UpTextColor)this.DealList.UpTextColor=item.UpTextColor;if(item.DownTextColor)this.DealList.DownTextColor=item.DownTextColor;if(item.UnchagneTextColor)this.DealList.UnchagneTextColor=item.UnchagneTextColor;if(item.CloseLineColor)this.DealList.CloseLineColor=item.CloseLineColor;if(item.Header){var header=item.Header;if(header.Color)this.DealList.Header.Color=header.Color;if(header.Mergin){var mergin=header.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.DealList.Header.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.DealList.Header.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Header.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Header.Mergin.Bottom=mergin.Bottom;}if(header.Font){var font=header.Font;if(font.Name)this.DealList.Header.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.DealList.Header.Font.Size=font.Size;}}if(item.Row){var row=item.Row;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Row.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Row.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)this.DealList.Row.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.DealList.Row.Font.Size=font.Size;}if(row.BarMergin){var mergin=row.BarMergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.DealList.Row.BarMergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Row.BarMergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.DealList.Row.BarMergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Row.BarMergin.Bottom=mergin.Bottom;}}if(item.FieldColor){var filed=item.FieldColor;if(filed.Vol)this.DealList.FieldColor.Vol=filed.Vol;if(filed.Time)this.DealList.FieldColor.Time=filed.Time;if(filed.Deal)this.DealList.FieldColor.Deal=filed.Deal;if(filed.Index)this.DealList.FieldColor.Index=filed.Index;if(filed.BarTitle)this.DealList.FieldColor.BarTitle=filed.BarTitle;if(filed.Text)this.DealList.FieldColor.Text=filed.Text;if(IFrameSplitOperator.IsNonEmptyArray(filed.Bar)){for(var i=0;i<filed.Bar.length;++i){this.DealList.FieldColor.Bar[i]=filed.Bar[i];}}}if(item.Selected){var subItem=item.Selected;if(subItem.BGColor)this.DealList.Selected.BGColor=subItem.BGColor;if(subItem.LineColor)this.DealList.Selected.LineColor=subItem.LineColor;if(IFrameSplitOperator.IsPlusNumber(subItem.LineWidth))this.DealList.Selected.LineWidth=subItem.LineWidth;}}if(style.Report)this.SetReportStyle(style.Report);if(style.TReport)this.SetTReportStyle(style.TReport);if(style.SelectedChart){var item=style.SelectedChart;if(IFrameSplitOperator.IsNumber(item.LineWidth))this.SelectedChart.LineWidth=item.LineWidth;if(IFrameSplitOperator.IsNumber(item.Radius))this.SelectedChart.Radius=item.Radius;if(IFrameSplitOperator.IsNumber(item.MinSpace))this.SelectedChart.MinSpace=item.MinSpace;if(item.LineColor)this.SelectedChart.LineColor=item.LineColor;if(item.BGColor)this.SelectedChart.BGColor=item.BGColor;}if(style.DragMovePaint){var item=style.DragMovePaint;if(item.TextColor)this.DragMovePaint.TextColor=item.TextColor;if(item.Font)this.DragMovePaint.Font=item.Font;}if(style.SessionBreaksPaint){var item=style.SessionBreaksPaint;if(IFrameSplitOperator.IsNonEmptyArray(item.BGColor))this.SessionBreaksPaint.BGColor=item.BGColor.slice();if(item.SplitLine){var subItem=item.SplitLine;if(subItem.Color)this.SessionBreaksPaint.SplitLine.Color=subItem.Color;if(IFrameSplitOperator.IsNumber(subItem.Width))this.SessionBreaksPaint.SplitLine.Width=subItem.Width;this.SessionBreaksPaint.SplitLine.Dash=subItem.Dash;}}if(IFrameSplitOperator.IsNumber(style.ToolbarButtonStyle))this.ToolbarButtonStyle=style.ToolbarButtonStyle;if(style.Buttons){var buttons=style.Buttons;T_SetButtonStyle(buttons.CloseOverlayIndex,this.Buttons.CloseOverlayIndex);T_SetButtonStyle(buttons.CloseWindow,this.Buttons.CloseWindow);T_SetButtonStyle(buttons.ChangeIndex,this.Buttons.ChangeIndex);T_SetButtonStyle(buttons.OverlayIndex,this.Buttons.OverlayIndex);T_SetButtonStyle(buttons.ModifyIndexParam,this.Buttons.ModifyIndexParam);T_SetButtonStyle(buttons.MaxMinWindow,this.Buttons.MaxMinWindow);T_SetButtonStyle(buttons.TitleWindow,this.Buttons.TitleWindow);T_SetButtonStyle(buttons.ExportData,this.Buttons.ExportData);T_SetButtonStyle(buttons.AddIndexWindow,this.Buttons.AddIndexWindow);T_SetButtonStyle(buttons.IndexHelp,this.Buttons.IndexHelp);if(buttons.Tooltip){var item=buttons.Tooltip;var src=this.Buttons.Tooltip;if(item.Font)src.Font=item.Font;if(item.Color)src.Color=item.Color;if(item.ColorBG)src.ColorBG=item.ColorBG;if(item.ColorBorder)src.ColorBorder=item.ColorBorder;if(item.BorderRadius)src.BorderRadius=item.BorderRadius;if(item.Margin){if(IFrameSplitOperator.IsNumber(item.Margin.Left))src.Margin.Left=item.Margin.Left;if(IFrameSplitOperator.IsNumber(item.Margin.Top))src.Margin.Top=item.Margin.Top;if(IFrameSplitOperator.IsNumber(item.Margin.Bottom))src.Margin.Bottom=item.Margin.Bottom;if(IFrameSplitOperator.IsNumber(item.Margin.Right))src.Margin.Right=item.Margin.Right;}}}if(style.ChartDrawVolProfile){var item=style.ChartDrawVolProfile;if(item.UpVolColor)this.ChartDrawVolProfile.UpVolColor=item.UpVolColor;if(item.DownVolColor)this.ChartDrawVolProfile.DownVolColor=item.DownVolColor;if(item.AreaUpColor)this.ChartDrawVolProfile.AreaUpColor=item.AreaUpColor;if(item.AreaDonwColor)this.ChartDrawVolProfile.AreaDonwColor=item.AreaDonwColor;if(item.BGColor)this.ChartDrawVolProfile.BGColor=item.BGColor;if(item.BorderColor)this.ChartDrawVolProfile.BorderColor=item.BorderColor;if(item.VolLineColor)this.ChartDrawVolProfile.VolLineColor=item.VolLineColor;if(item.Text){if(item.Text.Color)this.ChartDrawVolProfile.Text.Color=item.Text.Color;if(item.Text.Family)this.ChartDrawVolProfile.Text.Family=item.Text.Family;if(IFrameSplitOperator.IsNumber(item.Text.FontMaxSize))this.ChartDrawVolProfile.Text.FontMaxSize=item.Text.FontMaxSize;if(IFrameSplitOperator.IsNumber(item.Text.FontMinSize))this.ChartDrawVolProfile.Text.FontMinSize=item.Text.FontMinSize;}}if(style.DisableLogo===true){if(this.FrameLogo)this.FrameLogo.Text=null;}if(style.ScrollBar){var item=style.ScrollBar;if(item.BorderColor)this.ScrollBar.BorderColor=item.BorderColor;if(item.XSplitTextFont)this.ScrollBar.XSplitTextFont=item.XSplitTextFont;if(item.XSplitTextColor)this.ScrollBar.XSplitTextColor=item.XSplitTextColor;if(item.XSplitLineColor)this.ScrollBar.XSplitLineColor=item.XSplitLineColor;if(item.Slider){var subItem=item.Slider;if(subItem.DateFont)this.ScrollBar.Slider.DateFont=subItem.DateFont;if(subItem.DateColor)this.ScrollBar.Slider.DateColor=subItem.DateColor;if(subItem.BarColor)this.ScrollBar.Slider.BarColor=subItem.BarColor;if(subItem.BarAreaColor)this.ScrollBar.Slider.BarAreaColor=subItem.BarAreaColor;if(IFrameSplitOperator.IsNumber(subItem.BarWidth))this.ScrollBar.Slider.BarWidth=subItem.BarWidth;if(IFrameSplitOperator.IsNumber(subItem.BarPadding))this.ScrollBar.Slider.BarPadding=subItem.BarPadding;if(IFrameSplitOperator.IsNumber(subItem.MinCenterWidth))this.ScrollBar.Slider.MinCenterWidth=subItem.MinCenterWidth;}if(item.BGChart){var subItem=item.BGChart;if(subItem.Color)this.ScrollBar.BGChart.Color=subItem.Color;if(subItem.AreaColor)this.ScrollBar.BGChart.AreaColor=subItem.AreaColor;if(IFrameSplitOperator.IsPlusNumber(subItem.LineWidth))this.ScrollBar.BGChart.LineWidth=subItem.LineWidth;}}if(style.FrameButtomToolbar)this.SetFrameButtomToolbar(style.FrameButtomToolbar);if(style.Keyboard)this.SetKeyboardStyle(style.Keyboard);if(style.MinuteToolbar)this.SetMinuteToolbar(style.MinuteToolbar);if(style.KLineToolbar)this.SetKLineToolbar(style.KLineToolbar);if(style.IndexLock)this.SetIndexLock(style.IndexLock);if(style.ChartScatterPlotV2)this.SetChartScatterPlotV2(style.ChartScatterPlotV2);if(style.ChartDrawTVLongPosition)this.SetChartDrawTVLongPosition(style.ChartDrawTVLongPosition);if(style.KLineCountDownPaint)this.SetKLineCountDownPaint(style.KLineCountDownPaint);if(style.SmallFloatTooltipV2)this.SetSmallFloatTooltipV2(style.SmallFloatTooltipV2);if(style.StockInfo)this.SetStockInfo(style.StockInfo);if(style.StatusBar)this.SetStatusBar(style.StatusBar);if(style.ScrollText)this.SetScrollText(style.ScrollText);};this.SetScrollText=function(style){var dest=this.ScrollText;if(style.Font)dest.Font=style.Font;if(style.Color)dest.Color=style.Color;if(style.MouseOnColor)dest.MouseOnColor=style.MouseOnColor;if(style.Margin){var item=style.Margin;if(IFrameSplitOperator.IsNumber(item.Top))dest.Margin.Top=item.Top;if(IFrameSplitOperator.IsNumber(item.Bottom))dest.Margin.Bottom=item.Bottom;}if(IFrameSplitOperator.IsNumber(style.LeftMargin))dest.LeftMargin=style.LeftMargin;if(IFrameSplitOperator.IsNumber(style.RightMargin))dest.RightMargin=style.RightMargin;if(IFrameSplitOperator.IsNumber(style.Spacing))dest.Spacing=style.Spacing;if(IFrameSplitOperator.IsNumber(style.MoveStep))dest.MoveStep=style.MoveStep;if(style.Label){var item=style.Label;var subDest=dest.Label;if(item.Color)subDest.Color=item.Color;if(item.Font)subDest.Font=item.Font;if(item.Margin)CopyMarginConfig(subDest.Margin,item.Margin);}};this.SetStatusBar=function(style){var dest=this.StatusBar;if(style.Table){var item=style.Table;if(item.Font)dest.Table.Font=item.Font;if(item.TitleColor)dest.Table.TitleColor=item.TitleColor;if(IFrameSplitOperator.IsNonEmptyArray(item.AryTextColor))dest.Table.AryTextColor=item.AryTextColor.slice();CopyMarginConfig(dest.Table.Margin,item.Margin);if(item.CellMargin){var subItem=item.CellMargin;CopyMarginConfig(dest.Table.CellMargin,subItem);if(IFrameSplitOperator.IsNumber(subItem.YOffset))dest.Table.CellMargin.YOffset=subItem.YOffset;}if(item.Separator){var subItem=item.Separator;var subDest=dest.Table.Separator;if(IFrameSplitOperator.IsNumber(subItem.Left))subDest.Left=subItem.Left;if(IFrameSplitOperator.IsNumber(subItem.Right))subDest.Left=subItem.Right;if(subItem.Line){if(IFrameSplitOperator.IsNumber(subItem.Line.Width))subDest.Line.Width=subItem.Line.Width;if(IFrameSplitOperator.IsNumber(subItem.Line.Top))subDest.Line.Top=subItem.Line.Top;if(IFrameSplitOperator.IsNumber(subItem.Line.Bottom))subDest.Line.Bottom=subItem.Line.Bottom;if(subItem.Line.Color)subDest.Line.Color=subItem.Line.Color;}}}if(style.DateTime){var item=style.DateTime;if(item.Font)dest.DateTime.Font=item.Font;if(item.TitleColor)dest.DateTime.TitleColor=item.TitleColor;if(item.Format)dest.DateTime.Format=item.Format;if(item.MaxText)dest.DateTime.MaxText=item.MaxText;if(item.Margin){var subItem=item.Margin;CopyMarginConfig(dest.DateTime.Margin,subItem);if(IFrameSplitOperator.IsNumber(subItem.YOffset))dest.DateTime.Margin.YOffset=subItem.YOffset;}}if(style.UpTextColor)dest.UpTextColor=style.UpTextColor;if(style.DownTextColor)dest.DownTextColor=style.DownTextColor;if(style.UnchangeTextColor)dest.UnchangeTextColor=style.UnchangeTextColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;};this.SetStockInfo=function(style){var dest=this.StockInfo;if(style.BuySell){var item=style.BuySell;if(item.Font)dest.BuySell.Font=item.Font;if(item.TitleColor)dest.BuySell.TitleColor=item.TitleColor;if(item.VolColor)dest.BuySell.VolColor=item.VolColor;CopyMarginConfig(dest.BuySell.Margin,item.Margin);if(item.CellMargin){var subItem=item.CellMargin;CopyMarginConfig(dest.BuySell.CellMargin,subItem);if(IFrameSplitOperator.IsNumber(subItem.YOffset))dest.BuySell.CellMargin.YOffset=subItem.YOffset;}if(item.BottomLine){var subItem=item.BottomLine;if(subItem.Color)dest.BuySell.BottomLine.Color=subItem.Color;if(IFrameSplitOperator.IsBool(subItem.Enable))dest.BuySell.BottomLine.Enable=subItem.Enable;}if(item.TopLine){var subItem=item.TopLine;if(subItem.Color)dest.BuySell.TopLine.Color=subItem.Color;if(IFrameSplitOperator.IsBool(subItem.Enable))dest.BuySell.TopLine.Enable=subItem.Enable;}if(item.CenterLine){var subItem=item.CenterLine;if(subItem.BuyColor)dest.BuySell.CenterLine.BuyColor=subItem.BuyColor;if(subItem.SellColor)dest.BuySell.CenterLine.SellColor=subItem.SellColor;if(subItem.NoneColor)dest.BuySell.CenterLine.NoneColor=subItem.NoneColor;if(IFrameSplitOperator.IsNumber(subItem.Width))dest.BuySell.CenterLine.Width=subItem.Width;}}if(style.Table){var item=style.Table;if(item.Font)dest.Table.Font=item.Font;if(item.TitleColor)dest.Table.TitleColor=item.TitleColor;if(item.TextColor)dest.Table.TextColor=item.TextColor;CopyMarginConfig(dest.Table.Margin,item.Margin);if(item.CellMargin){var subItem=item.CellMargin;CopyMarginConfig(dest.Table.CellMargin,subItem);if(IFrameSplitOperator.IsNumber(subItem.YOffset))dest.Table.CellMargin.YOffset=subItem.YOffset;}}if(style.Header){var item=style.Header;if(item.Font)dest.Header.Font=item.Font;if(item.TextColor)dest.Header.TextColor=item.TextColor;if(item.Name){var subItem=item.Name;if(subItem.Font)dest.Header.Name.Font=subItem.Font;if(subItem.Color)dest.Header.Name.Color=subItem.Color;if(subItem.Margin){var margin=subItem.Margin;CopyMarginConfig(dest.Header.Name.Margin,margin);if(IFrameSplitOperator.IsNumber(margin.YOffset))dest.Header.Name.Margin.YOffset=margin.YOffset;}}if(item.Symbol){var subItem=item.Symbol;if(subItem.Font)dest.Header.Symbol.Font=subItem.Font;if(subItem.Color)dest.Header.Symbol.Color=subItem.Color;if(subItem.Margin){var margin=subItem.Margin;CopyMarginConfig(dest.Header.Symbol.Margin,margin);if(IFrameSplitOperator.IsNumber(margin.YOffset))dest.Header.Symbol.Margin.YOffset=margin.YOffset;}}if(IFrameSplitOperator.IsNonEmptyArray(item.AryCell)){for(var i=0;i<item.AryCell.length;++i){var subItem=item.AryCell[i];if(!dest.Header.AryCell[i])dest.Header.AryCell[i]={};var subDest=dest.Header.AryCell[i];if(subItem.Font)subDest.Font=subItem.Font;if(subItem.Margin){var margin=subItem.Margin;CopyMarginConfig(subDest.Margin,margin);if(IFrameSplitOperator.IsNumber(margin.YOffset))subDest.YOffset=margin.YOffset;}}}if(item.BottomLine){var subItem=item.BottomLine;if(subItem.Color)dest.Header.BottomLine.Color=subItem.Color;if(IFrameSplitOperator.IsBool(subItem.Enable))dest.Header.BottomLine.Enable=subItem.Enable;}}if(style.MouseOn){var item=style.MouseOn;if(item.BGColor)dest.MouseOn.BGColor=item.BGColor;}if(style.UpTextColor)dest.UpTextColor=style.UpTextColor;if(style.DownTextColor)dest.DownTextColor=style.DownTextColor;if(style.UnchangeTextColor)dest.UnchangeTextColor=style.UnchangeTextColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;};this.SetSmallFloatTooltipV2=function(style){var dest=this.SmallFloatTooltipV2;if(style.BGColor)dest.BGColor=style.BGColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.TextColor)dest.TextColor=style.TextColor;if(style.ValueColor)dest.ValueColor=style.ValueColor;};this.SetKLineCountDownPaint=function(style){var dest=this.KLineCountDownPaint;if(style.Font)dest.Font=style.Font;if(style.TextMargin){var item=style.TextMargin;CopyMarginConfig(dest.TextMargin,item);if(IFrameSplitOperator.IsNumber(item.YOffset))dest.TextMargin.YOffset=item.YOffset;}if(style.LabelMargin)CopyMarginConfig(dest.LabelMargin,style.LabelMargin);if(style.Line){var item=style.Line;if(IFrameSplitOperator.IsNumber(item.Width))dest.Line.Width=item.Width;if(IFrameSplitOperator.IsBool(item.IsShow))dest.Line.Width=item.Width;if(item.Dash)dest.Line.Dash=item.Dash;}if(style.Unchange){var item=style.Unchange;var subDest=dest.Unchange;if(item.BGColor)subDest.BGColor=item.BGColor;if(item.PriceColor)subDest.PriceColor=item.PriceColor;if(item.TimeColor)subDest.TimeColor=item.TimeColor;}if(style.Up){var item=style.Up;var subDest=dest.Up;if(item.BGColor)subDest.BGColor=item.BGColor;if(item.PriceColor)subDest.PriceColor=item.PriceColor;if(item.TimeColor)subDest.TimeColor=item.TimeColor;}if(style.Down){var item=style.Down;var subDest=dest.Down;if(item.BGColor)subDest.BGColor=item.BGColor;if(item.PriceColor)subDest.PriceColor=item.PriceColor;if(item.TimeColor)subDest.TimeColor=item.TimeColor;}};this.SetChartDrawTVLongPosition=function(style){if(style.TopArea){var item=style.TopArea;var dest=this.ChartDrawTVLongPosition.TopArea;if(item.AreaColor)dest.AreaColor=item.AreaColor;if(item.SelectedAreaColor)dest.SelectedAreaColor=item.SelectedAreaColor;if(item.TextBGColor)dest.TextBGColor=item.TextBGColor;if(item.TextColor)dest.BorderColor=item.TextColor;}if(style.BottomArea){var item=style.BottomArea;var dest=this.ChartDrawTVLongPosition.BottomArea;if(item.AreaColor)dest.AreaColor=item.AreaColor;if(item.SelectedAreaColor)dest.SelectedAreaColor=item.SelectedAreaColor;if(item.TextBGColor)dest.TextBGColor=item.TextBGColor;if(item.TextColor)dest.BorderColor=item.TextColor;}if(style.Label){var item=style.Label;var dest=this.ChartDrawTVLongPosition.Label;if(item.Font)dest.Font=item.Font;CopyMarginConfig(dest.Margin,item.Margin);}};this.SetKeyboardStyle=function(style){var item=style;var dest=this.Keyboard;if(item.BorderColor)dest.BorderColor=item.BorderColor;if(item.SelectedColor)dest.SelectedColor=item.SelectedColor;if(item.TextColor)dest.TextColor=item.TextColor;if(item.Item){var row=item.Item;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))dest.Item.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))dest.Item.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))dest.Item.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))dest.Item.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)dest.Item.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.Font.Size=font.Size;}if(row.BarMergin){var mergin=row.BarMergin;if(IFrameSplitOperator.IsNumber(mergin.Left))dest.Item.BarMergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))dest.Item.BarMergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))dest.Item.BarMergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))dest.Item.BarMergin.Bottom=mergin.Bottom;}if(row.NameFont){var font=row.NameFont;if(font.Name)dest.Item.NameFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.NameFont.Size=font.Size;}if(row.SymbolFont){var font=row.SymbolFont;if(font.Name)dest.Item.SymbolFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.SymbolFont.Size=font.Size;}}if(item.VScrollbar){var scroll=item.VScrollbar;if(IFrameSplitOperator.IsNumber(scroll.ScrollBarHeight))dest.VScrollbar.ScrollBarHeight=scroll.ScrollBarHeight;if(scroll.ButtonColor)dest.VScrollbar.ButtonColor=scroll.ButtonColor;if(scroll.BarColor)dest.VScrollbar.BarColor=scroll.BarColor;if(scroll.BorderColor)dest.VScrollbar.BorderColor=scroll.BorderColor;if(scroll.BGColor)dest.VScrollbar.BGColor=scroll.BGColor;if(scroll.BarWidth){var subItem=scroll.BarWidth;if(IFrameSplitOperator.IsNumber(subItem.Size))dest.VScrollbar.BarWidth.Size=subItem.Size;}}};this.SetReportStyle=function(style){var item=style;var dest=this.Report;if(item.BorderColor)this.Report.BorderColor=item.BorderColor;if(item.UpTextColor)this.Report.UpTextColor=item.UpTextColor;if(item.DownTextColor)this.Report.DownTextColor=item.DownTextColor;if(item.UnchagneTextColor)this.Report.UnchagneTextColor=item.UnchagneTextColor;if(item.BorderColor)this.Report.SelectedColor=item.SelectedColor;if(item.SelectedLine){var subItem=item.SelectedLine;var subDest=this.Report.SelectedLine;if(subItem.Color)subDest.Color=subItem.Color;if(IFrameSplitOperator.IsNumber(subItem.Width))subDest.Width=subItem.Width;}if(item.CloseLine){var closeLine=item.CloseLine;if(closeLine.CloseColor)this.Report.CloseLine.CloseColor=closeLine.CloseColor;if(closeLine.YCloseColor)this.Report.CloseLine.YCloseColor=closeLine.YCloseColor;if(closeLine.AreaColor)this.Report.CloseLine.AreaColor=closeLine.AreaColor;if(closeLine.UpColor)this.Report.CloseLine.UpColor=closeLine.UpColor;if(closeLine.UpAreaColor)this.Report.CloseLine.UpAreaColor=closeLine.UpAreaColor;if(closeLine.DownColor)this.Report.CloseLine.DownColor=closeLine.DownColor;if(closeLine.DownAreaColor)this.Report.CloseLine.DownAreaColor=closeLine.DownAreaColor;if(closeLine.UnchangeColor)this.Report.CloseLine.UnchangeColor=closeLine.UnchangeColor;if(closeLine.UnchangeAreaColor)this.Report.CloseLine.UnchangeAreaColor=closeLine.UnchangeAreaColor;}if(item.KLine){var kline=item.KLine;if(kline.UpColor)this.Report.KLine.UpColor=kline.UpColor;if(kline.DownColor)this.Report.KLine.DownColor=kline.DownColor;if(kline.UnchagneColor)this.Report.KLine.UnchagneColor=kline.UnchagneColor;if(IFrameSplitOperator.IsNumber(kline.DataWidth))this.Report.KLine.DataWidth=kline.DataWidth;if(IFrameSplitOperator.IsNumber(kline.DistanceWidth))this.Report.KLine.DistanceWidth=kline.DistanceWidth;}if(item.Header){var header=item.Header;if(header.Color)this.Report.Header.Color=header.Color;if(header.Mergin){var mergin=header.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.Header.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.Header.Mergin.Left=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.Header.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.Header.Mergin.Bottom=mergin.Bottom;}if(header.Font){var font=header.Font;if(font.Name)this.Report.Header.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Header.Font.Size=font.Size;}}if(item.SortIcon){var sort=item.SortIcon;if(IFrameSplitOperator.IsNonEmptyArray(sort.Color))this.Report.SortIcon.Color=sort.Color.slice();if(IFrameSplitOperator.IsNumber(sort.Size))this.Report.SortIcon.Size=sort.Size;if(sort.Family)this.Report.SortIcon.Family=sort.Family;if(IFrameSplitOperator.IsNonEmptyArray(sort.Arrow))this.Report.SortIcon.Arrow=sort.Arrow.slice();if(sort.Margin){var margin=sort.Margin;if(IFrameSplitOperator.IsNumber(margin.Left))this.Report.SortIcon.Margin.Left=margin.Left;if(IFrameSplitOperator.IsNumber(margin.Right))this.Report.SortIcon.Margin.Right=margin.Right;if(IFrameSplitOperator.IsNumber(margin.Top))this.Report.SortIcon.Margin.Top=margin.Top;if(IFrameSplitOperator.IsNumber(margin.Bottom))this.Report.SortIcon.Margin.Bottom=margin.Bottom;}}if(item.Item){var row=item.Item;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.Item.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.Item.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.Item.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.Item.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)this.Report.Item.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Item.Font.Size=font.Size;}if(row.BarMergin){var mergin=row.BarMergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.Item.BarMergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.Item.BarMergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.Item.BarMergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.Item.BarMergin.Bottom=mergin.Bottom;}if(row.NameFont){var font=row.NameFont;if(font.Name)this.Report.Item.NameFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Item.NameFont.Size=font.Size;}if(row.SymbolFont){var font=row.SymbolFont;if(font.Name)this.Report.Item.SymbolFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Item.SymbolFont.Size=font.Size;}}if(item.FixedItem){var row=item.FixedItem;if(row.Font){var font=row.Font;if(font.Name)this.Report.FixedItem.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.FixedItem.Font.Size=font.Size;}}if(item.LimitBorder){var limit=item.LimitBorder;if(limit.Color)this.Report.LimitBorder.Color=limit.Color;if(limit.Mergin){var mergin=limit.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.LimitBorder.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.LimitBorder.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.LimitBorder.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.LimitBorder.Mergin.Bottom=mergin.Bottom;}}if(item.LimitColor){var limit=item.LimitColor;if(limit.UpColor)this.Report.LimitColor.UpColor=limit.UpColor;if(limit.DownColor)this.Report.LimitColor.DownColor=limit.DownColor;if(limit.TextColor)this.Report.LimitColor.UpColor=limit.TextColor;}if(item.FieldColor){var filed=item.FieldColor;if(filed.Name)this.Report.FieldColor.Name=filed.Name;if(filed.Symbol)this.Report.FieldColor.Symbol=filed.Symbol;if(filed.Vol)this.Report.FieldColor.Vol=filed.Vol;if(filed.Amount)this.Report.FieldColor.Amount=filed.Amount;if(filed.Index)this.Report.FieldColor.Index=filed.Index;if(filed.BarTitle)this.Report.FieldColor.BarTitle=filed.BarTitle;if(filed.Text)this.Report.FieldColor.Text=filed.Text;if(IFrameSplitOperator.IsNonEmptyArray(filed.Bar)){for(var i=0;i<filed.Bar.length;++i){this.Report.FieldColor.Bar[i]=filed.Bar[i];}}}if(item.NameSymbolV2){var nameSymbol=item.NameSymbolV2;if(nameSymbol.Name){var subItem=nameSymbol.Name;if(IFrameSplitOperator.IsNumber(subItem.Size))this.Report.NameSymbolV2.Name.Size=subItem.Size;if(subItem.Name)this.Report.NameSymbolV2.Name.Name=subItem.Name;if(subItem.Color)this.Report.NameSymbolV2.Name.Color=subItem.Color;}if(nameSymbol.Symbol){var subItem=nameSymbol.Symbol;if(IFrameSplitOperator.IsNumber(subItem.Size))this.Report.NameSymbolV2.Symbol.Size=subItem.Size;if(subItem.Name)this.Report.NameSymbolV2.Symbol.Name=subItem.Name;if(subItem.Color)this.Report.NameSymbolV2.Symbol.Color=subItem.Color;}}if(item.Tab){var tab=item.Tab;if(tab.Font){var font=tab.Font;if(font.Name)this.Report.Tab.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Tab.Font.Size=font.Size;}if(IFrameSplitOperator.IsNumber(tab.ScrollBarWidth))this.Report.Tab.ScrollBarWidth=tab.ScrollBarWidth;if(tab.ButtonColor)this.Report.Tab.ButtonColor=tab.ButtonColor;if(tab.BarColor)this.Report.Tab.BarColor=tab.BarColor;if(tab.BorderColor)this.Report.Tab.BorderColor=tab.BorderColor;if(tab.TabTitleColor)this.Report.Tab.TabTitleColor=tab.TabTitleColor;if(tab.TabSelectedTitleColor)this.Report.Tab.TabSelectedTitleColor=tab.TabSelectedTitleColor;if(tab.TabSelectedBGColor)this.Report.Tab.TabSelectedBGColor=tab.TabSelectedBGColor;if(tab.TabMoveOnTitleColor)this.Report.Tab.TabMoveOnTitleColor=tab.TabMoveOnTitleColor;if(tab.TabBGColor)this.Report.Tab.TabBGColor=tab.TabBGColor;}if(item.PageInfo){var pageinfo=item.PageInfo;if(pageinfo.Font){var font=pageinfo.Font;if(font.Name)this.Report.PageInfo.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.PageInfo.Font.Size=font.Size;}if(pageinfo.TextColor)this.Report.PageInfo.TextColor=pageinfo.TextColor;if(pageinfo.BGColor)this.Report.PageInfo.BGColor=pageinfo.BGColor;if(pageinfo.Mergin){var mergin=pageinfo.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.PageInfo.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.PageInfo.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.PageInfo.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.PageInfo.Mergin.Bottom=mergin.Bottom;}}if(item.DragRow){var dragRow=item.DragRow;if(dragRow.Color)this.Report.DragRow.Color=dragRow.Color;if(dragRow.TextColor)this.Report.DragRow.TextColor=dragRow.TextColor;if(dragRow.MoveRowColor)this.Report.DragRow.MoveRowColor=dragRow.MoveRowColor;if(dragRow.SrcRowColor)this.Report.DragRow.SrcRowColor=dragRow.SrcRowColor;}if(item.VScrollbar){var subItem=item.VScrollbar;if(IFrameSplitOperator.IsNumber(subItem.ScrollBarHeight))dest.VScrollbar.ScrollBarHeight=subItem.ScrollBarHeight;if(subItem.ButtonColor)dest.VScrollbar.ButtonColor=subItem.ButtonColor;if(subItem.BarColor)dest.VScrollbar.BarColor=subItem.BarColor;if(subItem.BorderColor)dest.VScrollbar.BorderColor=subItem.BorderColor;if(subItem.BGColor)dest.VScrollbar.BGColor=subItem.BGColor;}if(item.CheckBox){var subItem=item.CheckBox;if(subItem.Family)dest.CheckBox.Family=subItem.Family;if(IFrameSplitOperator.IsNumber(subItem.Size))dest.CheckBox.Size=subItem.Size;if(subItem.Checked){var child=subItem.Checked;if(child.Color)dest.CheckBox.Checked.Color=child.Color;if(child.Symbol)dest.CheckBox.Checked.Symbol=child.Symbol;if(child.DisableColor)dest.CheckBox.Checked.DisableColor=child.DisableColor;}if(subItem.Unchecked){var child=subItem.Unchecked;if(child.Color)dest.CheckBox.Unchecked.Color=child.Color;if(child.Symbol)dest.CheckBox.Unchecked.Symbol=child.Symbol;if(child.DisableColor)dest.CheckBox.Unchecked.DisableColor=child.DisableColor;}CopyMarginConfig(dest.CheckBox.Margin,subItem.Margin);}if(item.Link){var subItem=item.Link;if(subItem.Font)dest.Link.Font=subItem.Font;if(subItem.TextColor)dest.Link.TextColor=subItem.TextColor;if(subItem.Disable&&subItem.Disable.TextColor)dest.Link.Disable.TextColor=subItem.Disable.TextColor;if(subItem.MouseOn&&subItem.MouseOn.TextColor)dest.Link.MouseOn.TextColor=subItem.MouseOn.TextColor;}if(item.ProgressBar){var subItem=item.ProgressBar;if(subItem.BGColor)dest.ProgressBar.BGColor=subItem.BGColor;if(subItem.BarColor)dest.ProgressBar.BarColor=subItem.BarColor;if(subItem.TextColor)dest.ProgressBar.TextColor=subItem.TextColor;if(subItem.Font)dest.ProgressBar.Font=subItem.Font;if(subItem.Disable){if(subItem.Disable.BGColor)dest.ProgressBar.Disable.BGColor=subItem.Disable.BGColor;if(subItem.Disable.BarColor)dest.ProgressBar.Disable.BarColor=subItem.Disable.BarColor;if(subItem.Disable.TextColor)dest.ProgressBar.Disable.TextColor=subItem.Disable.TextColor;}CopyMarginConfig(dest.ProgressBar.Margin,subItem.Margin);CopyMarginConfig(dest.ProgressBar.BarMargin,subItem.BarMargin);CopyMarginConfig(dest.ProgressBar.TextMargin,subItem.TextMargin);}if(item.Buttom){var subItem=item.Buttom;if(subItem.BGColor)dest.Buttom.BGColor=subItem.BGColor;if(subItem.TextColor)dest.Buttom.TextColor=subItem.TextColor;if(subItem.BorderColor)dest.Buttom.BorderColor=subItem.BorderColor;if(subItem.Font)dest.Buttom.Font=subItem.Font;if(subItem.Disable){if(subItem.Disable.BGColor)dest.Buttom.Disable.BGColor=subItem.Disable.BGColor;if(subItem.Disable.TextColor)dest.Buttom.Disable.TextColor=subItem.Disable.TextColor;}if(subItem.MouseOn){if(subItem.MouseOn.BGColor)dest.Buttom.MouseOn.BGColor=subItem.MouseOn.BGColor;if(subItem.MouseOn.TextColor)dest.Buttom.MouseOn.TextColor=subItem.MouseOn.TextColor;}CopyMarginConfig(dest.Buttom.Margin,subItem.Margin);CopyMarginConfig(dest.Buttom.TextMargin,subItem.TextMargin);}};this.SetTReportStyle=function(style){var item=style;var dest=this.TReport;if(item.BorderColor)dest.BorderColor=item.BorderColor;if(item.UpTextColor)dest.UpTextColor=item.UpTextColor;if(item.DownTextColor)dest.DownTextColor=item.DownTextColor;if(item.UnchangeTextColor)dest.UnchangeTextColor=item.UnchangeTextColor;if(item.BorderColor)dest.SelectedColor=item.SelectedColor;if(item.UpBGColor)dest.UpBGColor=item.UpBGColor;if(item.DownBGColor)dest.DownBGColor=item.DownBGColor;if(item.Header){var header=item.Header;if(header.Color)dest.Header.Color=header.Color;if(header.SortColor)dest.Header.SortColor=header.SortColor;if(header.Mergin){var mergin=header.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))dest.Header.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))dest.Header.Mergin.Left=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))dest.Header.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))dest.Header.Mergin.Bottom=mergin.Bottom;}if(header.Font){var font=header.Font;if(font.Name)dest.Header.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Header.Font.Size=font.Size;}}if(item.CenterItem){var cell=item.CenterItem;if(cell.TextColor)dest.CenterItem.TextColor=cell.TextColor;if(cell.BaseTextColor)dest.CenterItem.BaseTextColor=cell.BaseTextColor;if(cell.BGColor)dest.CenterItem.BGColor=cell.BGColor;if(cell.MatchTextColor)dest.CenterItem.MatchTextColor=cell.MatchTextColor;}if(item.Item){var row=item.Item;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))dest.Item.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))dest.Item.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))dest.Item.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))dest.Item.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)dest.Item.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.Font.Size=font.Size;}if(row.NameFont){var font=row.NameFont;if(font.Name)dest.Item.NameFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.NameFont.Size=font.Size;}if(row.SymbolFont){var font=row.SymbolFont;if(font.Name)dest.Item.SymbolFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.SymbolFont.Size=font.Size;}}if(item.FieldColor){var filed=item.FieldColor;if(filed.Name)dest.FieldColor.Name=filed.Name;if(filed.Symbol)dest.FieldColor.Symbol=filed.Symbol;if(filed.Vol)dest.FieldColor.Vol=filed.Vol;if(filed.Amount)dest.FieldColor.Amount=filed.Amount;if(filed.Index)dest.FieldColor.Index=filed.Index;if(filed.Text)dest.FieldColor.Text=filed.Text;if(filed.Position)dest.FieldColor.Position=filed.Position;}if(item.MarkBorder){var subIem=item.MarkBorder;if(subIem.MaxPositionColor)dest.MarkBorder.MaxPositionColor=subIem.MaxPositionColor;}if(item.FixedItem){var subIem=item.FixedItem;if(subIem.Font){var font=subIem.Font;if(font.Name)dest.FixedItem.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.FixedItem.Font.Size=font.Size;}}};this.SetFrameButtomToolbar=function(style){var dest=this.FrameButtomToolbar;if(style.BGColor)dest.BGColor=style.BGColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.Button){var button=style.Button;if(button.BorderColor)dest.Button.BorderColor=button.BorderColor;if(button.Font){var item=button.Font;var destItem=this.FrameButtomToolbar.Button.Font;if(item.Family)destItem.Family=item.Family;if(IFrameSplitOperator.IsNumber(item.Size))destItem.Size=item.Size;}if(button.TitleColor){var item=button.TitleColor;var destItem=this.FrameButtomToolbar.Button.TitleColor;if(item.Selected)destItem.Selected=item.Selected;if(item.Default)destItem.Default=item.Default;if(item.MoveOn)destItem.MoveOn=item.MoveOn;}if(button.BGColor){var item=button.BGColor;var destItem=this.FrameButtomToolbar.Button.BGColor;if(item.Selected)destItem.Selected=item.Selected;if(item.Default)destItem.Default=item.Default;if(item.MoveOn)destItem.MoveOn=item.MoveOn;}if(button.Mergin){var item=button.Mergin;var destItem=this.FrameButtomToolbar.Button.Mergin;if(IFrameSplitOperator.IsNumber(item.Left))destItem.Left=item.Left;if(IFrameSplitOperator.IsNumber(item.Right))destItem.Left=item.Right;if(IFrameSplitOperator.IsNumber(item.Top))destItem.Top=item.Top;if(IFrameSplitOperator.IsNumber(item.Bottom))destItem.Bottom=item.Bottom;}if(button.SVG){var item=button.SVG;var destItem=this.FrameButtomToolbar.Button.SVG;if(IFrameSplitOperator.IsNumber(item.Size))destItem.Size=item.Size;if(IFrameSplitOperator.IsNumber(item.MerginLeft))destItem.MerginLeft=item.MerginLeft;if(item.Family)destItem.Family=item.Family;}}};this.SetMinuteToolbar=function(style){var dest=this.MinuteToolbar;if(IFrameSplitOperator.IsBool(style.ModifyIndex))dest.ModifyIndex=style.ModifyIndex;if(IFrameSplitOperator.IsBool(style.ChangeIndex))dest.ChangeIndex=style.ChangeIndex;if(IFrameSplitOperator.IsBool(style.CloseIndex))dest.CloseIndex=style.CloseIndex;if(IFrameSplitOperator.IsBool(style.OverlayIndex))dest.OverlayIndex=style.OverlayIndex;if(IFrameSplitOperator.IsBool(style.MaxMinWindow))dest.MaxMinWindow=style.MaxMinWindow;if(IFrameSplitOperator.IsBool(style.TitleWindow))dest.TitleWindow=style.TitleWindow;if(IFrameSplitOperator.IsBool(style.ExportData))dest.ExportData=style.ExportData;if(IFrameSplitOperator.IsBool(style.AddIndexWindow))dest.AddIndexWindow=style.AddIndexWindow;if(IFrameSplitOperator.IsBool(style.IndexHelp))dest.IndexHelp=style.IndexHelp;if(IFrameSplitOperator.IsBool(style.IsShowOverlayToolbar))dest.IsShowOverlayToolbar=style.IsShowOverlayToolbar;if(IFrameSplitOperator.IsBool(style.IsShowOverlayFrame))dest.IsShowOverlayFrame=style.IsShowOverlayFrame;};this.SetKLineToolbar=function(style){var dest=this.KLineToolbar;if(IFrameSplitOperator.IsBool(style.ModifyIndex))dest.ModifyIndex=style.ModifyIndex;if(IFrameSplitOperator.IsBool(style.ChangeIndex))dest.ChangeIndex=style.ChangeIndex;if(IFrameSplitOperator.IsBool(style.CloseIndex))dest.CloseIndex=style.CloseIndex;if(IFrameSplitOperator.IsBool(style.OverlayIndex))dest.OverlayIndex=style.OverlayIndex;if(IFrameSplitOperator.IsBool(style.MaxMinWindow))dest.MaxMinWindow=style.MaxMinWindow;if(IFrameSplitOperator.IsBool(style.TitleWindow))dest.TitleWindow=style.TitleWindow;if(IFrameSplitOperator.IsBool(style.ExportData))dest.ExportData=style.ExportData;if(IFrameSplitOperator.IsBool(style.AddIndexWindow))dest.AddIndexWindow=style.AddIndexWindow;if(IFrameSplitOperator.IsBool(style.IndexHelp))dest.IndexHelp=style.IndexHelp;};this.SetChartSimpleTable=function(style){var dest=this.ChartSimpleTable;if(style.TextColor)dest.TextColor=style.TextColor;if(style.BGColor)dest.BGColor=style.BGColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.TextFont){var item=style.TextFont;if(item.Name)dest.TextFont.Name=item.Name;if(IFrameSplitOperator.IsNumber(item.Size))dest.TextFont.Size=item.Size;}if(style.ItemMargin){var margin=style.ItemMargin;if(IFrameSplitOperator.IsNumber(margin.Left))dest.ItemMargin.Left=margin.Left;if(IFrameSplitOperator.IsNumber(margin.Right))dest.ItemMargin.Right=margin.Right;if(IFrameSplitOperator.IsNumber(margin.Top))dest.ItemMargin.Top=margin.Top;if(IFrameSplitOperator.IsNumber(margin.Bottom))dest.ItemMargin.Bottom=margin.Bottom;}};this.SetChartSimplePie=function(style){var dest=this.ChartSimplePie;if(style.TextFont){var item=style.TextFont;if(item.Name)dest.TextFont.Name=item.Name;if(IFrameSplitOperator.IsNumber(item.Size))dest.TextFont.Size=item.Size;}if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.Offset){var item=style.Offset;if(IFrameSplitOperator.IsNumber(item.X))dest.Offset.X=item.X;if(IFrameSplitOperator.IsNumber(item.Y))dest.Offset.Y=item.Y;}};this.SetChartSimpleDoughnut=function(style){var dest=this.ChartSimpleDoughnut;if(style.TextFont){var item=style.TextFont;if(item.Name)dest.TextFont.Name=item.Name;if(IFrameSplitOperator.IsNumber(item.Size))dest.TextFont.Size=item.Size;}if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.Offset){var item=style.Offset;if(IFrameSplitOperator.IsNumber(item.X))dest.Offset.X=item.X;if(IFrameSplitOperator.IsNumber(item.Y))dest.Offset.Y=item.Y;}};this.SetChartSimpleRadar=function(style){var dest=this.ChartSimpleRadar;if(style.TextFont){var item=style.TextFont;if(item.Name)dest.TextFont.Name=item.Name;if(IFrameSplitOperator.IsNumber(item.Size))dest.TextFont.Size=item.Size;}if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.TextColor)dest.TextColor=style.TextColor;if(style.Offset){var item=style.Offset;if(IFrameSplitOperator.IsNumber(item.X))dest.Offset.X=item.X;if(IFrameSplitOperator.IsNumber(item.Y))dest.Offset.Y=item.Y;}if(IFrameSplitOperator.IsNonEmptyArray(style.AryBGColor))dest.AryBGColor=style.AryBGColor.slice();if(IFrameSplitOperator.IsNonEmptyArray(style.AryArea))dest.AryArea=style.AryArea.slice();};this.SetChartBaseLineBar=function(style){var dest=this.ChartBaseLineBar;if(style.UpColor)dest.UpColor=style.UpColor;if(style.DownColor)dest.DownColor=style.DownColor;};this.SetChartPointDot=function(style){var dest=this.ChartPointDot;if(style.UpColor)dest.UpColor=style.UpColor;if(style.DownColor)dest.DownColor=style.DownColor;};this.SetIndexLock=function(style){var item=style;var dest=this.IndexLock;if(item.BGColor)dest.BGColor=item.BGColor;if(item.TextColor)dest.TextColor=item.TextColor;if(item.Font)dest.Font=item.Font;if(item.Title)dest.Title=item.Title;};this.SetChartScatterPlotV2=function(style){var item=style;var dest=this.ChartScatterPlotV2;if(item.Color)dest.Color=item.Color;if(item.TextColor)dest.TextColor=item.TextColor;if(item.Font)dest.Font=item.Font;if(IFrameSplitOperator.IsNumber(item.Radius))dest.Radius=item.Radius;};}var g_JSChartResource=new JSChartResource();/////////////////////////////////////////////////////////////////////////////////
|
|
7803
7827
|
//
|
|
7804
7828
|
//
|
|
7805
7829
|
//
|
|
@@ -7882,7 +7906,8 @@ preItem=item;}else{if(preItem){if(preItem.Direction==1){//if (preItem.High<kItem
|
|
|
7882
7906
|
//
|
|
7883
7907
|
//
|
|
7884
7908
|
function KLineChartContainer(uielement,OffscreenElement,cacheElement){var _self=this;this.newMethod=JSChartContainer;//派生
|
|
7885
|
-
this.newMethod(uielement,OffscreenElement,cacheElement);delete this.newMethod;this.ClassName='KLineChartContainer';this.WindowIndex=
|
|
7909
|
+
this.newMethod(uielement,OffscreenElement,cacheElement);delete this.newMethod;this.ClassName='KLineChartContainer';this.WindowIndex=[];this.IndexTemporaryAttribute=[];//指标临时属性,切换指标时会清除
|
|
7910
|
+
this.ColorIndex;//五彩K线
|
|
7886
7911
|
this.TradeIndex;//交易指标/专家系统
|
|
7887
7912
|
this.Symbol;this.Name;this.Period=0;//周期 0=日线 1=周线 2=月线 3=年线 4=1分钟 5=5分钟 6=15分钟 7=30分钟 8=60分钟 9=季线 10=分笔线 11=120分钟 12=240分钟
|
|
7888
7913
|
this.IsApiPeriod=false;//使用API计算周期
|
|
@@ -8522,8 +8547,10 @@ this.Draw();};this.SetFrameToolbar=function(windowIndex,window){if(!window||!thi
|
|
|
8522
8547
|
if(bChanged){frame.SizeChange=true;frame.DrawToolbar();}};this.SetFrameAttribute=function(windowIndex,attr){if(!window||!this.Frame.SubFrame[windowIndex]||!this.Frame.SubFrame[windowIndex].Frame)return;if(!attr)return;var frame=this.Frame.SubFrame[windowIndex].Frame;if(!IFrameSplitOperator.IsUndefined(attr.HorizontalReserved))frame.HorizontalReserved=attr.HorizontalReserved;//Y轴上下预留
|
|
8523
8548
|
if(IFrameSplitOperator.IsNumber(attr.TitleHeight))frame.ChartBorder.TitleHeight=attr.TitleHeight;//指标标题高度
|
|
8524
8549
|
};this.ResetFrameAttribute=function(windowIndex){if(!window||!this.Frame.SubFrame[windowIndex]||!this.Frame.SubFrame[windowIndex].Frame)return;var frame=this.Frame.SubFrame[windowIndex].Frame;frame.HorizontalReserved=null;};//切换成 脚本指标
|
|
8525
|
-
this.ChangeScriptIndex=function(windowIndex,indexData,option){this.DeleteIndexPaint(windowIndex,true);this.
|
|
8550
|
+
this.ChangeScriptIndex=function(windowIndex,indexData,option){this.DeleteIndexPaint(windowIndex,true);this.RestoreIndexTemporaryAttribute(windowIndex);//恢复临时属性
|
|
8551
|
+
this.WindowIndex[windowIndex]=new ScriptIndex(indexData.Name,indexData.Script,indexData.Args,indexData);//脚本执行
|
|
8526
8552
|
this.ResetFrameAttribute(windowIndex);this.Frame.ClearYCoordinateMaxMin(windowIndex);if(option){if(option.Window){this.SetFrameToolbar(windowIndex,option.Window);this.SetFrameAttribute(windowIndex,option.Window);//窗口属性
|
|
8553
|
+
}if(option.AryTemporaryAttribute){this.UpdateIndexTemporaryAttribute(windowIndex,option.AryTemporaryAttribute);//指标临时属性
|
|
8527
8554
|
}}this.OnChangeIndexEvent(windowIndex,{ID:indexData.ID,Name:indexData.Name,FunctionName:"ChangeScriptIndex"});this.Frame.ClearUpDonwFrameYData({Index:windowIndex});var bindData=this.ChartPaint[0].Data;this.BindIndexData(windowIndex,bindData);//执行脚本
|
|
8528
8555
|
this.UpdataDataoffset();//更新数据偏移
|
|
8529
8556
|
this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
@@ -8531,7 +8558,9 @@ this.Draw();};this.OnKLinePageChange=function(eventid){if(!this.ChartPaint[0])re
|
|
|
8531
8558
|
}//叠加指标
|
|
8532
8559
|
for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(overlayItem&&overlayItem.Script&&overlayItem.Script.IsUsePageData==true)this.BindOverlayIndexData(overlayItem,i,bindData);}}};//切换api指标
|
|
8533
8560
|
this.ChangeAPIIndex=function(windowIndex,indexData){this.DeleteIndexPaint(windowIndex,true);//使用API挂接指标数据 API:{ Name:指标名字, Script:指标脚本可以为空, Args:参数可以为空, Url:指标执行地址 }
|
|
8561
|
+
this.RestoreIndexTemporaryAttribute(windowIndex);//恢复临时属性
|
|
8534
8562
|
var apiItem=indexData.API;this.WindowIndex[windowIndex]=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,indexData);this.ResetFrameAttribute(windowIndex);this.Frame.ClearYCoordinateMaxMin(windowIndex);this.OnChangeIndexEvent(windowIndex,{ID:indexData.ID,Name:indexData.Name,FunctionName:"ChangeAPIIndex"});if(indexData){if(indexData.Window){this.SetFrameToolbar(windowIndex,indexData.Window);this.SetFrameAttribute(windowIndex,indexData.Window);//窗口属性
|
|
8563
|
+
}if(indexData.AryTemporaryAttribute){this.UpdateIndexTemporaryAttribute(windowIndex,indexData.AryTemporaryAttribute);//指标临时属性
|
|
8535
8564
|
}}this.Frame.ClearUpDonwFrameYData({Index:windowIndex});var bindData=this.ChartPaint[0].Data;this.BindIndexData(windowIndex,bindData);//执行脚本
|
|
8536
8565
|
this.UpdataDataoffset();//更新数据偏移
|
|
8537
8566
|
this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
@@ -8571,7 +8600,7 @@ if(IFrameSplitOperator.IsBool(item.IsShowToolbar))frame.IsShowToolbar=item.IsSho
|
|
|
8571
8600
|
overlayFrame.Script=apiIndex;}else if(indexInfo){JSIndexScript.ModifyAttribute(indexInfo,obj);var scriptIndex=new OverlayScriptIndex(indexInfo.Name,indexInfo.Script,indexInfo.Args,indexInfo);//脚本执行
|
|
8572
8601
|
scriptIndex.OverlayIndex={IsOverlay:true,Identify:overlayFrame.Identify,WindowIndex:windowIndex,Frame:overlayFrame};//叠加指标信息
|
|
8573
8602
|
overlayFrame.Script=scriptIndex;}else{var scriptIndex=indexCustom.Create();scriptIndex.OverlayIndex={IsOverlay:true,Identify:overlayFrame.Identify,WindowIndex:windowIndex,Frame:overlayFrame};//叠加指标信息
|
|
8574
|
-
scriptIndex.Create(this,windowIndex);overlayFrame.Script=scriptIndex;}var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_OVERLAY_FRAME);if(event&&event.Callback){var sendData={OverlayFrame:overlayFrame,WindowIndex:windowIndex,SubFrame:subFrame};event.Callback(event,sendData,this);}subFrame.OverlayIndex.push(overlayFrame);return overlayFrame;};this.DeleteOverlayWindowsIndex=function(identify)//删除叠加指标
|
|
8603
|
+
scriptIndex.Create(this,windowIndex);overlayFrame.Script=scriptIndex;}var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_OVERLAY_FRAME);if(event&&event.Callback){var sendData={OverlayFrame:overlayFrame,WindowIndex:windowIndex,SubFrame:subFrame};event.Callback(event,sendData,this);}subFrame.OverlayIndex.push(overlayFrame);overlayFrame.UpdateTemporaryAttribute(subFrame.Frame,obj.AryTemporaryAttribute);return overlayFrame;};this.DeleteOverlayWindowsIndex=function(identify)//删除叠加指标
|
|
8575
8604
|
{if(!this.DeleteOverlayIndex(identify,null))return;this.UpdateFrameMaxMin();//重新计算坐标范围
|
|
8576
8605
|
this.Frame.ResetXYSplit(true);this.Draw();};this.ChangeKLineDrawType=function(drawType,isDraw,option){if(this.KLineDrawType==drawType&&!option)return;var oldKLineType=this.KLineDrawType;this.KLineDrawType=drawType;var setKLineType=new _set2.default([5,7,8,10,11,12,17,21]);if(setKLineType.has(oldKLineType)||setKLineType.has(drawType)){var chart=this.ChartPaint[0];if(chart)chart.DrawType=this.KLineDrawType;this.CancelAutoUpdate();//先停止定时器
|
|
8577
8606
|
this.AutoUpdateEvent(false,'KLineChartContainer::ChangeKLineDrawType');if(ChartData.IsDayPeriod(this.Period,true)){this.ResetOverlaySymbolStatus();this.RequestHistoryData();//请求日线数据
|
|
@@ -8601,13 +8630,15 @@ var scriptData=new JSIndexScript();for(var i=currentLength;i<count;++i){var item
|
|
|
8601
8630
|
{var _this31=this;if(!option.Windows)return;var count=option.Windows.length;if(count<=0)return;this.Frame.RestoreIndexWindows();var currentLength=this.Frame.SubFrame.length;var period=null,right=null,symbol=null;if(option.Symbol)symbol=option.Symbol;if(option.KLine){if(IFrameSplitOperator.IsNumber(option.KLine.Period)&&option.KLine.Period!=this.Period)period=option.KLine.Period;//周期
|
|
8602
8631
|
if(IFrameSplitOperator.IsNumber(option.KLine.Right)&&option.KLine.Right!=this.Right)right=option.KLine.Right;//复权
|
|
8603
8632
|
}var bRefreshData=period!=null||right!=null||symbol!=null;//清空所有的指标图型
|
|
8604
|
-
for(var i=0;i<currentLength;++i){this.DeleteIndexPaint(i);var frame=this.Frame.SubFrame[i];
|
|
8633
|
+
for(var i=0;i<currentLength;++i){this.DeleteIndexPaint(i);var frame=this.Frame.SubFrame[i];this.RestoreIndexTemporaryAttribute(i);//恢复临时属性
|
|
8634
|
+
frame.YSpecificMaxMin=null;frame.YSplitScale=null;}if(currentLength>count){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);for(var i=currentLength-1;i>=count;--i){this.Frame.SubFrame[i].Frame.ClearToolbar();if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[i],WindowIndex:i};event.Callback(event,sendData,this);}}this.Frame.SubFrame.splice(count,currentLength-count);this.WindowIndex.splice(count,currentLength-count);this.TitlePaint.splice(count+1,currentLength-count);}else{for(var i=currentLength;i<count;++i)//创建新的指标窗口
|
|
8605
8635
|
{var subFrame=this.CreateSubFrameItem(i);this.Frame.SubFrame[i]=subFrame;var titlePaint=new DynamicChartTitlePainting();titlePaint.Frame=this.Frame.SubFrame[i].Frame;titlePaint.Canvas=this.Canvas;titlePaint.LanguageID=this.LanguageID;titlePaint.GetEventCallback=function(id){return _this31.GetEventCallback(id);};titlePaint.SelectedChart=this.SelectedChart;titlePaint.HQChart=this;this.TitlePaint[i+1]=titlePaint;}}for(var i=0;i<count;++i){var windowIndex=i;var item=option.Windows[i];var frameItem=null;if(option.Frame&&option.Frame.length>i)frameItem=option.Frame[i];var titleIndex=windowIndex+1;this.TitlePaint[titleIndex].Data=[];this.TitlePaint[titleIndex].Title=null;var frame=this.Frame.SubFrame[i];this.DeleteWindowsOverlayIndex(i);//清空叠加指标
|
|
8606
8636
|
if(item.Script)//自定义指标脚本
|
|
8607
8637
|
{this.WindowIndex[i]=new ScriptIndex(item.Name,item.Script,item.Args,item);//脚本执行
|
|
8608
8638
|
}else if(item.API)//后台指标
|
|
8609
8639
|
{var apiItem=item.API;this.WindowIndex[windowIndex]=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,item);}else{var indexID=item.Index;var indexItem=JSIndexMap.Get(indexID);if(indexItem){this.WindowIndex[i]=indexItem.Create();this.CreateWindowIndex(windowIndex);}else{var systemScript=new JSIndexScript();var indexInfo=systemScript.Get(indexID);if(indexInfo){JSIndexScript.ModifyAttribute(indexInfo,item);this.WindowIndex[i]=new ScriptIndex(indexInfo.Name,indexInfo.Script,indexInfo.Args,indexInfo);//脚本执行
|
|
8610
|
-
}}}this.SetSubFrameAttribute(frame,item,frameItem);
|
|
8640
|
+
}}}this.SetSubFrameAttribute(frame,item,frameItem);this.UpdateIndexTemporaryAttribute(windowIndex,item.AryTemporaryAttribute);//指标临时属性
|
|
8641
|
+
}//最后一个显示X轴坐标
|
|
8611
8642
|
for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i].Frame;if(i==this.Frame.SubFrame.length-1)item.XSplitOperator.ShowText=true;else item.XSplitOperator.ShowText=false;}//叠加指标
|
|
8612
8643
|
var aryOverlayIndex=[];if(IFrameSplitOperator.IsNonEmptyArray(option.OverlayIndex)){for(var i=0;i<option.OverlayIndex.length;++i){var item=option.OverlayIndex[i];if(item.Index)item.IndexName=item.Index;if(item.Windows>=0)item.WindowIndex=item.Windows;var overlay=this.CreateOverlayWindowsIndex(item);if(!overlay)continue;aryOverlayIndex.push({WindowsIndex:item.WindowIndex,Overlay:overlay});}}this.Frame.SetSizeChage(true);if(!bRefreshData){var bindData=this.ChartPaint[0].Data;for(var i=0;i<count;++i)//请求指标
|
|
8613
8644
|
{this.BindIndexData(i,bindData);}for(var i=0;i<aryOverlayIndex.length;++i){var item=aryOverlayIndex[i];this.BindOverlayIndexData(item.Overlay,item.WindowsIndex,bindData);}this.UpdataDataoffset();//更新数据偏移
|
|
@@ -8889,7 +8920,7 @@ this.LockCorssCursor=function(option){if(option&&option.KItem)//指定日期时
|
|
|
8889
8920
|
{var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return false;var kItem={Date:option.KItem.Date,Time:option.KItem.Time,Index:-1};kData.FindDataIndexByDateTime([kItem]);if(kItem.Index<0)return false;var xItem=this.GlobalOption.LockCorssCursor.X;xItem.KLine={DataIndex:kItem.Index,Date:kItem.Date,Time:kItem.Time};xItem.Enable=true;}else{if(this.CursorIndex<0)return false;var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return false;var dataIndex=kData.DataOffset+parseInt(this.CursorIndex.toFixed(0));var kItem=kData.Data[dataIndex];if(!kItem)return false;var xItem=this.GlobalOption.LockCorssCursor.X;xItem.KLine={DataIndex:dataIndex,Date:kItem.Date,Time:kItem.Time};xItem.Enable=true;}if(option&&option.Draw)this.Draw();return true;};this.GetCorssCursorPosition=function(){var position={LastPoint:{X:this.LastPoint.X,Y:this.LastPoint.Y},CursorIndex:this.CursorIndex};if(!this.GlobalOption||!this.GlobalOption.LockCorssCursor)return position;var xItem=this.GlobalOption.LockCorssCursor.X;if(xItem.Enable&&xItem.KLine){var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return position;position.CursorIndex=xItem.KLine.DataIndex-kData.DataOffset;position.LastPoint.X=this.Frame.GetXFromIndex(position.CursorIndex,false);var border=this.Frame.ChartBorder.GetBorder();if(position.LastPoint.Y<border.Top||position.LastPoint.Y>border.Bottom)//超出图形框子, 调整为收盘价
|
|
8890
8921
|
{var kItem=kData.Data[xItem.KLine.DataIndex];var y=this.Frame.SubFrame[0].Frame.GetYFromData(kItem.Close);position.LastPoint.Y=y;}}return position;};this.GetDateTimeByPoint=function(x,y){var clientPos=this.PtInClient(x,y);if(clientPos<0)return null;if(!IFrameSplitOperator.IsNumber(x))return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return null;var frame=this.Frame.SubFrame[0].Frame;if(!frame)return null;var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return null;var index=parseInt(frame.GetXData(x));var dataIndex=index+kData.DataOffset;if(dataIndex<0||dataIndex>=kData.Data.length)return null;var kItem=kData.Data[dataIndex];if(!kItem)return null;var result={Date:kItem.Date,Time:kItem.Time,DataIndex:dataIndex,Index:index,ClientPos:clientPos};return result;};//修正十字光标位置有效的K线
|
|
8891
8922
|
this.FixCursorIndexValid=function(){var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return false;var dataIndex=this.CursorIndex+kData.DataOffset;if(dataIndex>=kData.Data.length){this.CursorIndex=kData.Data.length-kData.DataOffset-1;return true;}return false;};//option={ FrameID:, Enable: }
|
|
8892
|
-
this.EnableZoomYCoordinate=function(option){if(!option)return false;if(!IFrameSplitOperator.IsNumber(option.FrameID))return false;if(!IFrameSplitOperator.IsBool(option.Enable))return false;if(!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return false;if(option.FrameID<0||option.FrameID>this.Frame.SubFrame.length)return false;var item=this.Frame.SubFrame[option.FrameID];if(!item||!item.Frame||!item.Frame.YSplitOperator)return false;var frame=item.Frame;var splitOper=frame.YSplitOperator;if(option.Enable){var max=frame.HorizontalMax,min=frame.HorizontalMin;if(!IFrameSplitOperator.IsNumber(max)||!IFrameSplitOperator.IsNumber(min))return false;splitOper.FixedYMaxMin={Max:max,Min:min};splitOper.EnableZoomUpDown=true;frame.XYSplit=true;this.ChartDragSelectRect.EnableLButton=false;}else{splitOper.FixedYMaxMin=null;splitOper.EnableZoomUpDown=false;frame.XYSplit=true;}this.Draw();};}//API 返回数据 转化为array[]
|
|
8923
|
+
this.EnableZoomYCoordinate=function(option){if(!option)return false;if(!IFrameSplitOperator.IsNumber(option.FrameID))return false;if(!IFrameSplitOperator.IsBool(option.Enable))return false;if(!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return false;if(option.FrameID<0||option.FrameID>this.Frame.SubFrame.length)return false;var item=this.Frame.SubFrame[option.FrameID];if(!item||!item.Frame||!item.Frame.YSplitOperator)return false;var frame=item.Frame;var splitOper=frame.YSplitOperator;if(option.Enable){var max=frame.HorizontalMax,min=frame.HorizontalMin;if(!IFrameSplitOperator.IsNumber(max)||!IFrameSplitOperator.IsNumber(min))return false;splitOper.FixedYMaxMin={Max:max,Min:min};splitOper.EnableZoomUpDown=true;frame.XYSplit=true;this.ChartDragSelectRect.EnableLButton=false;}else{splitOper.FixedYMaxMin=null;splitOper.EnableZoomUpDown=false;frame.XYSplit=true;}this.Draw();};this.UpdateIndexTemporaryAttribute=function(windowIndex,aryAttribute){if(windowIndex<0)return;if(!IFrameSplitOperator.IsNonEmptyArray(aryAttribute))return;if(!this.Frame||!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return;var mainFrame=this.Frame.SubFrame[windowIndex].Frame;this.IndexTemporaryAttribute[windowIndex]=[];var aryTemporaryAttribute=this.IndexTemporaryAttribute[windowIndex];for(var i=0;i<aryAttribute.length;++i){var item=aryAttribute[i];if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.BOTTOMSPACE){var backup=mainFrame.ChartBorder.BottomSpace;mainFrame.ChartBorder.BottomSpace=item.Value;aryTemporaryAttribute.push({Name:item.Name,Value:item.Value,BackupValue:backup});}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.TOPSPACE){var backup=mainFrame.ChartBorder.TopSpace;mainFrame.ChartBorder.TopSpace=item.Value;aryTemporaryAttribute.push({Name:item.Name,Value:item.Value,BackupValue:backup});}}};this.RestoreIndexTemporaryAttribute=function(windowIndex){if(windowIndex<0)return;if(!this.Frame||!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return;var aryTemporaryAttribute=this.IndexTemporaryAttribute[windowIndex];if(!IFrameSplitOperator.IsNonEmptyArray(aryTemporaryAttribute))return;var mainFrame=this.Frame.SubFrame[windowIndex].Frame;for(var i=0;i<aryTemporaryAttribute.length;++i){var item=aryTemporaryAttribute[i];if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.BOTTOMSPACE){mainFrame.ChartBorder.BottomSpace=item.BackupValue;}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.TOPSPACE){mainFrame.ChartBorder.TopSpace=item.BackupValue;}}};}//API 返回数据 转化为array[]
|
|
8893
8924
|
KLineChartContainer.JsonDataToHistoryData=function(data){var aryDayData=[];if(!data.data)return aryDayData;var upperSymbol=null;if(data.symbol)upperSymbol=data.symbol.toUpperCase();var isFutures=false;//是否是期货
|
|
8894
8925
|
if(upperSymbol)isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);var list=data.data;var date=0,yclose=1,open=2,high=3,low=4,close=5,vol=6,amount=7,position=8;var fclose=9,yfclose=10;//结算价, 前结算价
|
|
8895
8926
|
var bfactor=11,afactor=12;//前, 后复权因子
|
|
@@ -12916,6 +12947,7 @@ this.LockTextColor=null;this.LockText=null;this.LockFont=null;this.LockCount=20;
|
|
|
12916
12947
|
this.TitleFont=g_JSChartResource.TitleFont;//标题字体
|
|
12917
12948
|
this.IsShortTitle=false;//是否显示指标参数
|
|
12918
12949
|
this.IsUsePageData=false;//是否使用了K线界面数据
|
|
12950
|
+
this.IsAuthorization=false;//是否需要权限认证
|
|
12919
12951
|
this.YAxis=null;//Y轴刻度设置 { FloatPrecision, StringFormat, EnableRemoveZero }
|
|
12920
12952
|
//调试信息
|
|
12921
12953
|
this.Debug;// { Callback:, Count: }
|
|
@@ -12923,7 +12955,7 @@ this.IsSync=false;//是否是同步计算 (无数据请求)
|
|
|
12923
12955
|
this.IsShow=true;//是否显示图形
|
|
12924
12956
|
this.RunCount=0;//已执行次数
|
|
12925
12957
|
this.MaxRunCount=-1;//最大执行次数 -1=无限
|
|
12926
|
-
if(option){if(option.FloatPrecision>=0)this.FloatPrecision=option.FloatPrecision;if(option.StringFormat>0)this.StringFormat=option.StringFormat;if(IFrameSplitOperator.IsBool(option.IsShowIndexTitle))this.IsShowIndexTitle=option.IsShowIndexTitle;if(option.ID)this.ID=option.ID;if(option.KLineType>=0||option.KLineType===-1)this.KLineType=option.KLineType;if(option.InstructionType)this.InstructionType=option.InstructionType;if(option.YSpecificMaxMin)this.YSpecificMaxMin=option.YSpecificMaxMin;if(option.YSplitScale)this.YSplitScale=option.YSplitScale;if(option.Condition)this.Condition=option.Condition;if(option.TitleFont)this.TitleFont=option.TitleFont;if(option.IsShortTitle)this.IsShortTitle=option.IsShortTitle;if(option.OutName)this.OutName=option.OutName;if(IFrameSplitOperator.IsNumber(option.YSplitType))this.YSplitType=option.YSplitType;if(IFrameSplitOperator.IsBool(option.IsSync))this.IsSync=option.IsSync;if(IFrameSplitOperator.IsNumber(option.MaxRunCount))this.MaxRunCount=option.MaxRunCount;if(option.Debug){if(IFrameSplitOperator.IsPlusNumber(option.Debug.Count)&&option.Debug.Callback){this.Debug={Count:option.Debug.Count,Callback:option.Debug.Callback};}}}if(option&&option.Lock){if(option.Lock.IsLocked==true)this.IsLocked=true;//指标上锁
|
|
12958
|
+
if(option){if(option.FloatPrecision>=0)this.FloatPrecision=option.FloatPrecision;if(option.StringFormat>0)this.StringFormat=option.StringFormat;if(IFrameSplitOperator.IsBool(option.IsShowIndexTitle))this.IsShowIndexTitle=option.IsShowIndexTitle;if(option.ID)this.ID=option.ID;if(option.KLineType>=0||option.KLineType===-1)this.KLineType=option.KLineType;if(option.InstructionType)this.InstructionType=option.InstructionType;if(option.YSpecificMaxMin)this.YSpecificMaxMin=option.YSpecificMaxMin;if(option.YSplitScale)this.YSplitScale=option.YSplitScale;if(option.Condition)this.Condition=option.Condition;if(option.TitleFont)this.TitleFont=option.TitleFont;if(option.IsShortTitle)this.IsShortTitle=option.IsShortTitle;if(option.OutName)this.OutName=option.OutName;if(IFrameSplitOperator.IsNumber(option.YSplitType))this.YSplitType=option.YSplitType;if(IFrameSplitOperator.IsBool(option.IsSync))this.IsSync=option.IsSync;if(IFrameSplitOperator.IsNumber(option.MaxRunCount))this.MaxRunCount=option.MaxRunCount;if(IFrameSplitOperator.IsBool(option.IsAuthorization))this.IsAuthorization=option.IsAuthorization;if(IFrameSplitOperator.IsBool(option.IsShow))this.IsShow=option.IsShow;if(option.Debug){if(IFrameSplitOperator.IsPlusNumber(option.Debug.Count)&&option.Debug.Callback){this.Debug={Count:option.Debug.Count,Callback:option.Debug.Callback};}}}if(option&&option.Lock){if(option.Lock.IsLocked==true)this.IsLocked=true;//指标上锁
|
|
12927
12959
|
if(option.Lock.Callback)this.LockCallback=option.Lock.Callback;//锁回调
|
|
12928
12960
|
if(option.Lock.ID)this.LockID=option.Lock.ID;//锁ID
|
|
12929
12961
|
if(option.Lock.BG)this.LockBG=option.Lock.BG;if(option.Lock.TextColor)this.LockTextColor=option.Lock.TextColor;if(option.Lock.Text)this.LockText=option.Lock.Text;if(option.Lock.Font)this.LockFont=option.Lock.Font;if(option.Lock.Count)this.LockCount=option.Lock.Count;if(option.Lock.MinWidth)this.LockMinWidth=option.Lock.MinWidth*GetDevicePixelRatio();if(IFrameSplitOperator.IsBool(option.Lock.IsFullFrame))this.IsLockFullFrame=option.Lock.IsFullFrame;}if(option&&option.YAxis){this.YAxis={};if(IFrameSplitOperator.IsNumber(option.YAxis.FloatPrecision))this.YAxis.FloatPrecision=option.YAxis.FloatPrecision;if(IFrameSplitOperator.IsNumber(option.YAxis.StringFormat))this.YAxis.StringFormat=option.YAxis.StringFormat;if(IFrameSplitOperator.IsBool(option.YAxis.EnableRemoveZero))this.YAxis.EnableRemoveZero=option.YAxis.EnableRemoveZero;if(IFrameSplitOperator.IsBool(option.YAxis.ExcludeValue))this.YAxis.ExcludeValue=option.YAxis.ExcludeValue;//不参数Y轴的计算
|
|
@@ -12943,9 +12975,11 @@ if(hqChart.ClassName==='MinuteChartContainer'||hqChart.ClassName==='MinuteChartH
|
|
|
12943
12975
|
else hqDataType=HQ_DATA_TYPE.MINUTE_ID;//分钟数据
|
|
12944
12976
|
}else if(hqChart.ClassName==='HistoryMinuteChartContainer'){hqDataType=HQ_DATA_TYPE.HISTORY_MINUTE_ID;//历史分钟
|
|
12945
12977
|
}var option={HQDataType:hqDataType,Symbol:hqChart.Symbol,Name:hqChart.Name,Data:hisData,SourceData:hqChart.SourceData,Callback:function Callback(arg1,arg2){_this59.RecvResultData(arg1,arg2);},CallbackParam:param,Async:true,MaxRequestDataCount:hqChart.MaxRequestDataCount,MaxRequestMinuteDayCount:hqChart.MaxRequestMinuteDayCount,Arguments:this.Arguments,Condition:this.Condition,IsBeforeData:hqChart.IsBeforeData,IsApiPeriod:hqChart.IsApiPeriod,DrawInfo:null,Self:this};if(this.Debug&&IFrameSplitOperator.IsPlusNumber(this.Debug.Count)&&this.Debug.Callback){--this.Debug.Count;option.Debug=1;option.DebugFilter=this.Debug.Callback;}if(hqChart)//当前屏K线信息
|
|
12946
|
-
{if(hqChart.ChartPaint[0]){var item=hqChart.ChartPaint[0];if(item&&item.DrawKRange)option.DrawInfo={Start:item.DrawKRange.Start,End:item.DrawKRange.End};}}if(hqDataType===HQ_DATA_TYPE.HISTORY_MINUTE_ID)option.TrateDate=hqChart.TradeDate;if(hqDataType===HQ_DATA_TYPE.MULTIDAY_MINUTE_ID)option.DayCount=hqChart.DayCount;if(hqChart.NetworkFilter)option.NetworkFilter=hqChart.NetworkFilter;if(this.Condition&&!this.IsMeetCondition(param,option)){this.ShowConditionError(param,this.Condition.Message);return;}++
|
|
12978
|
+
{if(hqChart.ChartPaint[0]){var item=hqChart.ChartPaint[0];if(item&&item.DrawKRange)option.DrawInfo={Start:item.DrawKRange.Start,End:item.DrawKRange.End};}}if(hqDataType===HQ_DATA_TYPE.HISTORY_MINUTE_ID)option.TrateDate=hqChart.TradeDate;if(hqDataType===HQ_DATA_TYPE.MULTIDAY_MINUTE_ID)option.DayCount=hqChart.DayCount;if(hqChart.NetworkFilter)option.NetworkFilter=hqChart.NetworkFilter;if(this.Condition&&!this.IsMeetCondition(param,option)){this.ShowConditionError(param,this.Condition.Message);return;}function _Temp_ExecuteScript(){++self.RunCount;var code=self.Script;var run=JSComplier.Execute(code,option,hqChart.ScriptErrorCallback);}if(this.IsAuthorization===true&&this.RunCount===0)//权限认证 执行一次
|
|
12979
|
+
{this.RequestAuthorization(hqChart,function(){_Temp_ExecuteScript();});}else{_Temp_ExecuteScript();}};//是否符合限制条件
|
|
12947
12980
|
this.IsMeetCondition=function(param,option){JSConsole.Complier.Log('[ScriptIndex::IsMeetCondition] ',this.Condition);if(this.Condition.Period)//周期是否满足
|
|
12948
|
-
{if(!this.IsMeetPeriodCondition(param,option))return false;if(!this.IsMeetIncludeCondition(param,option))return false;}return true;}
|
|
12981
|
+
{if(!this.IsMeetPeriodCondition(param,option))return false;if(!this.IsMeetIncludeCondition(param,option))return false;}return true;};this.RequestAuthorization=function(hqChart,callback){var _this60=this;var reqData={IndexName:this.Name,IndexID:this.ID,IsOverlayIndex:this.IsOverlayIndex===true};var obj={Name:'ScriptIndex::RequestAuthorization',//类名::
|
|
12982
|
+
Explain:'指标权限验证',Request:{Data:reqData},Self:this,HQChart:hqChart,PreventDefault:false};if(hqChart.NetworkFilter){hqChart.NetworkFilter(obj,function(data){_this60.OnRecvAuthorization(data);callback();});}else{JSConsole.JSComplier.Warn("[ScriptIndex::RequestData] NetworkFilter error.");}};this.OnRecvAuthorization=function(recv){if(recv&&recv.Lock)this.SetLock(recv.Lock);};//周期是否满足条件
|
|
12949
12983
|
this.IsMeetPeriodCondition=function(param,option){if(!this.Condition.Period)return true;for(var i in this.Condition.Period){var item=this.Condition.Period[i];switch(item){case CONDITION_PERIOD.MINUTE_ID:if(option.HQDataType==HQ_DATA_TYPE.MINUTE_ID)return true;break;case CONDITION_PERIOD.MULTIDAY_MINUTE_ID:if(option.HQDataType==HQ_DATA_TYPE.MULTIDAY_MINUTE_ID)return true;break;case CONDITION_PERIOD.KLINE_DAY_ID:case CONDITION_PERIOD.KLINE_WEEK_ID:case CONDITION_PERIOD.KLINE_MONTH_ID:case CONDITION_PERIOD.KLINE_YEAR_ID:case CONDITION_PERIOD.KLINE_TWOWEEK_ID:case CONDITION_PERIOD.KLINE_QUARTER_ID:case CONDITION_PERIOD.KLINE_MINUTE_ID:case CONDITION_PERIOD.KLINE_5_MINUTE_ID:case CONDITION_PERIOD.KLINE_15_MINUTE_ID:case CONDITION_PERIOD.KLINE_30_MINUTE_ID:case CONDITION_PERIOD.KLINE_60_MINUTE_ID:if(param.HQChart.Period==item)return true;break;}}return false;};this.IsMeetIncludeCondition=function(param,option){if(!this.Condition.Include||this.Condition.Include.length<=0)return true;var symbol=param.HQChart.Symbol;if(symbol)symbol=symbol.toUpperCase();for(var i in this.Condition.Include){var item=this.Condition.Include[i];if(symbol==item)return true;}return false;};//显示指标不符合条件
|
|
12950
12984
|
this.ShowConditionError=function(param,msg){var hqChart=param.HQChart;var windowIndex=param.WindowIndex;hqChart.DeleteIndexPaint(windowIndex);if(windowIndex==0)hqChart.ShowKLine(true);var message='指标不支持当前品种或周期';if(msg)message=msg;var line=new ChartLine();line.Canvas=hqChart.Canvas;line.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;line.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;line.NotSupportMessage=message;hqChart.ChartPaint.push(line);hqChart.UpdataDataoffset();//更新数据偏移
|
|
12951
12985
|
hqChart.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
@@ -13036,7 +13070,7 @@ chart.Bars=varItem.Draw.DrawData;chart.BuildCacheData();this.SetChartIndexName(c
|
|
|
13036
13070
|
chart.Texts=varItem.Draw.DrawData;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateMultiSVGIcon=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiSVGIconV2();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.GetKData();//绑定K线
|
|
13037
13071
|
chart.Family=varItem.Draw.DrawData.Family;chart.AryIcon=varItem.Draw.DrawData.Icon;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateChartDrawSVG=function(hqChart,windowIndex,varItem,i){var chart=new ChartDrawSVG();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.GetKData();if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.EnableTooltip))chart.EnableTooltip=varItem.Draw.DrawData.EnableTooltip;if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.IsDrawFirst))chart.IsDrawFirst=varItem.Draw.DrawData.IsDrawFirst;if(IFrameSplitOperator.IsBool(varItem.Draw.EnalbeDetailNoOverlap))chart.EnalbeDetailNoOverlap=varItem.Draw.EnalbeDetailNoOverlap;if(IFrameSplitOperator.IsBool(varItem.Draw.EnableClick))chart.EnableClick=varItem.Draw.EnableClick;if(varItem.Draw.BuildKeyCallback)chart.BuildKeyCallback=varItem.Draw.BuildKeyCallback;chart.Family=varItem.Draw.DrawData.Family;chart.TextFont=varItem.Draw.DrawData.TextFont;chart.Texts=varItem.Draw.DrawData.Data;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateMulitHtmlDom=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiHtmlDom();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
13038
13072
|
chart.Texts=varItem.Draw.DrawData;chart.DrawCallback=varItem.Draw.Callback;hqChart.ChartPaint.push(chart);};this.CreateStackedBar=function(hqChart,windowIndex,varItem,i){var chart=new ChartStackedBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data.Data=varItem.Draw.DrawData;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.BarColor))chart.BarColor=varItem.Draw.BarColor;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.BarName))chart.BarName=varItem.Draw.BarName;if(IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth))chart.LineWidth=varItem.Draw.LineWidth;if(IFrameSplitOperator.IsNumber(varItem.Draw.BarType))chart.BarType=varItem.Draw.BarType;hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);titleData.DataType="ChartStackedBar";hqChart.TitlePaint[titleIndex].Data[i]=titleData;};this.CreateKLineTable=function(hqChart,windowIndex,varItem,i){var chart=new ChartKLineTable();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data=hqChart.GetKData();//绑定K线
|
|
13039
|
-
chart.AryTableData=varItem.Draw.DrawData;if(IFrameSplitOperator.IsNumber(varItem.Draw.RowCount))chart.RowCount=varItem.Draw.RowCount;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName))chart.
|
|
13073
|
+
chart.AryTableData=varItem.Draw.DrawData;if(IFrameSplitOperator.IsNumber(varItem.Draw.RowCount))chart.RowCount=varItem.Draw.RowCount;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName))chart.AryLabel=varItem.Draw.RowName;var config=varItem.Draw.Config;chart.SetOption(config);chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);var bShowTitle=false;if(config&&IFrameSplitOperator.IsBool(config.IsShowTitle))bShowTitle=config.IsShowTitle;if(bShowTitle){var titleIndex=windowIndex+1;var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);titleData.DataType="ChartKLineTable";hqChart.TitlePaint[titleIndex].Data[i]=titleData;}};this.CreateScatterPlot=function(hqChart,windowIndex,varItem,i){var chart=new ChartScatterPlot();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data.Data=varItem.Draw.DrawData;chart.Color=varItem.Draw.Color;chart.Radius=varItem.Draw.Radius;hqChart.ChartPaint.push(chart);};this.CreateScatterPlotV2=function(hqChart,windowIndex,varItem,i){var chart=new ChartScatterPlotV2();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data=hqChart.GetKData();//绑定K线
|
|
13040
13074
|
chart.AryPoint=varItem.Draw.DrawData;var config=varItem.Draw.Config;if(config){if(config.Color)chart.Color=config.Color;if(IFrameSplitOperator.IsNumber(config.Radius))chart.Radius=config.Radius;if(config.TextColor)chart.TextColor=config.TextColor;if(config.Font)chart.Font=config.Font;}chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,i){var chart=new ChartBaseLineBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data=hqChart.GetKData();//绑定K线
|
|
13041
13075
|
chart.AryData=varItem.Draw.DrawData;chart.Style=1;//主图使用独立坐标模式
|
|
13042
13076
|
var config=varItem.Draw.Config;if(config){if(config.UpColor)chart.UpColor=config.UpColor;if(config.DownColor)chart.DownColor=config.DownColor;if(IFrameSplitOperator.IsNumber(config.DefaultMax))chart.DefaultMax=config.DefaultMax;if(IFrameSplitOperator.IsNumber(config.Style))chart.Style=config.Style;if(config.UpName)chart.UpName=config.UpName;if(config.DownName)chart.DownName=config.DownName;}chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var titleData=new DynamicTitleData(chart.Data,null,chart.Color);titleData.DataType="ChartBaseLineBar";titleData.Chart=chart;hqChart.TitlePaint[titleIndex].Data[i]=titleData;};this.CreateClipColorStick=function(hqChart,windowIndex,varItem,id){var chart=new ChartClipColorStick();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data.Data=varItem.Draw.DrawData;if(varItem.Option&&chart.SetOption)chart.SetOption(varItem.Option);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;if(varItem.IsShowTitle===false){}else{var clrTitle=this.GetDefaultColor(id);if(varItem.Option&&varItem.Option.TitleColor)clrTitle=this.GetColor(varItem.Option.TitleColor);hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(chart.Data,varItem.Name,clrTitle);}};this.CreateColorKLine=function(hqChart,windowIndex,varItem,i){var chart=new ChartColorKline();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
@@ -13171,7 +13205,7 @@ this.CreateIcon=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.O
|
|
|
13171
13205
|
this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateTipIcon=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartDrawSVG();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();chart.Family=varItem.Draw.Icon.Family;chart.TextFont=g_JSChartResource.TIPICON.TextFont;var svgSize=g_JSChartResource.TIPICON.Size;var svgColor=g_JSChartResource.TIPICON.Color;var svgYOffset=0;var svgVAlign=2;//上下对齐方式
|
|
13172
13206
|
if(IFrameSplitOperator.IsNumber(varItem.YOffset))svgYOffset=varItem.YOffset;if(varItem.Color)svgColor=this.GetColor(varItem.Color);if(varItem.DrawFontSize>0)svgSize=varItem.DrawFontSize;if(varItem.DrawVAlign>=0)svgVAlign=varItem.DrawVAlign;if(varItem.Draw&&IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.DrawData)&&varItem.Draw.Icon){var drawData=varItem.Draw.DrawData;var aryData=[];var isArrayTip=Array.isArray(varItem.Draw.Text);var singleTip=null;if(!isArrayTip&&varItem.Draw.Text)singleTip={Text:varItem.Draw.Text};for(var j=0;j<drawData.length;++j){var item=drawData[j];var kItem=chart.Data.Data[j];if(!IFrameSplitOperator.IsNumber(item))continue;var svgItem={Value:item,Date:kItem.Date,Time:kItem.Time,SVG:{Symbol:varItem.Draw.Icon.Symbol,Size:svgSize,Color:svgColor,YOffset:svgYOffset,VAlign:svgVAlign}};if(isArrayTip){var text=varItem.Draw.Text[j];if(text)svgItem.Tooltip={Text:text};}else{svgItem.Tooltip=singleTip;}aryData.push(svgItem);}chart.Texts=aryData;}chart.BuildCacheData();this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartBaseLineBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.HQChart=hqChart;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();//绑定K线
|
|
13173
13207
|
chart.AryData=varItem.Draw.DrawData;var config=varItem.Draw.Config;if(config){if(config.UpColor)chart.UpColor=config.UpColor;if(config.DownColor)chart.DownColor=config.DownColor;if(IFrameSplitOperator.IsNumber(config.DefaultMax))chart.DefaultMax=config.DefaultMax;if(IFrameSplitOperator.IsNumber(config.Style))chart.Style=config.Style;}chart.BuildCacheData();frame.ChartPaint.push(chart);};this.CreateKLineTable=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartKLineTable();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.HQChart=hqChart;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();//绑定K线
|
|
13174
|
-
chart.AryTableData=varItem.Draw.DrawData;if(IFrameSplitOperator.IsNumber(varItem.Draw.RowCount))chart.RowCount=varItem.Draw.RowCount;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName))chart.
|
|
13208
|
+
chart.AryTableData=varItem.Draw.DrawData;if(IFrameSplitOperator.IsNumber(varItem.Draw.RowCount))chart.RowCount=varItem.Draw.RowCount;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName))chart.AryLabel=varItem.Draw.RowName;var config=varItem.Draw.Config;chart.SetOption(config);chart.BuildCacheData();frame.ChartPaint.push(chart);var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);titleData.DataType="ChartKLineTable";titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;};//创建通道
|
|
13175
13209
|
this.CreateChannel=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartChannel();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Draw.AreaColor)chart.AreaColor=varItem.Draw.AreaColor;else if(varItem.Color)chart.AreaColor=this.GetColor(varItem.Color);else chart.AreaColor=this.GetDefaultColor(id);if(varItem.Draw.Border.Color)chart.LineColor=varItem.Draw.Border.Color;else chart.LineColor=null;if(varItem.Draw.Border.Dotted)chart.LineDotted=varItem.Draw.Border.Dotted;if(varItem.Draw.Border.Width>0)chart.LineWidth=varItem.Draw.Border.Width;//let titleIndex=windowIndex+1;
|
|
13176
13210
|
chart.Data.Data=varItem.Draw.DrawData;frame.ChartPaint.push(chart);};//
|
|
13177
13211
|
this.CreatePartLine=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartPartLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(IFrameSplitOperator.IsPlusNumber(width))chart.LineWidth=width;}if(IFrameSplitOperator.IsBool(varItem.IsDotLine))chart.IsDotLine=varItem.IsDotLine;if(IFrameSplitOperator.IsNonEmptyArray(varItem.LineDash))chart.LineDash=varItem.LineDash;chart.Data.Data=varItem.Draw.DrawData;this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateRectangle=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartRectangle();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Color=[varItem.Draw.DrawData.Color];chart.Rect=varItem.Draw.DrawData.Rect;if(varItem.Color)chart.BorderColor=this.GetColor(varItem.Color);frame.ChartPaint.push(chart);};this.CreateMultiLine=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
@@ -13195,7 +13229,7 @@ var hqDataType=HQ_DATA_TYPE.KLINE_ID;//默认K线
|
|
|
13195
13229
|
var dateRange=null;if(hqChart.ClassName==='MinuteChartContainer'||hqChart.ClassName==='MinuteChartHScreenContainer'){if(hqChart.DayCount>1)hqDataType=HQ_DATA_TYPE.MULTIDAY_MINUTE_ID;//多日分钟
|
|
13196
13230
|
else hqDataType=HQ_DATA_TYPE.MINUTE_ID;//分钟数据
|
|
13197
13231
|
dateRange=hisData.GetDateRange();}else if(hqChart.ClassName==='HistoryMinuteChartContainer'){hqDataType=HQ_DATA_TYPE.HISTORY_MINUTE_ID;//历史分钟
|
|
13198
|
-
}else{dateRange=hisData.GetDateRange();}var args=[];if(this.Arguments){for(var i in this.Arguments){var item=this.Arguments[i];args.push({name:item.Name,value:item.Value});}}var requestCount;if(hqChart.GetRequestDataCount)requestCount=hqChart.GetRequestDataCount();var self=this;var postData={indexname:this.ID,symbol:hqChart.Symbol,script:this.Script,args:args,period:hqChart.Period,right:hqChart.Right,hqdatatype:hqDataType};if(dateRange)postData.DateRange=dateRange;if(requestCount){postData.maxdatacount=requestCount.MaxRequestDataCount;postData.maxminutedaycount=requestCount.MaxRequestMinuteDayCount;}if(hqDataType==HQ_DATA_TYPE.MULTIDAY_MINUTE_ID||hqDataType==HQ_DATA_TYPE.MINUTE_ID)postData.daycount=hqChart.DayCount;this.HQDataType=hqDataType;++this.RunCount;if(hqChart.NetworkFilter){var obj={Name:'APIScriptIndex::ExecuteScript',//类名::
|
|
13232
|
+
}else{dateRange=hisData.GetDateRange();}var args=[];if(this.Arguments){for(var i in this.Arguments){var item=this.Arguments[i];args.push({name:item.Name,value:item.Value});}}var requestCount;if(hqChart.GetRequestDataCount)requestCount=hqChart.GetRequestDataCount();var self=this;var postData={indexname:this.ID,symbol:hqChart.Symbol,script:this.Script,args:args,period:hqChart.Period,right:hqChart.Right,hqdatatype:hqDataType,IsAuthorization:this.IsAuthorization,WindowID:windowIndex,IsOverlayIndex:this.IsOverlayIndex===true};if(dateRange)postData.DateRange=dateRange;if(requestCount){postData.maxdatacount=requestCount.MaxRequestDataCount;postData.maxminutedaycount=requestCount.MaxRequestMinuteDayCount;}if(hqDataType==HQ_DATA_TYPE.MULTIDAY_MINUTE_ID||hqDataType==HQ_DATA_TYPE.MINUTE_ID)postData.daycount=hqChart.DayCount;this.HQDataType=hqDataType;++this.RunCount;if(hqChart.NetworkFilter){var obj={Name:'APIScriptIndex::ExecuteScript',//类名::
|
|
13199
13233
|
Explain:'指标计算',Request:{Url:self.ApiUrl,Type:'POST',Data:postData},Self:this,HQChart:hqChart,PreventDefault:false};hqChart.NetworkFilter(obj,function(data){if(self.Version==2)self.RecvAPIData2(data,hqChart,windowIndex,hisData);else self.RecvAPIData(data,hqChart,windowIndex,hisData);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
13200
13234
|
}JSNetwork.HttpRequest({url:self.ApiUrl,data:postData,type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvAPIData(recvData,hqChart,windowIndex,hisData);},error:function error(request){self.RecvError(request);}});};//py 后台指标计算格式
|
|
13201
13235
|
this.RecvAPIData2=function(data,hqChart,windowIndex,hisData){JSConsole.Complier.Log('[APIScriptIndex::RecvAPIData2] recv data ',this.Name,data);//if (data.code!=0) return;
|
|
@@ -13211,7 +13245,7 @@ outItem.Type=6;break;case"LINEAREA":outItem.Type=9;//面积
|
|
|
13211
13245
|
break;case"NODRAW"://不画该线
|
|
13212
13246
|
outItem.IsShow=false;break;case"NONE_OUT_NAME"://不显示标题
|
|
13213
13247
|
outItem.NoneName=true;break;case"NOTEXT"://不显示标题
|
|
13214
|
-
outItem.IsShowTitle=false;break;}if(attr.indexOf('COLOR')==0){outItem.Color=attr;}else if(attr.indexOf('LINETHICK')==0){outItem.LineWidth=attr;}}localOutVar.push(outItem);}return localOutVar;};this.RecvAPIData=function(data,hqChart,windowIndex,hisData){JSConsole.Complier.Log('[APIScriptIndex::RecvAPIData] recv data ',this.Name,data);if(data.code!=0)return;if(hqChart.EnableVerifyRecvData){if(!data.stock||hqChart.Symbol!=data.stock.symbol){JSConsole.Chart.Warn('[APIScriptIndex::RecvAPIData] recv data symbol not match. HQChart['+hqChart.Symbol+']');return;}}if(data.error&&IFrameSplitOperator.IsString(data.error.message)){var param={HQChart:hqChart,WindowIndex:windowIndex,HistoryData:hisData,Self:this};this.ShowConditionError(param,data.error.message);return;}if(data.outdata&&data.outdata.name)this.Name=data.outdata.name;if(data.outdata.args)//外部修改参数
|
|
13248
|
+
outItem.IsShowTitle=false;break;}if(attr.indexOf('COLOR')==0){outItem.Color=attr;}else if(attr.indexOf('LINETHICK')==0){outItem.LineWidth=attr;}}localOutVar.push(outItem);}return localOutVar;};this.RecvAPIData=function(data,hqChart,windowIndex,hisData){JSConsole.Complier.Log('[APIScriptIndex::RecvAPIData] recv data ',this.Name,data);if(data.code!=0)return;if(hqChart.EnableVerifyRecvData){if(!data.stock||hqChart.Symbol!=data.stock.symbol){JSConsole.Chart.Warn('[APIScriptIndex::RecvAPIData] recv data symbol not match. HQChart['+hqChart.Symbol+']');return;}}if(data.error&&IFrameSplitOperator.IsString(data.error.message)){var param={HQChart:hqChart,WindowIndex:windowIndex,HistoryData:hisData,Self:this};this.ShowConditionError(param,data.error.message);return;}if(data.Lock)this.SetLock(data.Lock);if(data.outdata&&data.outdata.name)this.Name=data.outdata.name;if(data.outdata.args)//外部修改参数
|
|
13215
13249
|
{this.Arguments=[];for(var i in data.outdata.args){var item=data.outdata.args[i];this.Arguments.push({Name:item.name,Value:item.value});}}if(this.HQDataType==HQ_DATA_TYPE.KLINE_ID){this.OutVar=this.FittingData(data.outdata,hqChart);JSConsole.Complier.Log('[APIScriptIndex::RecvAPIData] conver to OutVar ',this.OutVar);}else{this.OutVar=this.FittingMinuteData(data.outdata,hqChart);//走势图数据
|
|
13216
13250
|
}this.BindData(hqChart,windowIndex,hisData);var frame=hqChart.Frame.SubFrame[windowIndex].Frame;if(this.IsOverlayIndex)frame=this.OverlayIndex.Frame.Frame;if(this.IsLocked==false)//不上锁
|
|
13217
13251
|
{frame.SetLock(null);}else//上锁
|
|
@@ -13637,7 +13671,7 @@ var height=this.DivElement.offsetHeight;var width=this.DivElement.offsetWidth;if
|
|
|
13637
13671
|
this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;JSConsole.Chart.Log('[JSDealChart::OnSize] devicePixelRatio='+window.devicePixelRatio+', height='+this.CanvasElement.height+', width='+this.CanvasElement.width);if(this.JSChartContainer&&this.JSChartContainer.OnSize){this.JSChartContainer.OnSize();}};this.SetOption=function(option){var chart=this.CreateJSDealChartContainer(option);if(!chart)return false;if(option.OnCreatedCallback)option.OnCreatedCallback(chart);this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
|
|
13638
13672
|
//注册事件
|
|
13639
13673
|
if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}if(option.EnableResize==true)this.CreateResizeListener();if(option.MinuteChartTooltip&&option.MinuteChartTooltip.Enable)chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);if(option.FloatTooltip&&option.FloatTooltip.Enable)chart.InitalFloatTooltip(option.FloatTooltip);//提示信息
|
|
13640
|
-
if(!option.Symbol){chart.Draw();}else{chart.ChangeSymbol(option.Symbol);}};this.CreateResizeListener=function(){var
|
|
13674
|
+
if(!option.Symbol){chart.Draw();}else{chart.ChangeSymbol(option.Symbol);}};this.CreateResizeListener=function(){var _this61=this;this.ResizeListener=new ResizeObserver(function(entries){_this61.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSDealChart::OnDivResize] entries=",entries);this.OnSize();};this.CreateJSDealChartContainer=function(option){var chart=new JSDealChartContainer(this.CanvasElement);chart.Create(option);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(IFrameSplitOperator.IsNumber(option.ShowOrder))chart.ChartPaint[0].ShowOrder=option.ShowOrder;this.SetChartBorder(chart,option);//是否自动更新
|
|
13641
13675
|
if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;if(IFrameSplitOperator.IsBool(option.EnableFilter))chart.EnableFilter=option.EnableFilter;var dealChart=chart.GetDealChart();if(dealChart){if(IFrameSplitOperator.IsNumber(option.SelectedStyle))dealChart.SelectedStyle=option.SelectedStyle;}//注册事件
|
|
13642
13676
|
if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};this.SetChartBorder=function(chart,option){if(!option.Border)return;var item=option.Border;if(IFrameSplitOperator.IsNumber(option.Border.Left))chart.Frame.ChartBorder.Left=option.Border.Left;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
13643
13677
|
chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};/////////////////////////////////////////////////////////////////////////////
|
|
@@ -13673,16 +13707,16 @@ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FILTER_DEAL_DATA);if(!event|
|
|
|
13673
13707
|
event.Callback(event,sendData,this);return sendData.Result;};this.EnableFilter=function(bEnable,option)//启动|关闭筛选
|
|
13674
13708
|
{this.EnableFilterData=bEnable;this.Data.Data=this.FilterData(this.SourceData.Data);this.Data.DataOffset=0;if(option){if(option.GotoLastPage==true)this.GotoLastPage();if(option.Redraw==true)this.Draw();}};this.CloneArray=function(aryData){var data=[];if(!IFrameSplitOperator.IsNonEmptyArray(aryData))return data;for(var i=0;i<aryData.length;++i){data.push(aryData[i]);}return data;};//创建
|
|
13675
13709
|
//windowCount 窗口个数
|
|
13676
|
-
this.Create=function(option){var
|
|
13710
|
+
this.Create=function(option){var _this62=this;this.UIElement.JSChartContainer=this;//创建等待提示
|
|
13677
13711
|
this.ChartSplashPaint=new ChartSplashPaint();this.ChartSplashPaint.Canvas=this.Canvas;this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);//创建框架
|
|
13678
13712
|
this.Frame=new JSDealFrame();this.Frame.ChartBorder=new ChartBorder();this.Frame.ChartBorder.UIElement=this.UIElement;this.Frame.ChartBorder.Top=30;this.Frame.ChartBorder.Left=5;this.Frame.ChartBorder.Bottom=20;this.Frame.Canvas=this.Canvas;this.ChartSplashPaint.Frame=this.Frame;//创建表格
|
|
13679
|
-
var chart=new ChartDealList();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return
|
|
13713
|
+
var chart=new ChartDealList();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this62.GetEventCallback(id);};this.ChartPaint[0]=chart;if(option){if(IFrameSplitOperator.IsBool(option.IsSingleTable))chart.IsSingleTable=option.IsSingleTable;//单表模式
|
|
13680
13714
|
if(IFrameSplitOperator.IsBool(option.IsShowHeader))chart.IsShowHeader=option.IsShowHeader;//是否显示表头
|
|
13681
13715
|
if(IFrameSplitOperator.IsBool(option.IsShowLastPage))this.IsShowLastPage=option.IsShowLastPage;//是否显示最后一页
|
|
13682
13716
|
if(IFrameSplitOperator.IsNumber(option.BorderLine))this.Frame.BorderLine=option.BorderLine;//边框
|
|
13683
|
-
}var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register wheel event.');}if(IFrameSplitOperator.IsBool(option.EnableSelected))chart.SelectedData.Enable=option.EnableSelected;}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){
|
|
13684
|
-
if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){
|
|
13685
|
-
this.UIElement.onmousedown=function(e){
|
|
13717
|
+
}var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register wheel event.');}if(IFrameSplitOperator.IsBool(option.EnableSelected))chart.SelectedData.Enable=option.EnableSelected;}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this62.OnKeyDown(e);},true);//键盘消息
|
|
13718
|
+
if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this62.OnWheel(e);},true);//上下滚动消息
|
|
13719
|
+
this.UIElement.onmousedown=function(e){_this62.UIOnMouseDown(e);};this.UIElement.ondblclick=function(e){_this62.UIOnDblClick(e);};this.UIElement.oncontextmenu=function(e){_this62.UIOnContextMenu(e);};this.UIElement.onmousemove=function(e){_this62.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this62.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this62.UIOnMouseleave(e);};};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
13686
13720
|
this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
|
|
13687
13721
|
if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
|
|
13688
13722
|
for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw();}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw();}};this.ChangeSymbol=function(symbol,option){this.Symbol=symbol;this.Data={DataOffset:0,Data:[]};//分笔数据
|
|
@@ -13876,12 +13910,12 @@ var _iteratorNormalCompletion23=true;var _didIteratorError23=false;var _iterator
|
|
|
13876
13910
|
//注册事件
|
|
13877
13911
|
if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}if(option.EnableResize==true)this.CreateResizeListener();if(option.EnablePopMenuV2===true)chart.InitalPopMenu();if(option.FloatTooltip&&option.FloatTooltip.Enable)chart.InitalFloatTooltip(option.FloatTooltip);//提示信息
|
|
13878
13912
|
if(option.MinuteChartTooltip&&option.MinuteChartTooltip.Enable)chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);if(option.KLineChartTooltip&&option.KLineChartTooltip.Enable)chart.InitalKLineChartTooltip(option.KLineChartTooltip);if(option.Symbol)chart.Symbol=option.Symbol;if(option.Name)chart.Name=option.Name;var requestOption={Callback:null};if(chart.Symbol)requestOption.Callback=function(){chart.RequestMemberListData();};if(option.LoadStockList===false){chart.ChartSplashPaint.IsEnableSplash=false;chart.Draw();}else{chart.RequestStockListData(requestOption);//下载码表
|
|
13879
|
-
}};this.CreateJSReportChartContainer=function(option){var
|
|
13913
|
+
}};this.CreateJSReportChartContainer=function(option){var _this63=this;var chart=new JSReportChartContainer(this.CanvasElement);chart.GetExtraCanvas=function(name){return _this63.GetExtraCanvas(name);};chart.Create(option);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(IFrameSplitOperator.IsNonEmptyArray(option.Tab))chart.SetTab(option.Tab);if(IFrameSplitOperator.IsNumber(option.TabSelected))chart.SetSelectedTab(option.TabSelected);if(IFrameSplitOperator.IsBool(option.EnableDragRow))chart.EnableDragRow=option.EnableDragRow;if(IFrameSplitOperator.IsNumber(option.DragRowType))chart.DragRowType=option.DragRowType;if(IFrameSplitOperator.IsBool(option.EnableDragHeader))chart.EnableDragHeader=option.EnableDragHeader;if(IFrameSplitOperator.IsNumber(option.WheelPageType))chart.WheelPageConfig.Type=option.WheelPageType;if(IFrameSplitOperator.IsBool(option.PageUpDownCycle))chart.PageUpDownCycle=option.PageUpDownCycle;if(IFrameSplitOperator.IsBool(option.EnablePageUpdate))chart.EnablePageUpdate=option.EnablePageUpdate;if(option.WheelPage){var item=option.WheelPage;if(IFrameSplitOperator.IsNumber(item.Type))chart.WheelPageConfig.Type=item.Type;if(IFrameSplitOperator.IsPlusNumber(item.RowStep))chart.WheelPageConfig.RowStep=item.RowStep;if(IFrameSplitOperator.IsBool(item.EnableCtrlTurn))chart.WheelPageConfig.EnableCtrlTurn=item.EnableCtrlTurn;}//数据下载提示信息
|
|
13880
13914
|
if(IFrameSplitOperator.IsObject(option.SplashTitle)){var item=option.SplashTitle;if(item)chart.SplashTitle.StockList=item.StockList;if(item)chart.SplashTitle.MemberList=item.MemberList;}if(option.VScrollbar)chart.SetVScrollbar(option.VScrollbar);if(option.SortInfo){var item=option.SortInfo;if(item.Search)chart.SortInfo.Field=chart.FindFiledIndex(item.Search);if(IFrameSplitOperator.IsNumber(item.Field))chart.SortInfo.Field=item.Field;if(IFrameSplitOperator.IsNumber(item.Sort))chart.SortInfo.Sort=item.Sort;}if(option.VirtualTable){var item=option.VirtualTable;if(IFrameSplitOperator.IsBool(item.Enable))chart.Data.Virtual.Enable=item.Enable;}var reportChart=chart.GetReportChart();if(reportChart){if(IFrameSplitOperator.IsNumber(option.TextOverflowStyle))reportChart.TextOverflowStyle=option.TextOverflowStyle;if(IFrameSplitOperator.IsNumber(option.MultiSelectModel))reportChart.MultiSelectModel=option.MultiSelectModel;if(IFrameSplitOperator.IsNumber(option.SelectedStyle))reportChart.SelectedStyle=option.SelectedStyle;if(option.BottomTab){var item=option.BottomTab;if(IFrameSplitOperator.IsBool(item.IsShow))reportChart.Tab.IsShow=item.IsShow;}}this.SetChartBorder(chart,option);//是否自动更新
|
|
13881
13915
|
if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;//数据筛选
|
|
13882
13916
|
if(option.DataFilter){var item=option.DataFilter;if(IFrameSplitOperator.IsBool(item.Enable))chart.DataFilterConfig.Enable=item.Enable;}//注册事件
|
|
13883
13917
|
if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};this.SetChartBorder=function(chart,option){if(!option.Border)return;var item=option.Border;if(IFrameSplitOperator.IsNumber(option.Border.Left))chart.Frame.ChartBorder.Left=option.Border.Left;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
13884
|
-
chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};this.CreateResizeListener=function(){var
|
|
13918
|
+
chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};this.CreateResizeListener=function(){var _this64=this;this.ResizeListener=new ResizeObserver(function(entries){_this64.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSReportChart::OnDivResize] entries=",entries);this.OnSize();};/////////////////////////////////////////////////////////////////////////////
|
|
13885
13919
|
//对外接口
|
|
13886
13920
|
//切换股票代码接口
|
|
13887
13921
|
this.ChangeSymbol=function(symbol,option){if(this.JSChartContainer)this.JSChartContainer.ChangeSymbol(symbol,option);};this.SetColumn=function(aryColumn,option){if(this.JSChartContainer)this.JSChartContainer.SetColumn(aryColumn,option);};this.SetSelectedRow=function(option){if(this.JSChartContainer)this.JSChartContainer.SetSelectedRow(option);};this.DeleteSymbol=function(arySymbol,option){if(this.JSChartContainer)this.JSChartContainer.DeleteSymbol(arySymbol,option);};this.AddSymbol=function(arySymbol,option){if(this.JSChartContainer)this.JSChartContainer.AddSymbol(arySymbol,option);};this.EnableDataFilter=function(bEnable,option)//启动|关闭筛选
|
|
@@ -13959,27 +13993,27 @@ this.ChartDestroy=function()//销毁
|
|
|
13959
13993
|
{this.IsDestroy=true;this.StopAutoUpdate();this.DestroyMinuteChartTooltip();this.DestroyKLineChartTooltip();this.DestroyFloatTooltip();this.DestroyPopMenu();};this.StopAutoDragScrollTimer=function(){JSConsole.Chart.Log("[JSReportChartContainer::StopAutoDragScrollTimer] stop ");this.EnablePageScroll=false;if(this.AutoDragScrollTimer!=null){clearTimeout(this.AutoDragScrollTimer);this.AutoDragScrollTimer=null;}};this.InitalPopMenu=function()//初始化弹出窗口
|
|
13960
13994
|
{if(this.JSPopMenu)return;this.JSPopMenu=new JSPopMenu();//内置菜单
|
|
13961
13995
|
this.JSPopMenu.Inital();};this.DestroyPopMenu=function(){if(!this.JSPopMenu)return;this.JSPopMenu.Destroy();this.JSPopMenu=null;};this.InitalMinuteChartTooltip=function(option){if(this.TooltipMinuteChart)return;this.TooltipMinuteChart=new JSTooltipMinuteChart();this.TooltipMinuteChart.Inital(this,option);this.TooltipMinuteChart.Create();};this.DestroyMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Destroy();this.TooltipMinuteChart=null;};this.InitalKLineChartTooltip=function(option){if(this.TooltipKLineChart)return;this.TooltipKLineChart=new JSTooltipKLineChart();this.TooltipKLineChart.Inital(this,option);this.TooltipKLineChart.Create();};this.DestroyKLineChartTooltip=function(){if(!this.TooltipKLineChart)return;this.TooltipKLineChart.Destroy();this.TooltipKLineChart=null;};this.InitalFloatTooltip=function(option){if(this.FloatTooltip)return;this.FloatTooltip=new JSFloatTooltip();this.FloatTooltip.Inital(this,option);this.FloatTooltip.Create();};this.HideFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Hide();};this.DestroyFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Destroy();this.FloatTooltip=null;};this.DrawFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;this.UpdateFloatTooltip(point,toolTip);};this.UpdateFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;var sendData={Tooltip:toolTip,Point:point,DataType:3};this.FloatTooltip.Update(sendData);};//data={ Symbol }
|
|
13962
|
-
this.ShowMinuteChartTooltip=function(x,y,data){if(!this.TooltipMinuteChart)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var offsetLeft=rtClient.left+rtScroll.Left;var offsetTop=rtClient.top+rtScroll.Top;data.Offset={Left:offsetLeft,Top:offsetTop};this.TooltipMinuteChart.Show(data,x,y);};this.HideMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Hide();};this.ShowKLineChartTooltip=function(x,y,data){if(!this.TooltipKLineChart)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var offsetLeft=rtClient.left+rtScroll.Left;var offsetTop=rtClient.top+rtScroll.Top;data.Offset={Left:offsetLeft,Top:offsetTop};this.TooltipKLineChart.Show(data,x,y);};this.HideKLineChartTooltip=function(){if(!this.TooltipKLineChart)return;this.TooltipKLineChart.Hide();};this.HideAllTooltip=function(){this.HideKLineChartTooltip();this.HideMinuteChartTooltip();this.HideFloatTooltip();};this.AutoScrollPage=function(step){var
|
|
13996
|
+
this.ShowMinuteChartTooltip=function(x,y,data){if(!this.TooltipMinuteChart)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var offsetLeft=rtClient.left+rtScroll.Left;var offsetTop=rtClient.top+rtScroll.Top;data.Offset={Left:offsetLeft,Top:offsetTop};this.TooltipMinuteChart.Show(data,x,y);};this.HideMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Hide();};this.ShowKLineChartTooltip=function(x,y,data){if(!this.TooltipKLineChart)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var offsetLeft=rtClient.left+rtScroll.Left;var offsetTop=rtClient.top+rtScroll.Top;data.Offset={Left:offsetLeft,Top:offsetTop};this.TooltipKLineChart.Show(data,x,y);};this.HideKLineChartTooltip=function(){if(!this.TooltipKLineChart)return;this.TooltipKLineChart.Hide();};this.HideAllTooltip=function(){this.HideKLineChartTooltip();this.HideMinuteChartTooltip();this.HideFloatTooltip();};this.AutoScrollPage=function(step){var _this65=this;this.AutoDragScrollTimer=setTimeout(function(){_this65.ChartOperator_Temp_ScrollPage(step);},300);};this.ChartOperator_Temp_ScrollPage=function(moveSetp){if(!this.EnablePageScroll)return;var reportChart=this.GetReportChart();if(!reportChart)return;if(moveSetp>0){var pageStatus=reportChart.GetCurrentPageStatus();if(pageStatus.IsEnd)return;this.MoveYOffset(moveSetp,false);++moveSetp;}else if(moveSetp<0){if(this.Data.YOffset<=0)return;this.MoveYOffset(moveSetp,false);--moveSetp;}else{return;}this.Draw();if(!this.EnablePageScroll)return;this.AutoScrollPage(moveSetp);return;};//清空画布
|
|
13963
13997
|
this.ClearCanvas=function(canvas){if(!canvas)return;if(!this.UIElement)return;canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);};//清空固定行数据
|
|
13964
13998
|
this.ClearFixedRowData=function(){this.FixedRowData.Data=[];this.FixedRowData.Symbol=[];};//设置固定行
|
|
13965
13999
|
this.SetFixedRowCount=function(value){var chart=this.GetReportChart();if(!chart)return;chart.FixedRowCount=value;};//创建
|
|
13966
|
-
this.Create=function(option){var
|
|
14000
|
+
this.Create=function(option){var _this66=this;this.UIElement.JSChartContainer=this;//创建等待提示
|
|
13967
14001
|
this.ChartSplashPaint=new ChartSplashPaint();this.ChartSplashPaint.Canvas=this.Canvas;this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);this.ChartSplashPaint.IsEnableSplash=true;//创建框架
|
|
13968
14002
|
this.Frame=new JSReportFrame();this.Frame.ChartBorder=new ChartBorder();this.Frame.ChartBorder.UIElement=this.UIElement;this.Frame.ChartBorder.Top=30;this.Frame.ChartBorder.Left=5;this.Frame.ChartBorder.Bottom=20;this.Frame.Canvas=this.Canvas;this.ChartSplashPaint.Frame=this.Frame;//创建表格
|
|
13969
|
-
var chart=new ChartReport();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return
|
|
14003
|
+
var chart=new ChartReport();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this66.GetEventCallback(id);};chart.GetStockDataCallback=function(symbol){return _this66.GetStockData(symbol);};chart.GetBlockDataCallback=function(symbol){return _this66.GetBlockData(symbol);};chart.GetFlashBGDataCallback=function(symbol,time){return _this66.GetFlashBGData(symbol,time);};chart.Data=this.Data;chart.GlobalOption=this.GlobalOption;chart.FixedRowData=this.FixedRowData;chart.SortInfo=this.SortInfo;chart.Tab=new ChartReportTab();chart.Tab.Frame=this.Frame;chart.Tab.Canvas=this.Canvas;chart.Tab.ChartBorder=this.Frame.ChartBorder;chart.Tab.Report=chart;chart.VScrollbar=new ChartVScrollbar();chart.VScrollbar.Frame=this.Frame;chart.VScrollbar.Canvas=this.Canvas;chart.VScrollbar.ChartBorder=this.Frame.ChartBorder;chart.VScrollbar.Report=chart;chart.VScrollbar.IsShowCallback=function(){if(_this66.DragYScroll)return true;return _this66.IsShowVScrollbar;};this.ChartPaint[0]=chart;//页脚
|
|
13970
14004
|
if(option&&option.PageInfo===true){var pageInfoChart=new ChartReportPageInfo();pageInfoChart.Frame=this.Frame;pageInfoChart.ChartBorder=this.Frame.ChartBorder;pageInfoChart.Canvas=this.Canvas;pageInfoChart.Report=chart;this.ChartPaint[1]=pageInfoChart;}if(option){if(IFrameSplitOperator.IsBool(option.IsShowHeader))chart.IsShowHeader=option.IsShowHeader;//是否显示表头
|
|
13971
14005
|
if(IFrameSplitOperator.IsNumber(option.FixedColumn))chart.FixedColumn=option.FixedColumn;//固定列
|
|
13972
14006
|
if(IFrameSplitOperator.IsNumber(option.BorderLine))this.Frame.BorderLine=option.BorderLine;//边框
|
|
13973
14007
|
if(IFrameSplitOperator.IsBool(option.TabShow))chart.Tab.IsShow=option.TabShow;if(IFrameSplitOperator.IsNumber(option.FixedRowCount))chart.FixedRowCount=option.FixedRowCount;//固定行
|
|
13974
|
-
if(IFrameSplitOperator.IsNumber(option.SelectedModel))chart.SelectedModel=option.SelectedModel;if(IFrameSplitOperator.IsNumber(option.HeaderRowCount))chart.HeaderRowCount=option.HeaderRowCount;if(IFrameSplitOperator.IsNonEmptyArray(option.FixedSymbol)){chart.FixedRowCount=0;this.FixedRowData.Type=1;this.FixedRowData.Symbol=[];var aryData=option.FixedSymbol;for(var i=0;i<aryData.length;++i){var item=aryData[i];this.FixedRowData.Symbol.push(item.Symbol);++chart.FixedRowCount;}}if(option.CellBorder){var item=option.CellBorder;if(IFrameSplitOperator.IsBool(item.IsShowVLine))chart.CellBorderConfig.IsShowVLine=item.IsShowVLine;if(IFrameSplitOperator.IsBool(item.IsShowHLine))chart.CellBorderConfig.IsShowHLine=item.IsShowHLine;if(IFrameSplitOperator.IsBool(item.IsFullLine))chart.CellBorderConfig.IsFullLine=item.IsFullLine;}}var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register wheel event.');}}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){
|
|
13975
|
-
if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){
|
|
13976
|
-
this.UIElement.ondblclick=function(e){
|
|
13977
|
-
this.UIElement.ontouchstart=function(e){
|
|
14008
|
+
if(IFrameSplitOperator.IsNumber(option.SelectedModel))chart.SelectedModel=option.SelectedModel;if(IFrameSplitOperator.IsNumber(option.HeaderRowCount))chart.HeaderRowCount=option.HeaderRowCount;if(IFrameSplitOperator.IsNonEmptyArray(option.FixedSymbol)){chart.FixedRowCount=0;this.FixedRowData.Type=1;this.FixedRowData.Symbol=[];var aryData=option.FixedSymbol;for(var i=0;i<aryData.length;++i){var item=aryData[i];this.FixedRowData.Symbol.push(item.Symbol);++chart.FixedRowCount;}}if(option.CellBorder){var item=option.CellBorder;if(IFrameSplitOperator.IsBool(item.IsShowVLine))chart.CellBorderConfig.IsShowVLine=item.IsShowVLine;if(IFrameSplitOperator.IsBool(item.IsShowHLine))chart.CellBorderConfig.IsShowHLine=item.IsShowHLine;if(IFrameSplitOperator.IsBool(item.IsFullLine))chart.CellBorderConfig.IsFullLine=item.IsFullLine;}}var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register wheel event.');}}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this66.OnKeyDown(e);},true);//键盘消息
|
|
14009
|
+
if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this66.OnWheel(e);},true);//上下滚动消息
|
|
14010
|
+
this.UIElement.ondblclick=function(e){_this66.UIOnDblClick(e);};this.UIElement.onmousedown=function(e){_this66.UIOnMouseDown(e);};this.UIElement.onmouseup=function(e){_this66.UIOnMounseUp(e);};this.UIElement.oncontextmenu=function(e){_this66.UIOnContextMenu(e);};this.UIElement.onmousemove=function(e){_this66.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this66.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this66.UIOnMouseleave(e);};//手机拖拽
|
|
14011
|
+
this.UIElement.ontouchstart=function(e){_this66.OnTouchStart(e);};this.UIElement.ontouchmove=function(e){_this66.OnTouchMove(e);};this.UIElement.ontouchend=function(e){_this66.OnTouchEnd(e);};};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
13978
14012
|
this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
|
|
13979
14013
|
this.LastMouseStatus.MouseOnStatus=null;if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
|
|
13980
|
-
for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw(this.LastMouseStatus);}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw(this.LastMouseStatus);}if(this.GlobalOption.FlashBGCount>0){this.DelayDraw(500);}};this.DelayDraw=function(frequency){var
|
|
13981
|
-
this.SetSymbolList=function(arySymbol,option){this.ClearData();this.ResetReportStatus();this.ResetSortStatus();if(IFrameSplitOperator.IsNonEmptyArray(arySymbol)){for(var i=0;i<arySymbol.length;++i){this.Data.Data.push(arySymbol[i]);}}var chart=this.ChartPaint[0];if(chart)chart.Data=this.Data;this.Draw();};this.ChangeSymbol=function(symbol,option){var
|
|
13982
|
-
{this.SetColumn(option.Column,{Draw:false});}if(IFrameSplitOperator.IsBool(option.IsReloadStockList)&&option.IsReloadStockList){var requestOption={Callback:null};if(this.Symbol)requestOption.Callback=function(){
|
|
14014
|
+
for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw(this.LastMouseStatus);}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw(this.LastMouseStatus);}if(this.GlobalOption.FlashBGCount>0){this.DelayDraw(500);}};this.DelayDraw=function(frequency){var _this67=this;if(typeof this.FlashBGTimer=='number'){clearTimeout(this.FlashBGTimer);this.FlashBGTimer=null;}this.FlashBGTimer=setTimeout(function(){_this67.Draw();},frequency);};this.ResetReportStatus=function(){this.Data.XOffset=0;this.Data.YOffset=0;};this.ResetReportSelectStatus=function(){var chart=this.GetReportChart();if(chart){chart.SelectedRow=-1;chart.SelectedFixedRow=-1;chart.MultiSelectedRow=[];}};this.ClearData=function(){this.SourceData.Data=[];this.Data.Data=[];this.Data.Virtual.Count=0;this.BlockData=new _map2.default();};this.ClearMapStockData=function(){this.MapStockData=new _map2.default();};this.ResetSortStatus=function(){this.SortInfo.Field=-1;this.SortInfo.Sort=0;};this.SetSelectedRow=function(option){var reportChart=this.GetReportChart();if(!reportChart)return false;if(!reportChart.SetSelectedRow(option))return false;this.Draw();};//设置股票列表
|
|
14015
|
+
this.SetSymbolList=function(arySymbol,option){this.ClearData();this.ResetReportStatus();this.ResetSortStatus();if(IFrameSplitOperator.IsNonEmptyArray(arySymbol)){for(var i=0;i<arySymbol.length;++i){this.Data.Data.push(arySymbol[i]);}}var chart=this.ChartPaint[0];if(chart)chart.Data=this.Data;this.Draw();};this.ChangeSymbol=function(symbol,option){var _this68=this;this.Symbol=symbol;this.ClearData();this.ResetReportStatus();this.ResetSortStatus();this.ResetReportSelectStatus();if(option){if(IFrameSplitOperator.IsNumber(option.TabSelected)){var chartTab=this.GetTabChart();if(chartTab)chartTab.SelectedTabIndex=option.TabSelected;}if(Array.isArray(option.FixedSymbol)){var chart=this.GetReportChart();if(chart){chart.FixedRowCount=0;this.FixedRowData.Type=1;this.FixedRowData.Symbol=[];var aryData=option.FixedSymbol;for(var i=0;i<aryData.length;++i){var item=aryData[i];this.FixedRowData.Symbol.push(item.Symbol);++chart.FixedRowCount;}this.SetSizeChange(true);}}if(option.SortInfo){var item=option.SortInfo;if(item.Search)this.SortInfo.Field=this.FindFiledIndex(item.Search);if(IFrameSplitOperator.IsNumber(item.Field))this.SortInfo.Field=item.Field;if(IFrameSplitOperator.IsNumber(item.Sort))this.SortInfo.Sort=item.Sort;}if(IFrameSplitOperator.IsNonEmptyArray(option.Column))//字段重新设置
|
|
14016
|
+
{this.SetColumn(option.Column,{Draw:false});}if(IFrameSplitOperator.IsBool(option.IsReloadStockList)&&option.IsReloadStockList){var requestOption={Callback:null};if(this.Symbol)requestOption.Callback=function(){_this68.RequestMemberListData();};this.MapStockData=new _map2.default();this.RequestStatus.IsFinishStockList=false;this.RequestStatus.IsFinishMemberList=false;this.RequestStockListData(requestOption);return;}}this.RequestMemberListData();};//更新数据 option={ SortInfo:{ Search:, Field:, Sort: } }
|
|
13983
14017
|
this.UpdateFullData=function(data,option){var arySymbol=[];if(IFrameSplitOperator.IsNonEmptyArray(data.data)){//0=证券代码 1=股票名称
|
|
13984
14018
|
for(var i=0;i<data.data.length;++i){var item=data.data[i];var symbol=item[0];var stock=null;if(this.MapStockData.has(symbol)){stock=this.MapStockData.get(symbol);}else{stock=new HQReportItem();stock.OriginalSymbol=symbol;this.MapStockData.set(symbol,stock);}stock.Symbol=this.GetSymbolNoSuffix(symbol);stock.Name=item[1];this.ReadStockJsonData(stock,item);arySymbol.push(symbol);}}//设置显示数据
|
|
13985
14019
|
this.Data.Data=[];this.SourceData.Data=[];if(IFrameSplitOperator.IsNonEmptyArray(arySymbol)){for(var i=0;i<arySymbol.length;++i){this.Data.Data.push(arySymbol[i]);this.SourceData.Data.push(arySymbol[i]);}}if(option&&option.SortInfo){//本地排序
|
|
@@ -14050,7 +14084,7 @@ this.GetStockData=function(symbol){if(!this.MapStockData)return null;if(!this.Ma
|
|
|
14050
14084
|
this.SetFlashBGItem=function(symbol,obj){var item={ID:obj.ID,Color:obj.Color,Count:1};if(IFrameSplitOperator.IsNumber(obj.Count))item.Count=obj.Count;if(IFrameSplitOperator.IsNumber(obj.Time))item.Time=obj.Time;else item.Time=Date.now();if(this.FlashBG.has(symbol)){var stockItem=this.FlashBG.get(symbol);stockItem.LastTime=item.Time;stockItem.Data.set(item.ID,item);}else{var stockItem={LastTime:item.Time,Data:new _map2.default([[item.ID,item]])};this.FlashBG.set(symbol,stockItem);}};this.GetFlashBGData=function(symbol,time){if(!this.FlashBG)return null;if(!this.FlashBG.has(symbol))return null;var timeDiff=3*1000;var stockItem=this.FlashBG.get(symbol);if(time-stockItem.LastTime>=timeDiff)//超时的删除
|
|
14051
14085
|
{this.FlashBG.delete(symbol);return null;}if(!stockItem.Data||stockItem.Data.size<=0){this.FlashBG.delete(symbol);return null;}var aryDelID=[];//超时需要参数的
|
|
14052
14086
|
var _iteratorNormalCompletion25=true;var _didIteratorError25=false;var _iteratorError25=undefined;try{for(var _iterator25=(0,_getIterator3.default)(stockItem.Data),_step25;!(_iteratorNormalCompletion25=(_step25=_iterator25.next()).done);_iteratorNormalCompletion25=true){var mapItem=_step25.value;var item=mapItem[1];if(time-item.Time>=timeDiff||item.Count<=0)aryDelID.push(item.ID);}}catch(err){_didIteratorError25=true;_iteratorError25=err;}finally{try{if(!_iteratorNormalCompletion25&&_iterator25.return){_iterator25.return();}}finally{if(_didIteratorError25){throw _iteratorError25;}}}if(IFrameSplitOperator.IsNonEmptyArray(aryDelID)){for(var i=0;i<aryDelID.length;++i){stockItem.Data.delete(aryDelID[i]);}if(stockItem.Data.size<=0){this.FlashBG.delete(symbol);return null;}}return stockItem;};//delay=是否延迟
|
|
14053
|
-
this.DelayUpdateStockData=function(){var
|
|
14087
|
+
this.DelayUpdateStockData=function(){var _this69=this;if(this.EnablePageUpdate===false)return;if(this.DelayUpdateTimer!=null){clearTimeout(this.DelayUpdateTimer);this.DelayUpdateTimer=null;}var frequency=this.DelayUpdateFrequency;this.DelayUpdateTimer=setTimeout(function(){_this69.UpdateStockData();},frequency);};this.UpdateStockData=function(){var chart=this.ChartPaint[0];if(!chart)return;//列表还没有加载完成
|
|
14054
14088
|
if(this.RequestStatus.IsFinishStockList==false||this.RequestStatus.IsFinishMemberList==false)return;if(this.Data.Virtual&&this.Data.Virtual.Enable){this.RequestVirtualStockData();//虚拟表格 全部取后台
|
|
14055
14089
|
return;}//if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
|
|
14056
14090
|
if(this.SortInfo&&this.SortInfo.Field>=0&&this.SortInfo.Sort>0){var column=chart.Column[this.SortInfo.Field];if(column.Sort==2){this.RequestStockSortData(column,this.SortInfo.Field,this.SortInfo.Sort);//远程排序
|
|
@@ -14139,7 +14173,7 @@ var result=this.MoveSelectedRow(-1,{EnablePageCycle:this.PageUpDownCycle});if(re
|
|
|
14139
14173
|
var result=this.MoveSelectedRow(1,{EnablePageCycle:this.PageUpDownCycle});if(result){if(result.Redraw)this.Draw();if(result.Update)this.DelayUpdateStockData();this.MoveSelectedRowEvent(result.OldIndex,result.NewIndex);}break;case 37://left
|
|
14140
14174
|
if(this.MoveXOffset(-1))this.Draw();break;case 39://right
|
|
14141
14175
|
if(this.MoveXOffset(1))this.Draw();break;}//不让滚动条滚动
|
|
14142
|
-
if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.UIOnDblClick=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart)chart.OnDblClick(x,y,e);};this.UIOnMouseDown=function(e){var
|
|
14176
|
+
if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.UIOnDblClick=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart)chart.OnDblClick(x,y,e);};this.UIOnMouseDown=function(e){var _this70=this;this.DragXScroll=null;this.DragYScroll=null;this.DragHeader=null;this.DragColumnWidth=null;this.DragMove={Click:{X:e.clientX,Y:e.clientY},Move:{X:e.clientX,Y:e.clientY},PreMove:{X:e.clientX,Y:e.clientY}};var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart){var dragColumnWidth=chart.PtInHeaderDragBorder(x,y);if(dragColumnWidth){this.DragColumnWidth={ClickPoint:{X:x,Y:y},LastPoint:{X:x,Y:y},//Click:{ X:e.clientX, Y:e.clientY },
|
|
14143
14177
|
//LastMove:{ X:e.clientX, Y:e.clientY},
|
|
14144
14178
|
ClickData:dragColumnWidth,ColumnWidth:dragColumnWidth.Column.Width};}else{var clickData=chart.OnMouseDown(x,y,e);if(!clickData)return;//if (e.button!=0) return;
|
|
14145
14179
|
if((clickData.Type==2||clickData.Type==4)&&(e.button==0||e.button==2))//点击行|固定行
|
|
@@ -14155,11 +14189,11 @@ if((clickData.Type==2||clickData.Type==4)&&(e.button==0||e.button==2))//点击
|
|
|
14155
14189
|
{if(this.MoveYOffset(-1)){this.Draw();this.DelayUpdateStockData();}}else if(scroll.Type==2)//底部按钮
|
|
14156
14190
|
{if(this.MoveYOffset(1)){this.Draw();this.DelayUpdateStockData();}}else if(scroll.Type==3)//滚动条
|
|
14157
14191
|
{this.DragYScroll={Click:{X:x,Y:y},LastMove:{X:x,Y:y}};}else if(scroll.Type==4)//滚动条内部
|
|
14158
|
-
{if(this.SetYOffset(scroll.Pos)){this.Draw();this.DelayUpdateStockData();}}}}}document.onmousemove=function(e){
|
|
14192
|
+
{if(this.SetYOffset(scroll.Pos)){this.Draw();this.DelayUpdateStockData();}}}}}document.onmousemove=function(e){_this70.DocOnMouseMove(e);};document.onmouseup=function(e){_this70.DocOnMouseUp(e);};};this.UIOnMounseUp=function(e){console.log('"UIOnMounseUp');};//去掉右键菜单
|
|
14159
14193
|
this.UIOnContextMenu=function(e){e.preventDefault();if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;if(!this.IsShowRightMenu)return;var x=e.clientX-this.UIElement.getBoundingClientRect().left;var y=e.clientY-this.UIElement.getBoundingClientRect().top;if(typeof this.OnRightMenu=='function')this.OnRightMenu(x,y,e);//右键菜单事件
|
|
14160
14194
|
};this.OnRightMenu=function(x,y,e){this.PopupRightMenu(x,y,e);};this.PtInReportChart=function(x,y)//Type: 2=行 3=表头 4=固定行
|
|
14161
|
-
{var chart=this.GetReportChart();if(!chart)return null;var row=chart.PtInHeader(x,y);if(row)return{Type:3,Row:row,X:x,Y:y};row=chart.PtInFixedBody(x,y);if(row)return{Type:4,Row:row,X:x,Y:y};row=chart.PtInBody(x,y);if(row)return{Type:2,Row:row,X:x,Y:y};return{Type:-1,Row:null,X:x,Y:y};};this.PopupRightMenu=function(x,y,e){var
|
|
14162
|
-
if(!data)return;if(!this.JSPopMenu)return;data.e=e;var menuData={Menu:null,Position:JSPopMenu.POSITION_ID.RIGHT_MENU_ID};menuData.ClickCallback=function(data){
|
|
14195
|
+
{var chart=this.GetReportChart();if(!chart)return null;var row=chart.PtInHeader(x,y);if(row)return{Type:3,Row:row,X:x,Y:y};row=chart.PtInFixedBody(x,y);if(row)return{Type:4,Row:row,X:x,Y:y};row=chart.PtInBody(x,y);if(row)return{Type:2,Row:row,X:x,Y:y};return{Type:-1,Row:null,X:x,Y:y};};this.PopupRightMenu=function(x,y,e){var _this71=this;var pixelTatio=GetDevicePixelRatio();var data=this.PtInReportChart(x*pixelTatio,y*pixelTatio);//x,y 需要乘以放大倍速
|
|
14196
|
+
if(!data)return;if(!this.JSPopMenu)return;data.e=e;var menuData={Menu:null,Position:JSPopMenu.POSITION_ID.RIGHT_MENU_ID};menuData.ClickCallback=function(data){_this71.OnClickRightMenu(data);};var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_RIGHT_MENU);if(event&&event.Callback){var sendData={MenuData:menuData,Data:data};event.Callback(event,sendData,this);}if(menuData.Menu)this.PopupMenuByRClick(menuData,x,y);};//右键菜单
|
|
14163
14197
|
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);};//点击右键菜单
|
|
14164
14198
|
this.OnClickRightMenu=function(data){JSConsole.Chart.Log('[JSReportChartContainer::OnClickRightMenu] ',data);if(!data||!data.Data)return;var cmdID=data.Data.ID;//命令ID
|
|
14165
14199
|
var aryArgs=data.Data.Args;//参数
|
|
@@ -14212,21 +14246,21 @@ break;--selected;if(selected<pageStatus.Start)--offset;if(selected<0){selected=t
|
|
|
14212
14246
|
this.MoveXOffset=function(step){var chart=this.ChartPaint[0];if(!chart)return false;var maxOffset=chart.GetXScrollRange();if(maxOffset<=0)return false;if(step>0){if(this.Data.XOffset>=maxOffset)return false;for(var i=0;i<step;++i){if(this.Data.XOffset>=maxOffset)break;++this.Data.XOffset;}return true;}else if(step<0){if(this.Data.XOffset<=0)return false;step=Math.abs(step);for(var i=0;i<step;++i){if(this.Data.XOffset-1<0)break;--this.Data.XOffset;}return true;}return false;};this.SetXOffset=function(pos){if(!IFrameSplitOperator.IsNumber(pos))return false;var chart=this.ChartPaint[0];if(!chart)return false;var maxOffset=chart.GetXScrollRange();if(pos<0)pos=0;if(pos>maxOffset)pos=maxOffset;this.Data.XOffset=pos;return true;};this.SetYOffset=function(pos){if(!IFrameSplitOperator.IsNumber(pos))return false;var chart=this.ChartPaint[0];if(!chart)return false;var maxOffset=chart.GetYScrollRange();if(pos<0)pos=0;if(pos>maxOffset)pos=maxOffset;this.Data.YOffset=pos;return true;};this.GotoLastPage=function(){var chart=this.ChartPaint[0];if(!chart)return;//显示最后一屏
|
|
14213
14247
|
var pageSize=chart.GetPageSize(true);var offset=this.Data.Data.length-pageSize;if(offset<0)offset=0;this.Data.DataOffset=offset;};this.SetColumn=function(aryColunm,option){var chart=this.ChartPaint[0];if(!chart)return;chart.SetColumn(aryColunm);chart.SizeChange=true;if(option&&option.Redraw)this.Draw();};this.SetTab=function(aryTab,option){var chart=this.ChartPaint[0];;if(!chart)return;var chartTab=chart.Tab;if(!chartTab)return;chartTab.SetTabList(aryTab);if(option&&option.Redraw)this.Draw();};this.SetVScrollbar=function(option){var chart=this.GetReportChart();if(!chart)return;var scrollbar=chart.VScrollbar;if(!scrollbar)return;scrollbar.SetOption(option);};this.SetSelectedTab=function(index,opiton){var chart=this.ChartPaint[0];;if(!chart)return;var chartTab=chart.Tab;if(!chartTab)return;chartTab.SelectedTabIndex=index;};this.ReloadResource=function(option){this.Frame.ReloadResource(option);for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.ReloadResource)item.ReloadResource(option);}if(option&&(option.Redraw||option.Draw)){this.SetSizeChange(true);this.Draw();}if(this.TooltipMinuteChart)this.TooltipMinuteChart.ReloadResource(option);//分时图
|
|
14214
14248
|
if(this.TooltipKLineChart)this.TooltipKLineChart.ReloadResource(option);};//列排序
|
|
14215
|
-
this.SortColumn=function(index,sortType){var
|
|
14249
|
+
this.SortColumn=function(index,sortType){var _this72=this;if(index<0)return false;var reportChart=this.GetReportChart();if(!reportChart)return false;var column=reportChart.Column[index];if(!column)return false;if(column.Sort!=1&&column.Sort!=2)return false;var sortInfo={Field:index,Sort:sortType};if(this.Data.Virtual&&this.Data.Virtual.Enable){this.SortInfo.Field=sortInfo.Field;this.SortInfo.Sort=sortInfo.Sort;this.Data.YOffset=0;this.ResetReportSelectStatus();this.RequestVirtualStockData();//虚拟表格
|
|
14216
14250
|
return true;}else if(sortInfo.Sort==0)//不排序还原
|
|
14217
14251
|
{this.Data.Data=[];if(IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data))this.Data.Data=this.SourceData.Data.slice();}else if(sortInfo.Sort==1||sortInfo.Sort==2){if(column.Sort==1)//本地排序
|
|
14218
|
-
{var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_LOCAL_SORT);var bLocalSort=true;if(event&&event.Callback){var sendData={Column:column,SortInfo:sortInfo,SymbolList:this.Data.Data,Result:null,PreventDefault:false};event.Callback(event,sendData,this);if(sendData.PreventDefault){if(Array.isArray(sendData.Result))this.Data.Data=sendData.Result;bLocalSort=false;}}if(bLocalSort)this.Data.Data.sort(function(left,right){return
|
|
14252
|
+
{var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_LOCAL_SORT);var bLocalSort=true;if(event&&event.Callback){var sendData={Column:column,SortInfo:sortInfo,SymbolList:this.Data.Data,Result:null,PreventDefault:false};event.Callback(event,sendData,this);if(sendData.PreventDefault){if(Array.isArray(sendData.Result))this.Data.Data=sendData.Result;bLocalSort=false;}}if(bLocalSort)this.Data.Data.sort(function(left,right){return _this72.LocalSort(left,right,column,sortInfo.Sort);});}else if(column.Sort==2)//远程排序
|
|
14219
14253
|
{if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.SortInfo.Field=sortInfo.Field;this.SortInfo.Sort=sortInfo.Sort;this.Data.YOffset=0;this.ResetReportSelectStatus();this.RequestStockSortData(column,sortInfo.Field,sortInfo.Sort);//远程排序
|
|
14220
14254
|
return true;}}this.Data.YOffset=0;this.ResetReportSelectStatus();this.SortInfo.Field=sortInfo.Field;this.SortInfo.Sort=sortInfo.Sort;this.Draw();this.DelayUpdateStockData();return true;};//点表头
|
|
14221
14255
|
this.OnClickHeader=function(clickData,e){var header=clickData.Header;if(header.Column&&header.Column.EnablePopupHeaderMenu){this.PopupHeaderMenu(clickData,e);return;}if(header.Column&&(header.Column.Sort==1||header.Column.Sort==2)){var index=header.Index;var sortInfo={Field:this.SortInfo.Field,Sort:this.SortInfo.Sort};var arySortType=header.Column.SortType;if(sortInfo.Field!=index){sortInfo.Field=index;sortInfo.Sort=arySortType[0];}else{if(arySortType.length==1){sortInfo.Sort=arySortType[0];}else{for(var i=0;i<arySortType.length;++i){if(sortInfo.Sort==arySortType[i]){sortInfo.Sort=arySortType[(i+1)%arySortType.length];break;}}}}if(header.Column.Sort==1||header.Column.Sort==2){if(sortInfo.Sort==0){this.Data.Data=this.SourceData.Data.slice();this.DataFilter();}else{if(header.Column.Sort==1)//本地排序
|
|
14222
14256
|
{this.DataFilter();this.LocalDataSort(header.Column,sortInfo);}else if(header.Column.Sort==2)//远程排序
|
|
14223
14257
|
{if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.SortInfo.Field=sortInfo.Field;this.SortInfo.Sort=sortInfo.Sort;this.Data.YOffset=0;this.ResetReportSelectStatus();this.RequestStockSortData(header.Column,sortInfo.Field,sortInfo.Sort);//远程排序
|
|
14224
|
-
return;}}this.Data.YOffset=0;this.ResetReportSelectStatus();this.SortInfo.Field=sortInfo.Field;this.SortInfo.Sort=sortInfo.Sort;this.Draw();this.DelayUpdateStockData();}}};this.LocalDataSort=function(column,sortInfo){var
|
|
14258
|
+
return;}}this.Data.YOffset=0;this.ResetReportSelectStatus();this.SortInfo.Field=sortInfo.Field;this.SortInfo.Sort=sortInfo.Sort;this.Draw();this.DelayUpdateStockData();}}};this.LocalDataSort=function(column,sortInfo){var _this73=this;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_LOCAL_SORT);var bLocalSort=true;if(event&&event.Callback){var sendData={Column:column,SortInfo:sortInfo,SymbolList:this.Data.Data,Result:null,PreventDefault:false};event.Callback(event,sendData,this);if(sendData.PreventDefault){if(Array.isArray(sendData.Result))this.Data.Data=sendData.Result;bLocalSort=false;}}if(bLocalSort)this.Data.Data.sort(function(left,right){return _this73.LocalSort(left,right,column,sortInfo.Sort);});};//数据筛选
|
|
14225
14259
|
this.DataFilter=function(){if(!this.DataFilterConfig.Enable)return false;if(!IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data))return false;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_DATA_FILTER);if(!event||!event.Callback)return false;var aryData=this.SourceData.Data.slice();//原始数据
|
|
14226
14260
|
var sendData={AryData:aryData,PreventDefault:false};event.Callback(event,sendData,this);if(!sendData.PreventDefault)return false;this.Data.Data=sendData.AryData;return true;};this.EnableDataFilter=function(enable,option){if(!IFrameSplitOperator.IsBool(enable))return false;this.DataFilterConfig.Enable=enable;if(enable){this.DataFilter();}else{this.Data.Data=this.SourceData.Data.slice();}//排序
|
|
14227
|
-
var chart=this.GetReportChart();if(chart&&(this.SortInfo.Sort==1||this.SortInfo.Sort==2)&&IFrameSplitOperator.IsNumber(this.SortInfo.Field)&&this.SortInfo.Field>=0){var column=chart.Column[this.SortInfo.Field];this.LocalDataSort(column,this.SortInfo);}this.ResetReportStatus();this.Draw();};this.PopupHeaderMenu=function(clickData,e){var
|
|
14261
|
+
var chart=this.GetReportChart();if(chart&&(this.SortInfo.Sort==1||this.SortInfo.Sort==2)&&IFrameSplitOperator.IsNumber(this.SortInfo.Field)&&this.SortInfo.Field>=0){var column=chart.Column[this.SortInfo.Field];this.LocalDataSort(column,this.SortInfo);}this.ResetReportStatus();this.Draw();};this.PopupHeaderMenu=function(clickData,e){var _this74=this;if(!this.JSPopMenu)return;if(!this.GetEventCallback)return;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_REPORT_HEADER_MENU);if(!event||!event.Callback)return;var header=clickData.Header;var column=header.Column;var menuData={Menu:null,Position:JSPopMenu.POSITION_ID.DROPDOWN_MENU_ID};menuData.ClickCallback=function(data){_this74.OnClickHeaderMenu(column,data);};var sendData={MenuData:menuData,Column:column,Index:header.Index,PreventDefault:false,e:e};event.Callback(event,sendData,this);if(sendData.PreventDefault==true)return;if(!menuData.Menu)return;this.PopupMenuByDrapdown(menuData,header.Rect);};//下拉菜单
|
|
14228
14262
|
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);};this.GetTabPopMenu=function(tabItem){var aryMenu=[];if(IFrameSplitOperator.IsNonEmptyArray(tabItem.ArySubMenu)){for(var i=0;i<tabItem.ArySubMenu.length;++i){var item=tabItem.ArySubMenu[i];var menuItem={Name:item.Title,Data:{ID:item.CommandID,Args:[item.ID]}};if(item.Text)menuItem.Text=item.Text;if(IFrameSplitOperator.IsNonEmptyArray(item.ArySubMenu)){menuItem.SubMenu=[];for(var j=0;j<item.ArySubMenu.length;++j){var subItem=item.ArySubMenu[j];var subMenuItem={Name:subItem.Title,Data:{ID:subItem.CommandID,Args:[subItem.ID]}};if(subItem.Text)subMenuItem.Text=subItem.Text;menuItem.SubMenu.push(subMenuItem);}}aryMenu.push(menuItem);}}return aryMenu;};this.PopupTabMenu=function(menuData,tab,e){if(!this.JSPopMenu)return;var rtTab=tab.Rect;var pixelRatio=GetDevicePixelRatio();var rtCell={Left:rtTab.Left/pixelRatio,Right:rtTab.Right/pixelRatio,Bottom:rtTab.Bottom/pixelRatio,Top:rtTab.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.PopupMenuByTab(rtCell);if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();};//点击标签
|
|
14229
|
-
this.OnClickTab=function(tabData,e){var
|
|
14263
|
+
this.OnClickTab=function(tabData,e){var _this75=this;if(!tabData.Tab)return;var redraw=false;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var uiElement={Left:this.UIElement.getBoundingClientRect().left,Top:this.UIElement.getBoundingClientRect().top};if(tabData.Tab.IsMenu){var menuData={Menu:this.GetTabPopMenu(tabData.Tab),Position:JSPopMenu.POSITION_ID.TAB_MENU_ID};menuData.ClickCallback=function(data){_this75.OnClickTabPopMenu(tabData,data);};var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_REPORT_TABMENU);if(event&&event.Callback){var sendData={MenuData:menuData,Tab:tabData,PreventDefault:false,e:e};event.Callback(event,sendData,this);if(sendData.PreventDefault==true)return;}this.PopupTabMenu(menuData,tabData.Tab,e);}else{var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_REPORT_TAB);if(event&&event.Callback){var sendData={Data:tabData,IsSide:{X:x,Y:x},UIElement:uiElement,e:e,Redraw:redraw,PreventDefault:false};event.Callback(event,sendData,this);if(IFrameSplitOperator.IsBool(sendData.Redraw))redraw=sendData.Redraw;if(sendData.PreventDefault==true)return;}if(tabData.Tab.CommandID==JSCHART_MENU_ID.CMD_REPORT_CHANGE_BLOCK_ID){this.ExecuteMenuCommand(tabData.Tab.CommandID,[tabData.Tab.ID]);this.SetSelectedTab(tabData.Index);redraw=true;}}if(redraw)this.Draw();};this.OnClickTabPopMenu=function(tabData,data){JSConsole.Chart.Log('[JSReportChartContainer::OnClickTabPopMenu] ',tabData,data);var cmdID=data.Data.ID;//命令ID
|
|
14230
14264
|
var aryArgs=data.Data.Args;//参数
|
|
14231
14265
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MENU_COMMAND);//回调通知外部
|
|
14232
14266
|
if(event&&event.Callback){var data={PreventDefault:false,CommandID:cmdID,Args:aryArgs,SrcData:data,TabData:tabData};event.Callback(event,data,this);if(data.PreventDefault)return;}this.ExecuteMenuCommand(cmdID,aryArgs);this.SetSelectedTab(tabData.Index);this.Draw();};this.OnClickHeaderMenu=function(menuData,data){JSConsole.Chart.Log('[JSReportChartContainer::OnClickHeaderMenu] ',menuData,data);var cmdID=data.Data.ID;var aryArgs=data.Data.Args;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MENU_COMMAND);//回调通知外部
|
|
@@ -14773,7 +14807,7 @@ if(option.Symbol){chart.Draw();var name=option.Symbol;if(option.Name)name=option
|
|
|
14773
14807
|
if(option.SortInfo){var item=option.SortInfo;if(IFrameSplitOperator.IsNumber(item.Field))chart.SortInfo.Field=item.Field;if(IFrameSplitOperator.IsNumber(item.Sort))chart.SortInfo.Sort=item.Sort;}this.SetChartBorder(chart,option);//是否自动更新
|
|
14774
14808
|
if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;if(IFrameSplitOperator.IsBool(option.EnableFilter))chart.EnableFilter=option.EnableFilter;//注册事件
|
|
14775
14809
|
if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};this.SetChartBorder=function(chart,option){if(!option.Border)return;var item=option.Border;if(IFrameSplitOperator.IsNumber(option.Border.Left))chart.Frame.ChartBorder.Left=option.Border.Left;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
14776
|
-
chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};this.CreateResizeListener=function(){var
|
|
14810
|
+
chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};this.CreateResizeListener=function(){var _this76=this;this.ResizeListener=new ResizeObserver(function(entries){_this76.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSTReportChart::OnDivResize] entries=",entries);this.OnSize();};/////////////////////////////////////////////////////////////////////////////
|
|
14777
14811
|
//对外接口
|
|
14778
14812
|
//切换股票代码接口
|
|
14779
14813
|
this.ChangeSymbol=function(symbol,option){if(this.JSChartContainer)this.JSChartContainer.ChangeSymbol(symbol,option);};this.SetColumn=function(aryColumn,option){if(this.JSChartContainer)this.JSChartContainer.SetColumn(aryColumn,option);};//事件回调
|
|
@@ -14824,16 +14858,16 @@ this.ChartDestroy=function()//销毁
|
|
|
14824
14858
|
this.ShowMinuteChartTooltip=function(x,y,data){if(!this.TooltipMinuteChart)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var offsetLeft=rtClient.left+rtScroll.Left;var offsetTop=rtClient.top+rtScroll.Top;data.Offset={Left:offsetLeft,Top:offsetTop};this.TooltipMinuteChart.Show(data,x,y);};this.HideMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Hide();};this.InitalFloatTooltip=function(option){if(this.FloatTooltip)return;this.FloatTooltip=new JSFloatTooltip();this.FloatTooltip.Inital(this,option);this.FloatTooltip.Create();};this.HideFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Hide();};this.DestroyFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Destroy();this.FloatTooltip=null;};this.DrawFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;this.UpdateFloatTooltip(point,toolTip);};this.UpdateFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;var sendData={Tooltip:toolTip,Point:point,DataType:4};this.FloatTooltip.Update(sendData);};//清空固定行数据
|
|
14825
14859
|
this.ClearFixedRowData=function(){this.FixedRowData.Data=[];};//设置固定行
|
|
14826
14860
|
this.SetFixedRowCount=function(value){var chart=this.ChartPaint[0];if(!chart)return;chart.FixedRowCount=value;};//创建
|
|
14827
|
-
this.Create=function(option){var
|
|
14861
|
+
this.Create=function(option){var _this77=this;this.UIElement.JSChartContainer=this;//创建等待提示
|
|
14828
14862
|
this.ChartSplashPaint=new ChartSplashPaint();this.ChartSplashPaint.Canvas=this.Canvas;this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);this.ChartSplashPaint.IsEnableSplash=true;//创建框架
|
|
14829
14863
|
this.Frame=new JSTReportFrame();this.Frame.ChartBorder=new ChartBorder();this.Frame.ChartBorder.UIElement=this.UIElement;this.Frame.ChartBorder.Top=30;this.Frame.ChartBorder.Left=5;this.Frame.ChartBorder.Bottom=20;this.Frame.Canvas=this.Canvas;this.ChartSplashPaint.Frame=this.Frame;//创建表格
|
|
14830
|
-
var chart=new ChartTReport();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return
|
|
14864
|
+
var chart=new ChartTReport();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this77.GetEventCallback(id);};chart.GetExePriceDataCallback=function(exePrice){return _this77.GetExePriceData(exePrice);};chart.GetFlashBGDataCallback=function(symbol,time){return _this77.GetFlashBGData(symbol,time);};chart.Data=this.Data;chart.BorderData=this.BorderData;chart.GlobalOption=this.GlobalOption;chart.FixedRowData=this.FixedRowData;chart.SortInfo=this.SortInfo;this.ChartPaint[0]=chart;if(option){if(IFrameSplitOperator.IsBool(option.IsShowHeader))chart.IsShowHeader=option.IsShowHeader;//是否显示表头
|
|
14831
14865
|
if(IFrameSplitOperator.IsNumber(option.FixedColumn))chart.FixedColumn=option.FixedColumn;//固定列
|
|
14832
14866
|
if(IFrameSplitOperator.IsNumber(option.BorderLine))this.Frame.BorderLine=option.BorderLine;//边框
|
|
14833
14867
|
if(IFrameSplitOperator.IsBool(option.ItemBorder))chart.IsDrawBorder=option.ItemBorder;//单元格边框
|
|
14834
|
-
if(IFrameSplitOperator.IsNumber(option.SelectedModel))chart.SelectedModel=option.SelectedModel;}var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSTReportChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSTReportChartContainer::Create] not register wheel event.');}}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){
|
|
14835
|
-
if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){
|
|
14836
|
-
this.UIElement.ondblclick=function(e){
|
|
14868
|
+
if(IFrameSplitOperator.IsNumber(option.SelectedModel))chart.SelectedModel=option.SelectedModel;}var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSTReportChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSTReportChartContainer::Create] not register wheel event.');}}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this77.OnKeyDown(e);},true);//键盘消息
|
|
14869
|
+
if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this77.OnWheel(e);},true);//上下滚动消息
|
|
14870
|
+
this.UIElement.ondblclick=function(e){_this77.UIOnDblClick(e);};this.UIElement.onmousedown=function(e){_this77.UIOnMouseDown(e);};this.UIElement.onmousemove=function(e){_this77.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this77.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this77.UIOnMouseleave(e);};this.UIElement.oncontextmenu=function(e){_this77.UIOnContextMenu(e);};/*
|
|
14837
14871
|
this.UIElement.onmouseup=(e)=>{ this.UIOnMounseUp(e); }
|
|
14838
14872
|
|
|
14839
14873
|
|
|
@@ -14845,7 +14879,7 @@ this.UIElement.ondblclick=function(e){_this76.UIOnDblClick(e);};this.UIElement.o
|
|
|
14845
14879
|
*/};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
14846
14880
|
this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
|
|
14847
14881
|
this.LastMouseStatus.MouseOnStatus=null;if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
|
|
14848
|
-
for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw();}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw();}if(this.GlobalOption.FlashBGCount>0){this.DelayDraw(500);}};this.DelayDraw=function(frequency){var
|
|
14882
|
+
for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw();}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw();}if(this.GlobalOption.FlashBGCount>0){this.DelayDraw(500);}};this.DelayDraw=function(frequency){var _this78=this;if(typeof this.FlashBGTimer=='number'){clearTimeout(this.FlashBGTimer);this.FlashBGTimer=null;}this.FlashBGTimer=setTimeout(function(){_this78.Draw();},frequency);};this.ClearData=function(){this.SourceData.Data=[];this.Data.Data=[];this.Data.Price=null;this.Data.XOffset=0;//清空偏移
|
|
14849
14883
|
this.Data.YOffset=0;this.MapStockData=new _map2.default();this.MapExePriceData=null;this.BorderData.MapData=null;};this.StopAutoUpdate=function(){this.CancelAutoUpdate();this.AutoUpdateEvent(false,'JSTReportChartContainer::StopAutoUpdate');if(!this.IsAutoUpdate)return;this.IsAutoUpdate=false;};//设置事件回调
|
|
14850
14884
|
//{event:事件id, callback:回调函数}
|
|
14851
14885
|
this.AddEventCallback=function(object){if(!object||!object.event||!object.callback)return;var data={Callback:object.callback,Source:object};this.mapEvent.set(object.event,data);};this.RemoveEventCallback=function(eventid){if(!this.mapEvent.has(eventid))return;this.mapEvent.delete(eventid);};this.GetEventCallback=function(id)//获取事件回调
|
|
@@ -14856,10 +14890,10 @@ Explain:'T型报价列表数据',Request:{Data:{symbol:this.Symbol}},Self:this,P
|
|
|
14856
14890
|
}throw{Name:'JSTReportChartContainer::RequestStockListData',Error:'(T型报价列表数据)不提供内置测试数据'};};this.RecvStockListData=function(data){this.MapExePriceData=new _map2.default();this.MapStockData=new _map2.default();if(IFrameSplitOperator.IsNonEmptyArray(data.data)){//0=行权价格 1=左边期权代码 2=右侧期权代码 3=左侧期权名称 4=右侧期权名称
|
|
14857
14891
|
for(var i=0;i<data.data.length;++i){var item=data.data[i];var exePrice=item[0];var leftData=new HQTReportItem();leftData.Symbol=leftData.Name=item[1];if(item[3])leftData.Name=item[3];var rightData=new HQTReportItem();rightData.Symbol=rightData.Name=item[2];if(item[4])rightData.Name=item[4];this.MapStockData.set(leftData.Symbol,leftData);this.MapStockData.set(rightData.Symbol,rightData);var dataItem={ExePrice:exePrice,LeftData:leftData,RightData:rightData};this.MapExePriceData.set(dataItem.ExePrice,dataItem);this.SourceData.Data.push(exePrice);this.Data.Data.push(exePrice);}}if(IFrameSplitOperator.IsNumber(data.price)){this.Data.Price=data.price;}if(IFrameSplitOperator.IsNumber(data.Decimal)){var chart=this.ChartPaint[0];if(chart)chart.DefaultDecimal=data.Decimal;}this.Draw();this.UpdateStockData();};this.GetExePriceData=function(exePrice){if(!this.MapExePriceData)return null;if(!this.MapExePriceData.has(exePrice))return null;return this.MapExePriceData.get(exePrice);};this.UpdateStockData=function(){if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;if(this.MapStockData.size<=0)return;var arySymbol=[];var _iteratorNormalCompletion26=true;var _didIteratorError26=false;var _iteratorError26=undefined;try{for(var _iterator26=(0,_getIterator3.default)(this.MapStockData),_step26;!(_iteratorNormalCompletion26=(_step26=_iterator26.next()).done);_iteratorNormalCompletion26=true){var mapItem=_step26.value;arySymbol.push(mapItem[0]);}}catch(err){_didIteratorError26=true;_iteratorError26=err;}finally{try{if(!_iteratorNormalCompletion26&&_iterator26.return){_iterator26.return();}}finally{if(_didIteratorError26){throw _iteratorError26;}}}if(!IFrameSplitOperator.IsNonEmptyArray(arySymbol))return;this.RequestStockData(arySymbol);};//下载期权数据
|
|
14858
14892
|
this.RequestStockData=function(arySymbol){var self=this;if(this.NetworkFilter){var chart=this.ChartPaint[0];var obj={Name:'JSTReportChartContainer::RequestStockData',//类名::函数名
|
|
14859
|
-
Explain:'T型报价列表期权数据',Request:{Data:{stocks:arySymbol,symbol:this.Symbol,fixedRowCount:chart.FixedRowCount}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.RecvStockData(data);self.AutoUpdate();});if(obj.PreventDefault==true)return;}throw{Name:'JSTReportChartContainer::RequestStockData',Error:'(T型报价列表期权数据)不提供内置测试数据'};};this.RecvStockData=function(data){var
|
|
14893
|
+
Explain:'T型报价列表期权数据',Request:{Data:{stocks:arySymbol,symbol:this.Symbol,fixedRowCount:chart.FixedRowCount}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.RecvStockData(data);self.AutoUpdate();});if(obj.PreventDefault==true)return;}throw{Name:'JSTReportChartContainer::RequestStockData',Error:'(T型报价列表期权数据)不提供内置测试数据'};};this.RecvStockData=function(data){var _this79=this;var setUpdateSymbol=new _set2.default();//更新的股票列表
|
|
14860
14894
|
if(IFrameSplitOperator.IsNonEmptyArray(data.data)){for(var i=0;i<data.data.length;++i){var item=data.data[i];var symbol=item[0];//0=证券代码;
|
|
14861
14895
|
if(!symbol)continue;var stock=null;if(this.MapStockData.has(symbol)){stock=this.MapStockData.get(symbol);}else{stock=new HQTReportItem();stock.Symbol=symbol;this.MapStockData.set(symbol,stock);}this.ReadStockJsonData(stock,item);if(!setUpdateSymbol.has(symbol))setUpdateSymbol.add(symbol);}}if(IFrameSplitOperator.IsNumber(data.price)){this.Data.Price=data.price;this.Data.MatchExePrice=null;}if(IFrameSplitOperator.IsNonEmptyArray(data.fixedRowData)){for(var i=0;i<data.fixedRowData.length;++i){var item=data.fixedRowData[i];if(!item||!item.TData)continue;this.FixedRowData.Data[i]=item;}}var chart=this.ChartPaint[0];//实时数据排序
|
|
14862
|
-
if(chart&&(this.SortInfo.Sort==1||this.SortInfo.Sort==2)&&IFrameSplitOperator.IsNumber(this.SortInfo.Field)&&this.SortInfo.Field>=0){var column=chart.Column[this.SortInfo.Field];var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_TREPORT_LOCAL_SORT);if(event&&event.Callback){var sendData={Column:column,SortInfo:this.SortInfo,SymbolList:this.Data.Data,Result:null};event.Callback(event,sendData,this);if(Array.isArray(sendData.Result))this.Data.Data=sendData.Result;}else{this.Data.Data.sort(function(left,right){return
|
|
14896
|
+
if(chart&&(this.SortInfo.Sort==1||this.SortInfo.Sort==2)&&IFrameSplitOperator.IsNumber(this.SortInfo.Field)&&this.SortInfo.Field>=0){var column=chart.Column[this.SortInfo.Field];var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_TREPORT_LOCAL_SORT);if(event&&event.Callback){var sendData={Column:column,SortInfo:this.SortInfo,SymbolList:this.Data.Data,Result:null};event.Callback(event,sendData,this);if(Array.isArray(sendData.Result))this.Data.Data=sendData.Result;}else{this.Data.Data.sort(function(left,right){return _this79.LocalSort(left,right,column,_this79.SortInfo.Sort,_this79.SortInfo.CellType);});}}this.CalculateData();this.Draw();};//计算统计数据
|
|
14863
14897
|
this.CalculateData=function(){this.Data.MatchExePrice=null;if(!this.MapExePriceData||this.MapExePriceData.size<=0)return;var leftMaxPosition={Max:null,ExePrice:null,CellType:1};var rightMaxPosition={Max:null,ExePrice:null,CellType:2};this.BorderData.MapData=new _map2.default();var aryPrice=[];var _iteratorNormalCompletion27=true;var _didIteratorError27=false;var _iteratorError27=undefined;try{for(var _iterator27=(0,_getIterator3.default)(this.MapExePriceData),_step27;!(_iteratorNormalCompletion27=(_step27=_iterator27.next()).done);_iteratorNormalCompletion27=true){var mapItem=_step27.value;var item=mapItem[1];var leftData=item.LeftData;var rightData=item.RightData;if(leftData&&IFrameSplitOperator.IsNumber(leftData.Position)){if(leftMaxPosition.Max==null||leftMaxPosition.Max<leftData.Position){leftMaxPosition.Max=leftData.Position;leftMaxPosition.ExePrice=mapItem[0];}}if(rightData&&IFrameSplitOperator.IsNumber(rightData.Position)){if(rightMaxPosition.Max==null||rightMaxPosition.Max<rightData.Position){rightMaxPosition.Max=rightData.Position;rightMaxPosition.ExePrice=mapItem[0];}}aryPrice.push(item.ExePrice);}}catch(err){_didIteratorError27=true;_iteratorError27=err;}finally{try{if(!_iteratorNormalCompletion27&&_iterator27.return){_iterator27.return();}}finally{if(_didIteratorError27){throw _iteratorError27;}}}var aryData=[null,null,null];if(leftMaxPosition.ExePrice)aryData[1]=leftMaxPosition;if(rightMaxPosition.ExePrice)aryData[2]=rightMaxPosition;this.BorderData.MapData.set(TREPORT_COLUMN_ID.POSITION_ID,{Data:aryData});if(IFrameSplitOperator.IsNumber(this.Data.Price)){aryPrice.sort(function(left,right){return left-right;});var prePrice=null;for(var i=0;i<aryPrice.length;++i){var value=aryPrice[i];if(value>this.Data.Price){this.Data.MatchExePrice=prePrice;break;}prePrice=value;}}};//读取单条股票json数据
|
|
14864
14898
|
this.ReadStockJsonData=function(stock,item){//0=证券代码 1=股票名称 2=昨收 3=开 4=高 5=低 6=收 7=成交量 8=成交金额, 9=买价 10=买量 11=卖价 12=卖量 13=均价 14=持仓 16=涨停价 17=跌停价
|
|
14865
14899
|
//21=涨幅% 22=涨跌 24=振幅%
|
|
@@ -14888,7 +14922,7 @@ if(IFrameSplitOperator.IsString(item[201])||IFrameSplitOperator.IsObject(item[20
|
|
|
14888
14922
|
var frequency=this.AutoUpdateFrequency;if(marketStatus==1)//盘前
|
|
14889
14923
|
{this.AutoUpdateTimer=setTimeout(function(){self.AutoUpdate();},frequency);}else if(marketStatus==2)//盘中
|
|
14890
14924
|
{this.AutoUpdateTimer=setTimeout(function(){self.UpdateStockData();},frequency);}};//delay=是否延迟
|
|
14891
|
-
this.DelayUpdateStockData=function(){var
|
|
14925
|
+
this.DelayUpdateStockData=function(){var _this80=this;if(this.DelayUpdateTimer!=null){clearTimeout(this.DelayUpdateTimer);this.DelayUpdateTimer=null;}var frequency=this.DelayUpdateFrequency;this.DelayUpdateTimer=setTimeout(function(){_this80.UpdateStockData();},frequency);};this.UIOnDblClick=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.GetTReportChart();if(chart)chart.OnDblClick(x,y,e);};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(!chart)return;var clickData=chart.OnMouseDown(x,y,e);if(!clickData)return;if(clickData.Type==2&&(e.button==0||e.button==2))//点击行
|
|
14892
14926
|
{if(clickData.Redraw==true)this.Draw();}else if(clickData.Type==3&&e.button==0)//表头
|
|
14893
14927
|
{this.OnClickHeader(clickData,e);}//document.onmousemove=(e)=>{ this.DocOnMouseMove(e); }
|
|
14894
14928
|
//document.onmouseup=(e)=> { this.DocOnMouseUp(e); }
|
|
@@ -14904,8 +14938,8 @@ if(tooltipData){if(tooltipData.Type==20){if(tooltipData.Data&&tooltipData.Data.S
|
|
|
14904
14938
|
*/if(mouseStatus)this.UIElement.style.cursor=mouseStatus.Cursor;if(bShowChartTooltip){this.ShowMinuteChartTooltip(null,null,chartTooltipData);}else{this.HideMinuteChartTooltip();}if(bShowTooltip){var xTooltip=e.clientX-this.UIElement.getBoundingClientRect().left;var yTooltip=e.clientY-this.UIElement.getBoundingClientRect().top;this.DrawFloatTooltip({X:xTooltip,Y:yTooltip,YMove:20/pixelTatio},this.LastMouseStatus.TooltipStatus.Data);}else{this.HideFloatTooltip();}};this.UIOnMounseOut=function(e){this.HideMinuteChartTooltip();};this.UIOnMouseleave=function(e){this.HideMinuteChartTooltip();};this.UIOnContextMenu=function(e){e.preventDefault();var x=e.clientX-this.UIElement.getBoundingClientRect().left;var y=e.clientY-this.UIElement.getBoundingClientRect().top;this.OnRightMenu(x,y,e);//右键菜单事件
|
|
14905
14939
|
};this.OnRightMenu=function(x,y,e){};//点表头
|
|
14906
14940
|
this.OnClickHeader=function(clickData,e){var header=clickData.Header;if(header.Column&&header.Column.Sort==1){var data={CellType:header.CellType,ColumnIndex:header.ColumnIndex};this.SortHeader(header.Column,data);}};//排序
|
|
14907
|
-
this.SortHeader=function(column,sortData){var
|
|
14908
|
-
{this.Data.Data=[];for(var i=0;i<this.SourceData.Data.length;++i){this.Data.Data.push(this.SourceData.Data[i]);}}else{var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_TREPORT_LOCAL_SORT);if(event&&event.Callback){var sendData={Column:column,SortInfo:sortInfo,SymbolList:this.Data.Data,Result:null};event.Callback(event,sendData,this);if(Array.isArray(sendData.Result))this.Data.Data=sendData.Result;}else{this.Data.Data.sort(function(left,right){return
|
|
14941
|
+
this.SortHeader=function(column,sortData){var _this81=this;var sortInfo={Field:this.SortInfo.Field,Sort:this.SortInfo.Sort,CellType:this.SortInfo.CellType};var arySortType=column.SortType;if(sortInfo.Field!=sortData.ColumnIndex||sortInfo.CellType!=sortData.CellType){sortInfo.Field=sortData.ColumnIndex;sortInfo.CellType=sortData.CellType;sortInfo.Sort=arySortType[0];}else{if(arySortType.length==1){sortInfo.Sort=arySortType[0];}else{for(var i=0;i<arySortType.length;++i){if(sortInfo.Sort==arySortType[i]){sortInfo.Sort=arySortType[(i+1)%arySortType.length];break;}}}}if(sortInfo.Sort==0)//还原
|
|
14942
|
+
{this.Data.Data=[];for(var i=0;i<this.SourceData.Data.length;++i){this.Data.Data.push(this.SourceData.Data[i]);}}else{var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_TREPORT_LOCAL_SORT);if(event&&event.Callback){var sendData={Column:column,SortInfo:sortInfo,SymbolList:this.Data.Data,Result:null};event.Callback(event,sendData,this);if(Array.isArray(sendData.Result))this.Data.Data=sendData.Result;}else{this.Data.Data.sort(function(left,right){return _this81.LocalSort(left,right,column,sortInfo.Sort,sortInfo.CellType);});}}this.Data.YOffset=0;this.SortInfo.Field=sortInfo.Field;this.SortInfo.Sort=sortInfo.Sort;this.SortInfo.CellType=sortInfo.CellType;this.Draw();this.DelayUpdateStockData();};//本地排序
|
|
14909
14943
|
this.LocalSort=function(left,right,column,sortType,cellType){switch(column.Type){case TREPORT_COLUMN_ID.SYMBOL_ID:case TREPORT_COLUMN_ID.NAME_ID:return this.LocalStringSort(left,right,column,sortType,cellType);case TREPORT_COLUMN_ID.PRICE_ID:case TREPORT_COLUMN_ID.VOL_ID:case TREPORT_COLUMN_ID.UPDOWN_ID:case TREPORT_COLUMN_ID.BUY_PRICE_ID:case TREPORT_COLUMN_ID.SELL_PRICE_ID:case TREPORT_COLUMN_ID.AMOUNT_ID:case TREPORT_COLUMN_ID.BUY_VOL_ID:case TREPORT_COLUMN_ID.SELL_VOL_ID:case TREPORT_COLUMN_ID.YCLOSE_ID:case TREPORT_COLUMN_ID.OPEN_ID:case TREPORT_COLUMN_ID.HIGH_ID:case TREPORT_COLUMN_ID.LOW_ID:case TREPORT_COLUMN_ID.AVERAGE_PRICE_ID:case TREPORT_COLUMN_ID.EXE_PRICE_ID://行权价格
|
|
14910
14944
|
case TREPORT_COLUMN_ID.POSITION_ID://持仓量
|
|
14911
14945
|
case TREPORT_COLUMN_ID.AMPLITUDE_ID:case TREPORT_COLUMN_ID.INCREASE_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER1_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER2_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER3_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER4_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER5_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER6_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER7_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER8_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER9_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER10_ID:return this.LocalNumberSort(left,right,column,sortType,cellType);default:return 0;}};this.LocalNumberSort=function(left,right,column,sortType,cellType){var leftStock=this.GetExePriceData(left);var rightStock=this.GetExePriceData(right);var leftValue=-99999999999999,rightValue=-99999999999999;if(sortType==2)leftValue=rightValue=99999999999999;var filedName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(cellType==0)//行权价格
|
|
@@ -15085,7 +15119,7 @@ this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;JSCon
|
|
|
15085
15119
|
//注册事件
|
|
15086
15120
|
if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}if(option.EnableResize==true)this.CreateResizeListener();chart.Draw();};this.CreateJSKeyboardChartContainer=function(option){var chart=new JSKeyboardChartContainer(this.CanvasElement);chart.Create(option);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(IFrameSplitOperator.IsNumber(option.BorderLine))chart.Frame.BorderLine=option.BorderLine;this.SetChartBorder(chart,option);//注册事件
|
|
15087
15121
|
if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};this.SetChartBorder=function(chart,option){if(!option.Border)return;var item=option.Border;if(IFrameSplitOperator.IsNumber(option.Border.Left))chart.Frame.ChartBorder.Left=option.Border.Left;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
15088
|
-
chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};this.CreateResizeListener=function(){var
|
|
15122
|
+
chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};this.CreateResizeListener=function(){var _this82=this;this.ResizeListener=new ResizeObserver(function(entries){_this82.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSKeyboardChart::OnDivResize] entries=",entries);this.OnSize();};/////////////////////////////////////////////////////////////////////////////
|
|
15089
15123
|
//对外接口
|
|
15090
15124
|
this.SetColumn=function(aryColumn,option){if(this.JSChartContainer)this.JSChartContainer.SetColumn(aryColumn,option);};//事件回调
|
|
15091
15125
|
this.AddEventCallback=function(obj){if(this.JSChartContainer&&typeof this.JSChartContainer.AddEventCallback=='function'){JSConsole.Chart.Log('[JSKeyboardChart:AddEventCallback] obj=',obj);this.JSChartContainer.AddEventCallback(obj);}};//重新加载配置
|
|
@@ -15121,11 +15155,11 @@ var aryFuncKeyQuery=null;this.MapSymbol.clear();this.Data.Data=[];this.Data.XOff
|
|
|
15121
15155
|
}
|
|
15122
15156
|
this.ChartPaint[0].SelectedRow=0;
|
|
15123
15157
|
*/};//创建
|
|
15124
|
-
this.Create=function(option){var
|
|
15158
|
+
this.Create=function(option){var _this83=this;this.UIElement.JSChartContainer=this;//创建框架
|
|
15125
15159
|
this.Frame=new JSKeyboardFrame();this.Frame.ChartBorder=new ChartBorder();this.Frame.ChartBorder.UIElement=this.UIElement;this.Frame.ChartBorder.Top=30;this.Frame.ChartBorder.Left=5;this.Frame.ChartBorder.Bottom=20;this.Frame.Canvas=this.Canvas;//创建表格
|
|
15126
|
-
var chart=new ChartSymbolList();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return
|
|
15127
|
-
if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){
|
|
15128
|
-
this.UIElement.ondblclick=function(e){
|
|
15160
|
+
var chart=new ChartSymbolList();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this83.GetEventCallback(id);};chart.GetStockDataCallback=function(symbol){return _this83.GetStockData(symbol);};chart.Data=this.Data;this.ChartPaint[0]=chart;chart.VScrollbar=new ChartKeyboardVScrollbar();chart.VScrollbar.Frame=this.Frame;chart.VScrollbar.Canvas=this.Canvas;chart.VScrollbar.ChartBorder=this.Frame.ChartBorder;chart.VScrollbar.Report=chart;if(option){}var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSKeyboardChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSKeyboardChartContainer::Create] not register wheel event.');}}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this83.OnKeyDown(e);},true);//键盘消息
|
|
15161
|
+
if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this83.OnWheel(e);},true);//上下滚动消息
|
|
15162
|
+
this.UIElement.ondblclick=function(e){_this83.UIOnDblClick(e);};this.UIElement.onmousedown=function(e){_this83.UIOnMouseDown(e);};this.UIElement.oncontextmenu=function(e){_this83.UIOnContextMenu(e);};this.UIElement.onmousemove=function(e){_this83.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this83.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this83.UIOnMouseleave(e);};};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
15129
15163
|
this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
|
|
15130
15164
|
this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
|
|
15131
15165
|
for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw();}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw();}};this.GetStockData=function(symbol){if(!this.MapSymbol.has(symbol))return null;return this.MapSymbol.get(symbol);};this.ResetStatus=function(){this.Data.XOffset=0;this.Data.YOffset=0;};this.ResetSelectStatus=function(){var chart=this.GetReportChart();if(chart){chart.SelectedRow=-1;chart.SelectedFixedRow=-1;}};//设置事件回调
|
|
@@ -15142,14 +15176,14 @@ var result=this.MoveSelectedRow(1);if(result){if(result.Redraw)this.Draw();}brea
|
|
|
15142
15176
|
if(this.MoveXOffset(-1))this.Draw();break;case 39://right
|
|
15143
15177
|
if(this.MoveXOffset(1))this.Draw();break;case 13://Enter
|
|
15144
15178
|
this.OnSelectedSymbol();break;}//不让滚动条滚动
|
|
15145
|
-
if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.OnSelectedSymbol=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return false;var chart=this.ChartPaint[0];if(!chart)return false;var data=chart.GetSelectedSymbol();var selItem=this.MapSymbol.get(data.Symbol);if(!selItem)return false;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_KEYBOARD_SELECTED);if(event&&event.Callback){event.Callback(event,{Data:data,RowData:selItem},this);}};this.UIOnDblClick=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart){if(chart.OnDblClick(x,y,e))this.OnSelectedSymbol();}};this.UIOnMouseDown=function(e){var
|
|
15179
|
+
if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.OnSelectedSymbol=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return false;var chart=this.ChartPaint[0];if(!chart)return false;var data=chart.GetSelectedSymbol();var selItem=this.MapSymbol.get(data.Symbol);if(!selItem)return false;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_KEYBOARD_SELECTED);if(event&&event.Callback){event.Callback(event,{Data:data,RowData:selItem},this);}};this.UIOnDblClick=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart){if(chart.OnDblClick(x,y,e))this.OnSelectedSymbol();}};this.UIOnMouseDown=function(e){var _this84=this;this.DragYScroll=null;this.DragMove={Click:{X:e.clientX,Y:e.clientY},Move:{X:e.clientX,Y:e.clientY},PreMove:{X:e.clientX,Y:e.clientY}};var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart){var clickData=chart.OnMouseDown(x,y,e);if(!clickData)return;//if (e.button!=0) return;
|
|
15146
15180
|
if(clickData.Type==2&&(e.button==0||e.button==2))//点击行
|
|
15147
15181
|
{if(clickData.Redraw==true)this.Draw();}else if(clickData.Type==5&&e.button==0)//右侧滚动条
|
|
15148
15182
|
{var scroll=clickData.VScrollbar;if(scroll.Type==1)//顶部按钮
|
|
15149
15183
|
{if(this.MoveYOffset(-1))this.Draw();}else if(scroll.Type==2)//底部按钮
|
|
15150
15184
|
{if(this.MoveYOffset(1))this.Draw();}else if(scroll.Type==3)//滚动条
|
|
15151
15185
|
{this.DragYScroll={Click:{X:x,Y:y},LastMove:{X:x,Y:y}};}else if(scroll.Type==4)//滚动条内部
|
|
15152
|
-
{if(this.SetYOffset(scroll.Pos))this.Draw();}}}document.onmousemove=function(e){
|
|
15186
|
+
{if(this.SetYOffset(scroll.Pos))this.Draw();}}}document.onmousemove=function(e){_this84.DocOnMouseMove(e);};document.onmouseup=function(e){_this84.DocOnMouseUp(e);};};//去掉右键菜单
|
|
15153
15187
|
this.UIOnContextMenu=function(e){e.preventDefault();};this.UIOnMouseMove=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;};this.UIOnMounseOut=function(e){};this.UIOnMouseleave=function(e){};this.DocOnMouseMove=function(e){this.DragMove.PreMove.X=this.DragMove.Move.X;this.DragMove.PreMove.Y=this.DragMove.Move.Y;this.DragMove.Move.X=e.clientX;this.DragMove.Move.Y=e.clientX;//if (this.DragMove.Move.X!=this.DragMove.PreMove.X || this.DragMove.Move.Y!=this.DragMove.PreMove.Y)
|
|
15154
15188
|
// this.StopAutoDragScrollTimer();
|
|
15155
15189
|
if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(this.DragYScroll){var chart=this.ChartPaint[0];if(!chart||!chart.VScrollbar)return;this.DragYScroll.LastMove.X=x;this.DragYScroll.LastMove.Y=y;var pos=chart.VScrollbar.GetScrollPostionByPoint(x,y);if(this.SetYOffset(pos))this.Draw();}};this.DocOnMouseUp=function(e){//清空事件
|
|
@@ -15238,7 +15272,7 @@ var height=this.DivElement.offsetHeight;var width=this.DivElement.offsetWidth;if
|
|
|
15238
15272
|
this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;JSConsole.Chart.Log('[JSScrollBarChart::OnSize] devicePixelRatio='+window.devicePixelRatio+', height='+this.CanvasElement.height+', width='+this.CanvasElement.width);if(this.JSChartContainer&&this.JSChartContainer.OnSize){this.JSChartContainer.OnSize();}};this.SetOption=function(option){var chart=this.CreateJSScrollBarChartContainer(option);if(!chart)return false;this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
|
|
15239
15273
|
if(option.EnableResize==true)this.CreateResizeListener();if(option.OnCreatedCallback)option.OnCreatedCallback(chart);chart.Draw();};this.CreateJSScrollBarChartContainer=function(option){var chart=new JSScrollBarChartContainer(this.CanvasElement);chart.Create(option);if(IFrameSplitOperator.IsNumber(option.DelayDragFrequency))chart.DelayDragFrequency=option.DelayDragFrequency;this.SetChartBorder(chart,option);//注册事件
|
|
15240
15274
|
if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};this.SetChartBorder=function(chart,option){if(!option.Border)return;var item=option.Border;if(IFrameSplitOperator.IsNumber(option.Border.Left))chart.Frame.ChartBorder.Left=option.Border.Left;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
15241
|
-
chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;if(IFrameSplitOperator.IsBool(item.AutoLeft))chart.AutoMargin.Left=item.AutoLeft;if(IFrameSplitOperator.IsBool(item.AutoRight))chart.AutoMargin.Right=item.AutoRight;};this.CreateResizeListener=function(){var
|
|
15275
|
+
chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;if(IFrameSplitOperator.IsBool(item.AutoLeft))chart.AutoMargin.Left=item.AutoLeft;if(IFrameSplitOperator.IsBool(item.AutoRight))chart.AutoMargin.Right=item.AutoRight;};this.CreateResizeListener=function(){var _this85=this;this.ResizeListener=new ResizeObserver(function(entries){_this85.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSScrollBarChart::OnDivResize] entries=",entries);this.OnSize();};/////////////////////////////////////////////////////////////////////////////
|
|
15242
15276
|
//对外接口
|
|
15243
15277
|
//事件回调
|
|
15244
15278
|
this.AddEventCallback=function(obj){if(this.JSChartContainer&&typeof this.JSChartContainer.AddEventCallback=='function'){JSConsole.Chart.Log('[JSScrollBarChart:AddEventCallback] obj=',obj);this.JSChartContainer.AddEventCallback(obj);}};//重新加载配置
|
|
@@ -15271,28 +15305,28 @@ this.HQChart=null;this.ChartDestroy=function()//销毁
|
|
|
15271
15305
|
//{event:事件id, callback:回调函数}
|
|
15272
15306
|
this.AddEventCallback=function(object){if(!object||!object.event||!object.callback)return;var data={Callback:object.callback,Source:object};this.mapEvent.set(object.event,data);};this.RemoveEventCallback=function(eventid){if(!this.mapEvent.has(eventid))return;this.mapEvent.delete(eventid);};this.GetEventCallback=function(id)//获取事件回调
|
|
15273
15307
|
{if(!this.mapEvent.has(id))return null;var item=this.mapEvent.get(id);return item;};//创建
|
|
15274
|
-
this.Create=function(option){var
|
|
15308
|
+
this.Create=function(option){var _this86=this;this.UIElement.JSChartContainer=this;//创建等待提示
|
|
15275
15309
|
this.ChartSplashPaint=new ChartSplashPaint();this.ChartSplashPaint.Canvas=this.Canvas;this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);this.ChartSplashPaint.IsEnableSplash=true;//创建框架
|
|
15276
15310
|
this.Frame=new JSScrollBarFrame();this.Frame.ChartBorder=new ChartBorder();this.Frame.ChartBorder.UIElement=this.UIElement;this.Frame.ChartBorder.Top=30;this.Frame.ChartBorder.Left=5;this.Frame.ChartBorder.Bottom=20;this.Frame.Canvas=this.Canvas;this.ChartSplashPaint.Frame=this.Frame;//背景
|
|
15277
|
-
var chart=new ScrollBarBGChart();chart.ChartFrame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.GetEventCallback=function(id){return
|
|
15278
|
-
var chart=new SliderChart();chart.ChartFrame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.OffsetData=this.XOffsetData;chart.GetEventCallback=function(id){return
|
|
15279
|
-
this.UIElement.onmousedown=function(e){
|
|
15311
|
+
var chart=new ScrollBarBGChart();chart.ChartFrame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.GetEventCallback=function(id){return _this86.GetEventCallback(id);};this.ChartPaint.push(chart);//创建滑块
|
|
15312
|
+
var chart=new SliderChart();chart.ChartFrame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.OffsetData=this.XOffsetData;chart.GetEventCallback=function(id){return _this86.GetEventCallback(id);};this.SliderChart=chart;this.ChartPaint.push(chart);//this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
|
|
15313
|
+
this.UIElement.onmousedown=function(e){_this86.UIOnMouseDown(e);};this.UIElement.oncontextmenu=function(e){_this86.UIOnContextMenu(e);};this.UIElement.onmousemove=function(e){_this86.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this86.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this86.UIOnMouseleave(e);};//手机拖拽
|
|
15280
15314
|
//this.UIElement.ontouchstart=(e)=> { this.OnTouchStart(e); }
|
|
15281
15315
|
//this.UIElement.ontouchmove=(e)=> {this.OnTouchMove(e); }
|
|
15282
15316
|
//this.UIElement.ontouchend=(e)=> {this.OnTouchEnd(e); }
|
|
15283
15317
|
};//创建一个图形
|
|
15284
|
-
this.CreateChartPaint=function(name){var
|
|
15318
|
+
this.CreateChartPaint=function(name){var _this87=this;var chart=g_ChartPaintFactory.Create(name);if(!chart)return null;chart.ChartFrame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.Data=this.Frame.Data;chart.GetEventCallback=function(id){return _this87.GetEventCallback(id);};chart.GetHQChartCallback=function(){return _this87.GetHQChart();};return chart;};this.GetChartPaintByClassName=function(name){for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.ClassName==name){return{Chart:item,Index:i};}}return null;};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
15285
15319
|
this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
|
|
15286
15320
|
if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
|
|
15287
15321
|
for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw();}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw();}};this.OnSize=function(){if(!this.Frame)return;this.SetSizeChange(true);this.Draw();};this.SetSizeChange=function(bChanged){for(var i=0;i<this.ChartPaint.length;++i){var chart=this.ChartPaint[i];if(chart)chart.SizeChange=bChanged;}};this.UpdateFrameMaxMin=function(){var max=null,min=null;for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.GetMaxMin)continue;var range=item.GetMaxMin();if(range==null||range.Max==null||range.Min==null)continue;if(max==null||max<range.Max)max=range.Max;if(min==null||min>range.Min)min=range.Min;}if(IFrameSplitOperator.IsNumber(max)&&IFrameSplitOperator.IsNumber(min)){this.Frame.HorizontalMax=max;this.Frame.HorizontalMin=min;}};//未启动
|
|
15288
|
-
this.UIOnDblClick=function(e){};this.CancelDragTimer=function(){if(this.DragTimer){clearTimeout(this.DragTimer);this.DragTimer=null;}};this.UIOnMouseDown=function(e){var
|
|
15322
|
+
this.UIOnDblClick=function(e){};this.CancelDragTimer=function(){if(this.DragTimer){clearTimeout(this.DragTimer);this.DragTimer=null;}};this.UIOnMouseDown=function(e){var _this88=this;this.CancelDragTimer();this.DragSlider=null;this.DragMove={Click:{X:e.clientX,Y:e.clientY},Move:{X:e.clientX,Y:e.clientY},PreMove:{X:e.clientX,Y:e.clientY}};var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(this.SliderChart){var clickData=this.SliderChart.PtInChart(x,y);if(!clickData){if(!this.Frame.PtInClient(x,y))return;//滚动块直接移动到鼠标点击的位置
|
|
15289
15323
|
var index=this.Frame.GetXData(x);index=Math.round(index);var pageRange=this.GetPageRange();var showCount=pageRange.ShowCount;var start=index-parseInt(showCount/2);if(start<0)start=0;var end=start+showCount;if(end>=this.Frame.XPointCount){end=this.Frame.XPointCount-1;start=end-showCount;}var drag={UpdateData:{StartIndex:start,EndIndex:end,Type:3}};this.DragUpdate(drag);return;}this.DragSlider={Click:{X:e.clientX,Y:e.clientY},LastMove:{X:e.clientX,Y:e.clientY},Data:clickData};this.DragSlider.DrawCount=0;//重绘次数
|
|
15290
|
-
}document.onmousemove=function(e){
|
|
15324
|
+
}document.onmousemove=function(e){_this88.DocOnMouseMove(e);};document.onmouseup=function(e){_this88.DocOnMouseUp(e);};};//去掉右键菜单
|
|
15291
15325
|
this.UIOnContextMenu=function(e){e.preventDefault();};this.UIOnMouseMove=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(this.DragSlider)return;var mouseStatus=mouseStatus={Cursor:"default"};;//鼠标状态
|
|
15292
|
-
var item=this.SliderChart.PtInChart(x,y);if(item){switch(item.Data.Type){case 0:mouseStatus={Cursor:"grab",Name:"SliderChart"};break;case 1:case 2:mouseStatus={Cursor:"col-resize",Name:"SliderChart"};break;}}if(mouseStatus)this.UIElement.style.cursor=mouseStatus.Cursor;};this.UIOnMounseOut=function(e){};this.UIOnMouseleave=function(e){};this.DocOnMouseMove=function(e){var
|
|
15326
|
+
var item=this.SliderChart.PtInChart(x,y);if(item){switch(item.Data.Type){case 0:mouseStatus={Cursor:"grab",Name:"SliderChart"};break;case 1:case 2:mouseStatus={Cursor:"col-resize",Name:"SliderChart"};break;}}if(mouseStatus)this.UIElement.style.cursor=mouseStatus.Cursor;};this.UIOnMounseOut=function(e){};this.UIOnMouseleave=function(e){};this.DocOnMouseMove=function(e){var _this89=this;this.DragMove.PreMove.X=this.DragMove.Move.X;this.DragMove.PreMove.Y=this.DragMove.Move.Y;this.DragMove.Move.X=e.clientX;this.DragMove.Move.Y=e.clientX;if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;JSConsole.Chart.Log('[JSScrollBarChartContainer::DocOnMouseMove] x='+x+', y='+y);if(this.DragSlider){var drag=this.DragSlider;var moveSetp=(e.clientX-drag.LastMove.X)*pixelTatio;if(Math.abs(moveSetp)<1)return;var pageRange=this.GetPageRange();var left=this.Frame.ChartBorder.GetLeft();var right=this.Frame.ChartBorder.GetRight();this.SliderChart.DragMode=true;var type=drag.Data.Data.Type;var xStart=this.SliderChart.XStart+moveSetp;var xEnd=this.SliderChart.XEnd+moveSetp;if(type==0)//整体移动
|
|
15293
15327
|
{if(xStart<left)//第1页
|
|
15294
15328
|
{xStart=pageRange.First.XStart;xEnd=pageRange.First.XEnd;}else if(xEnd>=right){xStart=pageRange.Last.XStart;xEnd=pageRange.Last.XEnd;}this.SliderChart.XStart=xStart;this.SliderChart.XEnd=xEnd;}else if(type==1)//左移动
|
|
15295
|
-
{if(xStart<=left){xStart=pageRange.First.XStart;}else if(xStart>=right){xStart=pageRange.Last.XEnd;}this.SliderChart.XStart=xStart;}else if(type==2){if(xEnd>=right){xEnd=pageRange.Last.XEnd;}else if(xEnd<=left){xEnd=pageRange.First.XStart;}this.SliderChart.XEnd=xEnd;}drag.UpdateData={XStart:xStart,XEnd:xEnd,Type:type};drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;if(drag.DrawCount==0){this.DragUpdate(drag);}else{this.DragTimer=setTimeout(function(){
|
|
15329
|
+
{if(xStart<=left){xStart=pageRange.First.XStart;}else if(xStart>=right){xStart=pageRange.Last.XEnd;}this.SliderChart.XStart=xStart;}else if(type==2){if(xEnd>=right){xEnd=pageRange.Last.XEnd;}else if(xEnd<=left){xEnd=pageRange.First.XStart;}this.SliderChart.XEnd=xEnd;}drag.UpdateData={XStart:xStart,XEnd:xEnd,Type:type};drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;if(drag.DrawCount==0){this.DragUpdate(drag);}else{this.DragTimer=setTimeout(function(){_this89.DragUpdate(_this89.DragSlider);},this.DelayDragFrequency);}}};this.DocOnMouseUp=function(e){//清空事件
|
|
15296
15330
|
document.onmousemove=null;document.onmouseup=null;this.CancelDragTimer();var dragSlider=this.DragSlider;this.DragMove=null;this.DragSlider=null;this.SliderChart.DragMode=false;this.DragUpdate(dragSlider);};this.DragUpdate=function(dragData){if(!dragData||!dragData.UpdateData)return;this.UpdateXDataOffset(dragData.UpdateData);this.Draw();++dragData.DrawCount;};this.Reset=function(option){this.SourceData=null;this.XOffsetData.Start=-1;this.XOffsetData.End=-1;this.XOffsetData.Count=0;this.Frame.Data=null;for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];item.Data=null;}if(this.ChartSplashPaint)this.ChartSplashPaint.IsEnableSplash=true;if(option.Draw)this.Draw();};//外部更新滑块 obj={ Start: , End: }
|
|
15297
15331
|
this.UpdateSlider=function(obj){if(this.SliderChart.DragMode)return;var bSizeChange=false;if((this.AutoMargin.Left||this.AutoMargin.Right)&&obj.Border){if(this.AutoMargin.Left){if(this.Frame.ChartBorder.Left!=obj.Border.Left)bSizeChange=true;}if(this.AutoMargin.Right){if(this.Frame.ChartBorder.Right!=obj.Border.Right)bSizeChange=true;}}var data=obj.Data;if(this.XOffsetData.Start==obj.Start&&this.XOffsetData.End==obj.End&&this.SourceData==data&&!bSizeChange)return;this.SourceData=data;var count=data.Data.length;if(IFrameSplitOperator.IsNumber(obj.RightSpaceCount))count+=obj.RightSpaceCount;this.Frame.XPointCount=count;this.Frame.Data=data;this.XOffsetData.Count=count;this.XOffsetData.Start=obj.Start;this.XOffsetData.End=obj.End;for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];item.Data=data;}if(this.AutoMargin.Left&&obj.Border){if(IFrameSplitOperator.IsNumber(obj.Border.Left))this.Frame.ChartBorder.Left=obj.Border.Left;}if(this.AutoMargin.Right&&obj.Border){if(IFrameSplitOperator.IsNumber(obj.Border.Right))this.Frame.ChartBorder.Right=obj.Border.Right;}this.UpdateFrameMaxMin();if(this.ChartSplashPaint)this.ChartSplashPaint.IsEnableSplash=false;if(obj.Draw)this.Draw();};//移动滑块
|
|
15298
15332
|
this.UpdateXDataOffset=function(obj){if(!obj)return;var type=obj.Type;if(obj.Type==0){var start=this.Frame.GetXData(obj.XStart);start=parseInt(start+0.5);//四舍五入
|
|
@@ -15366,13 +15400,13 @@ this.SelectedClassName="UMyChart_MenuItem_Tr_Selected";this.RestoreFocusDelay=10
|
|
|
15366
15400
|
"UMyChart_MenuItem_Td_Arrow"//箭头
|
|
15367
15401
|
];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;}};//创建菜单
|
|
15368
15402
|
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;};//清除菜单
|
|
15369
|
-
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
|
|
15403
|
+
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)//图标
|
|
15370
15404
|
{if(item.Checked){var spanDom=document.createElement("span");spanDom.className=this.CheckedClassName;spanDom.style["font-size"]="10px";tdDom.appendChild(spanDom);}}else if(i==1)//内容
|
|
15371
15405
|
{tdDom.innerText=item.Name;}else if(i==2)//快捷方式
|
|
15372
15406
|
{if(item.Text)tdDom.innerText=item.Text;}else if(i==3)//箭头
|
|
15373
15407
|
{if(IFrameSplitOperator.IsNonEmptyArray(item.SubMenu)){var spanDom=document.createElement("span");spanDom.className=this.RightArrowClassName;spanDom.style["font-size"]="10px";tdDom.appendChild(spanDom);}}trDom.appendChild(tdDom);}if(IFrameSplitOperator.IsNonEmptyArray(item.SubMenu))//子菜单
|
|
15374
|
-
{var subRoot=document.createElement("div");subRoot.className="UMyChart_PopSubMenu";var subTable=document.createElement("table");subTable.className="UMyChart_PopMenu_Table";subRoot.appendChild(subTable);var subTbody=document.createElement("tbody");subTbody.className="UMyChart_PopMenu_TBody";subTable.appendChild(subTbody);var subRootData={Root:subRoot,TBody:subTbody,Table:subTable};subRoot.JSMenuData=subRootData;var preTrDom=null;for(var i=0;i<item.SubMenu.length;++i){var subItem=item.SubMenu[i];if(subItem.Name==JSPopMenu.SEPARATOR_LINE_NAME){var trSeparator=this.CreateSeparatorTr();if(trSeparator)subTbody.appendChild(trSeparator);continue;}var subTrDom=this.CreateMenu(subRootData,subItem);preTrDom=subTrDom;subTbody.appendChild(subTrDom);}trDom.onmouseover=function(e){
|
|
15375
|
-
trDom.onmouseover=function(e){
|
|
15408
|
+
{var subRoot=document.createElement("div");subRoot.className="UMyChart_PopSubMenu";var subTable=document.createElement("table");subTable.className="UMyChart_PopMenu_Table";subRoot.appendChild(subTable);var subTbody=document.createElement("tbody");subTbody.className="UMyChart_PopMenu_TBody";subTable.appendChild(subTbody);var subRootData={Root:subRoot,TBody:subTbody,Table:subTable};subRoot.JSMenuData=subRootData;var preTrDom=null;for(var i=0;i<item.SubMenu.length;++i){var subItem=item.SubMenu[i];if(subItem.Name==JSPopMenu.SEPARATOR_LINE_NAME){var trSeparator=this.CreateSeparatorTr();if(trSeparator)subTbody.appendChild(trSeparator);continue;}var subTrDom=this.CreateMenu(subRootData,subItem);preTrDom=subTrDom;subTbody.appendChild(subTrDom);}trDom.onmouseover=function(e){_this90.OnMouseOver(e,parentItem,trDom,subRoot);};document.body.appendChild(subRoot);this.ArySubRootDOM.push(subRoot);}else{if(item.Disable===true){}else{trDom.onmousedown=function(e){_this90.OnClickMenu(e,item,false);};//菜单点击
|
|
15409
|
+
trDom.onmouseover=function(e){_this90.OnMouseOver(e,parentItem);};}}return trDom;};this.CreateSeparatorTr=function(){var trSeparator=document.createElement("tr");trSeparator.className='UMyChart_MenuItem_Tr_Separator';var tdDom=document.createElement("td");tdDom.className="UMyChart_MenuItem_Td_Status_Separator";trSeparator.appendChild(tdDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_MenuItem_Td_Separator";trSeparator.appendChild(tdDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_MenuItem_Td_Separator";trSeparator.appendChild(tdDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_MenuItem_Td_Separator";trSeparator.appendChild(tdDom);return trSeparator;};//弹tab菜单
|
|
15376
15410
|
this.PopupMenuByTab=function(rtTab){if(!this.RootDOM)return;if(!rtTab)return;if(this.HQChart)this.HQChart.ClearRestoreFocusTimer();var xLeft=rtTab.Left;var yTop=rtTab.Top-this.RootDOM.offsetHeight;this.RootDOM.style.visibility='visible';this.RootDOM.style.top=yTop+"px";this.RootDOM.style.left=xLeft+"px";};//弹右键菜单
|
|
15377
15411
|
this.PopupMenuByRight=function(x,y){if(!this.RootDOM)return;if(!IFrameSplitOperator.IsNumber(x)||!IFrameSplitOperator.IsNumber(y))return;if(this.HQChart)this.HQChart.ClearRestoreFocusTimer();//菜单在当前屏幕无法显示需要调整
|
|
15378
15412
|
var scrollPos=GetScrollPosition();var menuHeight=this.RootDOM.offsetHeight;var yMenuBottom=y+menuHeight;var yBottom=window.innerHeight-15+scrollPos.Top;if(yMenuBottom>yBottom)y=yBottom-menuHeight;var menuWidth=this.RootDOM.offsetWidth;var yMenuRight=x+menuWidth;var yRight=window.innerWidth-15;if(yMenuRight>yRight)x=yRight-menuWidth;this.RootDOM.style.visibility='visible';this.RootDOM.style.top=y+"px";this.RootDOM.style.left=x+"px";};//下拉菜单
|
|
@@ -15412,27 +15446,27 @@ CMD_ZOOM_OUT_FONT_ID:12,//字体缩小
|
|
|
15412
15446
|
CMD_MODIFY_TEXT_ID:13,//随机生成文字内容
|
|
15413
15447
|
CMD_ADVANCED_SETTING_ID:14,//高级设置
|
|
15414
15448
|
CMD_CROSS_PERIOD_ID:15//跨周期
|
|
15415
|
-
};function JSDialogDrawTool(){this.AryChartGroup=[{Title:"线段",AryChart:[{Title:'线段',ClassName:'hqchart_drawtool icon-draw_line',Type:0,Data:{ID:"线段"}},{Title:'线段信息',ClassName:'hqchart_drawtool icon-infoline',Type:0,Data:{ID:"InfoLine"}},{Title:'射线',ClassName:'hqchart_drawtool icon-draw_rays',Type:0,Data:{ID:"射线"}},{Title:"趋势线角度",ClassName:"hqchart_drawtool icon-qushixianjiaodu",Type:0,Data:{ID:"TrendAngle"}},{Title:'标价线',ClassName:'hqchart_drawtool icon-price_line',Type:0,Data:{ID:"标价线"}},{Title:'垂直线',ClassName:'hqchart_drawtool icon-vertical_line',Type:0,Data:{ID:"垂直线"}},{Title:'十字线',ClassName:'hqchart_drawtool icon-tubiao_shizixian',Type:0,Data:{ID:"十字线"}},{Title:'箭头',ClassName:'hqchart_drawtool icon-bottom-arrow-solid',Type:0,Data:{ID:"箭头"}},{Title:'大箭头',ClassName:'hqchart_drawtool icon-big_arrow',Type:0,Data:{ID:"ArrowMarker"}},{Title:'趋势线',ClassName:'hqchart_drawtool icon-draw_trendline',Type:0,Data:{ID:"趋势线"}},{Title:'水平线',ClassName:'hqchart_drawtool icon-draw_hline',Type:0,Data:{ID:"水平线"}},{Title:'水平射线',ClassName:'hqchart_drawtool icon-tubiao_shuipingshexian',Type:0,Data:{ID:"水平射线"}},{Title:'涂鸦线段',ClassName:'hqchart_drawtool icon-draw_line',Type:0,Data:{ID:"涂鸦线段"}},{Title:'阻速线',ClassName:'hqchart_drawtool icon-draw_resline',Type:0,Data:{ID:"阻速线"}},{Title:'通达信阻速线',ClassName:'hqchart_drawtool icon-draw_resline',Type:0,Data:{ID:"阻速线2"}},{Title:'江恩角度线',ClassName:'hqchart_drawtool icon-jiangenjiaoduxian',Type:0,Data:{ID:"江恩角度线"}},{Title:'通达信江恩角度线',ClassName:'hqchart_drawtool icon-jiangenjiaoduxian',Type:0,Data:{ID:"江恩角度线2"}}]},{Title:"通道",AryChart:[{Title:'平行线',ClassName:'hqchart_drawtool icon-draw_parallel_lines',Type:0,Data:{ID:"平行线"}},{Title:'水平线段',ClassName:'hqchart_drawtool icon-draw_hlinesegment',Type:0,Data:{ID:"水平线段"}},{Title:'平行射线',ClassName:'hqchart_drawtool icon-draw_p_rays_lines',Type:0,Data:{ID:"平行射线"}},{Title:'平行通道',ClassName:'hqchart_drawtool icon-draw_parallelchannel',Type:0,Data:{ID:"平行通道"}},{Title:'价格通道线',ClassName:'hqchart_drawtool icon-draw_pricechannel',Type:0,Data:{ID:"价格通道线"}},{Title:'箱型线',ClassName:'hqchart_drawtool icon-draw_box',Type:0,Data:{ID:"箱型线"}},{Title:"不相交通道",ClassName:"hqchart_drawtool icon-buxiangjiaojiao",Type:0,Data:{ID:"DisjointChannel"}},{Title:"平滑顶/底",ClassName:"hqchart_drawtool icon-tubiao_buxiangjiaotongdao",Type:0,Data:{ID:"FlatTop"}},{Title:"波段线",ClassName:'hqchart_drawtool icon-draw_waveband',Type:0,Data:{ID:"波段线"}},{Title:"百分比线",ClassName:'hqchart_drawtool icon-PercentageLine',Type:0,Data:{ID:"百分比线"}},{Title:"黄金分割",ClassName:'hqchart_drawtool icon-GoldenSection',Type:0,Data:{ID:"黄金分割"}},{Title:"线形回归线",ClassName:'hqchart_drawtool icon-linear_3',Type:0,Data:{ID:"线形回归线"}},{Title:"线形回归带",ClassName:'hqchart_drawtool icon-linear_1',Type:0,Data:{ID:"线形回归带"}},{Title:"延长线形回归带",ClassName:'hqchart_drawtool icon-linear_2',Type:0,Data:{ID:"延长线形回归带"}},{Title:"Long Position",ClassName:'hqchart_drawtool icon-chart-long-position',Type:0,Data:{ID:"TVLongPosition"}},{Title:"Short Position",ClassName:'hqchart_drawtool icon-chart-short-position',Type:0,Data:{ID:"TVShortPosition"}}]},{Title:"形状",AryChart:[{Title:'圆弧线',ClassName:'hqchart_drawtool icon-draw_arc',Type:0,Data:{ID:"圆弧线"}},{Title:'矩形',ClassName:'hqchart_drawtool icon-rectangle',Type:0,Data:{ID:"矩形"}},{Title:'平行四边形',ClassName:'hqchart_drawtool icon-draw_quadrangle',Type:0,Data:{ID:"平行四边形"}},{Title:'三角形',ClassName:'hqchart_drawtool icon-draw_triangle',Type:0,Data:{ID:"三角形"}},{Title:'圆',ClassName:'hqchart_drawtool icon-draw_circle',Type:0,Data:{ID:"圆"}},{Title:'对称角度',ClassName:'hqchart_drawtool icon-draw_symangle',Type:0,Data:{ID:"对称角度"}}]},{Title:"波浪线",AryChart:[{Title:'M头W底',ClassName:'hqchart_drawtool icon-draw_wavemw',Type:0,Data:{ID:"M头W底"}},{Title:'头肩型',ClassName:'hqchart_drawtool icon-draw_head_shoulders_bt',Type:0,Data:{ID:"头肩型"}},{Title:'波浪尺',ClassName:'hqchart_drawtool icon-waveruler',Type:0,Data:{ID:"波浪尺"}},{Title:'AB波浪尺',ClassName:'hqchart_drawtool icon-waveruler',Type:0,Data:{ID:"AB波浪尺"}}]},{Title:"斐波那契",AryChart:[{Title:'斐波那契周期线',ClassName:'hqchart_drawtool icon-feibonaqizhouqixian',Type:0,Data:{ID:"斐波那契周期线"}},{Title:'斐波那契楔形',ClassName:'hqchart_drawtool icon-feibonaqiqixing',Type:0,Data:{ID:"FibWedge"}},{Title:'斐波那契回撤',ClassName:'hqchart_drawtool icon-feibonaqihuiche',Type:0,Data:{ID:"FibRetracement"}},{Title:'斐波那契速度阻力扇',ClassName:'hqchart_drawtool icon-feibonaqisuduzulishan',Type:0,Data:{ID:"FibSpeedResistanceFan"}}]},{Title:"测量工具",AryChart:[{Title:'价格范围',ClassName:'hqchart_drawtool icon-shijianfanwei',Type:0,Data:{ID:"PriceRange"}},{Title:'时间范围',ClassName:'hqchart_drawtool icon-jiagefanwei',Type:0,Data:{ID:"DateRange"}},{Title:"价格和时间范围",ClassName:"hqchart_drawtool icon-jiagefanwei",Type:0,Data:{ID:"DatePriceRange"}},{Title:"监测线",ClassName:"hqchart_drawtool icon-jiance",Type:0,Data:{ID:"MonitorLine"}},{Title:"固定范围成交量分布图",ClassName:"hqchart_drawtool icon-tubiao_gudingfanweichengjiaoliangfenbutu",Type:0,Data:{ID:"固定范围成交量分布图"}}]},{Title:"文字",AryChart:[{Title:"文字",ClassName:'hqchart_drawtool icon-draw_text',Type:0,Data:{ID:"文本"}},{Title:"锚点文字",ClassName:'hqchart_drawtool icon-maodianwenzi',Type:0,Data:{ID:"AnchoredText"}},{Title:"注释",ClassName:'hqchart_drawtool icon-maodian ',Type:0,Data:{ID:"Note"}},{Title:'价格标签',ClassName:'hqchart_drawtool icon-Tooltip',Type:0,Data:{ID:"PriceLabel"}},{Title:'价格注释',ClassName:'hqchart_drawtool icon-tooltiptext',Type:0,Data:{ID:"PriceNote"}},{Title:'向上箭头',ClassName:'iconfont icon-arrow_up',Type:0,Data:{ID:"icon-arrow_up"}},{Title:'向下箭头',ClassName:'iconfont icon-arrow_down',Type:0,Data:{ID:"icon-arrow_down"}},{Title:'向左箭头',ClassName:'iconfont icon-arrow_left',Type:0,Data:{ID:"icon-arrow_left"}},{Title:'向右箭头',ClassName:'iconfont icon-arrow_right',Type:0,Data:{ID:"icon-arrow_right"}}]}];this.ToolConfig={Title:"工具",AryTool:[{Title:"选中",ClassName:'hqchart_drawtool icon-arrow',Type:1,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_SELECTED_ID}},{Title:"跨周期",ClassName:'hqchart_drawtool icon-kuazhouqi',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CROSS_PERIOD_ID}},{Title:'尺子',ClassName:'hqchart_drawtool icon-ruler',Type:0,Data:{ID:"尺子"}},{Title:"磁铁",ClassName:'hqchart_drawtool icon-xifu',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ENABLE_MAGNET_ID}},{Title:"点击切换颜色",ClassName:'hqchart_drawtool icon-fangkuai',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID}},{Title:"擦除画线",ClassName:'hqchart_drawtool icon-a-xiangpicachuxiangpica',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ERASE_DRAW_CHART_ID}},{Title:"删除所有画线",ClassName:'hqchart_drawtool icon-recycle_bin',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_DELETE_ALL_DRAW_CHART_ID}}]};this.DivDialog=null;this.AryDivChart=[];this.HQChart=null;this.LineColor='rgb(255,140,0)';this.LineWidth=1*GetDevicePixelRatio();this.ColumnCount=5;this.DragTitle=null;this.RestoreFocusDelay=800;this.Inital=function(hqchart){this.LineColor=g_JSChartResource.DrawPicture.LineColor[0];this.HQChart=hqchart;};this.Create=function(){var
|
|
15416
|
-
this.CreateToolGroup(tbody);this.DivDialog=divDom;document.body.appendChild(divDom);};this.Destroy=function(){this.AryDivChart=[];if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);}this.DivDialog=null;};this.CreateChartGroupItem=function(groupItem,tbody){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Group_Tr';tbody.appendChild(trDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_DrawTool_Group_Td";tdDom.innerText=groupItem.Title;tdDom.colSpan=this.ColumnCount;trDom.appendChild(tdDom);var chartCount=groupItem.AryChart.length;for(var i=0,j=0;i<chartCount;){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Tr';for(j=0;j<this.ColumnCount&&i<chartCount;++j,++i){var item=groupItem.AryChart[i];this.CreateChartItem(item,trDom);}tbody.appendChild(trDom);}};this.CreateChartItem=function(item,trDom){var
|
|
15449
|
+
};function JSDialogDrawTool(){this.AryChartGroup=[{Title:"线段",AryChart:[{Title:'线段',ClassName:'hqchart_drawtool icon-draw_line',Type:0,Data:{ID:"线段"}},{Title:'线段信息',ClassName:'hqchart_drawtool icon-infoline',Type:0,Data:{ID:"InfoLine"}},{Title:'射线',ClassName:'hqchart_drawtool icon-draw_rays',Type:0,Data:{ID:"射线"}},{Title:"趋势线角度",ClassName:"hqchart_drawtool icon-qushixianjiaodu",Type:0,Data:{ID:"TrendAngle"}},{Title:'标价线',ClassName:'hqchart_drawtool icon-price_line',Type:0,Data:{ID:"标价线"}},{Title:'垂直线',ClassName:'hqchart_drawtool icon-vertical_line',Type:0,Data:{ID:"垂直线"}},{Title:'十字线',ClassName:'hqchart_drawtool icon-tubiao_shizixian',Type:0,Data:{ID:"十字线"}},{Title:'箭头',ClassName:'hqchart_drawtool icon-bottom-arrow-solid',Type:0,Data:{ID:"箭头"}},{Title:'大箭头',ClassName:'hqchart_drawtool icon-big_arrow',Type:0,Data:{ID:"ArrowMarker"}},{Title:'趋势线',ClassName:'hqchart_drawtool icon-draw_trendline',Type:0,Data:{ID:"趋势线"}},{Title:'水平线',ClassName:'hqchart_drawtool icon-draw_hline',Type:0,Data:{ID:"水平线"}},{Title:'水平射线',ClassName:'hqchart_drawtool icon-tubiao_shuipingshexian',Type:0,Data:{ID:"水平射线"}},{Title:'涂鸦线段',ClassName:'hqchart_drawtool icon-draw_line',Type:0,Data:{ID:"涂鸦线段"}},{Title:'阻速线',ClassName:'hqchart_drawtool icon-draw_resline',Type:0,Data:{ID:"阻速线"}},{Title:'通达信阻速线',ClassName:'hqchart_drawtool icon-draw_resline',Type:0,Data:{ID:"阻速线2"}},{Title:'江恩角度线',ClassName:'hqchart_drawtool icon-jiangenjiaoduxian',Type:0,Data:{ID:"江恩角度线"}},{Title:'通达信江恩角度线',ClassName:'hqchart_drawtool icon-jiangenjiaoduxian',Type:0,Data:{ID:"江恩角度线2"}}]},{Title:"通道",AryChart:[{Title:'平行线',ClassName:'hqchart_drawtool icon-draw_parallel_lines',Type:0,Data:{ID:"平行线"}},{Title:'水平线段',ClassName:'hqchart_drawtool icon-draw_hlinesegment',Type:0,Data:{ID:"水平线段"}},{Title:'平行射线',ClassName:'hqchart_drawtool icon-draw_p_rays_lines',Type:0,Data:{ID:"平行射线"}},{Title:'平行通道',ClassName:'hqchart_drawtool icon-draw_parallelchannel',Type:0,Data:{ID:"平行通道"}},{Title:'价格通道线',ClassName:'hqchart_drawtool icon-draw_pricechannel',Type:0,Data:{ID:"价格通道线"}},{Title:'箱型线',ClassName:'hqchart_drawtool icon-draw_box',Type:0,Data:{ID:"箱型线"}},{Title:"不相交通道",ClassName:"hqchart_drawtool icon-buxiangjiaojiao",Type:0,Data:{ID:"DisjointChannel"}},{Title:"平滑顶/底",ClassName:"hqchart_drawtool icon-tubiao_buxiangjiaotongdao",Type:0,Data:{ID:"FlatTop"}},{Title:"波段线",ClassName:'hqchart_drawtool icon-draw_waveband',Type:0,Data:{ID:"波段线"}},{Title:"百分比线",ClassName:'hqchart_drawtool icon-PercentageLine',Type:0,Data:{ID:"百分比线"}},{Title:"黄金分割",ClassName:'hqchart_drawtool icon-GoldenSection',Type:0,Data:{ID:"黄金分割"}},{Title:"线形回归线",ClassName:'hqchart_drawtool icon-linear_3',Type:0,Data:{ID:"线形回归线"}},{Title:"线形回归带",ClassName:'hqchart_drawtool icon-linear_1',Type:0,Data:{ID:"线形回归带"}},{Title:"延长线形回归带",ClassName:'hqchart_drawtool icon-linear_2',Type:0,Data:{ID:"延长线形回归带"}},{Title:"Long Position",ClassName:'hqchart_drawtool icon-chart-long-position',Type:0,Data:{ID:"TVLongPosition"}},{Title:"Short Position",ClassName:'hqchart_drawtool icon-chart-short-position',Type:0,Data:{ID:"TVShortPosition"}}]},{Title:"形状",AryChart:[{Title:'圆弧线',ClassName:'hqchart_drawtool icon-draw_arc',Type:0,Data:{ID:"圆弧线"}},{Title:'矩形',ClassName:'hqchart_drawtool icon-rectangle',Type:0,Data:{ID:"矩形"}},{Title:'平行四边形',ClassName:'hqchart_drawtool icon-draw_quadrangle',Type:0,Data:{ID:"平行四边形"}},{Title:'三角形',ClassName:'hqchart_drawtool icon-draw_triangle',Type:0,Data:{ID:"三角形"}},{Title:'圆',ClassName:'hqchart_drawtool icon-draw_circle',Type:0,Data:{ID:"圆"}},{Title:'对称角度',ClassName:'hqchart_drawtool icon-draw_symangle',Type:0,Data:{ID:"对称角度"}}]},{Title:"波浪线",AryChart:[{Title:'M头W底',ClassName:'hqchart_drawtool icon-draw_wavemw',Type:0,Data:{ID:"M头W底"}},{Title:'头肩型',ClassName:'hqchart_drawtool icon-draw_head_shoulders_bt',Type:0,Data:{ID:"头肩型"}},{Title:'波浪尺',ClassName:'hqchart_drawtool icon-waveruler',Type:0,Data:{ID:"波浪尺"}},{Title:'AB波浪尺',ClassName:'hqchart_drawtool icon-waveruler',Type:0,Data:{ID:"AB波浪尺"}}]},{Title:"斐波那契",AryChart:[{Title:'斐波那契周期线',ClassName:'hqchart_drawtool icon-feibonaqizhouqixian',Type:0,Data:{ID:"斐波那契周期线"}},{Title:'斐波那契楔形',ClassName:'hqchart_drawtool icon-feibonaqiqixing',Type:0,Data:{ID:"FibWedge"}},{Title:'斐波那契回撤',ClassName:'hqchart_drawtool icon-feibonaqihuiche',Type:0,Data:{ID:"FibRetracement"}},{Title:'斐波那契速度阻力扇',ClassName:'hqchart_drawtool icon-feibonaqisuduzulishan',Type:0,Data:{ID:"FibSpeedResistanceFan"}}]},{Title:"测量工具",AryChart:[{Title:'价格范围',ClassName:'hqchart_drawtool icon-shijianfanwei',Type:0,Data:{ID:"PriceRange"}},{Title:'时间范围',ClassName:'hqchart_drawtool icon-jiagefanwei',Type:0,Data:{ID:"DateRange"}},{Title:"价格和时间范围",ClassName:"hqchart_drawtool icon-jiagefanwei",Type:0,Data:{ID:"DatePriceRange"}},{Title:"监测线",ClassName:"hqchart_drawtool icon-jiance",Type:0,Data:{ID:"MonitorLine"}},{Title:"固定范围成交量分布图",ClassName:"hqchart_drawtool icon-tubiao_gudingfanweichengjiaoliangfenbutu",Type:0,Data:{ID:"固定范围成交量分布图"}}]},{Title:"文字",AryChart:[{Title:"文字",ClassName:'hqchart_drawtool icon-draw_text',Type:0,Data:{ID:"文本"}},{Title:"锚点文字",ClassName:'hqchart_drawtool icon-maodianwenzi',Type:0,Data:{ID:"AnchoredText"}},{Title:"注释",ClassName:'hqchart_drawtool icon-maodian ',Type:0,Data:{ID:"Note"}},{Title:'价格标签',ClassName:'hqchart_drawtool icon-Tooltip',Type:0,Data:{ID:"PriceLabel"}},{Title:'价格注释',ClassName:'hqchart_drawtool icon-tooltiptext',Type:0,Data:{ID:"PriceNote"}},{Title:'向上箭头',ClassName:'iconfont icon-arrow_up',Type:0,Data:{ID:"icon-arrow_up"}},{Title:'向下箭头',ClassName:'iconfont icon-arrow_down',Type:0,Data:{ID:"icon-arrow_down"}},{Title:'向左箭头',ClassName:'iconfont icon-arrow_left',Type:0,Data:{ID:"icon-arrow_left"}},{Title:'向右箭头',ClassName:'iconfont icon-arrow_right',Type:0,Data:{ID:"icon-arrow_right"}}]}];this.ToolConfig={Title:"工具",AryTool:[{Title:"选中",ClassName:'hqchart_drawtool icon-arrow',Type:1,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_SELECTED_ID}},{Title:"跨周期",ClassName:'hqchart_drawtool icon-kuazhouqi',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CROSS_PERIOD_ID}},{Title:'尺子',ClassName:'hqchart_drawtool icon-ruler',Type:0,Data:{ID:"尺子"}},{Title:"磁铁",ClassName:'hqchart_drawtool icon-xifu',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ENABLE_MAGNET_ID}},{Title:"点击切换颜色",ClassName:'hqchart_drawtool icon-fangkuai',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID}},{Title:"擦除画线",ClassName:'hqchart_drawtool icon-a-xiangpicachuxiangpica',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ERASE_DRAW_CHART_ID}},{Title:"删除所有画线",ClassName:'hqchart_drawtool icon-recycle_bin',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_DELETE_ALL_DRAW_CHART_ID}}]};this.DivDialog=null;this.AryDivChart=[];this.HQChart=null;this.LineColor='rgb(255,140,0)';this.LineWidth=1*GetDevicePixelRatio();this.ColumnCount=5;this.DragTitle=null;this.RestoreFocusDelay=800;this.Inital=function(hqchart){this.LineColor=g_JSChartResource.DrawPicture.LineColor[0];this.HQChart=hqchart;};this.Create=function(){var _this91=this;var divDom=document.createElement("div");divDom.className='UMyChart_DrawTool_Dialog_Div';var divTitle=document.createElement("div");divTitle.className='UMyChart_DrawTool_Title_Div';divTitle.innerText="画图工具";divTitle.onmousedown=function(e){_this91.OnMouseDownTitle(e);};var divClose=document.createElement("div");divClose.className='UMyChart_DrawTool_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this91.Close(e);};divTitle.appendChild(divClose);divDom.appendChild(divTitle);var table=document.createElement("table");table.className="UMyChart_DrawTool_Table";divDom.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_DrawTool_Tbody";table.appendChild(tbody);for(var i=0;i<this.AryChartGroup.length;++i){var item=this.AryChartGroup[i];if(!IFrameSplitOperator.IsNonEmptyArray(item.AryChart))continue;this.CreateChartGroupItem(item,tbody);var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Group_End_Tr';tbody.appendChild(trDom);}//工具栏
|
|
15450
|
+
this.CreateToolGroup(tbody);this.DivDialog=divDom;document.body.appendChild(divDom);};this.Destroy=function(){this.AryDivChart=[];if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);}this.DivDialog=null;};this.CreateChartGroupItem=function(groupItem,tbody){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Group_Tr';tbody.appendChild(trDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_DrawTool_Group_Td";tdDom.innerText=groupItem.Title;tdDom.colSpan=this.ColumnCount;trDom.appendChild(tdDom);var chartCount=groupItem.AryChart.length;for(var i=0,j=0;i<chartCount;){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Tr';for(j=0;j<this.ColumnCount&&i<chartCount;++j,++i){var item=groupItem.AryChart[i];this.CreateChartItem(item,trDom);}tbody.appendChild(trDom);}};this.CreateChartItem=function(item,trDom){var _this92=this;var tdDom=document.createElement("td");tdDom.className="UMyChart_DrawTool_Td";tdDom.title=item.Title;trDom.appendChild(tdDom);var spanDom=document.createElement("span");spanDom.className=item.ClassName;spanDom.classList.add("UMyChart_DrawTool_Span");tdDom.appendChild(spanDom);var data={Item:item,TD:tdDom,Span:spanDom};tdDom.onmousedown=function(e){_this92.OnClickItem(e,data);};//点击
|
|
15417
15451
|
this.AryDivChart.push(data);};this.OnClickItem=function(e,data){console.log('[JSDialogDrawTool::OnClickChartItem] ',data);if(!data.Item||!data.Item.Data)return;var type=data.Item.Type;var id=data.Item.Data.ID;if(type==2&&id==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID){this.OnChangeLineColor(data);}else if(type==2&&id==JS_DRAWTOOL_MENU_ID.CMD_DELETE_ALL_DRAW_CHART_ID){this.DeleteAllChart();}else if(type==2&&id==JS_DRAWTOOL_MENU_ID.CMD_ERASE_DRAW_CHART_ID){this.ClearAllSelectedChart();this.ClearCurrnetDrawPicture();this.EnableEraseChart(true);}else if(type==1&&id==JS_DRAWTOOL_MENU_ID.CMD_SELECTED_ID){this.ClearAllSelectedChart();this.ClearCurrnetDrawPicture();this.EnableEraseChart(false);}else if(type==2&&id==JS_DRAWTOOL_MENU_ID.CMD_CROSS_PERIOD_ID){this.EnableCrossPeriod(data);}else if(type==2&&id==JS_DRAWTOOL_MENU_ID.CMD_ENABLE_MAGNET_ID){this.ChangeMagnet(data);}else if(type==0){this.ClearAllSelectedChart();this.EnableEraseChart(false);data.Span.classList.remove("UMyChart_DrawTool_Span");data.Span.classList.add("UMyChart_DrawTool_Span_Selected");this.CreateDrawPicture(data);}};//清空选中状态
|
|
15418
|
-
this.ClearAllSelectedChart=function(){for(var i=0;i<this.AryDivChart.length;++i){var item=this.AryDivChart[i];if(item.Item.Type==2)continue;item.Span.classList.remove("UMyChart_DrawTool_Span_Selected");item.Span.classList.add("UMyChart_DrawTool_Span");}};this.EnableCrossPeriod=function(data){if(!this.HQChart)return;if(!this.HQChart.ChartDrawStorage)return;this.HQChart.ChartDrawStorage.EnableCrossPeriod=!this.HQChart.ChartDrawStorage.EnableCrossPeriod;var enable=this.HQChart.ChartDrawStorage.EnableCrossPeriod;if(enable){data.Span.classList.remove("UMyChart_DrawTool_Span");data.Span.classList.add("UMyChart_DrawTool_Span_Selected");}else{data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");}};this.CreateToolGroup=function(tbody){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Group_Tr';tbody.appendChild(trDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_DrawTool_Group_Td";tdDom.innerText=this.ToolConfig.Title;tdDom.colSpan=this.ColumnCount;trDom.appendChild(tdDom);var chartCount=this.ToolConfig.AryTool.length;for(var i=0,j=0;i<chartCount;){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Tr';for(j=0;j<this.ColumnCount&&i<chartCount;++j,++i){var item=this.ToolConfig.AryTool[i];this.CreateToolItem(item,trDom);}tbody.appendChild(trDom);}};this.CreateToolItem=function(item,trDom){var
|
|
15419
|
-
{spanDom.style['color']=this.LineColor;var inputColor=document.createElement("input");inputColor.setAttribute("type","color");inputColor.setAttribute("value",IChartDrawPicture.RGBToHex(this.LineColor));inputColor.className="UMyChart_DrawTool_Input_Color";inputColor.oninput=function(e){
|
|
15452
|
+
this.ClearAllSelectedChart=function(){for(var i=0;i<this.AryDivChart.length;++i){var item=this.AryDivChart[i];if(item.Item.Type==2)continue;item.Span.classList.remove("UMyChart_DrawTool_Span_Selected");item.Span.classList.add("UMyChart_DrawTool_Span");}};this.EnableCrossPeriod=function(data){if(!this.HQChart)return;if(!this.HQChart.ChartDrawStorage)return;this.HQChart.ChartDrawStorage.EnableCrossPeriod=!this.HQChart.ChartDrawStorage.EnableCrossPeriod;var enable=this.HQChart.ChartDrawStorage.EnableCrossPeriod;if(enable){data.Span.classList.remove("UMyChart_DrawTool_Span");data.Span.classList.add("UMyChart_DrawTool_Span_Selected");}else{data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");}};this.CreateToolGroup=function(tbody){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Group_Tr';tbody.appendChild(trDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_DrawTool_Group_Td";tdDom.innerText=this.ToolConfig.Title;tdDom.colSpan=this.ColumnCount;trDom.appendChild(tdDom);var chartCount=this.ToolConfig.AryTool.length;for(var i=0,j=0;i<chartCount;){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Tr';for(j=0;j<this.ColumnCount&&i<chartCount;++j,++i){var item=this.ToolConfig.AryTool[i];this.CreateToolItem(item,trDom);}tbody.appendChild(trDom);}};this.CreateToolItem=function(item,trDom){var _this93=this;var tdDom=document.createElement("td");tdDom.className="UMyChart_DrawTool_Td";tdDom.title=item.Title;trDom.appendChild(tdDom);var spanDom=document.createElement("span");spanDom.className=item.ClassName;spanDom.classList.add("UMyChart_DrawTool_Span");tdDom.appendChild(spanDom);var data={Item:item,TD:tdDom,Span:spanDom};if(item.Type==2&&item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID)//颜色
|
|
15453
|
+
{spanDom.style['color']=this.LineColor;var inputColor=document.createElement("input");inputColor.setAttribute("type","color");inputColor.setAttribute("value",IChartDrawPicture.RGBToHex(this.LineColor));inputColor.className="UMyChart_DrawTool_Input_Color";inputColor.oninput=function(e){_this93.OnChangeColor(e,data);};tdDom.appendChild(inputColor);data.InputColor=inputColor;}else if(item.Type==2&&item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CROSS_PERIOD_ID){if(this.HQChart&&this.HQChart.ChartDrawStorage&&this.HQChart.ChartDrawStorage.EnableCrossPeriod){data.Span.classList.remove("UMyChart_DrawTool_Span");data.Span.classList.add("UMyChart_DrawTool_Span_Selected");}}tdDom.onmousedown=function(e){_this93.OnClickItem(e,data);};//点击
|
|
15420
15454
|
this.AryDivChart.push(data);};this.OnChangeColor=function(e,data){var color=data.InputColor.value;color=IChartDrawPicture.HexToRGB(color);this.LineColor=color;data.Span.style['color']=this.LineColor;};this.OnChangeLineColor=function(data){data.InputColor.setAttribute("value",IChartDrawPicture.RGBToHex(this.LineColor));data.InputColor.click();//显示选色器
|
|
15421
15455
|
};//清空所有画图工具
|
|
15422
|
-
this.DeleteAllChart=function(){if(!this.HQChart)return;this.HQChart.ClearChartDrawPicture();};this.SetEraseChartButtonStatus=function(enable){for(var i=0;i<this.AryDivChart.length;++i){var item=this.AryDivChart[i];if(item.Item.Type==2&&item.Item.Data&&item.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_ERASE_DRAW_CHART_ID){if(enable){if(item.Span.classList.contains("UMyChart_DrawTool_Span")){item.Span.classList.replace("UMyChart_DrawTool_Span","UMyChart_DrawTool_Span_Selected");}}else{if(item.Span.classList.contains("UMyChart_DrawTool_Span_Selected")){item.Span.classList.replace("UMyChart_DrawTool_Span_Selected","UMyChart_DrawTool_Span");}}break;}}};this.EnableEraseChart=function(enable){if(!this.HQChart)return;if(this.HQChart.EnableEraseChartDrawPicture==enable)return;this.HQChart.EnableEraseChartDrawPicture=enable;this.SetEraseChartButtonStatus(enable);};this.ChangeMagnet=function(data){if(!this.HQChart)return;var enable=true;if(this.HQChart.ChartDrawOption.Magnet){var item=this.HQChart.ChartDrawOption.Magnet;var enable=!item.Enable;}if(enable){this.HQChart.SetChartDrawOption({Magnet:{Enable:enable,Type:0}});data.Span.classList.remove("UMyChart_DrawTool_Span");data.Span.classList.add("UMyChart_DrawTool_Span_Selected");}else{this.HQChart.SetChartDrawOption({Magnet:{Enable:false}});data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");}};this.CreateDrawPicture=function(data){var
|
|
15456
|
+
this.DeleteAllChart=function(){if(!this.HQChart)return;this.HQChart.ClearChartDrawPicture();};this.SetEraseChartButtonStatus=function(enable){for(var i=0;i<this.AryDivChart.length;++i){var item=this.AryDivChart[i];if(item.Item.Type==2&&item.Item.Data&&item.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_ERASE_DRAW_CHART_ID){if(enable){if(item.Span.classList.contains("UMyChart_DrawTool_Span")){item.Span.classList.replace("UMyChart_DrawTool_Span","UMyChart_DrawTool_Span_Selected");}}else{if(item.Span.classList.contains("UMyChart_DrawTool_Span_Selected")){item.Span.classList.replace("UMyChart_DrawTool_Span_Selected","UMyChart_DrawTool_Span");}}break;}}};this.EnableEraseChart=function(enable){if(!this.HQChart)return;if(this.HQChart.EnableEraseChartDrawPicture==enable)return;this.HQChart.EnableEraseChartDrawPicture=enable;this.SetEraseChartButtonStatus(enable);};this.ChangeMagnet=function(data){if(!this.HQChart)return;var enable=true;if(this.HQChart.ChartDrawOption.Magnet){var item=this.HQChart.ChartDrawOption.Magnet;var enable=!item.Enable;}if(enable){this.HQChart.SetChartDrawOption({Magnet:{Enable:enable,Type:0}});data.Span.classList.remove("UMyChart_DrawTool_Span");data.Span.classList.add("UMyChart_DrawTool_Span_Selected");}else{this.HQChart.SetChartDrawOption({Magnet:{Enable:false}});data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");}};this.CreateDrawPicture=function(data){var _this94=this;if(!this.HQChart)return null;var option={LineColor:this.LineColor,//线段颜色
|
|
15423
15457
|
LineWidth:this.LineWidth,//线段宽度
|
|
15424
15458
|
PointColor:this.LineColor//点颜色
|
|
15425
|
-
};var name=data.Item.Data.ID;if(["icon-arrow_up","icon-arrow_down","icon-arrow_left","icon-arrow_right"].includes(name))option=null;else if(name=="InfoLine")option.FormatLabelTextCallback=function(lableInfo){
|
|
15426
|
-
this.OnFinishDrawPicture=function(chart,data){data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");};this.Show=function(x,y){if(!this.DivDialog)return;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Close=function(e){if(!this.DivDialog)return;if(!this.IsShow())return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.OnMouseDownTitle=function(e){var
|
|
15459
|
+
};var name=data.Item.Data.ID;if(["icon-arrow_up","icon-arrow_down","icon-arrow_left","icon-arrow_right"].includes(name))option=null;else if(name=="InfoLine")option.FormatLabelTextCallback=function(lableInfo){_this94.ChartInfoLine_FormatLabelText(lableInfo);};else if(name=="MonitorLine")option.FormatLabelTextCallback=function(lableInfo){_this94.ChartDrawMonitorLine_FormatLabelText(lableInfo);};this.HQChart.CreateChartDrawPicture(name,option,function(chart){_this94.OnFinishDrawPicture(chart,data);});};this.ClearCurrnetDrawPicture=function(){if(this.HQChart)this.HQChart.ClearCurrnetDrawPicture();};//画图工具绘制完成
|
|
15460
|
+
this.OnFinishDrawPicture=function(chart,data){data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");};this.Show=function(x,y){if(!this.DivDialog)return;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Close=function(e){if(!this.DivDialog)return;if(!this.IsShow())return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.OnMouseDownTitle=function(e){var _this95=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this95.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this95.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};this.ChartInfoLine_FormatLabelText=function(labelInfo){if(!IFrameSplitOperator.IsNonEmptyArray(labelInfo.AryValue))return;if(!labelInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(labelInfo.Data.Data))return;for(var i=0;i<labelInfo.AryValue.length;++i){var item=labelInfo.AryValue[i];if(!IFrameSplitOperator.IsNumber(item.XValue)||item.XValue<0)return;}var startIndex=labelInfo.AryValue[0].XValue;var endIndex=labelInfo.AryValue[1].XValue;var startItem=labelInfo.Data.Data[startIndex];var endItem=labelInfo.Data.Data[endIndex];if(!startItem||!endItem)return;var isMinutePeriod=ChartData.IsMinutePeriod(labelInfo.Data.Period,true);labelInfo.AryText=[];labelInfo.AryText.push({Name:"起始日期: ",Text:IFrameSplitOperator.FormatDateString(startItem.Date),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"起始时间: ",Text:IFrameSplitOperator.FormatTimeString(startItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});labelInfo.AryText.push({Name:"结束日期: ",Text:IFrameSplitOperator.FormatDateString(endItem.Date),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"结束时间: ",Text:IFrameSplitOperator.FormatTimeString(endItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});//示例:计算一个斜率数据
|
|
15427
15461
|
var x=labelInfo.AryPoint[1].X-labelInfo.AryPoint[0].X;var y=labelInfo.AryPoint[1].Y-labelInfo.AryPoint[0].Y;var text="--";if(x!=0)text=''+(y/x).toFixed(4);labelInfo.AryText.push({Name:"斜率: ",Text:text,NameColor:"rgb(0,0,0)",TextColor:"rgb(238, 0, 238)"});labelInfo.AryText.push({Name:"其他: ",Text:'......',NameColor:"rgb(0,0,0)",TextColor:"rgb(156, 156, 156)"});};this.ChartDrawMonitorLine_FormatLabelText=function(labelInfo){if(!labelInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(labelInfo.Data.Data))return;if(!IFrameSplitOperator.IsNumber(labelInfo.StartIndex)||labelInfo.StartIndex<0)return;var startItem=labelInfo.Data.Data[labelInfo.StartIndex];var endItem=labelInfo.Data.Data[labelInfo.Data.Data.length-1];labelInfo.YValue=endItem.Close;var isMinutePeriod=ChartData.IsMinutePeriod(labelInfo.Data.Period,true);labelInfo.AryText=[];labelInfo.AryText.push({Name:"起始: ",Text:IFrameSplitOperator.FormatDateString(startItem.Date,"MM-DD"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"起始: ",Text:IFrameSplitOperator.FormatTimeString(startItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});labelInfo.AryText.push({Name:"最新: ",Text:IFrameSplitOperator.FormatDateString(endItem.Date,"MM-DD"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"最新: ",Text:IFrameSplitOperator.FormatTimeString(endItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});labelInfo.AryText.push({Name:"ɑ: ",Text:"--.--",NameColor:"rgb(0, 0 ,255)",TextColor:"rgb(255, 165, 0)"});labelInfo.AryText.push({Name:"β: ",Text:"--.--",NameColor:"rgb(0 ,0 ,255)",TextColor:"rgb(238 ,121, 66)"});};}/////////////////////////////////////////////////////////////////////////////////////
|
|
15428
15462
|
// 修改画图工具
|
|
15429
15463
|
//
|
|
15430
15464
|
//
|
|
15431
15465
|
////////////////////////////////////////////////////////////////////////////////////
|
|
15432
15466
|
function JSDialogModifyDraw(){this.DivDialog=null;this.HQChart;this.ChartPicture;//按钮
|
|
15433
|
-
this.ColorButton=null;this.BGColorButton=null;this.FontColorButton=null;this.BorderColorButton=null;this.LockButton=null;this.FontZoomButton=null;this.FontZoomOutButton=null;this.ModifyTextButton=null;this.AdvancedButton=null;this.AryButton=[{Title:"修改图形颜色",ClassName:'hqchart_drawtool icon-Vector UMyChart_Draw_Modify_Dialog_Button_Color_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID}},{Title:"修改字体颜色",ClassName:'hqchart_drawtool icon-zitiyanse1 UMyChart_Draw_Modify_Dialog_Button_Color_Span ',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_FONT_COLOR_ID}},{Title:"修改背景颜色",ClassName:'hqchart_drawtool icon-zitibeijingse UMyChart_Draw_Modify_Dialog_Button_Color_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BG_COLOR_ID}},{Title:"修改边框颜色",ClassName:'hqchart_drawtool icon-biankuang UMyChart_Draw_Modify_Dialog_Button_Color_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BORDER_COLOR_ID}},{Title:"字体放大",ClassName:'hqchart_drawtool icon-zoomin UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ZOOM_FONT_ID}},{Title:"字体缩小",ClassName:'hqchart_drawtool icon-zoomout UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ZOOM_OUT_FONT_ID}},{Title:"随机生成文字内容",ClassName:'hqchart_drawtool icon-bianji UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_MODIFY_TEXT_ID}},{Title:"高级设置",ClassName:'hqchart_drawtool icon-setting UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ADVANCED_SETTING_ID}},{Title:"上锁",ClassName:'hqchart_drawtool icon-lock',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_LOCK_DRAW_CHART_ID}},{Title:"删除图形",ClassName:'hqchart_drawtool icon-recycle_bin UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_DELETE_DRAW_CHART_ID}}];this.RestoreFocusDelay=800;this.Inital=function(hqchart){this.HQChart=hqchart;};this.Destroy=function(){this.ChartPicture=null;this.ColorButton=null;if(this.DivDialog){document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.Create=function(){var
|
|
15434
|
-
divItem.appendChild(spanDom);var data={Div:divItem,Span:spanDom,Parent:parentDivDom,Item:item,Tooltip:spanTooltip};divItem.onmousedown=function(e){
|
|
15435
|
-
divItem.onmouseover=function(e){
|
|
15467
|
+
this.ColorButton=null;this.BGColorButton=null;this.FontColorButton=null;this.BorderColorButton=null;this.LockButton=null;this.FontZoomButton=null;this.FontZoomOutButton=null;this.ModifyTextButton=null;this.AdvancedButton=null;this.AryButton=[{Title:"修改图形颜色",ClassName:'hqchart_drawtool icon-Vector UMyChart_Draw_Modify_Dialog_Button_Color_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID}},{Title:"修改字体颜色",ClassName:'hqchart_drawtool icon-zitiyanse1 UMyChart_Draw_Modify_Dialog_Button_Color_Span ',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_FONT_COLOR_ID}},{Title:"修改背景颜色",ClassName:'hqchart_drawtool icon-zitibeijingse UMyChart_Draw_Modify_Dialog_Button_Color_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BG_COLOR_ID}},{Title:"修改边框颜色",ClassName:'hqchart_drawtool icon-biankuang UMyChart_Draw_Modify_Dialog_Button_Color_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BORDER_COLOR_ID}},{Title:"字体放大",ClassName:'hqchart_drawtool icon-zoomin UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ZOOM_FONT_ID}},{Title:"字体缩小",ClassName:'hqchart_drawtool icon-zoomout UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ZOOM_OUT_FONT_ID}},{Title:"随机生成文字内容",ClassName:'hqchart_drawtool icon-bianji UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_MODIFY_TEXT_ID}},{Title:"高级设置",ClassName:'hqchart_drawtool icon-setting UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ADVANCED_SETTING_ID}},{Title:"上锁",ClassName:'hqchart_drawtool icon-lock',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_LOCK_DRAW_CHART_ID}},{Title:"删除图形",ClassName:'hqchart_drawtool icon-recycle_bin UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_DELETE_DRAW_CHART_ID}}];this.RestoreFocusDelay=800;this.Inital=function(hqchart){this.HQChart=hqchart;};this.Destroy=function(){this.ChartPicture=null;this.ColorButton=null;if(this.DivDialog){document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.Create=function(){var _this96=this;var divDom=document.createElement("div");divDom.className='UMyChart_Draw_Modify_Dialog_Div';var drgDiv=document.createElement("div");drgDiv.className="UMyChart_Draw_Modify_Dialog_Drag_Div";drgDiv.onmousedown=function(e){_this96.OnMouseDownTitle(e);};divDom.appendChild(drgDiv);var spanDom=document.createElement("span");spanDom.className="hqchart_drawtool icon-tuodong";spanDom.classList.add("UMyChart_Draw_Modify_Dialog_Drag_Span");drgDiv.appendChild(spanDom);for(var i=0;i<this.AryButton.length;++i){var item=this.AryButton[i];this.CreateButtonItem(item,divDom);}this.DivDialog=divDom;document.body.appendChild(divDom);};this.CreateButtonItem=function(item,parentDivDom){var _this97=this;var divItem=document.createElement("div");divItem.className="UMyChart_Draw_Modify_Dialog_Button_Div";var spanTooltip=document.createElement("span");spanTooltip.className="UMyChart_Draw_Modify_Tooltip";spanTooltip.innerText=item.Title;divItem.appendChild(spanTooltip);var spanDom=document.createElement("span");spanDom.className=item.ClassName;//spanDom.classList.add("UMyChart_Draw_Modify_Dialog_Button_Span");
|
|
15468
|
+
divItem.appendChild(spanDom);var data={Div:divItem,Span:spanDom,Parent:parentDivDom,Item:item,Tooltip:spanTooltip};divItem.onmousedown=function(e){_this97.OnClickButton(e,data);};//点击
|
|
15469
|
+
divItem.onmouseover=function(e){_this97.OnHoverButton(e,data);};divItem.onmouseout=function(e){_this97.OnLeaveButton(e,data);};switch(item.Data.ID){case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID:this.ColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BG_COLOR_ID:this.BGColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_FONT_COLOR_ID:this.FontColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BORDER_COLOR_ID:this.BorderColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_LOCK_DRAW_CHART_ID:this.LockButton=data;break;case JS_DRAWTOOL_MENU_ID.CMD_ZOOM_FONT_ID:this.FontZoomButton=data;divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_ZOOM_OUT_FONT_ID:this.FontZoomOutButton=data;divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_MODIFY_TEXT_ID:this.ModifyTextButton=data;divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_ADVANCED_SETTING_ID:this.AdvancedButton=data;divItem.style.display="none";break;}parentDivDom.appendChild(divItem);};this.CreateInputColor=function(data){var _this98=this;var inputColor=document.createElement("input");inputColor.setAttribute("type","color");inputColor.className="UMyChart_Draw_Modify_Input_Color";data.InputColor=inputColor;inputColor.oninput=function(e){_this98.OnChangeColor(e,data);};return inputColor;};//颜色块
|
|
15436
15470
|
this.CreateColorBar=function(data){var divColor=document.createElement("div");divColor.className="UMyChart_Draw_Modify_Dialog_Button_ColorBar_Div";data.DivColorBar=divColor;return divColor;};this.OnClickButton=function(e,data){console.log('[JSDialogModifyDraw::OnClickButton] ',data);if(!data.Item||!data.Item.Data)return;var id=data.Item.Data.ID;switch(id){case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID:this.ModifyLineColor(data);break;case JS_DRAWTOOL_MENU_ID.CMD_DELETE_DRAW_CHART_ID:this.DeleteDrawPicture();break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BG_COLOR_ID:this.ModifyBGColor(data);break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_FONT_COLOR_ID:this.ModifyFontColor(data);break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BORDER_COLOR_ID:this.ModifyBorderColor(data);break;case JS_DRAWTOOL_MENU_ID.CMD_LOCK_DRAW_CHART_ID:this.ModifyLockChart();break;case JS_DRAWTOOL_MENU_ID.CMD_ZOOM_FONT_ID:this.ModifyFontZoom(1);break;case JS_DRAWTOOL_MENU_ID.CMD_ZOOM_OUT_FONT_ID:this.ModifyFontZoom(-1);break;case JS_DRAWTOOL_MENU_ID.CMD_MODIFY_TEXT_ID:this.ModifyText();break;case JS_DRAWTOOL_MENU_ID.CMD_ADVANCED_SETTING_ID:this.AdvancedSetting();break;}};this.OnHoverButton=function(e,data){//var x=e.clientX;
|
|
15437
15471
|
//data.Tooltip.style.left=x+"px";
|
|
15438
15472
|
data.Tooltip.style.display="inline";};this.OnLeaveButton=function(e,data){data.Tooltip.style.display="none";};this.Close=function(e){if(!this.DivDialog)return;this.ChartPicture=null;if(!this.IsShow())return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.DeleteDrawPicture=function(){if(this.ChartPicture&&this.HQChart){this.HQChart.ClearChartDrawPicture(this.ChartPicture);}this.Close();};this.OnClearChartDrawPicture=function(drawPicture){if(!this.IsShow())return;if(!drawPicture){this.Close();return;}if(this.ChartPicture&&drawPicture.Guid==this.ChartPicture.Guid)this.Close();};this.ShowButton=function(dom,diaplay){if(dom.style.display==diaplay)return;dom.style.display=diaplay;};this.OnChangeColor=function(e,data){if(!this.ChartPicture||!this.HQChart)return;var color=data.InputColor.value;color=IChartDrawPicture.HexToRGB(color);if(data.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID){this.ChartPicture.LineColor=color;if(this.ColorButton)this.ColorButton.DivColorBar.style['background-color']=color;if(this.HQChart.ChartDrawStorage)this.HQChart.ChartDrawStorage.SaveDrawData(this.ChartPicture);//保存下
|
|
@@ -15442,7 +15476,7 @@ this.HQChart.Draw();}else if(data.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_B
|
|
|
15442
15476
|
this.HQChart.Draw();}};this.ShowColorPicker=function(data,defaultColor){if(!data.InputColor)return;data.InputColor.setAttribute("value",IChartDrawPicture.RGBToHex(defaultColor));data.InputColor.click();//显示选色器
|
|
15443
15477
|
};this.ModifyLineColor=function(data){if(!this.ChartPicture||!this.HQChart)return;var color=this.ChartPicture.LineColor;this.ShowColorPicker(data,color);};this.ModifyFontColor=function(data){if(!this.ChartPicture||!this.HQChart)return;var color=this.ChartPicture.TextColor;if(this.ChartPicture.ClassName=="ChartDrawNote")color=this.ChartPicture.NoteTextColor;this.ShowColorPicker(data,color);};this.ModifyBGColor=function(data){if(!this.ChartPicture||!this.HQChart)return;var color=this.ChartPicture.BGColor;if(this.ChartPicture.ClassName=="ChartDrawNote")color=this.ChartPicture.NoteBGColor;this.ShowColorPicker(data,color);};this.ModifyLockChart=function(){if(!this.ChartPicture||!this.HQChart)return;this.ChartPicture.EnableMove=!this.ChartPicture.EnableMove;return this.UpdateLockButtonStyle();};this.UpdateLockButtonStyle=function(){if(!this.LockButton)return;if(this.ChartPicture.EnableMove){this.LockButton.Span.classList.remove("UMyChart_Draw_Modify_Dialog_Button_Span");this.LockButton.Span.classList.add("UMyChart_Draw_Modify_Dialog_Unlock_Button_Span");}else{this.LockButton.Span.classList.remove("UMyChart_Draw_Modify_Dialog_Unlock_Button_Span");this.LockButton.Span.classList.add("UMyChart_Draw_Modify_Dialog_Button_Span");}};this.ModifyBorderColor=function(data){if(!this.ChartPicture||!this.HQChart)return;var color=this.ChartPicture.BorderColor;if(this.ChartPicture.ClassName=="ChartDrawNote")color=this.ChartPicture.NoteBorderColor;this.ShowColorPicker(data,color);};this.ModifyFontZoom=function(step){if(!this.ChartPicture||!this.HQChart)return;if(this.ChartPicture.FontOption.Size+step<=2)return;var chart=this.ChartPicture;chart.FontOption.Size+=step;if(chart.ClassName=="ChartDrawNote")chart.NoteFontOption.Size+=step;this.HQChart.Draw();};this.ModifyText=function(){if(!this.ChartPicture||!this.HQChart)return;var chart=this.ChartPicture;switch(chart.ClassName){case"ChartDrawPictureText":chart.Text=this.GetRandomText(chart.Text);break;case"ChartDrawAnchoredText":var text=null;if(IFrameSplitOperator.IsNonEmptyArray(chart.AryText))text=chart.AryText[0].Text;chart.AryText=[{Text:this.GetRandomText(text)},{Text:this.GetRandomText(null)}];break;case"ChartDrawNote":var text=null;if(IFrameSplitOperator.IsNonEmptyArray(chart.AryNoteText))text=chart.AryNoteText[0].Text;chart.AryNoteText=[{Text:this.GetRandomText(text)},{Text:this.GetRandomText(null)}];break;default:return;}this.HQChart.Draw();};this.AdvancedSetting=function(){};this.GetRandomText=function(text){var ARY_TEXT=["下跌形态","反转十字星","低位档五阳线","倒V型反转","双顶","持续整理形态"];var index=this.GetRandomTestData(0,ARY_TEXT.length-1);for(var i=index;i<10;++i){var value=ARY_TEXT[i%ARY_TEXT.length];if(value!=text)return value;}};this.GetRandomTestData=function(min,max)//测试数据
|
|
15444
15478
|
{min=Math.ceil(min);max=Math.floor(max);return Math.floor(Math.random()*(max-min+1))+min;//含最大值,含最小值
|
|
15445
|
-
};this.Show=function(x,y){if(!this.DivDialog)this.Create();this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.SetChartPicture=function(chart){this.ChartPicture=chart;var bShowLineColor=true,bShowBGColor=false,bShowFontColor=false,bShowBorderColor=false,bShowFontZoom=false,bModifyText=false,bAdvanced=false;;var bgColor=null,fontColor=null,borderColor=null;var ARRAY_TEXT_CHART=['ChartDrawPriceLabel',"ChartDrawAnchoredText","ChartDrawPriceNote"];if(ARRAY_TEXT_CHART.includes(chart.ClassName)){bShowBGColor=true;bShowFontColor=true;bShowBorderColor=true;bShowFontZoom=true;if(chart.ClassName=="ChartDrawAnchoredText")bModifyText=true;bgColor=chart.BGColor;fontColor=chart.TextColor;borderColor=chart.BorderColor;}else if(chart.ClassName=="ChartDrawPictureText"){bModifyText=true;bShowFontZoom=true;bShowLineColor=true;}else if(chart.ClassName=="ChartDrawNote"){bShowBGColor=true;bShowFontColor=true;bShowBorderColor=true;bModifyText=true;bShowFontZoom=true;bgColor=chart.NoteBGColor;fontColor=chart.NoteTextColor;borderColor=chart.NoteBorderColor;}else if(chart.ClassName=="ChartDrawVolProfile"){bShowLineColor=false;bAdvanced=true;}else if(chart.ClassName=="ChartDrawPictureIconFont"){bShowFontZoom=true;}if(this.ColorButton){var item=this.ColorButton;this.ShowButton(item.Div,bShowLineColor?"inline":"none");if(bShowLineColor){item.DivColorBar.style['background-color']=chart.LineColor;}}if(this.BGColorButton){var item=this.BGColorButton;this.ShowButton(item.Div,bShowBGColor?"inline":"none");if(bShowBGColor){item.DivColorBar.style['background-color']=bgColor;}}if(this.FontColorButton){var item=this.FontColorButton;this.ShowButton(item.Div,bShowFontColor?"inline":"none");if(bShowFontColor){item.DivColorBar.style['background-color']=fontColor;}}if(this.BorderColorButton){var item=this.BorderColorButton;this.ShowButton(item.Div,bShowBorderColor?"inline":"none");if(bShowBorderColor){item.DivColorBar.style['background-color']=borderColor;}}if(this.LockButton){this.UpdateLockButtonStyle();}if(this.FontZoomButton){var item=this.FontZoomButton;this.ShowButton(item.Div,bShowFontZoom?"inline":"none");}if(this.FontZoomOutButton){var item=this.FontZoomOutButton;this.ShowButton(item.Div,bShowFontZoom?"inline":"none");}if(this.ModifyTextButton){var item=this.ModifyTextButton;this.ShowButton(item.Div,bModifyText?"inline":"none");}if(this.AdvancedButton){var item=this.AdvancedButton;this.ShowButton(item.Div,bAdvanced?"inline":"none");}};this.OnMouseDownTitle=function(e){var
|
|
15479
|
+
};this.Show=function(x,y){if(!this.DivDialog)this.Create();this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.SetChartPicture=function(chart){this.ChartPicture=chart;var bShowLineColor=true,bShowBGColor=false,bShowFontColor=false,bShowBorderColor=false,bShowFontZoom=false,bModifyText=false,bAdvanced=false;;var bgColor=null,fontColor=null,borderColor=null;var ARRAY_TEXT_CHART=['ChartDrawPriceLabel',"ChartDrawAnchoredText","ChartDrawPriceNote"];if(ARRAY_TEXT_CHART.includes(chart.ClassName)){bShowBGColor=true;bShowFontColor=true;bShowBorderColor=true;bShowFontZoom=true;if(chart.ClassName=="ChartDrawAnchoredText")bModifyText=true;bgColor=chart.BGColor;fontColor=chart.TextColor;borderColor=chart.BorderColor;}else if(chart.ClassName=="ChartDrawPictureText"){bModifyText=true;bShowFontZoom=true;bShowLineColor=true;}else if(chart.ClassName=="ChartDrawNote"){bShowBGColor=true;bShowFontColor=true;bShowBorderColor=true;bModifyText=true;bShowFontZoom=true;bgColor=chart.NoteBGColor;fontColor=chart.NoteTextColor;borderColor=chart.NoteBorderColor;}else if(chart.ClassName=="ChartDrawVolProfile"){bShowLineColor=false;bAdvanced=true;}else if(chart.ClassName=="ChartDrawPictureIconFont"){bShowFontZoom=true;}if(this.ColorButton){var item=this.ColorButton;this.ShowButton(item.Div,bShowLineColor?"inline":"none");if(bShowLineColor){item.DivColorBar.style['background-color']=chart.LineColor;}}if(this.BGColorButton){var item=this.BGColorButton;this.ShowButton(item.Div,bShowBGColor?"inline":"none");if(bShowBGColor){item.DivColorBar.style['background-color']=bgColor;}}if(this.FontColorButton){var item=this.FontColorButton;this.ShowButton(item.Div,bShowFontColor?"inline":"none");if(bShowFontColor){item.DivColorBar.style['background-color']=fontColor;}}if(this.BorderColorButton){var item=this.BorderColorButton;this.ShowButton(item.Div,bShowBorderColor?"inline":"none");if(bShowBorderColor){item.DivColorBar.style['background-color']=borderColor;}}if(this.LockButton){this.UpdateLockButtonStyle();}if(this.FontZoomButton){var item=this.FontZoomButton;this.ShowButton(item.Div,bShowFontZoom?"inline":"none");}if(this.FontZoomOutButton){var item=this.FontZoomOutButton;this.ShowButton(item.Div,bShowFontZoom?"inline":"none");}if(this.ModifyTextButton){var item=this.ModifyTextButton;this.ShowButton(item.Div,bModifyText?"inline":"none");}if(this.AdvancedButton){var item=this.AdvancedButton;this.ShowButton(item.Div,bAdvanced?"inline":"none");}};this.OnMouseDownTitle=function(e){var _this99=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this99.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this99.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};}/*
|
|
15446
15480
|
Copyright (c) 2018 jones
|
|
15447
15481
|
|
|
15448
15482
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
@@ -15458,13 +15492,13 @@ this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font;//十字
|
|
|
15458
15492
|
this.FrameSplitTextFont=g_JSChartResource.PopMinuteChart.Frame.Font;//刻度文字
|
|
15459
15493
|
this.Minute={Option:JSPopMinuteChart.GetMinuteOption(),JSChart:null,Date:null,Symbol:null,Name:null,Chart:null};this.ClearCache=function(){this.Minute.Date=null;this.Minute.Symbol=null;this.Minute.Name=null;this.Minute.Chart=null;};this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){if(IFrameSplitOperator.IsObject(option.Option)){var item=CloneData(option.Option);//复制一份出来
|
|
15460
15494
|
this.Minute.Option=(0,_assign2.default)(this.Minute.Option,item);}if(option.EnableMarkBG)//标记背景
|
|
15461
|
-
{this.HQChart.CreateExtendChart("MarkPopMinutePaint");}}};this.Create=function(){var
|
|
15462
|
-
if(this.HQChart)this.Minute.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);this.Minute.Option.OnCreatedCallback=function(chart){
|
|
15463
|
-
callback:function callback(event,data,obj){
|
|
15464
|
-
document.body.appendChild(divDom);this.UpdateStyle();};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;if(this.TitleBGColor)this.TitleBox.DivTitle.style['background-color']=this.TitleBGColor;if(this.TitleColor)this.TitleBox.DivName.style['color']=this.TitleColor;};this.NetworkFilter=function(data,callback){var
|
|
15495
|
+
{this.HQChart.CreateExtendChart("MarkPopMinutePaint");}}};this.Create=function(){var _this100=this;var divDom=document.createElement('div');divDom.className='jchart_pop_minute_dailog';divDom.id=this.ID;var divTitle=document.createElement("div");divTitle.className='jschart_pop_minute_chart_Title_Div';divTitle.onmousedown=function(e){_this100.OnMouseDownTitle(e);};divDom.appendChild(divTitle);var divInfoText=document.createElement("div");divInfoText.className="jschart_pop_minute_chart_Title";divInfoText.innerText="分时图";this.DivInfoText=divInfoText;divTitle.appendChild(divInfoText);var divClose=document.createElement("div");divClose.className='jschart_pop_minute_chart_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this100.Close(e);};divTitle.appendChild(divClose);var divChart=document.createElement('div');divChart.className='jschart_pop_minute_chart';divDom.appendChild(divChart);this.TitleBox={DivTitle:divTitle,DivName:divInfoText,DivColor:divClose};this.DivDialog=divDom;var chart=JSChart.Init(divChart);this.Minute.JSChart=chart;//语言跟主图保持一致
|
|
15496
|
+
if(this.HQChart)this.Minute.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);this.Minute.Option.OnCreatedCallback=function(chart){_this100.OnCreateHQChart(chart);};this.Minute.Option.NetworkFilter=function(data,callback){_this100.NetworkFilter(data,callback);};var keyDownEvent={event:JSCHART_EVENT_ID.ON_KEYDOWN,//键盘消息
|
|
15497
|
+
callback:function callback(event,data,obj){_this100.OnKeyDown(event,data,obj);}};var reloadResourceEvent={event:JSCHART_EVENT_ID.ON_RELOAD_RESOURCE,callback:function callback(event,data,obj){_this100.LoadChartResource(obj);}};var splitXEvent={event:JSCHART_EVENT_ID.ON_SPLIT_XCOORDINATE,callback:function callback(event,data,obj){_this100.OnSplitXCoordinate(event,data,obj);}};var splitYEvent={event:JSCHART_EVENT_ID.ON_SPLIT_YCOORDINATE,callback:function callback(event,data,obj){_this100.OnSplitYCoordinate(event,data,obj);}};if(Array.isArray(this.Minute.Option.EventCallback)){this.Minute.Option.EventCallback.unshift(keyDownEvent,reloadResourceEvent,splitYEvent,splitYEvent);}else{this.Minute.Option.EventCallback=[keyDownEvent,reloadResourceEvent,splitXEvent,splitYEvent];}chart.SetOption(this.Minute.Option);//设置K线配置
|
|
15498
|
+
document.body.appendChild(divDom);this.UpdateStyle();};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;if(this.TitleBGColor)this.TitleBox.DivTitle.style['background-color']=this.TitleBGColor;if(this.TitleColor)this.TitleBox.DivName.style['color']=this.TitleColor;};this.NetworkFilter=function(data,callback){var _this101=this;if(!this.HQChart||!this.HQChart.NetworkFilter)return;if(data)data.PopMinuteData={Date:this.Date};//弹出分时图额外数据
|
|
15465
15499
|
if(data.Name=='MinuteChartContainer::RequestMinuteData')//分时图数据对接
|
|
15466
|
-
{data.Request.Data.date=this.Date;data.Name="MinuteChartContainer::RequestPopMinuteData";data.Explain="指定日期分时数据";this.HQChart.NetworkFilter(data,function(recv){
|
|
15467
|
-
var height=this.DivDialog.offsetHeight;var width=this.DivDialog.offsetWidth;var xRight=window.innerWidth-5;var ybottom=window.innerHeight-5+scrollPos.Top;if(x+width>xRight)x=xRight-width;if(y+height>ybottom)y=ybottom-height;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.UpdateDialogTitle=function(){var title=this.Name+' '+IFrameSplitOperator.FormatDateString(this.Date)+' \u5206\u65F6\u56FE PageUp/PageDown\u7FFB\u9875';this.TitleBox.DivName.innerText=title;};this.Close=function(e){if(!this.DivDialog)return;this.ClearCache();this.DivDialog.style.visibility='hidden';this.ClearMarkKLineBG();};this.OnMouseDownTitle=function(e){var
|
|
15500
|
+
{data.Request.Data.date=this.Date;data.Name="MinuteChartContainer::RequestPopMinuteData";data.Explain="指定日期分时数据";this.HQChart.NetworkFilter(data,function(recv){_this101.OnRecvPopMinuteData(recv,callback);});}else{this.HQChart.NetworkFilter(data,callback);}};this.OnRecvPopMinuteData=function(recv,callback){var bUpdateTitle=false;if(recv&&IFrameSplitOperator.IsNonEmptyArray(recv.stock)){var stockItem=recv.stock[0];if(stockItem){if(stockItem.Title){this.Name=stockItem.Title;bUpdateTitle=true;}else if(stockItem.name){this.Name=stockItem.name;bUpdateTitle=true;}}}if(bUpdateTitle)this.UpdateDialogTitle();callback(recv);};this.OnCreateHQChart=function(chart){this.LoadChartResource(chart);};this.Destroy=function(){if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);}this.DivDialog=null;this.TitleBox=null;this.Minute.JSChart=null;};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.Show=function(data,x,y){if(!this.DivDialog)this.Create();if(!data.Symbol||!IFrameSplitOperator.IsPlusNumber(data.Date))return;this.Date=data.Date;this.Symbol=this.Name=data.Symbol;if(data.Name)this.Name=data.Name;this.Chart=data.Chart;this.UpdateDialogTitle();if(this.Minute.JSChart){this.Minute.JSChart.ChangeSymbol(this.Symbol);this.MarkKLineBG();}if(!this.Minute.Option.EnableResize){if(this.Minute.JSChart)this.Minute.JSChart.OnSize();}var scrollPos=GetScrollPosition();//超出窗口调整位置
|
|
15501
|
+
var height=this.DivDialog.offsetHeight;var width=this.DivDialog.offsetWidth;var xRight=window.innerWidth-5;var ybottom=window.innerHeight-5+scrollPos.Top;if(x+width>xRight)x=xRight-width;if(y+height>ybottom)y=ybottom-height;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.UpdateDialogTitle=function(){var title=this.Name+' '+IFrameSplitOperator.FormatDateString(this.Date)+' \u5206\u65F6\u56FE PageUp/PageDown\u7FFB\u9875';this.TitleBox.DivName.innerText=title;};this.Close=function(e){if(!this.DivDialog)return;this.ClearCache();this.DivDialog.style.visibility='hidden';this.ClearMarkKLineBG();};this.OnMouseDownTitle=function(e){var _this102=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this102.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this102.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var scrollPos=GetScrollPosition();var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight+scrollPos.Top)top=window.innerHeight-this.DivDialog.offsetHeight-5+scrollPos.Top;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};this.ReloadResource=function(option){this.TitleColor=g_JSChartResource.PopMinuteChart.TitleColor;this.TitleBGColor=g_JSChartResource.PopMinuteChart.TitleBGColor;this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;this.TitleFont=g_JSChartResource.PopMinuteChart.Title.Font;this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font;//十字光标
|
|
15468
15502
|
this.FrameSplitTextFont=g_JSChartResource.PopMinuteChart.Frame.Font;if(!this.DivDialog)return;this.UpdateStyle();if(this.Minute.JSChart)this.Minute.JSChart.ReloadResource(option);};this.LoadChartResource=function(chart){if(IFrameSplitOperator.IsNonEmptyArray(chart.TitlePaint)){for(var i=0;i<chart.TitlePaint.length;++i){var item=chart.TitlePaint[i];if(!item)continue;item.Font=this.TitleFont;}}if(IFrameSplitOperator.IsNonEmptyArray(chart.WindowIndex)){for(var i=0;i<chart.WindowIndex.length;++i)//去掉指标里面的字体
|
|
15469
15503
|
{var item=chart.WindowIndex[i];if(!item)continue;item.TitleFont=null;}}if(chart.ChartCorssCursor){chart.ChartCorssCursor.Font=this.CorssCursorFont;}};this.SetLanguage=function(language){if(!this.DivDialog)return;if(this.Minute.JSChart)this.Minute.JSChart.SetLanguage(language);};this.OnKeyDown=function(event,data,obj){switch(data.KeyID){case 33://page up
|
|
15470
15504
|
data.PreventDefault=true;var item=this.GetNextData(1);if(item)this.ChangeSymbol(item.Symbol,item.Date);break;case 34://page down
|
|
@@ -15494,8 +15528,8 @@ function JSTooltipMinuteChart(){this.DivDialog=null;this.HQChart=null;this.ID=Gu
|
|
|
15494
15528
|
this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font;//十字光标
|
|
15495
15529
|
this.FrameSplitTextFont=g_JSChartResource.PopMinuteChart.Frame.Font;//刻度文字
|
|
15496
15530
|
this.OnCreatedCallback;this.Minute={Option:JSTooltipMinuteChart.GetMinuteOption(),JSChart:null,Symbol:null,Date:null,PopData:null};this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){if(IFrameSplitOperator.IsObject(option.Option)){var item=CloneData(option.Option);//复制一份出来
|
|
15497
|
-
this.Minute.Option=(0,_assign2.default)(this.Minute.Option,item);if(IFrameSplitOperator.IsNonEmptyArray(option.Option.EventCallback))this.Minute.Option.EventCallback=option.Option.EventCallback;}if(option.OnCreatedCallback)this.OnCreatedCallback=option.OnCreatedCallback;}};this.Create=function(){var
|
|
15498
|
-
if(this.HQChart)this.Minute.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);this.Minute.Option.OnCreatedCallback=function(chart){
|
|
15531
|
+
this.Minute.Option=(0,_assign2.default)(this.Minute.Option,item);if(IFrameSplitOperator.IsNonEmptyArray(option.Option.EventCallback))this.Minute.Option.EventCallback=option.Option.EventCallback;}if(option.OnCreatedCallback)this.OnCreatedCallback=option.OnCreatedCallback;}};this.Create=function(){var _this103=this;var divDom=document.createElement('div');divDom.className='UMyChart_Tooltip_Minute_Div';divDom.id=this.ID;var divChart=document.createElement('div');divChart.className='UMyChart_Tooltip_Minute_Chart_Div';divDom.appendChild(divChart);this.DivDialog=divDom;var chart=JSChart.Init(divChart);this.Minute.JSChart=chart;//语言跟主图保持一致
|
|
15532
|
+
if(this.HQChart)this.Minute.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);this.Minute.Option.OnCreatedCallback=function(chart){_this103.OnCreateHQChart(chart);};this.Minute.Option.NetworkFilter=function(data,callback){_this103.NetworkFilter(data,callback);};var reloadResourceEvent={event:JSCHART_EVENT_ID.ON_RELOAD_RESOURCE,callback:function callback(event,data,obj){_this103.LoadChartResource(obj);}};var splitXEvent={event:JSCHART_EVENT_ID.ON_SPLIT_XCOORDINATE,callback:function callback(event,data,obj){_this103.OnSplitXCoordinate(event,data,obj);}};var splitYEvent={event:JSCHART_EVENT_ID.ON_SPLIT_YCOORDINATE,callback:function callback(event,data,obj){_this103.OnSplitYCoordinate(event,data,obj);}};if(Array.isArray(this.Minute.Option.EventCallback)){this.Minute.Option.EventCallback.unshift(reloadResourceEvent,splitYEvent,splitYEvent);}else{this.Minute.Option.EventCallback=[reloadResourceEvent,splitXEvent,splitYEvent];}chart.SetOption(this.Minute.Option);//设置K线配置
|
|
15499
15533
|
document.body.appendChild(divDom);this.UpdateStyle();if(!this.Minute.Option.EnableResize){if(this.Minute.JSChart)this.Minute.JSChart.OnSize();}};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;};this.NetworkFilter=function(data,callback){if(!this.HQChart||!this.HQChart.NetworkFilter)return;/*
|
|
15500
15534
|
if (data) data.PopMinuteData={ Date:this.Date }; //弹出分时图额外数据
|
|
15501
15535
|
|
|
@@ -15551,8 +15585,8 @@ function JSTooltipKLineChart(){this.DivDialog=null;this.HQChart=null;this.ID=Gui
|
|
|
15551
15585
|
this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font;//十字光标
|
|
15552
15586
|
this.FrameSplitTextFont=g_JSChartResource.PopMinuteChart.Frame.Font;//刻度文字
|
|
15553
15587
|
this.OnCreatedCallback=null;this.KLine={Option:JSTooltipKLineChart.GetKLineOption(),JSChart:null,Symbol:null};this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){if(IFrameSplitOperator.IsObject(option.Option)){var item=CloneData(option.Option);//复制一份出来
|
|
15554
|
-
this.KLine.Option=(0,_assign2.default)(this.KLine.Option,item);if(IFrameSplitOperator.IsNonEmptyArray(option.Option.EventCallback))this.KLine.Option.EventCallback=option.Option.EventCallback;}if(option.OnCreatedCallback)this.OnCreatedCallback=option.OnCreatedCallback;}};this.Create=function(){var
|
|
15555
|
-
if(this.HQChart)this.KLine.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);this.KLine.Option.OnCreatedCallback=function(chart){
|
|
15588
|
+
this.KLine.Option=(0,_assign2.default)(this.KLine.Option,item);if(IFrameSplitOperator.IsNonEmptyArray(option.Option.EventCallback))this.KLine.Option.EventCallback=option.Option.EventCallback;}if(option.OnCreatedCallback)this.OnCreatedCallback=option.OnCreatedCallback;}};this.Create=function(){var _this104=this;var divDom=document.createElement('div');divDom.className='UMyChart_Tooltip_KLine_Div';divDom.id=this.ID;var divChart=document.createElement('div');divChart.className='UMyChart_Tooltip_KLine_Chart_Div';divDom.appendChild(divChart);this.DivDialog=divDom;var chart=JSChart.Init(divChart);this.KLine.JSChart=chart;//语言跟主图保持一致
|
|
15589
|
+
if(this.HQChart)this.KLine.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);this.KLine.Option.OnCreatedCallback=function(chart){_this104.OnCreateHQChart(chart);};this.KLine.Option.NetworkFilter=function(data,callback){_this104.NetworkFilter(data,callback);};var reloadResourceEvent={event:JSCHART_EVENT_ID.ON_RELOAD_RESOURCE,callback:function callback(event,data,obj){_this104.LoadChartResource(obj);}};var splitXEvent={event:JSCHART_EVENT_ID.ON_SPLIT_XCOORDINATE,callback:function callback(event,data,obj){_this104.OnSplitXCoordinate(event,data,obj);}};var splitYEvent={event:JSCHART_EVENT_ID.ON_SPLIT_YCOORDINATE,callback:function callback(event,data,obj){_this104.OnSplitYCoordinate(event,data,obj);}};if(Array.isArray(this.KLine.Option.EventCallback)){this.KLine.Option.EventCallback.unshift(reloadResourceEvent,splitYEvent,splitYEvent);}else{this.KLine.Option.EventCallback=[reloadResourceEvent,splitXEvent,splitYEvent];}chart.SetOption(this.KLine.Option);//设置K线配置
|
|
15556
15590
|
document.body.appendChild(divDom);this.UpdateStyle();if(!this.KLine.Option.EnableResize){if(this.KLine.JSChart)this.KLine.JSChart.OnSize({Type:1});}};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;};this.NetworkFilter=function(data,callback){if(!this.HQChart||!this.HQChart.NetworkFilter)return;this.HQChart.NetworkFilter(data,callback);};this.OnCreateHQChart=function(chart){this.LoadChartResource(chart);if(this.OnCreatedCallback)this.OnCreatedCallback(chart);};this.Destroy=function(){if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);}this.DivDialog=null;this.TitleBox=null;if(!this.KLine.JSChart)this.KLine.JSChart.ChartDestory();this.KLine.JSChart=null;};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.Show=function(data,x,y){if(!this.DivDialog)this.Create();if(!data||!data.Symbol)return;var symbol=data.Symbol;if(this.KLine.JSChart){if(this.KLine.Symbol!=symbol){this.KLine.Symbol=symbol;this.KLine.JSChart.ChangeSymbol(symbol);}}if(IFrameSplitOperator.IsNumberV2(x,y)){}else if(data.Rect){var rtCell=data.Rect;var pixelRatio=GetDevicePixelRatio();var rtItem={Left:rtCell.Left/pixelRatio,Right:rtCell.Right/pixelRatio,Bottom:rtCell.Bottom/pixelRatio,Top:rtCell.Top/pixelRatio};rtItem.Width=rtItem.Right-rtItem.Left;rtItem.Height=rtItem.Bottom-rtItem.Top;//超出窗口调整位置
|
|
15557
15591
|
var height=this.DivDialog.offsetHeight;var width=this.DivDialog.offsetWidth;var x=rtItem.Right+data.Offset.Left;var y=rtItem.Bottom+data.Offset.Top;var xRight=window.innerWidth-5;var ybottom=window.innerHeight-5;if(x+width>xRight)x=rtItem.Left+data.Offset.Left-width;if(y+height>ybottom)y=rtItem.Top+data.Offset.Top-height;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";}};this.Hide=function(){if(!this.DivDialog)return;if(this.DivDialog.style.visibility!='hidden')this.DivDialog.style.visibility='hidden';};this.ReloadResource=function(option){this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;this.TitleFont=g_JSChartResource.PopMinuteChart.Title.Font;//指标标题字体
|
|
15558
15592
|
this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font;//十字光标
|
|
@@ -15595,11 +15629,11 @@ AutoLeft:{Blank:10,MinWidth:30},AutoRight:{Blank:5,MinWidth:30}},Frame://子框
|
|
|
15595
15629
|
*/function JSPopKeyboard(){this.DivDialog=null;this.DragTitle=null;this.TitleBox=null;//{ DivTitle, DivName, }
|
|
15596
15630
|
this.InputDOM=null;this.Title="HQChart 键盘精灵";this.ID=Guid();this.ActiveDOM=null;//启动键盘精灵是的控件
|
|
15597
15631
|
this.InputStatus=0;//0=空闲 1=输入中
|
|
15598
|
-
this.BGColor=g_JSChartResource.DialogPopKeyboard.BGColor;this.TitleColor=g_JSChartResource.DialogPopKeyboard.TitleColor;this.TitleBGColor=g_JSChartResource.DialogPopKeyboard.TitleBGColor;this.BorderColor=g_JSChartResource.DialogPopKeyboard.BorderColor;this.InputBGColor=g_JSChartResource.DialogPopKeyboard.Input.BGColor;this.InputTextColor=g_JSChartResource.DialogPopKeyboard.Input.TextColor;this.Keyboard={Option:JSPopKeyboard.GetOption(),JSChart:null};this.Inital=function(option){var
|
|
15599
|
-
};this.Create=function(){var
|
|
15600
|
-
chart.AddEventCallback({event:JSCHART_EVENT_ID.ON_KEYBOARD_MOUSEUP,callback:function callback(event,data,chart){
|
|
15632
|
+
this.BGColor=g_JSChartResource.DialogPopKeyboard.BGColor;this.TitleColor=g_JSChartResource.DialogPopKeyboard.TitleColor;this.TitleBGColor=g_JSChartResource.DialogPopKeyboard.TitleBGColor;this.BorderColor=g_JSChartResource.DialogPopKeyboard.BorderColor;this.InputBGColor=g_JSChartResource.DialogPopKeyboard.Input.BGColor;this.InputTextColor=g_JSChartResource.DialogPopKeyboard.Input.TextColor;this.Keyboard={Option:JSPopKeyboard.GetOption(),JSChart:null};this.Inital=function(option){var _this105=this;if(option){if(IFrameSplitOperator.IsBool(option.EnableResize))this.Keyboard.Option.EnableResize=option.EnableResize;}window.addEventListener('mousedown',function(e){_this105.OnWindowMouseDown(e);});};this.OnWindowMouseDown=function(e){if(!this.DivDialog)return;console.log("[JSPopKeyboard::OnWindowMouseDown] e=",e);if(!this.DivDialog.contains(e.target)){this.Hide();}};this.Destroy=function(){var _this106=this;if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);}this.DivDialog=null;this.TitleBox=null;if(!this.Keyboard.JSChart)this.Keyboard.JSChart.ChartDestory();this.Keyboard.JSChart=null;window.removeEventListener('mousedown',function(e){_this106.OnWindowMouseDown(e);});//注销监听
|
|
15633
|
+
};this.Create=function(){var _this107=this;var divDom=document.createElement('div');divDom.className='jchart_pop_keyboard_dailog';divDom.id=this.ID;var divTitle=document.createElement("div");divTitle.className='jschart_keyboard_Title_Div';divTitle.onmousedown=function(e){_this107.OnMouseDownTitle(e);};divDom.appendChild(divTitle);var divInfoText=document.createElement("div");divInfoText.className="jschart_keyboard_Title";divInfoText.innerText=this.Title;this.DivInfoText=divInfoText;divTitle.appendChild(divInfoText);var divClose=document.createElement("div");divClose.className='jschart_keyboard_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this107.Hide();};divTitle.appendChild(divClose);this.TitleBox={DivTitle:divTitle,DivName:divInfoText,DivClose:divClose};var divInput=document.createElement("div");divInput.className='jschart_keyboard_Input_Div';divDom.appendChild(divInput);var input=document.createElement("input");input.className="jschart_keyboard_input";input.addEventListener("keydown",function(event){_this107.OnKeydown(event);});input.addEventListener("keyup",function(event){_this107.OnKeyup(event);});input.addEventListener("compositionstart",function(event){_this107.OnCompositionStart(event);});input.addEventListener("compositionupdate",function(event){_this107.OnCompositionUpdate(event);});input.addEventListener("compositionend",function(event){_this107.OnCompositionEnd(event);});divInput.appendChild(input);var divChart=document.createElement("div");divChart.className="jschart_keyboard_Chart_Div";divDom.appendChild(divChart);this.DivDialog=divDom;this.InputDOM=input;var chart=JSKeyboardChart.Init(divChart);this.Keyboard.JSChart=chart;this.Keyboard.Option.OnCreatedCallback=function(chart){_this107.OnCreateHQChart(chart);};chart.SetOption(this.Keyboard.Option);//设置K线配置
|
|
15634
|
+
chart.AddEventCallback({event:JSCHART_EVENT_ID.ON_KEYBOARD_MOUSEUP,callback:function callback(event,data,chart){_this107.OnChartMouseUp(event,data,chart);}});this.UpdateStyle();document.body.appendChild(divDom);};this.OnCreateHQChart=function(chart){};this.OnCompositionStart=function(event){this.InputStatus=1;};this.OnCompositionUpdate=function(event){};this.OnCompositionEnd=function(event){this.InputStatus=0;};this.OnKeydown=function(event){if(this.InputStatus!=0)return;var aryKey=new _set2.default([40,38,13,33,34]);if(aryKey.has(event.keyCode)){this.Keyboard.JSChart.OnKeyDown(event);}if(event.keyCode==27){this.Hide();}};this.OnKeyup=function(event){if(this.InputStatus!=0)return;var code=event.keyCode;if(code==8)//删除
|
|
15601
15635
|
{var strText=this.InputDOM.value;if(strText.length==0){this.Hide();//只有按了删除 才能隐藏
|
|
15602
|
-
return;}}if(code>=48&&code<=57||code>=65&&code<=90||code>=96&&code<=122||code==8){var strText=this.InputDOM.value;strText=strText.toUpperCase();this.Keyboard.JSChart.Search(strText);}};this.OnMouseDownTitle=function(e){var
|
|
15636
|
+
return;}}if(code>=48&&code<=57||code>=65&&code<=90||code>=96&&code<=122||code==8){var strText=this.InputDOM.value;strText=strText.toUpperCase();this.Keyboard.JSChart.Search(strText);}};this.OnMouseDownTitle=function(e){var _this108=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this108.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this108.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;this.onmousemove=null;this.onmouseup=null;};this.SetSymbolData=function(data){if(!this.Keyboard.JSChart)return false;this.Keyboard.JSChart.SetSymbolData(data);};this.Show=function(){if(!this.DivDialog)return;if(!this.Keyboard.Option.EnableResize)//自动调整大小
|
|
15603
15637
|
{if(this.Keyboard.JSChart)this.Keyboard.JSChart.OnSize();}//显示在右下方
|
|
15604
15638
|
var height=this.DivDialog.offsetHeight;var width=this.DivDialog.offsetWidth;var xRight=window.innerWidth-5;var ybottom=window.innerHeight-5;var x=xRight-width;var y=ybottom-height;if(this.Keyboard.JSChart&&this.Keyboard.JSChart.JSChartContainer){var event=this.Keyboard.JSChart.JSChartContainer.GetEventCallback(JSCHART_EVENT_ID.ON_KEYBOARD_SHOW);if(event&&event.Callback){var data={PreventDefault:false,Y:y,X:x,Height:height,Width:width};event.Callback(event,data,this);if(data.PreventDefault)return;//修改显示位置
|
|
15605
15639
|
x=data.X;y=data.Y;}}this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Hide=function(){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';this.InputDOM.value="";this.Keyboard.JSChart.ClearSearch();if(this.ActiveDOM){if(this.ActiveDOM.focus)this.ActiveDOM.focus();//把焦点换回去
|
|
@@ -15629,7 +15663,7 @@ this.LastValueCache=null;//最后的鼠标位置对应的数值
|
|
|
15629
15663
|
this.LastValueCacheID=null;//鼠标信息
|
|
15630
15664
|
this.DataID=null;//当前显示的数据时间{ Symbol:, Date:, Time: }
|
|
15631
15665
|
this.RestoreFocusDelay=800;this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){if(IFrameSplitOperator.IsNumber(option.Style))this.Style=option.Style;if(IFrameSplitOperator.IsPlusNumber(option.MaxRowCount))this.MaxRowCount=option.MaxRowCount;if(option.IndexTitle){var item=option.IndexTitle;if(IFrameSplitOperator.IsBool(item.Enable))this.IndexTitle.Enable=item.Enable;if(IFrameSplitOperator.IsPlusNumber(item.MaxCount))this.IndexTitle.MaxCount=item.MaxCount;}}};this.Destroy=function(){this.AryData=[];this.AryText=[];this.KItemCache=null;this.KItemCache2=null;this.KItemCacheID=null;if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.OnClickColseButton=function(e){this.Close(e);if(this.HQChart&&this.HQChart.ChartCorssCursor){var chart=this.HQChart.ChartCorssCursor;if(!chart.IsShowCorss)return;chart.IsShowCorss=false;this.HQChart.Draw();this.HQChart.SetFocus();}};//data={ Symbol, Date, Time}
|
|
15632
|
-
this.IsEqualDataID=function(data){if(!this.DataID)return false;if(!data)return false;if(this.DataID.Symbol!=data.Symbol)return false;if(this.DataID.Date!=data.Date)return false;if(IFrameSplitOperator.IsNumber(this.DataID.Time)){if(this.DataID.Time!=data.Time)return false;}return true;};this.Create=function(){var
|
|
15666
|
+
this.IsEqualDataID=function(data){if(!this.DataID)return false;if(!data)return false;if(this.DataID.Symbol!=data.Symbol)return false;if(this.DataID.Date!=data.Date)return false;if(IFrameSplitOperator.IsNumber(this.DataID.Time)){if(this.DataID.Time!=data.Time)return false;}return true;};this.Create=function(){var _this109=this;var divDom=document.createElement("div");divDom.className='UMyChart_Tooltip_Dialog_Div';var divTitle=document.createElement("div");divTitle.className='UMyChart_Tooltip_Title_Div';divTitle.onmousedown=function(e){_this109.OnMouseDownTitle(e);};var divName=document.createElement("div");divName.className='UMyChart_Tooltip_Name_Div';divName.innerText="----";divTitle.appendChild(divName);var divClose=document.createElement("div");divClose.className='UMyChart_Tooltip_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this109.OnClickColseButton(e);};divTitle.appendChild(divClose);divDom.appendChild(divTitle);var table=document.createElement("table");table.className="UMyChart_Tooltip_Table";divDom.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_Tooltip_Tbody";table.appendChild(tbody);this.AryData=[];if(this.Style==1){for(var i=0;i<this.MaxRowCount;++i){var rowItem={Tr:null,TitleSpan:null,TextSpan:null,Tr2:null};var trDom=document.createElement("tr");trDom.className='UMyChart_Tooltip_Group_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_Tooltip_Text_Sinlge_Td";//标题
|
|
15633
15667
|
trDom.appendChild(tdDom);var spanDom=document.createElement("span");spanDom.className='UMyChart_Tooltip_Title_Left_Span';spanDom.innerText='标题';tdDom.appendChild(spanDom);rowItem.TitleSpan=spanDom;var trDom=document.createElement("tr");trDom.className='UMyChart_Tooltip_Group_Tr';tbody.appendChild(trDom);rowItem.Tr2=trDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_Tooltip_Text_Sinlge_Td";//数值
|
|
15634
15668
|
trDom.appendChild(tdDom);var spanDom=document.createElement("span");spanDom.className='UMyChart_Tooltip_Text_Span';spanDom.innerText='数值';tdDom.appendChild(spanDom);rowItem.TextSpan=spanDom;this.AryData.push(rowItem);}}else{for(var i=0;i<this.MaxRowCount;++i){var rowItem={Tr:null,TitleSpan:null,TextSpan:null,TitleTd:null,TextTd:null};var trDom=document.createElement("tr");trDom.className='UMyChart_Tooltip_Group_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_Tooltip_Title_Td";//标题
|
|
15635
15669
|
trDom.appendChild(tdDom);rowItem.TitleTd=tdDom;var spanDom=document.createElement("span");spanDom.className='UMyChart_Tooltip_Title_Span';spanDom.innerText='标题';tdDom.appendChild(spanDom);rowItem.TitleSpan=spanDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_Tooltip_Text_Td";//数值
|
|
@@ -15647,7 +15681,7 @@ if(outItem.ClassName){item.TextSpan.className=outItem.ClassName;}else{if(item.Te
|
|
|
15647
15681
|
if(outItem.TitleClassName){item.TitleSpan.className=outItem.TitleClassName;}else{if(this.Style==0){if(item.TitleSpan.className!=this.TitleAlign.Right)item.TitleSpan.className=this.TitleAlign.Right;}else if(this.Style==1){if(item.TitleSpan.className!=this.TitleAlign.Left)item.TitleSpan.className=this.TitleAlign.Left;}}if(item.TitleTd){if(outItem.IsMergeCell)//合并单元格
|
|
15648
15682
|
{item.TitleTd.colSpan=2;item.TextTd.style.display="none";}else{if(item.TitleTd.colSpan!=1)item.TitleTd.colSpan=1;item.TextTd.style.display="";}}item.Tr.style.display="";if(item.Tr2)item.Tr2.style.display="";}for(;index<this.MaxRowCount;++index){var item=this.AryData[index];item.Tr.style.display="none";if(item.Tr2)item.Tr2.style.display="none";}};this.UpdateDataID=function(data){if(this.HQChart.ClassName=='KLineChartContainer'){var kItem=data.KItem;this.DataID={Symbol:data.Symbol,Date:kItem.Date,Time:null};if(IFrameSplitOperator.IsNumber(kItem.Time))this.DataID.Time=kItem.Time;}else if(this.HQChart.ClassName=='MinuteChartContainer'){var minItem=data.MinItem;if(minItem.Type==0)//连续交易
|
|
15649
15683
|
{var item=minItem.Data;if(item)this.DataID={Symbol:data.Symbol,Date:item.Date,Time:item.Time};}else if(minItem.Type==1)//集合竞价
|
|
15650
|
-
{var item=minItem.Data.Data;if(item)this.DataID={Symbol:data.Symbol,Date:item.Date,Time:item.Time};}}};this.Close=function(e){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.OnMouseDownTitle=function(e){var
|
|
15684
|
+
{var item=minItem.Data.Data;if(item)this.DataID={Symbol:data.Symbol,Date:item.Date,Time:item.Time};}}};this.Close=function(e){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.OnMouseDownTitle=function(e){var _this110=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this110.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this110.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var scrollPos=GetScrollPosition();var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight+scrollPos.Top)top=window.innerHeight-this.DivDialog.offsetHeight-5+scrollPos.Top;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};this.Show=function(x,y){if(this.IsShow())return;if(!this.DivDialog)return;if(!this.HQChart)return;var scrollPos=GetScrollPosition();var top=this.HQChart.Frame.ChartBorder.GetTop()+scrollPos.Top;var left=this.HQChart.Frame.ChartBorder.GetLeft();var rtClient=this.HQChart.UIElement.getBoundingClientRect();var x=left+rtClient.left+5;var y=top+rtClient.top+10;this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";this.DivDialog.style.visibility='visible';};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.GetFormatKLineTooltipText=function(data){var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
|
|
15651
15685
|
var upperSymbol=this.HQChart.Symbol.toUpperCase();var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);var priceFormat=0;if(this.Style==1)priceFormat=1;//日期
|
|
15652
15686
|
var dateItem=this.ForamtDate(data.Date,"YYYY/MM/DD/W",'DialogTooltip-Date');//时间
|
|
15653
15687
|
var timeItem=null;if(IFrameSplitOperator.IsNumber(data.Time))timeItem=this.FormatTime(data.Time,this.HQChart.Period,null,'DialogTooltip-Time');var yClose=data.YClose;//昨收价|昨结算价
|
|
@@ -15774,9 +15808,9 @@ for(var i=0;i<tooltipData.AryData.length;++i){var item=tooltipData.AryData[i];va
|
|
|
15774
15808
|
jones_2000@163.com
|
|
15775
15809
|
|
|
15776
15810
|
内置区间统计框 设置框
|
|
15777
|
-
*/function JSDialogSelectRect(){this.DivDialog=null;this.DragTitle=null;this.HQChart=null;this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchangeColor=g_JSChartResource.UnchagneTextColor;this.TitleColor=g_JSChartResource.DialogSelectRect.TitleColor;this.TitleBGColor=g_JSChartResource.DialogSelectRect.TitleBGColor;this.BGColor=g_JSChartResource.DialogSelectRect.BGColor;this.BorderColor=g_JSChartResource.DialogSelectRect.BorderColor;this.TextColor=g_JSChartResource.DialogSelectRect.TextColor;this.ValueColor=g_JSChartResource.DialogSelectRect.ValueColor;this.VolColor=g_JSChartResource.DialogSelectRect.VolColor;this.AmountColor=g_JSChartResource.DialogSelectRect.AmountColor;this.TurnoverRateColor=g_JSChartResource.DialogSelectRect.TurnoverRateColor;this.PositionColor=g_JSChartResource.DialogSelectRect.PositionColor;this.MaxRowCount=10;this.AryData=[];this.DateTimeBox={Start:{SpanText:null,SpanValue:null},End:{SpanText:null,SpanValue:null}};this.ShowData;this.SelectData;this.RestoreFocusDelay=800;this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){}};this.Destroy=function(){this.AryData=[];this.ShowData=null;this.DateTimeBox={Start:{SpanText:null,SpanValue:null},End:{SpanText:null,SpanValue:null}};if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.Create=function(){var
|
|
15778
|
-
var divStartDate=document.createElement("div");divDateTime.append(divStartDate);var spanText=document.createElement("span");spanText.className="UMyChart_SelectRect_DateTitle_Span";spanText.innerText="开始:";divStartDate.appendChild(spanText);this.DateTimeBox.Start.SpanText=spanText;var spanDate=document.createElement("span");spanDate.className="UMyChart_SelectRect_DateValue_Span";spanDate.innerText="--/--";divStartDate.appendChild(spanDate);this.DateTimeBox.Start.SpanValue=spanDate;var spanArrow=document.createElement("span");spanArrow.className="UMyChart_SelectRect_ArrowButton_Span";spanArrow.innerText="<";spanArrow.onmousedown=function(e){
|
|
15779
|
-
var divEndDate=document.createElement("div");divDateTime.append(divEndDate);var spanText=document.createElement("span");spanText.className="UMyChart_SelectRect_DateTitle_Span";spanText.innerText="结束:";divEndDate.appendChild(spanText);this.DateTimeBox.End.SpanText=spanText;var spanDate=document.createElement("span");spanDate.className="UMyChart_SelectRect_DateValue_Span";spanDate.innerText="--/--";divEndDate.appendChild(spanDate);this.DateTimeBox.SpanEnd=spanDate;this.DateTimeBox.End.SpanValue=spanDate;var spanArrow=document.createElement("span");spanArrow.className="UMyChart_SelectRect_ArrowButton_Span";spanArrow.innerText="<";spanArrow.onmousedown=function(e){
|
|
15811
|
+
*/function JSDialogSelectRect(){this.DivDialog=null;this.DragTitle=null;this.HQChart=null;this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchangeColor=g_JSChartResource.UnchagneTextColor;this.TitleColor=g_JSChartResource.DialogSelectRect.TitleColor;this.TitleBGColor=g_JSChartResource.DialogSelectRect.TitleBGColor;this.BGColor=g_JSChartResource.DialogSelectRect.BGColor;this.BorderColor=g_JSChartResource.DialogSelectRect.BorderColor;this.TextColor=g_JSChartResource.DialogSelectRect.TextColor;this.ValueColor=g_JSChartResource.DialogSelectRect.ValueColor;this.VolColor=g_JSChartResource.DialogSelectRect.VolColor;this.AmountColor=g_JSChartResource.DialogSelectRect.AmountColor;this.TurnoverRateColor=g_JSChartResource.DialogSelectRect.TurnoverRateColor;this.PositionColor=g_JSChartResource.DialogSelectRect.PositionColor;this.MaxRowCount=10;this.AryData=[];this.DateTimeBox={Start:{SpanText:null,SpanValue:null},End:{SpanText:null,SpanValue:null}};this.ShowData;this.SelectData;this.RestoreFocusDelay=800;this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){}};this.Destroy=function(){this.AryData=[];this.ShowData=null;this.DateTimeBox={Start:{SpanText:null,SpanValue:null},End:{SpanText:null,SpanValue:null}};if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.Create=function(){var _this111=this;var divDom=document.createElement("div");divDom.className='UMyChart_SelectRect_Dialog_Div';var divTitle=document.createElement("div");divTitle.className='UMyChart_SelectRect_Title_Div';divTitle.onmousedown=function(e){_this111.OnMouseDownTitle(e);};var divName=document.createElement("div");divName.className='UMyChart_SelectRect_Name_Div';divName.innerText="区间统计";divTitle.appendChild(divName);var divClose=document.createElement("div");divClose.className='UMyChart_SelectRect_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this111.Close(e);};divTitle.appendChild(divClose);divDom.appendChild(divTitle);var divDateTime=document.createElement("div");divDateTime.className='UMyChart_SelectRect_DateTime_Div';//起始日期
|
|
15812
|
+
var divStartDate=document.createElement("div");divDateTime.append(divStartDate);var spanText=document.createElement("span");spanText.className="UMyChart_SelectRect_DateTitle_Span";spanText.innerText="开始:";divStartDate.appendChild(spanText);this.DateTimeBox.Start.SpanText=spanText;var spanDate=document.createElement("span");spanDate.className="UMyChart_SelectRect_DateValue_Span";spanDate.innerText="--/--";divStartDate.appendChild(spanDate);this.DateTimeBox.Start.SpanValue=spanDate;var spanArrow=document.createElement("span");spanArrow.className="UMyChart_SelectRect_ArrowButton_Span";spanArrow.innerText="<";spanArrow.onmousedown=function(e){_this111.MoveStartDate(-1);};divStartDate.appendChild(spanArrow);var spanArrow=document.createElement("span");spanArrow.className="UMyChart_SelectRect_ArrowButton_Span";spanArrow.innerText=">";spanArrow.onmousedown=function(e){_this111.MoveStartDate(1);};divStartDate.appendChild(spanArrow);//结束日期
|
|
15813
|
+
var divEndDate=document.createElement("div");divDateTime.append(divEndDate);var spanText=document.createElement("span");spanText.className="UMyChart_SelectRect_DateTitle_Span";spanText.innerText="结束:";divEndDate.appendChild(spanText);this.DateTimeBox.End.SpanText=spanText;var spanDate=document.createElement("span");spanDate.className="UMyChart_SelectRect_DateValue_Span";spanDate.innerText="--/--";divEndDate.appendChild(spanDate);this.DateTimeBox.SpanEnd=spanDate;this.DateTimeBox.End.SpanValue=spanDate;var spanArrow=document.createElement("span");spanArrow.className="UMyChart_SelectRect_ArrowButton_Span";spanArrow.innerText="<";spanArrow.onmousedown=function(e){_this111.MoveEndDate(-1);};divEndDate.appendChild(spanArrow);var spanArrow=document.createElement("span");spanArrow.className="UMyChart_SelectRect_ArrowButton_Span";spanArrow.innerText=">";spanArrow.onmousedown=function(e){_this111.MoveEndDate(1);};divEndDate.appendChild(spanArrow);divDom.appendChild(divDateTime);var table=document.createElement("table");table.className="UMyChart_SelectRect_Table";divDom.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_SelectRect_Tbody";table.appendChild(tbody);for(var i=0;i<this.MaxRowCount;++i){var rowItem={Tr:null,AryItem:[]};var trDom=document.createElement("tr");trDom.className='UMyChart_SelectRect_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;for(var j=0;j<3;++j){var item={Td:null,LeftSpan:null,RightSpan:null};var tdDom=document.createElement("td");tdDom.className="UMyChart_SelectRect_Td";//标题+数值
|
|
15780
15814
|
item.Td=tdDom;trDom.appendChild(tdDom);var spanDom=document.createElement("span");spanDom.className='UMyChart_SelectRect_Item_Left_Span';spanDom.innerText='数值';item.LeftSpan=spanDom;tdDom.appendChild(spanDom);var spanDom=document.createElement("span");spanDom.className='UMyChart_SelectRect_Item_Right_Span';spanDom.innerText='--';item.RightSpan=spanDom;tdDom.appendChild(spanDom);rowItem.AryItem.push(item);}this.AryData.push(rowItem);}document.body.appendChild(divDom);this.DivDialog=divDom;this.UpdateStyle();};this.Close=function(e){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';this.ShowData=null;this.SelectData=null;if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.MoveStartDate=function(step){if(!this.DivDialog||!this.HQChart)return;if(step==0)return;if(!this.SelectData)return;var selectData=this.SelectData;var bUpdate=false;if(step>0){var index=selectData.Start;var endIndex=selectData.End;for(i=0;i<step&&index<endIndex;++i){++index;}if(selectData.Start!=index){selectData.Start=index;bUpdate=true;}}else{step=Math.abs(step);var index=selectData.Start;var endIndex=selectData.End;for(var i=0;i<step&&index>0;++i){--index;}if(selectData.Start!=index){selectData.Start=index;bUpdate=true;}}if(bUpdate)this.UpdateSelectRect(selectData);};this.MoveEndDate=function(step){if(!this.DivDialog)return;if(step==0)return;if(!this.SelectData)return;var selectData=this.SelectData;var bUpdate=false;if(step>0){var index=selectData.End;var startIndex=selectData.Start;for(i=0;i<step&&index<this.ShowData.DataCount;++i){++index;}if(selectData.End!=index){selectData.End=index;bUpdate=true;}}else{step=Math.abs(step);var index=selectData.End;var startIndex=selectData.Start;for(var i=0;i<step&&index>startIndex;++i){--index;}if(selectData.End!=index){selectData.End=index;bUpdate=true;}}if(bUpdate)this.UpdateSelectRect(selectData);};this.Show=function(x,y){if(!this.DivDialog)return;if(!this.HQChart)return;/*
|
|
15781
15815
|
if (!this.DivDialog.style.top || !this.DivDialog.style.left) //上一次显示的位置
|
|
15782
15816
|
{
|
|
@@ -15789,7 +15823,7 @@ item.Td=tdDom;trDom.appendChild(tdDom);var spanDom=document.createElement("span"
|
|
|
15789
15823
|
this.DivDialog.style.top = y + "px";
|
|
15790
15824
|
this.DivDialog.style.left = x + "px";
|
|
15791
15825
|
}
|
|
15792
|
-
*/if(this.HQChart)this.HQChart.ClearRestoreFocusTimer();var top=this.HQChart.Frame.ChartBorder.GetTop();var left=this.HQChart.Frame.ChartBorder.GetLeft();var rtClient=this.HQChart.UIElement.getBoundingClientRect();left=left+rtClient.left+5;top=top+rtClient.top+10;if(IFrameSplitOperator.IsNumber(x)&&IFrameSplitOperator.IsNumber(y)){left=x;top=y;}var right=x+this.DivDialog.offsetWidth;var bottom=y+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.top=top+"px";this.DivDialog.style.left=left+"px";this.DivDialog.style.visibility='visible';};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.OnMouseDownTitle=function(e){var
|
|
15826
|
+
*/if(this.HQChart)this.HQChart.ClearRestoreFocusTimer();var top=this.HQChart.Frame.ChartBorder.GetTop();var left=this.HQChart.Frame.ChartBorder.GetLeft();var rtClient=this.HQChart.UIElement.getBoundingClientRect();left=left+rtClient.left+5;top=top+rtClient.top+10;if(IFrameSplitOperator.IsNumber(x)&&IFrameSplitOperator.IsNumber(y)){left=x;top=y;}var right=x+this.DivDialog.offsetWidth;var bottom=y+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.top=top+"px";this.DivDialog.style.left=left+"px";this.DivDialog.style.visibility='visible';};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.OnMouseDownTitle=function(e){var _this112=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this112.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this112.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};//配色修改
|
|
15793
15827
|
this.ReloadResource=function(option){this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchangeColor=g_JSChartResource.UnchagneTextColor;this.TitleColor=g_JSChartResource.DialogSelectRect.TitleColor;this.TitleBGColor=g_JSChartResource.DialogSelectRect.TitleBGColor;this.BGColor=g_JSChartResource.DialogSelectRect.BGColor;this.BorderColor=g_JSChartResource.DialogSelectRect.BorderColor;this.TextColor=g_JSChartResource.DialogSelectRect.TextColor;this.ValueColor=g_JSChartResource.DialogSelectRect.ValueColor;this.VolColor=g_JSChartResource.DialogSelectRect.VolColor;this.AmountColor=g_JSChartResource.DialogSelectRect.AmountColor;this.TurnoverRateColor=g_JSChartResource.DialogSelectRect.TurnoverRateColor;this.PositionColor=g_JSChartResource.DialogSelectRect.PositionColor;if(!this.DivDialog)return;this.UpdateStyle();if(this.SelectData){var selectData=this.SelectData;this.HQChart.UpdateSelectRect(selectData.Start,selectData.End);var showData=this.CalculateKLineData({SelectData:selectData});this.FormatKLineText(showData);this.ShowData=showData;this.UpdateTableDOM(showData);}};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;if(this.DateTimeBox.Start){var item=this.DateTimeBox.Start;item.SpanText.style["color"]=this.TextColor;item.SpanValue.style["color"]=this.ValueColor;}if(this.DateTimeBox.End){var item=this.DateTimeBox.End;item.SpanText.style["color"]=this.TextColor;item.SpanValue.style["color"]=this.ValueColor;}//if (this.TitleBGColor) this.TitleBox.DivTitle.style['background-color']=this.TitleBGColor;
|
|
15794
15828
|
};this.UpdateTableDOM=function(showData){var index=0;for(var index=0,j=0,dataIndex=0;index<this.AryData.length&&dataIndex<showData.AryText.length;++index){var rowItem=this.AryData[index];for(j=0;j<rowItem.AryItem.length;++j,++dataIndex){if(dataIndex>=showData.AryText.length)break;var item=rowItem.AryItem[j];var outItem=showData.AryText[dataIndex];item.LeftSpan.innerText=outItem.Title;item.LeftSpan.style.color=this.TextColor;item.RightSpan.innerText=outItem.Text;item.RightSpan.style.color=outItem.Color;}rowItem.Tr.style.display="";}for(;index<this.AryData.length;++index){var rowItem=this.AryData[index];rowItem.Tr.style.display="none";}if(this.DateTimeBox.Start.SpanValue)this.DateTimeBox.Start.SpanValue.innerText=showData.Date.Start.Text;if(this.DateTimeBox.End.SpanValue)this.DateTimeBox.End.SpanValue.innerText=showData.Date.End.Text;};this.UpdateSelectRect=function(selectData){this.HQChart.UpdateSelectRect(selectData.Start,selectData.End);var showData=null;if(this.HQChart.ClassName=='KLineChartContainer'){showData=this.CalculateKLineData({SelectData:selectData});this.FormatKLineText(showData);}else if(this.HQChart.ClassName=='MinuteChartContainer'){showData=this.CalculateMinuteData({SelectData:selectData});this.FormatMinuteText(showData);}if(showData){this.ShowData=showData;this.UpdateTableDOM(showData);}};this.Update=function(data){if(!this.DivDialog)return;var showData;if(this.HQChart.ClassName=='KLineChartContainer'){showData=this.CalculateKLineData(data);this.FormatKLineText(showData);}else if(this.HQChart.ClassName=='MinuteChartContainer'){showData=this.CalculateMinuteData(data);this.FormatMinuteText(showData);}if(!showData)return;this.ShowData=showData;this.SelectData=data.SelectData;this.UpdateTableDOM(showData);if(!this.IsShow())this.Show(data.X,data.Y);};this.CreateEmptyShowData=function(){var showData={Open:null,Close:null,High:null,Low:null,YClose:null,Vol:0,Amount:0,Date:{Start:{Time:null,Date:null,Text:""},End:{Time:null,Date:null,Text:""}},Count:0,KLine:{Up:0,Down:0,Unchanged:0},//阳线|阴线|平线
|
|
15795
15829
|
AryText:[],DataCount:0};return showData;};this.CalculateKLineData=function(data){var selectData=data.SelectData;var hisData=selectData.Data;var start=selectData.Start;var end=selectData.End;var showData=this.CreateEmptyShowData();showData.DataCount=hisData.Data.length;for(var i=start;i<hisData.Data.length&&i<=end;++i){var item=hisData.Data[i];++showData.Count;if(!IFrameSplitOperator.IsNumber(showData.Open)&&IFrameSplitOperator.IsNumber(item.Open))showData.Open=item.Open;if(IFrameSplitOperator.IsNumber(item.Close))showData.Close=item.Close;if(IFrameSplitOperator.IsNumber(item.Vol))showData.Vol+=item.Vol;if(IFrameSplitOperator.IsNumber(item.Amount))showData.Amount+=item.Amount;if(IFrameSplitOperator.IsNumber(item.High)){if(!IFrameSplitOperator.IsNumber(showData.High)||showData.High<item.High)showData.High=item.High;}if(IFrameSplitOperator.IsNumber(item.Low)){if(!IFrameSplitOperator.IsNumber(showData.Low)||showData.Low>item.Low)showData.Low=item.Low;}if(IFrameSplitOperator.IsNumber(item.Open)&&IFrameSplitOperator.IsNumber(item.Close)){if(item.Close>item.Open)++showData.KLine.Up;else if(item.Close<item.Open)++showData.KLine.Down;else++showData.KLine.Unchanged;}if(IFrameSplitOperator.IsNumber(item.Date)){showData.Date.End.Date=item.Date;if(!IFrameSplitOperator.IsNumber(showData.Date.Start.Date))showData.Date.Start.Date=item.Date;}if(IFrameSplitOperator.IsNumber(item.Time)){showData.Date.End.Time=item.Time;if(!IFrameSplitOperator.IsNumber(showData.Date.Start.Time))showData.Date.Start.Time=item.Time;}}return showData;};//格式化K线数据
|
|
@@ -15813,15 +15847,15 @@ this.ColCount=3;//列
|
|
|
15813
15847
|
this.MaxGroupCount=20;//分类最多个数
|
|
15814
15848
|
this.AryData=[];this.AryGroup=[];//分类
|
|
15815
15849
|
this.IndexData=JSDialogSearchIndex.GetDefaultIndexData();this.RestoreFocusDelay=800;this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){if(IFrameSplitOperator.IsNumber(option.Style))this.Style=option.Style;if(option.IndexData)this.IndexData=option.IndexData;if(IFrameSplitOperator.IsNumber(option.MaxRowCount))this.MaxRowCount=option.MaxRowCount;}};this.Destroy=function(){this.AryData=[];this.AryGroup=[];this.IndexData=null;this.InputDom=null;this.HQChart=null;if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.OnClickColseButton=function(e){this.Close(e);};//设置当前窗口数据
|
|
15816
|
-
this.SetOpData=function(data){this.OpData=data;};this.Close=function(e){this.OpData=null;if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.OnMouseDownTitle=function(e){var
|
|
15817
|
-
{var rtClient=this.HQChart.UIElement.getBoundingClientRect();var scrollPos=GetScrollPosition();x=rtClient.left+(rtClient.right-rtClient.left-this.DivDialog.offsetWidth)/2;y=rtClient.top+(rtClient.bottom-rtClient.top-this.DivDialog.offsetHeight)/2+scrollPos.Top;}this.InputDom.value="";this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Create=function(){var
|
|
15818
|
-
var divTitle=document.createElement("div");divTitle.className='UMyChart_SearchIndex_Title_Div';divTitle.onmousedown=function(e){
|
|
15850
|
+
this.SetOpData=function(data){this.OpData=data;};this.Close=function(e){this.OpData=null;if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.OnMouseDownTitle=function(e){var _this113=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this113.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this113.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;var scrollPos=GetScrollPosition();if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight+scrollPos.Top)top=window.innerHeight-this.DivDialog.offsetHeight-5+scrollPos.Top;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};this.Show=function(x,y,groupID){if(!this.DivDialog)return;if(this.HQChart)this.HQChart.ClearRestoreFocusTimer();if(!groupID)groupID=this.IndexData.Data[0].Group.ID;this.UpdateGroupData();this.ChangeGroup(groupID);if(this.OpData&&this.OpData.Title)this.TitleBox.DivName.innerText=this.OpData.Title;if(!IFrameSplitOperator.IsNumber(x)||!IFrameSplitOperator.IsNumber(y))//默认居中显示
|
|
15851
|
+
{var rtClient=this.HQChart.UIElement.getBoundingClientRect();var scrollPos=GetScrollPosition();x=rtClient.left+(rtClient.right-rtClient.left-this.DivDialog.offsetWidth)/2;y=rtClient.top+(rtClient.bottom-rtClient.top-this.DivDialog.offsetHeight)/2+scrollPos.Top;}this.InputDom.value="";this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Create=function(){var _this114=this;var divDom=document.createElement("div");divDom.className='UMyChart_SearchIndex_Dialog_Div';//对话框标题栏
|
|
15852
|
+
var divTitle=document.createElement("div");divTitle.className='UMyChart_SearchIndex_Title_Div';divTitle.onmousedown=function(e){_this114.OnMouseDownTitle(e);};divDom.appendChild(divTitle);var divName=document.createElement("div");divName.className='UMyChart_SearchIndex_Name_Div';divName.innerText="指标搜索";divTitle.appendChild(divName);var divClose=document.createElement("div");divClose.className='UMyChart_SearchIndex_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this114.OnClickColseButton(e);};divTitle.appendChild(divClose);//整个框子
|
|
15819
15853
|
var divFrame=document.createElement("div");divFrame.className="UMyChart_SearchIndex_Frome_Div";divDom.appendChild(divFrame);//搜索框
|
|
15820
|
-
var divInput=document.createElement("div");divInput.className="UMyChart_SearchIndex_Input_Div";divFrame.appendChild(divInput);var input=document.createElement("input");input.className='UMyChart_SearchIndex_Input';input.type="text";input.placeholder="输入指标名称";input.addEventListener("input",function(e){
|
|
15854
|
+
var divInput=document.createElement("div");divInput.className="UMyChart_SearchIndex_Input_Div";divFrame.appendChild(divInput);var input=document.createElement("input");input.className='UMyChart_SearchIndex_Input';input.type="text";input.placeholder="输入指标名称";input.addEventListener("input",function(e){_this114.OnInputSearch(e);});divInput.appendChild(input);this.InputDom=input;//分类+指标内容
|
|
15821
15855
|
var divContainer=document.createElement("div");divContainer.className="UMyChart_SearchIndex_Container_Div";divDom.appendChild(divContainer);//分类
|
|
15822
|
-
var divGroup=document.createElement("div");divGroup.className="UMyChart_SearchIndex_GroupList_Div";divContainer.appendChild(divGroup);for(var i=0,j=0;i<this.MaxGroupCount;++i){var groupItem={Div:null,Span:null};var divItem=document.createElement("div");divItem.className="UMyChart_SearchIndex_Group_Div";divGroup.appendChild(divItem);groupItem.Div=divItem;var spanDom=document.createElement("span");spanDom.className='UMyChart_SearchIndex_Group_Span';spanDom.innerText='分类名称';divItem.appendChild(spanDom);groupItem.Span=spanDom;spanDom.onmousedown=function(e){
|
|
15823
|
-
var divTable=document.createElement("div");divTable.className='UMyChart_SearchIndex_Table_Div';divContainer.appendChild(divTable);var table=document.createElement("table");table.className="UMyChart_SearchIndex_Table";divTable.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_SearchIndex_Tbody";table.appendChild(tbody);this.AryData=[];for(var i=0,j=0;i<this.MaxRowCount;++i){var rowItem={Tr:null,AryCell:[]};var trDom=document.createElement("tr");trDom.className='UMyChart_SearchIndex_Group_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;for(j=0;j<this.ColCount;++j){var cellItem=this.CreateCellDOM(i,j,trDom);rowItem.AryCell.push(cellItem);}this.AryData.push(rowItem);}document.body.appendChild(divDom);this.DivName=divName;this.DivDialog=divDom;this.TitleBox={DivTitle:divTitle,DivName:divName,DivColor:divClose};this.UpdateStyle();};this.CreateCellDOM=function(rowID,colID,trDom){var
|
|
15824
|
-
trDom.appendChild(tdDom);cellItem.Td=tdDom;var spanDom=document.createElement("span");spanDom.className='UMyChart_SearchIndex_Text_Span';spanDom.innerText='指标名称';spanDom.onmousedown=function(e){
|
|
15856
|
+
var divGroup=document.createElement("div");divGroup.className="UMyChart_SearchIndex_GroupList_Div";divContainer.appendChild(divGroup);for(var i=0,j=0;i<this.MaxGroupCount;++i){var groupItem={Div:null,Span:null};var divItem=document.createElement("div");divItem.className="UMyChart_SearchIndex_Group_Div";divGroup.appendChild(divItem);groupItem.Div=divItem;var spanDom=document.createElement("span");spanDom.className='UMyChart_SearchIndex_Group_Span';spanDom.innerText='分类名称';divItem.appendChild(spanDom);groupItem.Span=spanDom;spanDom.onmousedown=function(e){_this114.OnClickGroup(e);};this.AryGroup.push(groupItem);}//表格
|
|
15857
|
+
var divTable=document.createElement("div");divTable.className='UMyChart_SearchIndex_Table_Div';divContainer.appendChild(divTable);var table=document.createElement("table");table.className="UMyChart_SearchIndex_Table";divTable.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_SearchIndex_Tbody";table.appendChild(tbody);this.AryData=[];for(var i=0,j=0;i<this.MaxRowCount;++i){var rowItem={Tr:null,AryCell:[]};var trDom=document.createElement("tr");trDom.className='UMyChart_SearchIndex_Group_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;for(j=0;j<this.ColCount;++j){var cellItem=this.CreateCellDOM(i,j,trDom);rowItem.AryCell.push(cellItem);}this.AryData.push(rowItem);}document.body.appendChild(divDom);this.DivName=divName;this.DivDialog=divDom;this.TitleBox={DivTitle:divTitle,DivName:divName,DivColor:divClose};this.UpdateStyle();};this.CreateCellDOM=function(rowID,colID,trDom){var _this115=this;var cellItem={Td:null,Span:null,RowID:rowID,ColID:colID,IndexItem:null};var tdDom=document.createElement("td");tdDom.className="UMyChart_SearchIndex_Text_Td";//指标名称
|
|
15858
|
+
trDom.appendChild(tdDom);cellItem.Td=tdDom;var spanDom=document.createElement("span");spanDom.className='UMyChart_SearchIndex_Text_Span';spanDom.innerText='指标名称';spanDom.onmousedown=function(e){_this115.OnClickIndex(e,cellItem);};tdDom.appendChild(spanDom);cellItem.Span=spanDom;return cellItem;};this.OnClickIndex=function(e,cellItem){if(!this.OpData)return;if(!cellItem||!cellItem.IndexItem)return;var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.SEARCH_DIALOG_ON_CLICK_INDEX);if(event&&event.Callback){var sendData={OpData:this.OpData,IndexData:cellItem.IndexItem,HQChart:this.HQChart,PreventDefault:false};event.Callback(event,sendData,this);if(sendData.PreventDefault==true)return;//已被上层处理了
|
|
15825
15859
|
}if(this.OpData.OpType==1){if(!IFrameSplitOperator.IsNumber(this.OpData.WindowIndex))return;var indexItem=cellItem.IndexItem;if(indexItem.Type==0)//系统指标
|
|
15826
15860
|
{this.HQChart.ChangeIndex(this.OpData.WindowIndex,indexItem.ID,indexItem);}else if(indexItem.Type==4||indexItem.Type==5)//五彩K线
|
|
15827
15861
|
{this.HQChart.ChangeInstructionIndex(indexItem.ID);}else if(indexItem.Type==1)//自定义脚本指标
|
|
@@ -15842,11 +15876,13 @@ this.UpdateGroupData=function(){var index=0;for(index=0;index<this.IndexData.Dat
|
|
|
15842
15876
|
this.OnInputSearch=function(e){var strSearh=e.target.value;var aryIndex=[];var aryData=this.SeachIndex(strSearh);var setIndex=new _set2.default();for(var i=0;i<aryData.length;++i){var item=aryData[i];var key=item.ID+'-'+item.Type;setIndex.add(key);aryIndex.push(item);}//内置指标
|
|
15843
15877
|
var scriptData=new JSIndexScript();var result=scriptData.Search(strSearh);if(IFrameSplitOperator.IsNonEmptyArray(result)){for(var i=0;i<result.length;++i){var id=result[i];var key=id+'-0';if(setIndex.has(key))continue;var item={Name:id,ID:id,Type:0};aryIndex.push(item);}}this.UpdateTableData({AryIndex:aryIndex});};this.SeachIndex=function(strSearch){if(!this.IndexData||!IFrameSplitOperator.IsNonEmptyArray(this.IndexData.Data))return[];var aryData=[];var upperSearch=strSearch.toUpperCase();for(var i=0,j=0;i<this.IndexData.Data.length;++i){var groupItem=this.IndexData.Data[i];for(j=0;j<groupItem.AryIndex.length;++j){var item=groupItem.AryIndex[j];if(item.Name.indexOf(strSearch)>=0||item.Name.indexOf(upperSearch)>=0){aryData.push(item);}}}return aryData;};//配色修改
|
|
15844
15878
|
this.ReloadResource=function(option){};}JSDialogSearchIndex.GetDefaultIndexData=function(){var data={Name:"内置指标分类",Data:[{Group:{ID:"超买超卖型",Name:"超买超卖型"},AryIndex:[{Name:"ADTM 动态买卖气指标",ID:"ADTM",Type:0},//Type:0=系统指标 1=自定义通达信脚本 2=api指标 3=指标模板 4=交易系统 5=五彩K线
|
|
15845
|
-
{Name:"BIAS 乖离率",ID:"BIAS",Type:0},{Name:"BIAS36 三六乖离",ID:"BIAS36",Type:0},{Name:"BIAS_QL 乖离率-传统版",ID:"BIAS_QL",Type:0},{Name:"CCI 商品路径指标",ID:"CCI",Type:0},{Name:"FSL 分水岭",ID:"FSL",Type:0},{Name:"KDJ 随机指标",ID:"KDJ",Type:0},{Name:"MTM 动量线",ID:"MTM",Type:0},{Name:"OSC 变动速率线",ID:"OSC",Type:0},{Name:"RSI 相对强弱指标",ID:"RSI",Type:0},{Name:"ROC 变动率指标",ID:"ROC",Type:0},{Name:"WR 威廉指标",ID:"WR",Type:0},{Name:"UDL 引力线",ID:"UDL",Type:0},{Name:"LWR 威廉指标",ID:"LWR",Type:0},{Name:"MARSI 相对强弱平均线",ID:"MARSI",Type:0},{Name:"ACCER 幅度涨速",ID:"ACCER",Type:0},{Name:"CYD 承接因子",ID:"CYD",Type:0},{Name:"CYF 市场能量",ID:"CYF",Type:0},{Name:"ADTM 动态买卖气指标",ID:"ADTM",Type:0},{Name:"ATR 真实波幅",ID:"ATR",Type:0},{Name:"DKX 多空线",ID:"DKX",Type:0},{Name:"TAPI 加权指数成交值",ID:"TAPI",Type:0}]},{Group:{ID:"趋势型",Name:"趋势型"},AryIndex:[{Name:"CHO 济坚指数",ID:"CHO",Type:0},{Name:"DMA 平均差",ID:"DMA",Type:0},{Name:"DMI 趋向指标",ID:"DMI",Type:0},{Name:"EMV 简易波动指标",ID:"EMV",Type:0},{Name:"MACD 平滑异同平均",ID:"MACD",Type:0},{Name:"TRIX 三重指数平均线",ID:"TRIX",Type:0},{Name:"UOS 终极指标",ID:"UOS",Type:0},{Name:"TRIX 三重指数平均线",ID:"TRIX",Type:0},{Name:"VMACD 量平滑异同平均",ID:"VMACD",Type:0},{Name:"VMACD 量平滑异同平均",ID:"VMACD",Type:0},{Name:"SMACD 单线平滑异同平均线",ID:"SMACD",Type:0},{Name:"QACD 快速异同平均",ID:"QACD",Type:0},{Name:"VPT 量价曲线",ID:"VPT",Type:0},{Name:"WVAD 威廉变异离散量",ID:"WVAD",Type:0},{Name:"DBQR 对比强弱",ID:"DBQR",Type:0},{Name:"WVAD 威廉变异离散量",ID:"WVAD",Type:0},{Name:"JS 加速线",ID:"JS",Type:0},{Name:"CYE 市场趋势",ID:"CYE",Type:0},{Name:"QR 强弱指标",ID:"QR",Type:0},{Name:"GDX 轨道线",ID:"GDX",Type:0},{Name:"JLHB 绝路航标",ID:"JLHB",Type:0}]},{Group:{ID:"成交量型",Name:"成交量型"},AryIndex:[{Name:"HSL 换手率",ID:"HSL",Type:0},{Name:"OBV 累积能量线",ID:"OBV",Type:0},{Name:"NVI 负成交量",ID:"NVI",Type:0},{Name:"PVI 正成交量",ID:"PVI",Type:0},{Name:"VOL 成交量",ID:"VOL",Type:0},{Name:"VOL-TDX 成交量(虚拟)",ID:"VOL-TDX",Type:0},{Name:"AMO 成交金额",ID:"AMO",Type:0},{Name:"AMO-TDX 成交金额(虚拟)",ID:"AMO-TDX",Type:0},{Name:"VRSI 相对强弱量",ID:"VRSI",Type:0},{Name:"HSCOL 换手柱",ID:"HSCOL",Type:0},{Name:"DBQRV 对比强弱量",ID:"DBQRV",Type:0},{Name:"DBLB 对比量比",ID:"DBLB",Type:0},{Name:"WSBVOL 维斯波成交量",ID:"WSBVOL",Type:0},{Name:"CCYD 持仓异动(适用于期货)",ID:"CCYD",Type:0},{Name:"CCL 持仓量(适用于期货)",ID:"CCL",Type:0}]},{Group:{ID:"均线型",Name:"均线型"},AryIndex:[{Name:"MA 均线",ID:"MA",Type:0},{Name:"MA4 4根均线",ID:"MA4",Type:0},{Name:"MA5 5根均线",ID:"MA5",Type:0},{Name:"MA7 6根均线",ID:"MA6",Type:0},{Name:"MA7 7根均线",ID:"MA7",Type:0},{Name:"MA8 8根均线",ID:"MA8",Type:0},{Name:"BBI 多空线",ID:"BBI",Type:0},{Name:"ACD 升降线",ID:"ACD",Type:0},{Name:"EXPMA 指数平均线",ID:"EXPMA",Type:0},{Name:"EXPMA_S 指数平均线-副图",ID:"EXPMA_S",Type:0},{Name:"HMA 高价平均线",ID:"HMA",Type:0},{Name:"LMA 低价平均线",ID:"LMA",Type:0},{Name:"VMA 变异平均线",ID:"VMA",Type:0},{Name:"AMV 成本价均线",ID:"AMV",Type:0},{Name:"BBIBOLL 多空布林线",ID:"BBIBOLL",Type:0},{Name:"ALLIGAT 鳄鱼线",ID:"ALLIGAT",Type:0},{Name:"GMMA 顾比均线",ID:"GMMA",Type:0}]},{Group:{ID:"路径型",Name:"路径型"},AryIndex:[{Name:"BOLL 布林线",ID:"BOLL",Type:0},{Name:"BOLL 布林线-副图",ID:"BOLL副图",Type:0},{Name:"MIKE 麦克支撑压力",ID:"MIKE",Type:0},{Name:"ENE 轨道线",ID:"ENE",Type:0},{Name:"PBX 瀑布线",ID:"PBX",Type:0},{Name:"XS 薛斯通道",ID:"XS",Type:0},{Name:"XS2 薛斯通道II",ID:"XS2",Type:0},{Name:"DC 唐奇安通道",ID:"DC",Type:0}]},{Group:{ID:"能量型",Name:"能量型"},AryIndex:[{Name:"BRAR 情绪指标",ID:"BRAR",Type:0},{Name:"CYR 市场强弱",ID:"CYR",Type:0},{Name:"MASS 梅斯线",ID:"MASS",Type:0},{Name:"PSY 心理线",ID:"PSY",Type:0},{Name:"CR 带状能量线",ID:"CR",Type:0},{Name:"VR 成交量变异率",ID:"VR",Type:0},{Name:"WAD 威廉多空力度线",ID:"WAD",Type:0},{Name:"PCNT 幅度比",ID:"PCNT",Type:0}]},{Group:{ID:"大势型",Name:"大势型"},AryIndex:[{Name:"ABI 绝对广量指标",ID:"ABI",Type:0},{Name:"ADL 腾落指标",ID:"ADL",Type:0}]},{Group:{ID:"五彩K线",Name:"五彩K线"},AryIndex:[{Name:"五彩K线-十字星",ID:"五彩K线-十字星",Type:5},{Name:"五彩K线-早晨之星",ID:"五彩K线-早晨之星",Type:5},{Name:"五彩K线-黄昏之星",ID:"五彩K线-黄昏之星",Type:5},{Name:"五彩K线-长十字",ID:"五彩K线-长十字",Type:5},{Name:"五彩K线-身怀六甲",ID:"五彩K线-身怀六甲",Type:5},{Name:"五彩K线-三个白武士",ID:"五彩K线-三个白武士",Type:5},{Name:"五彩K线-三只乌鸦",ID:"五彩K线-三只乌鸦",Type:5},{Name:"五彩K线-光头阳线",ID:"五彩K线-光头阳线",Type:5},{Name:"五彩K线-光脚阴线",ID:"五彩K线-光脚阴线线",Type:5},{Name:"五彩K线-垂死十字",ID:"五彩K线-垂死十字",Type:5},{Name:"五彩K线-早晨十字星",ID:"五彩K线-早晨十字星",Type:5},{Name:"五彩K线-黄昏十字星",ID:"五彩K线-黄昏十字星",Type:5},{Name:"五彩K线-射击之星",ID:"五彩K线-射击之星",Type:5},{Name:"五彩K线-倒转锤头",ID:"五彩K线-倒转锤头",Type:5},{Name:"五彩K线-锤头",ID:"五彩K线-锤头",Type:5},{Name:"五彩K线-吊颈",ID:"五彩K线-吊颈星",Type:5},{Name:"五彩K线-穿头破脚",ID:"五彩K线-穿头破脚",Type:5},{Name:"五彩K线-出水芙蓉",ID:"五彩K线-出水芙蓉",Type:5},{Name:"五彩K线-乌云盖顶",ID:"五彩K线-乌云盖顶",Type:5},{Name:"五彩K线-曙光初现",ID:"五彩K线-曙光初现",Type:5},{Name:"五彩K线-十字胎",ID:"五彩K线-十字胎",Type:5},{Name:"五彩K线-剑",ID:"五彩K线-剑",Type:5},{Name:"五彩K线-平顶",ID:"五彩K线-平顶",Type:5},{Name:"五彩K线-平底",ID:"五彩K线-平底",Type:5},{Name:"五彩K线-大阳烛",ID:"五彩K线-大阳烛",Type:5},{Name:"五彩K线-大阴烛",ID:"五彩K线-大阴烛",Type:5},{Name:"五彩K线-好友反攻",ID:"五彩K线-好友反攻",Type:5},{Name:"五彩K线-跳空缺口",ID:"五彩K线-跳空缺口",Type:5},{Name:"五彩K线-双飞乌鸦",ID:"五彩K线-双飞乌鸦",Type:5},{Name:"五彩K线-上升三部曲",ID:"五彩K线-上升三部曲",Type:5},{Name:"五彩K线-下跌三部曲",ID:"五彩K线-下跌三部曲",Type:5},{Name:"五彩K线-长下影",ID:"五彩K线-长下影",Type:5},{Name:"五彩K线-长上影",ID:"五彩K线-长上影",Type:5},{Name:"五彩K线-分离",ID:"五彩K线-分离",Type:5}]},{Group:{ID:"交易系统",Name:"交易系统"},AryIndex:[{Name:"交易系统-BIAS",ID:"交易系统-BIAS",Type:4},{Name:"交易系统-CCI",ID:"交易系统-CCI",Type:4},{Name:"交易系统-DMI",ID:"交易系统-DMI",Type:4},{Name:"交易系统-KD",ID:"交易系统-KD",Type:4},{Name:"交易系统-BOLL",ID:"交易系统-BOLL",Type:4},{Name:"交易系统-KDJ",ID:"交易系统-KDJ",Type:4},{Name:"交易系统-MACD",ID:"交易系统-MACD",Type:4},{Name:"交易系统-KD",ID:"交易系统-KD",Type:4},{Name:"交易系统-MTM",ID:"交易系统-MTM",Type:4},{Name:"交易系统-PSY",ID:"交易系统-PSY",Type:4},{Name:"交易系统-ROC",ID:"交易系统-ROC",Type:4},{Name:"交易系统-RSI",ID:"交易系统-RSI",Type:4},{Name:"交易系统-VR",ID:"交易系统-VR",Type:4},{Name:"交易系统-DPSJ",ID:"交易系统-DPSJ",Type:4}]},{Group:{ID:"自定义",Name:"自定义"},AryIndex:[{Name:"收盘线(后台指标)",ID:"API-DRAWTEXTREL",Type:2,Args:null},{Name:"高低均价(自定义脚本)",ID:"HIGH_LOW_AV",Type:1,Script:"均价:(H+L)/2;高:H;低:L;",Args:[{Name:'N',Value:20},{Name:'M',Value:6}]},{Name:"指标异常(后台指标)",ID:"API_ERRORMESSAGE",Type:2,Args:null}]},{Group:{ID:"付费指标",Name:"付费指标"},AryIndex:[{Name:"面积图(后台指标)",ID:"API-DRAWBAND",Type:2,Args:null,
|
|
15879
|
+
{Name:"BIAS 乖离率",ID:"BIAS",Type:0},{Name:"BIAS36 三六乖离",ID:"BIAS36",Type:0},{Name:"BIAS_QL 乖离率-传统版",ID:"BIAS_QL",Type:0},{Name:"CCI 商品路径指标",ID:"CCI",Type:0},{Name:"FSL 分水岭",ID:"FSL",Type:0},{Name:"KDJ 随机指标",ID:"KDJ",Type:0},{Name:"MTM 动量线",ID:"MTM",Type:0},{Name:"OSC 变动速率线",ID:"OSC",Type:0},{Name:"RSI 相对强弱指标",ID:"RSI",Type:0},{Name:"ROC 变动率指标",ID:"ROC",Type:0},{Name:"WR 威廉指标",ID:"WR",Type:0},{Name:"UDL 引力线",ID:"UDL",Type:0},{Name:"LWR 威廉指标",ID:"LWR",Type:0},{Name:"MARSI 相对强弱平均线",ID:"MARSI",Type:0},{Name:"ACCER 幅度涨速",ID:"ACCER",Type:0},{Name:"CYD 承接因子",ID:"CYD",Type:0},{Name:"CYF 市场能量",ID:"CYF",Type:0},{Name:"ADTM 动态买卖气指标",ID:"ADTM",Type:0},{Name:"ATR 真实波幅",ID:"ATR",Type:0},{Name:"DKX 多空线",ID:"DKX",Type:0},{Name:"TAPI 加权指数成交值",ID:"TAPI",Type:0}]},{Group:{ID:"趋势型",Name:"趋势型"},AryIndex:[{Name:"CHO 济坚指数",ID:"CHO",Type:0},{Name:"DMA 平均差",ID:"DMA",Type:0},{Name:"DMI 趋向指标",ID:"DMI",Type:0},{Name:"EMV 简易波动指标",ID:"EMV",Type:0},{Name:"MACD 平滑异同平均",ID:"MACD",Type:0},{Name:"TRIX 三重指数平均线",ID:"TRIX",Type:0},{Name:"UOS 终极指标",ID:"UOS",Type:0},{Name:"TRIX 三重指数平均线",ID:"TRIX",Type:0},{Name:"VMACD 量平滑异同平均",ID:"VMACD",Type:0},{Name:"VMACD 量平滑异同平均",ID:"VMACD",Type:0},{Name:"SMACD 单线平滑异同平均线",ID:"SMACD",Type:0},{Name:"QACD 快速异同平均",ID:"QACD",Type:0},{Name:"VPT 量价曲线",ID:"VPT",Type:0},{Name:"WVAD 威廉变异离散量",ID:"WVAD",Type:0},{Name:"DBQR 对比强弱",ID:"DBQR",Type:0},{Name:"WVAD 威廉变异离散量",ID:"WVAD",Type:0},{Name:"JS 加速线",ID:"JS",Type:0},{Name:"CYE 市场趋势",ID:"CYE",Type:0},{Name:"QR 强弱指标",ID:"QR",Type:0},{Name:"GDX 轨道线",ID:"GDX",Type:0},{Name:"JLHB 绝路航标",ID:"JLHB",Type:0}]},{Group:{ID:"成交量型",Name:"成交量型"},AryIndex:[{Name:"HSL 换手率",ID:"HSL",Type:0},{Name:"OBV 累积能量线",ID:"OBV",Type:0},{Name:"NVI 负成交量",ID:"NVI",Type:0},{Name:"PVI 正成交量",ID:"PVI",Type:0},{Name:"VOL 成交量",ID:"VOL",Type:0},{Name:"VOL-TDX 成交量(虚拟)",ID:"VOL-TDX",Type:0},{Name:"AMO 成交金额",ID:"AMO",Type:0},{Name:"AMO-TDX 成交金额(虚拟)",ID:"AMO-TDX",Type:0},{Name:"VRSI 相对强弱量",ID:"VRSI",Type:0},{Name:"HSCOL 换手柱",ID:"HSCOL",Type:0},{Name:"DBQRV 对比强弱量",ID:"DBQRV",Type:0},{Name:"DBLB 对比量比",ID:"DBLB",Type:0},{Name:"WSBVOL 维斯波成交量",ID:"WSBVOL",Type:0},{Name:"CCYD 持仓异动(适用于期货)",ID:"CCYD",Type:0},{Name:"CCL 持仓量(适用于期货)",ID:"CCL",Type:0}]},{Group:{ID:"均线型",Name:"均线型"},AryIndex:[{Name:"MA 均线",ID:"MA",Type:0},{Name:"MA4 4根均线",ID:"MA4",Type:0},{Name:"MA5 5根均线",ID:"MA5",Type:0},{Name:"MA7 6根均线",ID:"MA6",Type:0},{Name:"MA7 7根均线",ID:"MA7",Type:0},{Name:"MA8 8根均线",ID:"MA8",Type:0},{Name:"BBI 多空线",ID:"BBI",Type:0},{Name:"ACD 升降线",ID:"ACD",Type:0},{Name:"EXPMA 指数平均线",ID:"EXPMA",Type:0},{Name:"EXPMA_S 指数平均线-副图",ID:"EXPMA_S",Type:0},{Name:"HMA 高价平均线",ID:"HMA",Type:0},{Name:"LMA 低价平均线",ID:"LMA",Type:0},{Name:"VMA 变异平均线",ID:"VMA",Type:0},{Name:"AMV 成本价均线",ID:"AMV",Type:0},{Name:"BBIBOLL 多空布林线",ID:"BBIBOLL",Type:0},{Name:"ALLIGAT 鳄鱼线",ID:"ALLIGAT",Type:0},{Name:"GMMA 顾比均线",ID:"GMMA",Type:0}]},{Group:{ID:"路径型",Name:"路径型"},AryIndex:[{Name:"BOLL 布林线",ID:"BOLL",Type:0},{Name:"BOLL 布林线-副图",ID:"BOLL副图",Type:0},{Name:"MIKE 麦克支撑压力",ID:"MIKE",Type:0},{Name:"ENE 轨道线",ID:"ENE",Type:0},{Name:"PBX 瀑布线",ID:"PBX",Type:0},{Name:"XS 薛斯通道",ID:"XS",Type:0},{Name:"XS2 薛斯通道II",ID:"XS2",Type:0},{Name:"DC 唐奇安通道",ID:"DC",Type:0}]},{Group:{ID:"能量型",Name:"能量型"},AryIndex:[{Name:"BRAR 情绪指标",ID:"BRAR",Type:0},{Name:"CYR 市场强弱",ID:"CYR",Type:0},{Name:"MASS 梅斯线",ID:"MASS",Type:0},{Name:"PSY 心理线",ID:"PSY",Type:0},{Name:"CR 带状能量线",ID:"CR",Type:0},{Name:"VR 成交量变异率",ID:"VR",Type:0},{Name:"WAD 威廉多空力度线",ID:"WAD",Type:0},{Name:"PCNT 幅度比",ID:"PCNT",Type:0}]},{Group:{ID:"大势型",Name:"大势型"},AryIndex:[{Name:"ABI 绝对广量指标",ID:"ABI",Type:0},{Name:"ADL 腾落指标",ID:"ADL",Type:0}]},{Group:{ID:"五彩K线",Name:"五彩K线"},AryIndex:[{Name:"五彩K线-十字星",ID:"五彩K线-十字星",Type:5},{Name:"五彩K线-早晨之星",ID:"五彩K线-早晨之星",Type:5},{Name:"五彩K线-黄昏之星",ID:"五彩K线-黄昏之星",Type:5},{Name:"五彩K线-长十字",ID:"五彩K线-长十字",Type:5},{Name:"五彩K线-身怀六甲",ID:"五彩K线-身怀六甲",Type:5},{Name:"五彩K线-三个白武士",ID:"五彩K线-三个白武士",Type:5},{Name:"五彩K线-三只乌鸦",ID:"五彩K线-三只乌鸦",Type:5},{Name:"五彩K线-光头阳线",ID:"五彩K线-光头阳线",Type:5},{Name:"五彩K线-光脚阴线",ID:"五彩K线-光脚阴线线",Type:5},{Name:"五彩K线-垂死十字",ID:"五彩K线-垂死十字",Type:5},{Name:"五彩K线-早晨十字星",ID:"五彩K线-早晨十字星",Type:5},{Name:"五彩K线-黄昏十字星",ID:"五彩K线-黄昏十字星",Type:5},{Name:"五彩K线-射击之星",ID:"五彩K线-射击之星",Type:5},{Name:"五彩K线-倒转锤头",ID:"五彩K线-倒转锤头",Type:5},{Name:"五彩K线-锤头",ID:"五彩K线-锤头",Type:5},{Name:"五彩K线-吊颈",ID:"五彩K线-吊颈星",Type:5},{Name:"五彩K线-穿头破脚",ID:"五彩K线-穿头破脚",Type:5},{Name:"五彩K线-出水芙蓉",ID:"五彩K线-出水芙蓉",Type:5},{Name:"五彩K线-乌云盖顶",ID:"五彩K线-乌云盖顶",Type:5},{Name:"五彩K线-曙光初现",ID:"五彩K线-曙光初现",Type:5},{Name:"五彩K线-十字胎",ID:"五彩K线-十字胎",Type:5},{Name:"五彩K线-剑",ID:"五彩K线-剑",Type:5},{Name:"五彩K线-平顶",ID:"五彩K线-平顶",Type:5},{Name:"五彩K线-平底",ID:"五彩K线-平底",Type:5},{Name:"五彩K线-大阳烛",ID:"五彩K线-大阳烛",Type:5},{Name:"五彩K线-大阴烛",ID:"五彩K线-大阴烛",Type:5},{Name:"五彩K线-好友反攻",ID:"五彩K线-好友反攻",Type:5},{Name:"五彩K线-跳空缺口",ID:"五彩K线-跳空缺口",Type:5},{Name:"五彩K线-双飞乌鸦",ID:"五彩K线-双飞乌鸦",Type:5},{Name:"五彩K线-上升三部曲",ID:"五彩K线-上升三部曲",Type:5},{Name:"五彩K线-下跌三部曲",ID:"五彩K线-下跌三部曲",Type:5},{Name:"五彩K线-长下影",ID:"五彩K线-长下影",Type:5},{Name:"五彩K线-长上影",ID:"五彩K线-长上影",Type:5},{Name:"五彩K线-分离",ID:"五彩K线-分离",Type:5}]},{Group:{ID:"交易系统",Name:"交易系统"},AryIndex:[{Name:"交易系统-BIAS",ID:"交易系统-BIAS",Type:4},{Name:"交易系统-CCI",ID:"交易系统-CCI",Type:4},{Name:"交易系统-DMI",ID:"交易系统-DMI",Type:4},{Name:"交易系统-KD",ID:"交易系统-KD",Type:4},{Name:"交易系统-BOLL",ID:"交易系统-BOLL",Type:4},{Name:"交易系统-KDJ",ID:"交易系统-KDJ",Type:4},{Name:"交易系统-MACD",ID:"交易系统-MACD",Type:4},{Name:"交易系统-KD",ID:"交易系统-KD",Type:4},{Name:"交易系统-MTM",ID:"交易系统-MTM",Type:4},{Name:"交易系统-PSY",ID:"交易系统-PSY",Type:4},{Name:"交易系统-ROC",ID:"交易系统-ROC",Type:4},{Name:"交易系统-RSI",ID:"交易系统-RSI",Type:4},{Name:"交易系统-VR",ID:"交易系统-VR",Type:4},{Name:"交易系统-DPSJ",ID:"交易系统-DPSJ",Type:4}]},{Group:{ID:"自定义",Name:"自定义"},AryIndex:[{Name:"收盘线(后台指标)",ID:"API-DRAWTEXTREL",Type:2,Args:null},{Name:"高低均价(自定义脚本)",ID:"HIGH_LOW_AV",Type:1,Script:"均价:(H+L)/2;高:H;低:L;",Args:[{Name:'N',Value:20},{Name:'M',Value:6}]},{Name:"指标异常(后台指标)",ID:"API_ERRORMESSAGE",Type:2,Args:null}]},{Group:{ID:"付费指标",Name:"付费指标"},AryIndex:[{Name:"面积图(后台指标)",ID:"API-DRAWBAND",Type:2,Args:null,IsAuthorization:true},{Name:"波段量能跟庄-波段量能",ID:"TEST_INDEX_4AE0_1",Type:0,IsAuthorization:true},{Name:"飞龙八级进-主图",ID:"TEST_INDEX_4AE0_2",Type:0,IsAuthorization:true}]},{Group:{ID:"组合指标",Name:"组合指标"},AryIndex:[{Name:"BOLL+ENE+KDJ",ID:"9E154D3C-A4D4-40DD-8D8F-2C499F35E31B",Type:3,TemplateData:{Windows:[{Index:"BOLL"},{Index:"ENE"},{Index:"KDJ"}]}},{Name:"MA_OSC+DPO_RSI",ID:"E828DD1C-D41B-4888-9CB5-4CA1D84F7B50",Type:3,TemplateData:{Windows:[//{ API:{ Name:"后台指标ID", ID:"后台指标ID", Url:'local' } },
|
|
15846
15880
|
{Index:'MA'},{Index:"DPO"}],OverlayIndex://叠加指标设置
|
|
15847
15881
|
[{Index:'OSC',Windows:0//IsShareY:true,ShowRightText:false
|
|
15848
15882
|
},{Index:'RSI',Windows:1//ShowRightText:false
|
|
15849
15883
|
}]//KLine:{ Period:5, }
|
|
15884
|
+
}},{Name:"Delta",ID:"E828DD1C-D41B-4888-9CB5-4CA1D84F7B70",Type:3,TemplateData:{Windows:[{API:{Name:"Delta",ID:"API-Delta_KLine_Table",Url:'local'},AryTemporaryAttribute:[{Name:JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.BOTTOMSPACE,Value:(14*GetDevicePixelRatio()+6)*5+18*GetDevicePixelRatio()+15}]}],OverlayIndex://叠加指标设置
|
|
15885
|
+
[]//KLine:{ Period:5, }
|
|
15850
15886
|
}}]}]};return data;};function JSDialogModifyIndexParam(){this.DivDialog=null;this.DragTitle=null;this.TitleBox=null;//{ DivTitle, DivName, DivName }
|
|
15851
15887
|
this.Style=0;//样式 预留
|
|
15852
15888
|
this.MaxRowCount=30;//行
|
|
@@ -15856,22 +15892,22 @@ this.EnableRestoreParam=true;//是否允许“恢复默认"
|
|
|
15856
15892
|
this.RestoreFocusDelay=800;this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){if(IFrameSplitOperator.IsNumber(option.Style))this.Style=option.Style;if(IFrameSplitOperator.IsNumber(option.MaxRowCount))this.MaxRowCount=option.MaxRowCount;if(IFrameSplitOperator.IsBool(option.EnableRestoreParam))this.EnableRestoreParam=option.EnableRestoreParam;}};this.Destroy=function(){this.AryData=[];this.HQChart=null;if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.Show=function(x,y){if(!this.DivDialog)return;if(this.HQChart)this.HQChart.ClearRestoreFocusTimer();this.UpdateParam();if(this.IndexData&&this.IndexData.Title)this.TitleBox.DivName.innerText=this.IndexData.Title;if(!IFrameSplitOperator.IsNumber(x)||!IFrameSplitOperator.IsNumber(y))//默认居中显示
|
|
15857
15893
|
{var rtClient=this.HQChart.UIElement.getBoundingClientRect();var scrollPos=GetScrollPosition();x=rtClient.left+(rtClient.right-rtClient.left-this.DivDialog.offsetWidth)/2;y=rtClient.top+(rtClient.bottom-rtClient.top-this.DivDialog.offsetHeight)/2+scrollPos.Top;}this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.OnClickColseButton=function(e){//this.RestoreParam(); //还原参数
|
|
15858
15894
|
this.Close(e);};this.OnClickRestoreButton=function(e){var aryText=this.Arguments;if(!aryText)aryText=[];this.UpdateParamTable(aryText);this.RestoreParam();};this.OnClickOkButton=function(e){this.Close(e);};this.Close=function(e){this.IndexData=null;this.Arguments=[];if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.SetIndexData=function(data){this.IndexData=data;this.GetDefaultParam();//this.BackupParam();
|
|
15859
|
-
};this.OnMouseDownTitle=function(e){var
|
|
15860
|
-
var divTitle=document.createElement("div");divTitle.className='UMyChart_ModifyIndexParam_Title_Div';divTitle.onmousedown=function(e){
|
|
15895
|
+
};this.OnMouseDownTitle=function(e){var _this116=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this116.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this116.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;var scrollPos=GetScrollPosition();if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight+scrollPos.Top)top=window.innerHeight-this.DivDialog.offsetHeight-5+scrollPos.Top;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;this.onmousemove=null;this.onmouseup=null;};this.Create=function(){var _this117=this;var divDom=document.createElement("div");divDom.className='UMyChart_ModifyIndexParam_Dialog_Div';//对话框标题栏
|
|
15896
|
+
var divTitle=document.createElement("div");divTitle.className='UMyChart_ModifyIndexParam_Title_Div';divTitle.onmousedown=function(e){_this117.OnMouseDownTitle(e);};divDom.appendChild(divTitle);var divName=document.createElement("div");divName.className='UMyChart_ModifyIndexParam_Name_Div';divName.innerText="指标参数修改";divTitle.appendChild(divName);var divClose=document.createElement("div");divClose.className='UMyChart_ModifyIndexParam_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this117.OnClickColseButton(e);};divTitle.appendChild(divClose);//整个框子
|
|
15861
15897
|
var divFrame=document.createElement("div");divFrame.className="UMyChart_ModifyIndexParam_Frome_Div";divDom.appendChild(divFrame);//表格
|
|
15862
15898
|
var divTable=document.createElement("div");divTable.className='UMyChart_ModifyIndexParam_Table_Div';divFrame.appendChild(divTable);var table=document.createElement("table");table.className="UMyChart_ModifyIndexParam_Table";divTable.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_ModifyIndexParam_Tbody";table.appendChild(tbody);this.AryData=[];for(var i=0;i<this.MaxRowCount;++i){var rowItem=this.CreateRowDOM(i,tbody);this.AryData.push(rowItem);}var divButton=document.createElement("div");divButton.className='UMyChart_ModifyIndexParam_Button_Div';divFrame.appendChild(divButton);if(this.EnableRestoreParam){var btnRestore=document.createElement("button");//btnRestore.className="UMyChart_ModifyIndexParam_button";
|
|
15863
|
-
btnRestore.innerText="恢复默认";btnRestore.addEventListener("mousedown",function(e){
|
|
15899
|
+
btnRestore.innerText="恢复默认";btnRestore.addEventListener("mousedown",function(e){_this117.OnClickRestoreButton(e);});divButton.appendChild(btnRestore);}/*
|
|
15864
15900
|
var btnOk=document.createElement("button");
|
|
15865
15901
|
//btnOk.className="UMyChart_ModifyIndexParam_button";
|
|
15866
15902
|
btnOk.innerText="确认";
|
|
15867
15903
|
btnOk.addEventListener("mousedown", (e)=>{ this.OnClickOkButton(e); })
|
|
15868
15904
|
divButton.appendChild(btnOk);
|
|
15869
15905
|
*/var btnOk=document.createElement("button");//btnOk.className="UMyChart_ModifyIndexParam_button";
|
|
15870
|
-
btnOk.innerText="关闭";btnOk.addEventListener("mousedown",function(e){
|
|
15906
|
+
btnOk.innerText="关闭";btnOk.addEventListener("mousedown",function(e){_this117.Close(e);});divButton.appendChild(btnOk);document.body.appendChild(divDom);this.DivName=divName;this.DivDialog=divDom;this.TitleBox={DivTitle:divTitle,DivName:divName,DivColor:divClose};this.UpdateStyle();};this.CreateRowDOM=function(index,tbody){var _this118=this;var rowItem={Tr:null,TdName:null,SpanName:null,TdValue:null,Input:null,ParamItem:null};var trDom=document.createElement("tr");trDom.className='UMyChart_ModifyIndexParam_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_ModifyIndexParam_Name_Td";//指标名称
|
|
15871
15907
|
trDom.appendChild(tdDom);rowItem.TdName=tdDom;var spanDom=document.createElement("span");spanDom.className='UMyChart_ModifyIndexParam_Name_Span';spanDom.innerText='参数';tdDom.appendChild(spanDom);rowItem.SpanName=spanDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_ModifyIndexParam_Value_Td";//指标名称
|
|
15872
15908
|
trDom.appendChild(tdDom);rowItem.TdValue=tdDom;var input=document.createElement("input");input.className='UMyChart_ModifyIndexParam_Input';input.type="number";input.step=1;//input.addEventListener("mouseup", (e)=>{ this.OnParamMouseUp(e)});
|
|
15873
15909
|
//input.addEventListener("keyup", (e)=>{ this.OnParamKeyUp(e)} );
|
|
15874
|
-
input.addEventListener("input",function(e){
|
|
15910
|
+
input.addEventListener("input",function(e){_this118.OnParamInput(e);});tdDom.appendChild(input);rowItem.Input=input;return rowItem;};this.UpdateStyle=function(){};this.UpdateParamTable=function(aryText){var index=0;for(index=0;index<aryText.length&&index<this.AryData.length;++index){var item=aryText[index];var row=this.AryData[index];row.SpanName.innerText=item.Name+': ';row.Input.value=item.Value;row.Input.dataset.paramid=item.Index;if(row.Tr.style.display=="none")row.Tr.style.display="";}for(;index<this.AryData.length;++index){var row=this.AryData[index];row.Tr.style.display="none";row.Input.dataset.paramid=-1;}};this.UpdateParam=function(){var aryText=[];var indexScript=this.IndexData.IndexScript;if(indexScript&&IFrameSplitOperator.IsNonEmptyArray(indexScript.Arguments)){for(var i=0;i<indexScript.Arguments.length;++i){var item=indexScript.Arguments[i];aryText.push({Name:item.Name,Value:item.Value,Index:i});}}this.UpdateParamTable(aryText);};this.RestoreParam=function(){if(!this.IndexData||!this.IndexData.IndexScript)return;var indexScript=this.IndexData.IndexScript;if(!IFrameSplitOperator.IsNonEmptyArray(indexScript.Arguments))return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Arguments))return;var bUpdate=false;for(var i=0;i<this.Arguments.length;++i){var oldItem=this.Arguments[i];var item=indexScript.Arguments[i];if(oldItem.Value!=item.Value){item.Value=oldItem.Value;bUpdate=true;}}if(!bUpdate)return;if(this.IndexData.Type==1)this.HQChart.UpdateWindowIndex(this.IndexData.WindowIndex);else if(this.IndexData.Type==2)this.HQChart.UpdateOverlayIndex(this.IndexData.Identify);};this.BackupParam=function(){this.Arguments=[];if(!this.IndexData||!this.IndexData.IndexScript)return;var indexScript=this.IndexData.IndexScript;if(IFrameSplitOperator.IsNonEmptyArray(indexScript.Arguments)){for(var i=0;i<indexScript.Arguments.length;++i){var item=indexScript.Arguments[i];this.Arguments.push({Name:item.Name,Value:item.Value,Index:i});}}};this.GetDefaultParam=function(){this.Arguments=[];if(!this.IndexData||!this.IndexData.IndexScript)return;var indexScript=this.IndexData.IndexScript;var args=[];if(indexScript.ID){var scriptData=new JSIndexScript();var indexInfo=scriptData.Get(indexScript.ID);if(indexInfo)args=indexInfo.Args;}var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.GET_DEFAULT_INDEX_PARAM);if(event&&event.Callback){var sendData={IndexData:this.IndexData,Args:args.slice(),PreventDefault:false};event.Callback(event,sendData,this);if(sendData.PreventDefault)return;args=sendData.Args;}if(IFrameSplitOperator.IsNonEmptyArray(args)){for(var i=0;i<args.length;++i){var item=args[i];this.Arguments.push({Name:item.Name,Value:item.Value,Index:i});}}};/*
|
|
15875
15911
|
this.OnParamMouseUp=function(e)
|
|
15876
15912
|
{
|
|
15877
15913
|
var input=e.target;
|
|
@@ -15903,8 +15939,8 @@ Script:TEST_INDEX_4AE0_2});JSIndexScript.AddIndex(aryIndex);}AddTestSystemIndex(
|
|
|
15903
15939
|
//
|
|
15904
15940
|
//////////////////////////////////////////////////////////////////////////////////
|
|
15905
15941
|
function HQChartScriptWorker(){this.Status=0;//0=空闲 1=运行
|
|
15906
|
-
this.Create=function(){var
|
|
15907
|
-
};this.ExecuteScript=function(indexData,message){var
|
|
15942
|
+
this.Create=function(){var _this119=this;addEventListener('message',function(obj){_this119.OnRecvMessage(obj);});};this.NetworkFilter=function(data,callback,indexInfo){JSConsole.Complier.Log('[HQChartScriptWorker::NetworkFilter] ['+data.Name+']['+data.Explain+'] data=',data);//数据下载
|
|
15943
|
+
};this.ExecuteScript=function(indexData,message){var _this120=this;var scriptObj={};if(indexData.Script){scriptObj.Name=indexData.Name;scriptObj.ID=indexData.Index;scriptObj.Script=indexData.Script;}else{if(!indexData.Index)return false;var scriptData=new JSIndexScript();var finder=scriptData.Get(indexData.Index);if(!finder)return false;scriptObj.ID=indexData.Index;scriptObj.Name=finder.Name;scriptObj.Script=finder.Script;scriptObj.Args=finder.Args;}if(indexData.Args)scriptObj.Args=indexData.Args;if(IFrameSplitOperator.IsBool(message.IsApiPeriod))scriptObj.IsApiPeriod=message.IsApiPeriod;var indexInfo={Name:scriptObj.Name,ID:scriptObj.ID,Script:scriptObj.Script,Args:scriptObj.Args,Guid:message.Guid};scriptObj.ErrorCallback=function(error){_this120.OnExecuteError(error,indexInfo,message);};scriptObj.FinishCallback=function(data,jsExectute){_this120.OnExecuteFinish(data,indexInfo,jsExectute,message);};scriptObj.NetworkFilter=function(data,callback){_this120.NetworkFilter(data,callback,indexInfo,message);};JSConsole.Complier.Log('[HQChartScriptWorker::ExecuteScript] scriptObj=',scriptObj);var indexConsole=new ScriptIndexConsole(scriptObj);var hisData=null;if(message&&message.Data){hisData=new ChartData();hisData.Data=message.Data;hisData.Right=message.Right;hisData.Period=message.Period;hisData.DataType=message.DataType;//0=日线 1=分钟
|
|
15908
15944
|
hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,Stock:{Symbol:message.Symbol},Request:{MaxDataCount:500,MaxMinuteDayCount:5},Period:message.Period,Right:message.Right,Data:hisData};if(IFrameSplitOperator.IsNumber(message.HQDataType))stockObj.HQDataType=message.HQDataType;indexConsole.ExecuteScript(stockObj);};this.OnRecvMessage=function(message){var data=message.data;if(!data)return;if(data.ID==JSCHART_WORKER_MESSAGE_ID.EXECUTE_SCRIPT){if(!IFrameSplitOperator.IsNonEmptyArray(data.AryIndex))return;for(var i=0;i<data.AryIndex.length;++i){var item=data.AryIndex[i];this.Status=1;//执行状态
|
|
15909
15945
|
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);};}/*
|
|
15910
15946
|
Copyright (c) 2018 jones
|
|
@@ -15923,7 +15959,7 @@ this.ResizeListener;//大小变动监听
|
|
|
15923
15959
|
this.CanvasElement=document.createElement("canvas");this.CanvasElement.className='jsstatusbar-drawing';this.CanvasElement.id=Guid();this.CanvasElement.setAttribute("tabindex",0);if(this.CanvasElement.style)this.CanvasElement.style.outline='none';if(divElement.hasChildNodes()){JSConsole.Chart.Log("[JSStatusBarChart::JSStatusBarChart] divElement hasChildNodes",divElement.childNodes);}divElement.appendChild(this.CanvasElement);this.OnSize=function(){//画布大小通过div获取 如果有style里的大小 使用style里的
|
|
15924
15960
|
var height=this.DivElement.offsetHeight;var width=this.DivElement.offsetWidth;if(this.DivElement.style.height&&this.DivElement.style.width){if(this.DivElement.style.height.includes("px"))height=parseInt(this.DivElement.style.height.replace("px",""));if(this.DivElement.style.width.includes("px"))width=parseInt(this.DivElement.style.width.replace("px",""));}this.CanvasElement.height=height;this.CanvasElement.width=width;this.CanvasElement.style.width=this.CanvasElement.width+'px';this.CanvasElement.style.height=this.CanvasElement.height+'px';var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
15925
15961
|
this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;JSConsole.Chart.Log('[JSStatusBarChart::OnSize] devicePixelRatio='+window.devicePixelRatio+', height='+this.CanvasElement.height+', width='+this.CanvasElement.width);if(this.JSChartContainer&&this.JSChartContainer.OnSize){this.JSChartContainer.OnSize();}};this.SetOption=function(option){var chart=this.CreateJSStatusBarChartContainer(option);if(!chart)return false;if(option.OnCreatedCallback)option.OnCreatedCallback(chart);this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
|
|
15926
|
-
if(option.EnableResize==true)this.CreateResizeListener();if(option.MinuteChartTooltip&&option.MinuteChartTooltip.Enable)chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);chart.Draw();chart.RequestData();};this.CreateResizeListener=function(){var
|
|
15962
|
+
if(option.EnableResize==true)this.CreateResizeListener();if(option.MinuteChartTooltip&&option.MinuteChartTooltip.Enable)chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);chart.Draw();chart.RequestData();};this.CreateResizeListener=function(){var _this121=this;this.ResizeListener=new ResizeObserver(function(entries){_this121.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSStatusBarChart::OnDivResize] entries=",entries);this.OnSize();};this.CreateJSStatusBarChartContainer=function(option){var chart=new JSStatusBarChartContainer(this.CanvasElement);chart.Create(option);this.SetChartBorder(chart,option);if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(option.RightToolbar)chart.SetRightToolbar(option.RightToolbar);//是否自动更新
|
|
15927
15963
|
if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;//注册事件
|
|
15928
15964
|
if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};this.SetChartBorder=function(chart,option){if(!option.Border)return;var item=option.Border;if(IFrameSplitOperator.IsNumber(option.Border.Left))chart.Frame.ChartBorder.Left=option.Border.Left;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
15929
15965
|
chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};//事件回调
|
|
@@ -15944,21 +15980,21 @@ this.ChartDestroy=function()//销毁
|
|
|
15944
15980
|
{this.IsDestroy=true;this.StopAutoUpdate();if(this.ToolbarTimer){clearInterval(this.ToolbarTimer);this.ToolbarTimer=null;}this.DestroyMinuteChartTooltip();};this.InitalMinuteChartTooltip=function(option){if(this.TooltipMinuteChart)return;this.TooltipMinuteChart=new JSTooltipMinuteChart();this.TooltipMinuteChart.Inital(this,option);this.TooltipMinuteChart.Create();};this.DestroyMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Destroy();this.TooltipMinuteChart=null;};//设置事件回调
|
|
15945
15981
|
//{event:事件id, callback:回调函数}
|
|
15946
15982
|
this.AddEventCallback=function(object){if(!object||!object.event||!object.callback)return;var data={Callback:object.callback,Source:object};this.mapEvent.set(object.event,data);};this.RemoveEventCallback=function(eventid){if(!this.mapEvent.has(eventid))return;this.mapEvent.delete(eventid);};this.GetEventCallback=function(id)//获取事件回调
|
|
15947
|
-
{if(!this.mapEvent.has(id))return null;var item=this.mapEvent.get(id);return item;};this.ClearData=function(){this.Data.MapSymbol=new _map2.default();};this.RequestData=function(option){var
|
|
15948
|
-
return;
|
|
15949
|
-
{if(this.AutoUpdateTimer){clearInterval(this.AutoUpdateTimer);this.AutoUpdateTimer=null;}};this.StopAutoUpdate=function(){this.CancelAutoUpdate();if(!this.IsAutoUpdate)return;this.IsAutoUpdate=false;};this.RequestStockData=function(){var
|
|
15950
|
-
Explain:'工具栏股票数据',Request:{Data:{stocks:arySymbol}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){
|
|
15983
|
+
{if(!this.mapEvent.has(id))return null;var item=this.mapEvent.get(id);return item;};this.ClearData=function(){this.Data.MapSymbol=new _map2.default();};this.RequestData=function(option){var _this122=this;this.CancelAutoUpdate();this.ClearData();if(option){if(IFrameSplitOperator.IsNonEmptyArray(option.Column))this.SetColumn(option.Column);}this.Draw();this.RequestStockData();if(this.IsAutoUpdate){var frequency=this.AutoUpdateFrequency;setInterval(function(){var marketStatus=MARKET_SUFFIX_NAME.GetMarketStatus(_this122.Symbol);if(marketStatus==0||marketStatus==3)//闭市,盘后
|
|
15984
|
+
return;_this122.RequestStockData();},frequency);}};this.CancelAutoUpdate=function()//关闭停止更新
|
|
15985
|
+
{if(this.AutoUpdateTimer){clearInterval(this.AutoUpdateTimer);this.AutoUpdateTimer=null;}};this.StopAutoUpdate=function(){this.CancelAutoUpdate();if(!this.IsAutoUpdate)return;this.IsAutoUpdate=false;};this.RequestStockData=function(){var _this123=this;if(!this.NetworkFilter)return;var chart=this.ChartPaint[0];if(!chart)return;if(!IFrameSplitOperator.IsNonEmptyArray(chart.Column))return;var arySymbol=[];for(var i=0;i<chart.Column.length;++i){var item=chart.Column[i];var newItem={Symbol:item.Symbol,Fields:[]};arySymbol.push(newItem);}var obj={Name:'JSStatusBarChartContainer::RequestStockData',//类名::函数名
|
|
15986
|
+
Explain:'工具栏股票数据',Request:{Data:{stocks:arySymbol}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){_this123.RecvStockData(data);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
15951
15987
|
};this.RecvStockData=function(recv){if(!recv)return;if(!IFrameSplitOperator.IsNonEmptyArray(recv.data))return;for(var i=0;i<recv.data.length;++i){var item=recv.data[i];if(!item.Symbol)continue;var stockItem=null;if(this.Data.MapSymbol.has(item.Symbol)){stockItem=this.Data.MapSymbol.get(item.Symbol);}else{stockItem={Symbol:item.Symbol,MapData:new _map2.default()};stockItem.YClose=item.YClose;if(IFrameSplitOperator.IsNumber(item.FYClose))stockItem.YClose=item.FYClose;this.Data.MapSymbol.set(item.Symbol,stockItem);}for(var j=0;j<item.Data.length;++j){var itemData=item.Data[j];stockItem.MapData.set(itemData.Key,itemData.Value);}}if(!this.ToolbarTimer)this.Draw();};//创建
|
|
15952
|
-
this.Create=function(option){var
|
|
15988
|
+
this.Create=function(option){var _this124=this;this.UIElement.JSChartContainer=this;//创建框架
|
|
15953
15989
|
this.Frame=new JSStatusBarFrame();this.Frame.ChartBorder=new ChartBorder();this.Frame.ChartBorder.UIElement=this.UIElement;this.Frame.ChartBorder.Top=30;this.Frame.ChartBorder.Left=5;this.Frame.ChartBorder.Bottom=20;this.Frame.Canvas=this.Canvas;//创建表格
|
|
15954
|
-
var chart=new ChartStatusBarStockData();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return
|
|
15990
|
+
var chart=new ChartStatusBarStockData();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this124.GetEventCallback(id);};chart.Data=this.Data;chart.BorderData=this.BorderData;chart.GlobalOption=this.GlobalOption;chart.FixedRowData=this.FixedRowData;chart.SortInfo=this.SortInfo;this.ChartPaint[0]=chart;if(option){}this.UIElement.onmousedown=function(e){_this124.UIOnMouseDown(e);};this.UIElement.onmousemove=function(e){_this124.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this124.UIOnMouseOut(e);};this.UIElement.oncontextmenu=function(e){_this124.UIOnContextMenu(e);};/*
|
|
15955
15991
|
this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
|
|
15956
15992
|
this.UIElement.onmousedown=(e)=> { this.UIOnMouseDown(e); }
|
|
15957
15993
|
|
|
15958
15994
|
|
|
15959
15995
|
this.UIElement.onmouseleave=(e)=>{ this.UIOnMouseleave(e); }
|
|
15960
15996
|
|
|
15961
|
-
*/var frequency=500;this.ToolbarTimer=setInterval(function(){
|
|
15997
|
+
*/var frequency=500;this.ToolbarTimer=setInterval(function(){_this124.Draw();},frequency);};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();this.ClickDownPoint={X:e.clientX,Y:e.clientY};var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(e){if(e.button==0)//左键点击
|
|
15962
15998
|
{var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICK_STATUSBAR_ITEM,ptClick,e);}else if(e.button==2)//右键点击
|
|
15963
15999
|
{this.HideAllTooltip();var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_RCLICK_STATUSBAR_ITEM,ptClick,e);}}};this.UIOnContextMenu=function(e){if(e)//去掉系统右键菜单
|
|
15964
16000
|
{if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();e.returnValue=false;}};this.GetChartTooltipData=function(x,y,option){var toolTip=new TooltipData();for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip)){return toolTip;}}return null;};this.UIOnMouseMove=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;//var bShowKLineTooltip=false;
|
|
@@ -16042,7 +16078,7 @@ this.CanvasElement=document.createElement("canvas");this.CanvasElement.className
|
|
|
16042
16078
|
var height=this.DivElement.offsetHeight;var width=this.DivElement.offsetWidth;if(this.DivElement.style.height&&this.DivElement.style.width){if(this.DivElement.style.height.includes("px"))height=parseInt(this.DivElement.style.height.replace("px",""));if(this.DivElement.style.width.includes("px"))width=parseInt(this.DivElement.style.width.replace("px",""));}this.CanvasElement.height=height;this.CanvasElement.width=width;this.CanvasElement.style.width=this.CanvasElement.width+'px';this.CanvasElement.style.height=this.CanvasElement.height+'px';var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
16043
16079
|
this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;JSConsole.Chart.Log('[JSStockInfoChart::OnSize] devicePixelRatio='+window.devicePixelRatio+', height='+this.CanvasElement.height+', width='+this.CanvasElement.width);if(this.JSChartContainer&&this.JSChartContainer.OnSize){this.JSChartContainer.OnSize();}};this.SetOption=function(option){var chart=this.CreateJSStockInfoChartContainer(option);if(!chart)return false;if(option.OnCreatedCallback)option.OnCreatedCallback(chart);this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
|
|
16044
16080
|
if(option.EnableResize==true)this.CreateResizeListener();if(option.EnablePopMenuV2===true)chart.InitalPopMenu();if(option.Symbol){chart.ChangeSymbol(option.Symbol);//下载列表码表
|
|
16045
|
-
}else{chart.Draw();}};this.CreateResizeListener=function(){var
|
|
16081
|
+
}else{chart.Draw();}};this.CreateResizeListener=function(){var _this125=this;this.ResizeListener=new ResizeObserver(function(entries){_this125.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSStockInfoChart::OnDivResize] entries=",entries);this.OnSize();};//切换股票代码接口
|
|
16046
16082
|
this.ChangeSymbol=function(symbol,option){if(this.JSChartContainer)this.JSChartContainer.ChangeSymbol(symbol,option);};this.CreateJSStockInfoChartContainer=function(option){var chart=new JSStockInfoChartContainer(this.CanvasElement);chart.Create(option);this.SetChartBorder(chart,option);if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(IFrameSplitOperator.IsNonEmptyArray(option.HeaderColumn))chart.SetHeaderColumn(option.HeaderColumn);if(IFrameSplitOperator.IsNonEmptyArray(option.MouseOnKey))chart.SetMouseOnKey(option.MouseOnKey);//是否自动更新
|
|
16047
16083
|
if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;//注册事件
|
|
16048
16084
|
if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};this.SetChartBorder=function(chart,option){if(!option.Border)return;var item=option.Border;if(IFrameSplitOperator.IsNumber(option.Border.Left))chart.Frame.ChartBorder.Left=option.Border.Left;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
@@ -16073,20 +16109,20 @@ this.ChartDestroy=function()//销毁
|
|
|
16073
16109
|
this.AddEventCallback=function(object){if(!object||!object.event||!object.callback)return;var data={Callback:object.callback,Source:object};this.mapEvent.set(object.event,data);};this.RemoveEventCallback=function(eventid){if(!this.mapEvent.has(eventid))return;this.mapEvent.delete(eventid);};this.GetEventCallback=function(id)//获取事件回调
|
|
16074
16110
|
{if(!this.mapEvent.has(id))return null;var item=this.mapEvent.get(id);return item;};this.InitalPopMenu=function()//初始化弹出窗口
|
|
16075
16111
|
{if(this.JSPopMenu)return;this.JSPopMenu=new JSPopMenu();//内置菜单
|
|
16076
|
-
this.JSPopMenu.Inital();};this.DestroyPopMenu=function(){if(!this.JSPopMenu)return;this.JSPopMenu.Destroy();this.JSPopMenu=null;};this.ClearData=function(){this.Data.Name=null;this.Data.YClose=null;this.Data.YFClose=null;this.Data.Buys=[{Name:"买一",Price:null,Vol:null,Amount:null},{Name:"买二",Price:null,Vol:null,Amount:null},{Name:"买三",Price:null,Vol:null,Amount:null},{Name:"买四",Price:null,Vol:null,Amount:null},{Name:"买五",Price:null,Vol:null,Amount:null},{Name:"买六",Price:null,Vol:null,Amount:null},{Name:"买七",Price:null,Vol:null,Amount:null},{Name:"买八",Price:null,Vol:null,Amount:null},{Name:"买九",Price:null,Vol:null,Amount:null},{Name:"买十",Price:null,Vol:null,Amount:null}];this.Data.Sells=[{Name:"卖一",Price:null,Vol:null,Amount:null},{Name:"卖二",Price:null,Vol:null,Amount:null},{Name:"卖三",Price:null,Vol:null,Amount:null},{Name:"卖四",Price:null,Vol:null,Amount:null},{Name:"卖五",Price:null,Vol:null,Amount:null},{Name:"卖六",Price:null,Vol:null,Amount:null},{Name:"卖七",Price:null,Vol:null,Amount:null},{Name:"卖八",Price:null,Vol:null,Amount:null},{Name:"卖九",Price:null,Vol:null,Amount:null},{Name:"卖十",Price:null,Vol:null,Amount:null}];this.Data.MapData=new _map2.default();};this.ChangeSymbol=function(symbol,option){var
|
|
16077
|
-
return;
|
|
16078
|
-
{if(this.AutoUpdateTimer){clearInterval(this.AutoUpdateTimer);this.AutoUpdateTimer=null;}};this.StopAutoUpdate=function(){this.CancelAutoUpdate();if(!this.IsAutoUpdate)return;this.IsAutoUpdate=false;};this.RequestStockData=function(){var
|
|
16079
|
-
Explain:'股票5档实时数据',Request:{Data:{symbol:this.Symbol}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){
|
|
16112
|
+
this.JSPopMenu.Inital();};this.DestroyPopMenu=function(){if(!this.JSPopMenu)return;this.JSPopMenu.Destroy();this.JSPopMenu=null;};this.ClearData=function(){this.Data.Name=null;this.Data.YClose=null;this.Data.YFClose=null;this.Data.Buys=[{Name:"买一",Price:null,Vol:null,Amount:null},{Name:"买二",Price:null,Vol:null,Amount:null},{Name:"买三",Price:null,Vol:null,Amount:null},{Name:"买四",Price:null,Vol:null,Amount:null},{Name:"买五",Price:null,Vol:null,Amount:null},{Name:"买六",Price:null,Vol:null,Amount:null},{Name:"买七",Price:null,Vol:null,Amount:null},{Name:"买八",Price:null,Vol:null,Amount:null},{Name:"买九",Price:null,Vol:null,Amount:null},{Name:"买十",Price:null,Vol:null,Amount:null}];this.Data.Sells=[{Name:"卖一",Price:null,Vol:null,Amount:null},{Name:"卖二",Price:null,Vol:null,Amount:null},{Name:"卖三",Price:null,Vol:null,Amount:null},{Name:"卖四",Price:null,Vol:null,Amount:null},{Name:"卖五",Price:null,Vol:null,Amount:null},{Name:"卖六",Price:null,Vol:null,Amount:null},{Name:"卖七",Price:null,Vol:null,Amount:null},{Name:"卖八",Price:null,Vol:null,Amount:null},{Name:"卖九",Price:null,Vol:null,Amount:null},{Name:"卖十",Price:null,Vol:null,Amount:null}];this.Data.MapData=new _map2.default();};this.ChangeSymbol=function(symbol,option){var _this126=this;this.CancelAutoUpdate();this.ClearData();this.ChartClearMouseOnData();this.Symbol=symbol;this.Data.Symbol=symbol;if(option){if(IFrameSplitOperator.IsArray(option.Column))this.SetColumn(option.Column);if(IFrameSplitOperator.IsNumber(option.BuySellCount))this.SetBuySellCount(option.BuySellCount);if(IFrameSplitOperator.IsArray(option.MouseOnKey))this.SetMouseOnKey(option.MouseOnKey);}this.Draw();this.RequestStockData();if(this.IsAutoUpdate){var frequency=this.AutoUpdateFrequency;setInterval(function(){var marketStatus=MARKET_SUFFIX_NAME.GetMarketStatus(_this126.Symbol);if(marketStatus==0||marketStatus==3)//闭市,盘后
|
|
16113
|
+
return;_this126.RequestStockData();},frequency);}};this.CancelAutoUpdate=function()//关闭停止更新
|
|
16114
|
+
{if(this.AutoUpdateTimer){clearInterval(this.AutoUpdateTimer);this.AutoUpdateTimer=null;}};this.StopAutoUpdate=function(){this.CancelAutoUpdate();if(!this.IsAutoUpdate)return;this.IsAutoUpdate=false;};this.RequestStockData=function(){var _this127=this;if(this.NetworkFilter){var obj={Name:'JSStockInfoChartContainer::RequestStockData',//类名::函数名
|
|
16115
|
+
Explain:'股票5档实时数据',Request:{Data:{symbol:this.Symbol}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){_this127.RecvStockData(data);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
16080
16116
|
}};this.RecvStockData=function(recv){if(!recv)return;if(recv.name)this.Data.Name=recv.Name;if(IFrameSplitOperator.IsNumber(recv.yclose))this.Data.YClose=recv.yclose;if(IFrameSplitOperator.IsNumber(recv.yfclose))this.Data.YFClose=recv.yfclose;if(recv.name)this.Data.Name=recv.name;if(IFrameSplitOperator.IsNonEmptyArray(recv.data)){for(var i=0;i<recv.data.length;++i){var item=recv.data[i];if(item.Name=="Buys"){if(IFrameSplitOperator.IsNonEmptyArray(item.Value)){for(var j=0;j<item.Value.length&&j<this.Data.Buys.length;++j){var srcItem=item.Value[j];var destItem=this.Data.Buys[j];destItem.Price=srcItem.Price;destItem.Vol=srcItem.Vol;}}}else if(item.Name=="Sells"){if(IFrameSplitOperator.IsNonEmptyArray(item.Value)){for(var j=0;j<item.Value.length&&j<this.Data.Sells.length;++j){var srcItem=item.Value[j];var destItem=this.Data.Sells[j];destItem.Price=srcItem.Price;destItem.Vol=srcItem.Vol;}}}else if(item.Name=="Symbol"){this.Data.Symbol=item.Value.Text;}else{this.Data.MapData.set(item.Name,item.Value);}}}this.Draw();};//创建
|
|
16081
|
-
this.Create=function(option){var
|
|
16117
|
+
this.Create=function(option){var _this128=this;this.UIElement.JSChartContainer=this;//创建框架
|
|
16082
16118
|
this.Frame=new JSStockInfoFrame();this.Frame.ChartBorder=new ChartBorder();this.Frame.ChartBorder.UIElement=this.UIElement;this.Frame.ChartBorder.Top=30;this.Frame.ChartBorder.Left=5;this.Frame.ChartBorder.Bottom=20;this.Frame.Canvas=this.Canvas;//创建表格
|
|
16083
|
-
var chart=new ChartStockData();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return
|
|
16119
|
+
var chart=new ChartStockData();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this128.GetEventCallback(id);};chart.Data=this.Data;chart.BorderData=this.BorderData;chart.GlobalOption=this.GlobalOption;chart.FixedRowData=this.FixedRowData;chart.SortInfo=this.SortInfo;this.ChartPaint[0]=chart;if(option){}this.UIElement.oncontextmenu=function(e){_this128.UIOnContextMenu(e);};this.UIElement.onmousedown=function(e){_this128.UIOnMouseDown(e);};this.UIElement.onmousemove=function(e){_this128.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this128.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this128.UIOnMouseleave(e);};/*
|
|
16084
16120
|
this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
|
|
16085
16121
|
|
|
16086
16122
|
*/};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();this.ClickDownPoint={X:e.clientX,Y:e.clientY};var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(e){if(e.button==0)//左键点击
|
|
16087
16123
|
{var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICK_STOCKINFO_ITEM,ptClick,e);}else if(e.button==2)//右键点击
|
|
16088
16124
|
{var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_RCLICK_STOCKINFO_ITEM,ptClick,e);}}};this.UIOnContextMenu=function(e){if(e)//去掉系统右键菜单
|
|
16089
|
-
{if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();e.returnValue=false;}var x=e.clientX-this.UIElement.getBoundingClientRect().left;var y=e.clientY-this.UIElement.getBoundingClientRect().top;this.OnRightMenu(x,y,e);};this.OnRightMenu=function(x,y,e){var
|
|
16125
|
+
{if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();e.returnValue=false;}var x=e.clientX-this.UIElement.getBoundingClientRect().left;var y=e.clientY-this.UIElement.getBoundingClientRect().top;this.OnRightMenu(x,y,e);};this.OnRightMenu=function(x,y,e){var _this129=this;if(!this.JSPopMenu)return;var pixelTatio=GetDevicePixelRatio();var toolTip=new TooltipData();var data=null;for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x*pixelTatio,y*pixelTatio,toolTip)){if(toolTip.Data){data={Cell:toolTip.Data};break;}}}if(!data)return;data.e=e;var menuData={Menu:null,Position:JSPopMenu.POSITION_ID.RIGHT_MENU_ID};menuData.ClickCallback=function(data){_this129.OnClickRightMenu(data);};var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_RIGHT_MENU);if(event&&event.Callback){var sendData={MenuData:menuData,Data:data};event.Callback(event,sendData,this);}if(menuData.Menu)this.PopupMenuByRClick(menuData,x,y);};//右键菜单
|
|
16090
16126
|
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);};//点击右键菜单
|
|
16091
16127
|
this.OnClickRightMenu=function(data){JSConsole.Chart.Log('[JSStockInfoChartContainer::OnClickRightMenu] ',data);if(!data||!data.Data)return;var cmdID=data.Data.ID;//命令ID
|
|
16092
16128
|
var aryArgs=data.Data.Args;//参数
|
|
@@ -16143,7 +16179,7 @@ this.ResizeListener;//大小变动监听
|
|
|
16143
16179
|
this.CanvasElement=document.createElement("canvas");this.CanvasElement.className='jsscrolltext-drawing';this.CanvasElement.id=Guid();this.CanvasElement.setAttribute("tabindex",0);if(this.CanvasElement.style)this.CanvasElement.style.outline='none';if(divElement.hasChildNodes()){JSConsole.Chart.Log("[JSScrollTextChart::JSScrollTextChart] divElement hasChildNodes",divElement.childNodes);}divElement.appendChild(this.CanvasElement);this.OnSize=function(){//画布大小通过div获取 如果有style里的大小 使用style里的
|
|
16144
16180
|
var height=this.DivElement.offsetHeight;var width=this.DivElement.offsetWidth;if(this.DivElement.style.height&&this.DivElement.style.width){if(this.DivElement.style.height.includes("px"))height=parseInt(this.DivElement.style.height.replace("px",""));if(this.DivElement.style.width.includes("px"))width=parseInt(this.DivElement.style.width.replace("px",""));}this.CanvasElement.height=height;this.CanvasElement.width=width;this.CanvasElement.style.width=this.CanvasElement.width+'px';this.CanvasElement.style.height=this.CanvasElement.height+'px';var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
16145
16181
|
this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;JSConsole.Chart.Log('[JSStatusBarChart::OnSize] devicePixelRatio='+window.devicePixelRatio+', height='+this.CanvasElement.height+', width='+this.CanvasElement.width);if(this.JSChartContainer&&this.JSChartContainer.OnSize){this.JSChartContainer.OnSize();}};this.SetOption=function(option){var chart=this.CreateJSScrollTextChartContainer(option);if(!chart)return false;if(option.OnCreatedCallback)option.OnCreatedCallback(chart);this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
|
|
16146
|
-
if(option.EnableResize==true)this.CreateResizeListener();chart.Draw();chart.StartScroll();return true;};this.CreateResizeListener=function(){var
|
|
16182
|
+
if(option.EnableResize==true)this.CreateResizeListener();chart.Draw();chart.StartScroll();return true;};this.CreateResizeListener=function(){var _this130=this;this.ResizeListener=new ResizeObserver(function(entries){_this130.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSScrollTextChart::OnDivResize] entries=",entries);this.OnSize();};this.CreateJSScrollTextChartContainer=function(option){var chart=new JSScrollTextChartContainer(this.CanvasElement);chart.Create(option);this.SetChartBorder(chart,option);if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(option.RightToolbar)chart.SetRightToolbar(option.RightToolbar);//是否自动更新
|
|
16147
16183
|
if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;//注册事件
|
|
16148
16184
|
if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};this.SetChartBorder=function(chart,option){if(!option.Border)return;var item=option.Border;if(IFrameSplitOperator.IsNumber(option.Border.Left))chart.Frame.ChartBorder.Left=option.Border.Left;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
16149
16185
|
chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};//事件回调
|
|
@@ -16172,28 +16208,27 @@ this.Data={AryText:[]//{ AryText:[ { Text:, Color:, Font: },] }
|
|
|
16172
16208
|
this.mapEvent=new _map2.default();//通知外部调用 key:JSCHART_EVENT_ID value:{ Callback:回调,}
|
|
16173
16209
|
this.UIElement=uielement;this.IsDestroy=false;//是否已经销毁了
|
|
16174
16210
|
this.ScrollTimer=null;//滚动定时器
|
|
16211
|
+
this.MouseDrag=null;//拖动数据
|
|
16212
|
+
this.EnableDrag=false;//是否允许拖动
|
|
16175
16213
|
this.ChartDestroy=function()//销毁
|
|
16176
|
-
{this.IsDestroy=true;this.StopScroll();};this.StopScroll=function(){if(this.ScrollTimer){clearInterval(this.ScrollTimer);this.ScrollTimer=null;}};this.StartScroll=function(){var
|
|
16214
|
+
{this.IsDestroy=true;this.StopScroll();};this.StopScroll=function(){if(this.ScrollTimer){clearInterval(this.ScrollTimer);this.ScrollTimer=null;}};this.StartScroll=function(){var _this131=this;if(this.ScrollTimer)return;this.ScrollTimer=setInterval(function(){if(_this131.MouseDrag)return;var chart=_this131.GetScrollTextChart();if(chart&&chart.MouseOnItem)return;//鼠标在上面时不滚动
|
|
16215
|
+
_this131.ScrollStep();},100);};this.ClearData=function(){this.Data.AryText=[];};this.AddText=function(aryData,option){if(!IFrameSplitOperator.IsNonEmptyArray(aryData))return;var bDraw=false;for(var i=0;i<aryData.length;++i){var item=aryData[i];this.Data.AryText.push(item);}if(option){if(option.Draw===true)bDraw=true;}if(bDraw)this.Draw();};//设置事件回调
|
|
16177
16216
|
//{event:事件id, callback:回调函数}
|
|
16178
16217
|
this.AddEventCallback=function(object){if(!object||!object.event||!object.callback)return;var data={Callback:object.callback,Source:object};this.mapEvent.set(object.event,data);};this.RemoveEventCallback=function(eventid){if(!this.mapEvent.has(eventid))return;this.mapEvent.delete(eventid);};this.GetEventCallback=function(id)//获取事件回调
|
|
16179
16218
|
{if(!this.mapEvent.has(id))return null;var item=this.mapEvent.get(id);return item;};this.ClearData=function(){this.Data.AryText=[];};//创建
|
|
16180
|
-
this.Create=function(option){var
|
|
16219
|
+
this.Create=function(option){var _this132=this;this.UIElement.JSChartContainer=this;//创建框架
|
|
16181
16220
|
this.Frame=new JSScrollTextFrame();this.Frame.ChartBorder=new ChartBorder();this.Frame.ChartBorder.UIElement=this.UIElement;this.Frame.ChartBorder.Top=30;this.Frame.ChartBorder.Left=5;this.Frame.ChartBorder.Bottom=20;this.Frame.Canvas=this.Canvas;//创建表格
|
|
16182
|
-
var chart=new ChartScrollText();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return
|
|
16183
|
-
this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
|
|
16184
|
-
this.UIElement.onmousedown=(e)=> { this.UIOnMouseDown(e); }
|
|
16185
|
-
|
|
16186
|
-
|
|
16187
|
-
this.UIElement.onmouseleave=(e)=>{ this.UIOnMouseleave(e); }
|
|
16188
|
-
|
|
16189
|
-
*/var frequency=500;this.ToolbarTimer=setInterval(function(){_this131.Draw();},frequency);};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();this.ClickDownPoint={X:e.clientX,Y:e.clientY};var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(e){if(e.button==0)//左键点击
|
|
16221
|
+
var chart=new ChartScrollText();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this132.GetEventCallback(id);};chart.Data=this.Data;chart.BorderData=this.BorderData;chart.GlobalOption=this.GlobalOption;chart.FixedRowData=this.FixedRowData;chart.SortInfo=this.SortInfo;this.ChartPaint[0]=chart;if(option){if(IFrameSplitOperator.IsNumber(option.LimitCount))chart.LimitCount=option.LimitCount;if(IFrameSplitOperator.IsBool(option.EnableDrag))this.EnableDrag=option.EnableDrag;if(option.Label){var item=option.Label;if(IFrameSplitOperator.IsString(item.Text))chart.Label.Text=item.Text;if(IFrameSplitOperator.IsBool(item.IsShow))chart.Label.IsShow=item.IsShow;}}this.UIElement.onmousedown=function(e){_this132.UIOnMouseDown(e);};this.UIElement.onmousemove=function(e){_this132.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this132.UIOnMouseOut(e);};this.UIElement.onmouseleave=function(e){_this132.UIOnMouseleave(e);};this.UIElement.oncontextmenu=function(e){_this132.UIOnContextMenu(e);};var frequency=500;this.ToolbarTimer=setInterval(function(){_this132.Draw();},frequency);};this.UIOnMouseDown=function(e){var _this133=this;this.MouseDrag=null;var pixelTatio=GetDevicePixelRatio();this.ClickDownPoint={X:e.clientX,Y:e.clientY};var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(e){if(e.button==0)//左键点击
|
|
16190
16222
|
{var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICK_SCROLL_TEXT_ITEM,ptClick,e);}else if(e.button==2)//右键点击
|
|
16191
|
-
{this.HideAllTooltip();var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_RCLICK_SCROLL_TEXT_ITEM,ptClick,e);}}};this.
|
|
16192
|
-
|
|
16223
|
+
{this.HideAllTooltip();var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_RCLICK_SCROLL_TEXT_ITEM,ptClick,e);}}if(this.EnableDrag){var drag={Click:{X:e.clientX,Y:e.clientY},LastMove:{X:e.clientX,Y:e.clientY}};this.MouseDrag=drag;document.onmousemove=function(e){_this133.DocOnMouseMove(e);};document.onmouseup=function(e){_this133.DocOnMouseUp(e);};}};this.DocOnMouseMove=function(e){var drag=this.MouseDrag;if(!drag)return;var pixelTatio=GetDevicePixelRatio();var moveSetpX=Math.abs(drag.LastMove.X-e.clientX);var moveSetpY=Math.abs(drag.LastMove.Y-e.clientY);if(moveSetpX<5)return;this.ScrollStep((drag.LastMove.X-e.clientX)*pixelTatio);drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;};this.DocOnMouseUp=function(e){var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};//清空事件
|
|
16224
|
+
document.onmousemove=null;document.onmouseup=null;this.MouseDrag=null;this.ClickDownPoint=null;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.GetScrollTextChart();if(chart)chart.OnMouseMove(x,y,e);if(e){if(e.button==0)//左键点击
|
|
16225
|
+
{this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICK_UP_SCROLL_TEXT_ITEM,ptClick,e);}else if(e.button==2)//右键点击
|
|
16226
|
+
{this.HideAllTooltip();this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_RCLICK_UP_SCROLL_TEXT_ITEM,ptClick,e);}}};this.UIOnContextMenu=function(e){if(e)//去掉系统右键菜单
|
|
16227
|
+
{if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();e.returnValue=false;}};this.GetChartTooltipData=function(x,y,option){var toolTip=new TooltipData();for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip)){return toolTip;}}return null;};this.UIOnMouseMove=function(e){if(this.MouseDrag)return;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.GetScrollTextChart();var bDraw=false;if(chart){var result=chart.OnMouseMove(x,y,e);if(result&&result.Update)bDraw=true;}if(bDraw)this.Draw();};this.UIOnMouseOut=function(e){if(this.MouseDrag)return;var chart=this.GetScrollTextChart();if(chart)chart.OnMouseOut(e);this.HideAllTooltip();};this.UIOnMouseleave=function(e){if(this.MouseDrag)return;var chart=this.GetScrollTextChart();if(chart)chart.OnMouseOut(e);this.HideAllTooltip();};this.TryClickPaintEvent=function(eventID,ptClick,e){var event=this.GetEventCallback(eventID);if(!event)return false;if(ptClick.X==e.clientX&&ptClick.Y==e.clientY){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-uielement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-uielement.getBoundingClientRect().top)*pixelTatio;var toolTip=new TooltipData();for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip)){if(toolTip.Data){var data={X:e.clientX,Y:e.clientY,Tooltip:toolTip,e:e};event.Callback(event,data,this);return true;}}}}return false;};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
16193
16228
|
this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
|
|
16194
16229
|
this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
|
|
16195
16230
|
for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];item.Draw();}};this.OnSize=function(){if(!this.Frame)return;this.SetSizeChange(true);this.Draw();};this.SetSizeChange=function(bChanged){for(var i=0;i<this.ChartPaint.length;++i){var chart=this.ChartPaint[i];if(chart)chart.SizeChange=bChanged;}};this.ReloadResource=function(option){this.Frame.ReloadResource(option);for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.ReloadResource)item.ReloadResource(option);}if(option&&(option.Redraw||option.Draw)){this.SetSizeChange(true);this.Draw();}if(this.TooltipMinuteChart)this.TooltipMinuteChart.ReloadResource(option);//分时图
|
|
16196
|
-
};this.GetScrollTextChart=function(){var chart=this.ChartPaint[0];if(!chart)return null;return chart;};this.HideAllTooltip=function(){};this.ScrollStep=function(){var chart=this.GetScrollTextChart();if(!chart)return;if(chart.ScrollStep())this.Draw();};}function JSScrollTextFrame(){this.ChartBorder;this.Canvas;//画布
|
|
16231
|
+
};this.GetScrollTextChart=function(){var chart=this.ChartPaint[0];if(!chart)return null;return chart;};this.HideAllTooltip=function(){};this.ScrollStep=function(){var defaultStep=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;var chart=this.GetScrollTextChart();if(!chart)return;if(chart.ScrollStep(defaultStep))this.Draw();};}function JSScrollTextFrame(){this.ChartBorder;this.Canvas;//画布
|
|
16197
16232
|
this.BorderLine=null;//1=上 2=下 4=左 8=右
|
|
16198
16233
|
this.ClassName="JSScrollTextFrame";this.BorderColor=g_JSChartResource.StatusBar.BorderColor;//边框线
|
|
16199
16234
|
this.LogoTextColor=g_JSChartResource.FrameLogo.TextColor;this.LogoTextFont=g_JSChartResource.FrameLogo.Font;this.ReloadResource=function(resource){this.BorderColor=g_JSChartResource.StatusBar.BorderColor;//边框线
|
|
@@ -16229,7 +16264,7 @@ this.RightMargin=g_JSChartResource.ScrollText.RightMargin;//右边间距
|
|
|
16229
16264
|
this.MoveStep=g_JSChartResource.ScrollText.MoveStep;//每次滚动步长
|
|
16230
16265
|
this.ReloadResource=function(resource){this.TextConfig.Font=g_JSChartResource.ScrollText.Font;this.TextConfig.Color=g_JSChartResource.ScrollText.Color;this.TextConfig.MouseOnColor=g_JSChartResource.ScrollText.MouseOnColor;this.TextConfig.Spacing=g_JSChartResource.ScrollText.Spacing;this.TextConfig.Margin.Top=g_JSChartResource.ScrollText.Margin.Top;this.TextConfig.Margin.Bottom=g_JSChartResource.ScrollText.Margin.Bottom;this.LeftMargin=g_JSChartResource.ScrollText.LeftMargin;//左边间距
|
|
16231
16266
|
this.RightMargin=g_JSChartResource.ScrollText.RightMargin;//右边间距
|
|
16232
|
-
this.LabelConfig.Color=g_JSChartResource.ScrollText.Label.Color;this.LabelConfig.Font=g_JSChartResource.ScrollText.Label.Font;this.LabelConfig.Margin=CloneData(g_JSChartResource.ScrollText.Label.Margin);};this.GetDataIndex=function(finderItem){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.AryText))return-1;for(var i=0;i<this.Data.AryText.length;++i){var item=this.Data.AryText[i];if(item===finderItem)return i;}return-1;};this.OnMouseMove=function(x,y,e){var tooltip={};if(this.GetTooltipData(x,y,tooltip)){this.MouseOnItem=tooltip.Data;}else{this.MouseOnItem=null;}};this.OnMouseOut=function(e){this.MouseOnItem=null;};this.GetClientRect=function(){var labelWidth=this.GetLabelWidth();var border=this.ChartBorder.GetBorder();var rtClient={Left:border.Left+labelWidth,Right:border.Right,Top:border.Top,Bottom:border.Bottom};rtClient.Left+=this.LeftMargin;rtClient.Right-=this.RightMargin;rtClient.Width=rtClient.Right-rtClient.Left;rtClient.Height=rtClient.Bottom-rtClient.Top;return rtClient;};this.DrawLabel=function(){if(!this.Label||!this.Label.IsShow||!this.Label.Text)return;var config=this.LabelConfig;this.Canvas.textBaseline="bottom";this.Canvas.textAlign="left";this.Canvas.font=config.Font;this.Canvas.fillStyle=config.Color;var border=this.ChartBorder.GetBorder();var text=this.Label.Text;var textWidth=this.Canvas.measureText(text).width;var cellWidth=textWidth+config.Margin.Left+config.Margin.Right;var x=border.Left+config.Margin.Left;var yText=border.Bottom-config.Margin.Bottom;this.Canvas.fillText(text,x,yText);this.Label.Width=cellWidth;this.Canvas.strokeStyle=g_JSChartResource.StatusBar.BorderColor;//边框线
|
|
16267
|
+
this.LabelConfig.Color=g_JSChartResource.ScrollText.Label.Color;this.LabelConfig.Font=g_JSChartResource.ScrollText.Label.Font;this.LabelConfig.Margin=CloneData(g_JSChartResource.ScrollText.Label.Margin);};this.GetDataIndex=function(finderItem){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.AryText))return-1;for(var i=0;i<this.Data.AryText.length;++i){var item=this.Data.AryText[i];if(item===finderItem)return i;}return-1;};this.OnMouseMove=function(x,y,e){var result={Update:false};var oldMouseOnItem=this.MouseOnItem;var tooltip={};if(this.GetTooltipData(x,y,tooltip)){this.MouseOnItem=tooltip.Data;}else{this.MouseOnItem=null;}if(oldMouseOnItem!=this.MouseOnItem)result.Update=true;return result;};this.OnMouseOut=function(e){var result={Update:false};if(this.MouseOnItem){this.MouseOnItem=null;result.Update=true;}return result;};this.GetClientRect=function(){var labelWidth=this.GetLabelWidth();var border=this.ChartBorder.GetBorder();var rtClient={Left:border.Left+labelWidth,Right:border.Right,Top:border.Top,Bottom:border.Bottom};rtClient.Left+=this.LeftMargin;rtClient.Right-=this.RightMargin;rtClient.Width=rtClient.Right-rtClient.Left;rtClient.Height=rtClient.Bottom-rtClient.Top;return rtClient;};this.DrawLabel=function(){if(!this.Label||!this.Label.IsShow||!this.Label.Text)return;var config=this.LabelConfig;this.Canvas.textBaseline="bottom";this.Canvas.textAlign="left";this.Canvas.font=config.Font;this.Canvas.fillStyle=config.Color;var border=this.ChartBorder.GetBorder();var text=this.Label.Text;var textWidth=this.Canvas.measureText(text).width;var cellWidth=textWidth+config.Margin.Left+config.Margin.Right;var x=border.Left+config.Margin.Left;var yText=border.Bottom-config.Margin.Bottom;this.Canvas.fillText(text,x,yText);this.Label.Width=cellWidth;this.Canvas.strokeStyle=g_JSChartResource.StatusBar.BorderColor;//边框线
|
|
16233
16268
|
this.Canvas.beginPath();var y=ToFixedPoint(border.Left+cellWidth);this.Canvas.moveTo(y,border.Top);this.Canvas.lineTo(y,border.Bottom);this.Canvas.stroke();};this.GetLabelWidth=function(){if(!this.Label||!this.Label.IsShow||!this.Label.Text)return 0;if(IFrameSplitOperator.IsNumber(this.Label.Width))return this.Label.Width;var config=this.LabelConfig;var text=this.Label.Text;var textWidth=this.Canvas.measureText(text).width;var cellWidth=textWidth+config.Margin.Left+config.Margin.Right;this.Label.Width=cellWidth;return cellWidth;};this.Draw=function(){this.AryRect=[];this.DrawLabel();if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.AryText))return;var rtClient=this.GetClientRect();this.Canvas.save();this.Canvas.beginPath();this.Canvas.rect(rtClient.Left,rtClient.Top,rtClient.Width,rtClient.Height);this.Canvas.clip();this.Canvas.textBaseline="bottom";this.Canvas.textAlign="left";var config=this.TextConfig;var y=rtClient.Bottom;var x=rtClient.Right;var startIndex=-1,endIndex=-1;if(this.FirstItem)startIndex=this.GetDataIndex(this.FirstItem);if(startIndex<0){var index=this.Data.AryText.length-1;this.FirstItem=this.Data.AryText[index];this.FirstItem.Move={XOffset:0};startIndex=index;}if(this.FirstItem.Move&&IFrameSplitOperator.IsNumber(this.FirstItem.Move.XOffset))x-=this.FirstItem.Move.XOffset;for(var i=startIndex;i>=0;--i){var item=this.Data.AryText[i];if(!IFrameSplitOperator.IsNonEmptyArray(item.Content))continue;var itemWidth=0;var rtText={Left:x,Right:x,Top:rtClient.Top,Bottom:rtClient.Bottom};for(j=0;j<item.Content.length;++j){var subItem=item.Content[j];var color=this.TextConfig.Color;var font=this.TextConfig.Font;if(subItem.Color)color=subItem.Color;if(subItem.Font)font=subItem.Font;//鼠标在上面的颜色
|
|
16234
16269
|
if(this.MouseOnItem){if(this.MouseOnItem.Data==item)color=this.TextConfig.MouseOnColor;}this.Canvas.font=font;this.Canvas.fillStyle=color;var textWidth=this.Canvas.measureText(subItem.Text).width;var yText=rtClient.Bottom-config.Margin.Bottom;this.Canvas.fillText(subItem.Text,x,yText);x+=textWidth;itemWidth+=textWidth;}endIndex=i;rtText.Right=x;this.AryRect.push({Rect:rtText,Data:item});x+=config.Spacing;if(item==this.FirstItem){item.Move.ContentWidth=itemWidth;item.Move.Width=itemWidth+config.Spacing;}if(x>=rtClient.Right)break;}/*
|
|
16235
16270
|
for(var i=0;i<this.Data.AryText.length;++i)
|
|
@@ -16270,10 +16305,10 @@ if(this.MouseOnItem){if(this.MouseOnItem.Data==item)color=this.TextConfig.MouseO
|
|
|
16270
16305
|
|
|
16271
16306
|
x+=config.Spacing;
|
|
16272
16307
|
}
|
|
16273
|
-
*/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(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.AryText))return false;if(!this.FirstItem)return false;if(
|
|
16308
|
+
*/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;};}/********************************************************************************
|
|
16274
16309
|
* 版本信息输出
|
|
16275
16310
|
*
|
|
16276
|
-
*/var HQCHART_VERSION="1.1.
|
|
16311
|
+
*/var HQCHART_VERSION="1.1.15653";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();//把给外界调用的方法暴露出来
|
|
16277
16312
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
16278
16313
|
// BaseIndex:BaseIndex,
|
|
16279
16314
|
// ChartLine:ChartLine,
|