hqchart 1.1.14064 → 1.1.14072
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 +82 -61
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogSearchIndex.js +603 -0
- package/src/jscommon/umychart.DialogTooltip.js +1 -1
- package/src/jscommon/umychart.js +87 -280
- package/src/jscommon/umychart.resource/css/tools.css +127 -0
- package/src/jscommon/umychart.style.js +11 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +99 -281
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +703 -282
|
@@ -4024,7 +4024,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4024
4024
|
|
|
4025
4025
|
//改参数div
|
|
4026
4026
|
this.ModifyIndexDialog=new ModifyIndexDialog(divElement);
|
|
4027
|
-
this.ChangeIndexDialog=new ChangeIndexDialog(divElement);
|
|
4028
4027
|
|
|
4029
4028
|
//额外的画布
|
|
4030
4029
|
this.MapExtraCanvasElement=new Map(); //key=画布名字, value={ Element:, Canvas:}
|
|
@@ -4260,7 +4259,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4260
4259
|
|
|
4261
4260
|
//创建改参数div
|
|
4262
4261
|
chart.ModifyIndexDialog=this.ModifyIndexDialog;
|
|
4263
|
-
chart.ChangeIndexDialog=this.ChangeIndexDialog;
|
|
4264
4262
|
|
|
4265
4263
|
var pixelRatio=GetDevicePixelRatio();
|
|
4266
4264
|
|
|
@@ -4713,7 +4711,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4713
4711
|
|
|
4714
4712
|
//创建改参数div
|
|
4715
4713
|
chart.ModifyIndexDialog=this.ModifyIndexDialog;
|
|
4716
|
-
chart.ChangeIndexDialog=this.ChangeIndexDialog;
|
|
4717
4714
|
|
|
4718
4715
|
//右键菜单
|
|
4719
4716
|
if (IFrameSplitOperator.IsBool(option.IsShowRightMenu)) chart.IsShowRightMenu=option.IsShowRightMenu;
|
|
@@ -4816,7 +4813,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4816
4813
|
if (option.NetworkFilter) chart.NetworkFilter=option.NetworkFilter;
|
|
4817
4814
|
|
|
4818
4815
|
chart.ModifyIndexDialog=this.ModifyIndexDialog;
|
|
4819
|
-
chart.ChangeIndexDialog=this.ChangeIndexDialog;
|
|
4820
4816
|
|
|
4821
4817
|
var pixelRatio=GetDevicePixelRatio();
|
|
4822
4818
|
|
|
@@ -5398,7 +5394,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5398
5394
|
|
|
5399
5395
|
//创建改参数div
|
|
5400
5396
|
chart.ModifyIndexDialog=this.ModifyIndexDialog;
|
|
5401
|
-
chart.ChangeIndexDialog=this.ChangeIndexDialog;
|
|
5402
5397
|
|
|
5403
5398
|
if (option.ScriptError) chart.ScriptErrorCallback=option.ScriptError;
|
|
5404
5399
|
|
|
@@ -5695,9 +5690,10 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5695
5690
|
chart.InitalFloatTooltip(option.FloatTooltip);
|
|
5696
5691
|
|
|
5697
5692
|
if (option.SelectRectDialog && option.SelectRectDialog.Enable)
|
|
5698
|
-
{
|
|
5699
5693
|
chart.InitalSelectRectDialog(option.SelectRectDialog);
|
|
5700
|
-
|
|
5694
|
+
|
|
5695
|
+
if (option.SearchIndexDialog && option.SearchIndexDialog.Enable)
|
|
5696
|
+
chart.InitalSearchIndexDialog(option.SearchIndexDialog);
|
|
5701
5697
|
|
|
5702
5698
|
//注册事件
|
|
5703
5699
|
if (option.EventCallback)
|
|
@@ -6412,6 +6408,12 @@ JSChart.GetScrollPosition=function()
|
|
|
6412
6408
|
return GetScrollPosition();
|
|
6413
6409
|
}
|
|
6414
6410
|
|
|
6411
|
+
//品种小数位数
|
|
6412
|
+
JSChart.GetfloatPrecision=function(symbol)
|
|
6413
|
+
{
|
|
6414
|
+
return GetfloatPrecision(symbol);
|
|
6415
|
+
}
|
|
6416
|
+
|
|
6415
6417
|
|
|
6416
6418
|
|
|
6417
6419
|
|
|
@@ -7015,6 +7017,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7015
7017
|
this.DialogTooltip; //tooltip信息
|
|
7016
7018
|
this.DialogSelectRect; //区间统计
|
|
7017
7019
|
this.FloatTooltip; //浮动tooltip信息
|
|
7020
|
+
this.DialogSearchIndex; //指标搜索
|
|
7018
7021
|
|
|
7019
7022
|
|
|
7020
7023
|
this.ClearStockCache=function()
|
|
@@ -7075,6 +7078,34 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7075
7078
|
this.DialogSelectRect.Create();
|
|
7076
7079
|
}
|
|
7077
7080
|
|
|
7081
|
+
this.InitalSearchIndexDialog=function(option)
|
|
7082
|
+
{
|
|
7083
|
+
if (this.DialogSearchIndex) return;
|
|
7084
|
+
|
|
7085
|
+
this.DialogSearchIndex=new JSDialogSearchIndex();
|
|
7086
|
+
this.DialogSearchIndex.Inital(this, option);
|
|
7087
|
+
this.DialogSearchIndex.Create();
|
|
7088
|
+
}
|
|
7089
|
+
|
|
7090
|
+
this.ShowChangeIndexDialog=function(data)
|
|
7091
|
+
{
|
|
7092
|
+
if (!data) return;
|
|
7093
|
+
if (!this.DialogSearchIndex) return;
|
|
7094
|
+
|
|
7095
|
+
data.Title=`切换指标 [窗口${data.WindowIndex+1}]`;
|
|
7096
|
+
this.DialogSearchIndex.SetOpData(data);
|
|
7097
|
+
this.DialogSearchIndex.Show();
|
|
7098
|
+
}
|
|
7099
|
+
|
|
7100
|
+
this.ShowAddOverlayIndexDialog=function(data)
|
|
7101
|
+
{
|
|
7102
|
+
if (!data) return;
|
|
7103
|
+
if (!this.DialogSearchIndex) return;
|
|
7104
|
+
|
|
7105
|
+
data.Title=`添加叠加指标 [窗口${data.WindowIndex+1}]`;
|
|
7106
|
+
this.DialogSearchIndex.SetOpData(data);
|
|
7107
|
+
this.DialogSearchIndex.Show();
|
|
7108
|
+
}
|
|
7078
7109
|
|
|
7079
7110
|
|
|
7080
7111
|
this.DrawSelectRectDialog=function()
|
|
@@ -7173,6 +7204,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7173
7204
|
this.FloatTooltip=null;
|
|
7174
7205
|
}
|
|
7175
7206
|
|
|
7207
|
+
this.DestroySearchIndexDialog=function()
|
|
7208
|
+
{
|
|
7209
|
+
if (!this.DialogSearchIndex) return;
|
|
7210
|
+
|
|
7211
|
+
this.DialogSearchIndex.Destroy();
|
|
7212
|
+
this.DialogSearchIndex=null;
|
|
7213
|
+
}
|
|
7214
|
+
|
|
7176
7215
|
|
|
7177
7216
|
|
|
7178
7217
|
//obj={ Element:, Canvas: }
|
|
@@ -7226,6 +7265,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7226
7265
|
this.StopAutoUpdate();
|
|
7227
7266
|
this.DestroyTooltipDialog();
|
|
7228
7267
|
this.DestroyFloatTooltip();
|
|
7268
|
+
this.DestroySearchIndexDialog();
|
|
7229
7269
|
}
|
|
7230
7270
|
|
|
7231
7271
|
this.ChartDestory=this.ChartDestroy; //老版本写错了,需要兼容下
|
|
@@ -12208,6 +12248,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
12208
12248
|
if (this.DialogTooltip) this.DialogTooltip.ReloadResource(option);
|
|
12209
12249
|
if (this.FloatTooltip) this.FloatTooltip.ReloadResource(option);
|
|
12210
12250
|
if (this.DialogSelectRect) this.DialogSelectRect.ReloadResource(option);
|
|
12251
|
+
if (this.DialogSearchIndex) this.DialogSearchIndex.ReloadResource(option);
|
|
12211
12252
|
}
|
|
12212
12253
|
|
|
12213
12254
|
this.ReloadBorder=function(option) //根据页面缩放调整对应边框的尺长
|
|
@@ -17841,7 +17882,6 @@ function MinuteFrame()
|
|
|
17841
17882
|
this.OverlayIndex=g_JSChartResource.MinuteToolbar.OverlayIndex; //是否显示叠加指标
|
|
17842
17883
|
|
|
17843
17884
|
this.ModifyIndexEvent; //改参数 点击事件
|
|
17844
|
-
this.ChangeIndexEvent; //换指标 点击事件
|
|
17845
17885
|
this.ToolbarRect=null; //保存工具条的位置
|
|
17846
17886
|
this.IsShowPositionTitle=false; //是否显示持仓标题
|
|
17847
17887
|
|
|
@@ -20271,7 +20311,6 @@ function KLineFrame()
|
|
|
20271
20311
|
this.SelBorderColor=g_JSChartResource.SelFrameBorderColor;
|
|
20272
20312
|
|
|
20273
20313
|
this.ModifyIndexEvent; //改参数 点击事件
|
|
20274
|
-
this.ChangeIndexEvent; //换指标 点击事件
|
|
20275
20314
|
this.ToolbarRect=null; //保存工具条的位置
|
|
20276
20315
|
this.ReDrawToolbar=false;
|
|
20277
20316
|
|
|
@@ -73232,6 +73271,19 @@ function JSChartResource()
|
|
|
73232
73271
|
}
|
|
73233
73272
|
};
|
|
73234
73273
|
|
|
73274
|
+
//指标搜索
|
|
73275
|
+
this.DialogSearchIndex=
|
|
73276
|
+
{
|
|
73277
|
+
BGColor:'rgb(250,250,250)', //背景色
|
|
73278
|
+
BorderColor:'rgb(20,20,20)', //边框颜色
|
|
73279
|
+
TitleColor:'rgb(250,250,250)', //标题颜色
|
|
73280
|
+
TitleBGColor:"rgb(200, 66, 69)", //标题背景颜色
|
|
73281
|
+
|
|
73282
|
+
IndexNameColor:"rgb(0,0,0)", //数值名称
|
|
73283
|
+
GroupNameColor:"rgb(0,0,0)",
|
|
73284
|
+
InputTextColor:"rgb(0,0,0)"
|
|
73285
|
+
};
|
|
73286
|
+
|
|
73235
73287
|
//弹幕
|
|
73236
73288
|
this.Barrage= {
|
|
73237
73289
|
Font:16*GetDevicePixelRatio() +'px 微软雅黑', //字体
|
|
@@ -74297,6 +74349,20 @@ function JSChartResource()
|
|
|
74297
74349
|
}
|
|
74298
74350
|
}
|
|
74299
74351
|
|
|
74352
|
+
if (style.DialogSearchIndex)
|
|
74353
|
+
{
|
|
74354
|
+
var item=style.DialogSearchIndex;
|
|
74355
|
+
|
|
74356
|
+
if (item.BGColor) this.DialogSearchIndex.BGColor=item.BGColor;
|
|
74357
|
+
if (item.BorderColor) this.DialogSearchIndex.BorderColor=item.BorderColor;
|
|
74358
|
+
if (item.TitleColor) this.DialogSearchIndex.TitleColor=item.TitleColor;
|
|
74359
|
+
if (item.TitleBGColor) this.DialogSearchIndex.TitleBGColor=item.TitleBGColor;
|
|
74360
|
+
|
|
74361
|
+
if (item.IndexNameColor) this.DialogSearchIndex.IndexNameColor=item.IndexNameColor;
|
|
74362
|
+
if (item.GroupNameColor) this.DialogSearchIndex.GroupNameColor=item.GroupNameColor;
|
|
74363
|
+
if (item.InputTextColor) this.DialogSearchIndex.InputTextColor=item.InputTextColor;
|
|
74364
|
+
}
|
|
74365
|
+
|
|
74300
74366
|
if (style.MinuteInfo)
|
|
74301
74367
|
{
|
|
74302
74368
|
var item=style.MinuteInfo;
|
|
@@ -77381,7 +77447,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
77381
77447
|
frame.GlobalOption=this.GlobalOption;
|
|
77382
77448
|
|
|
77383
77449
|
if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
|
|
77384
|
-
if (this.ChangeIndexDialog) frame.ChangeIndexEvent=this.ChangeIndexDialog.DoModal;
|
|
77385
77450
|
|
|
77386
77451
|
frame.HorizontalMax=20;
|
|
77387
77452
|
frame.HorizontalMin=10;
|
|
@@ -77466,7 +77531,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
77466
77531
|
frame.GlobalOption=this.GlobalOption;
|
|
77467
77532
|
|
|
77468
77533
|
if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
|
|
77469
|
-
if (this.ChangeIndexDialog) frame.ChangeIndexEvent=this.ChangeIndexDialog.DoModal;
|
|
77470
77534
|
|
|
77471
77535
|
frame.HorizontalMax=20;
|
|
77472
77536
|
frame.HorizontalMin=10;
|
|
@@ -83464,9 +83528,13 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
83464
83528
|
else if (button.ID==JSCHART_BUTTON_ID.CHANGE_INDEX)
|
|
83465
83529
|
{
|
|
83466
83530
|
var frame=button.Frame;
|
|
83531
|
+
var sendData={ e:e, WindowIndex:frame.Identify, OpType:1 };
|
|
83532
|
+
this.ShowChangeIndexDialog(sendData);
|
|
83533
|
+
/*
|
|
83467
83534
|
e.data={ Chart:this, Identify:frame.Identify, IsOverlay:false };
|
|
83468
83535
|
if (frame.ChangeIndexEvent)
|
|
83469
83536
|
frame.ChangeIndexEvent(e);
|
|
83537
|
+
*/
|
|
83470
83538
|
}
|
|
83471
83539
|
else if (button.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM)
|
|
83472
83540
|
{
|
|
@@ -83478,9 +83546,13 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
83478
83546
|
else if (button.ID==JSCHART_BUTTON_ID.OVERLAY_INDEX)
|
|
83479
83547
|
{
|
|
83480
83548
|
var frame=button.Frame;
|
|
83549
|
+
var sendData={ e:e, WindowIndex:frame.Identify, OpType:2 };
|
|
83550
|
+
this.ShowAddOverlayIndexDialog(sendData);
|
|
83551
|
+
/*
|
|
83481
83552
|
e.data={ Chart:this, Identify:frame.Identify, IsOverlay:true };
|
|
83482
83553
|
if (frame.ChangeIndexEvent)
|
|
83483
83554
|
frame.ChangeIndexEvent(e);
|
|
83555
|
+
*/
|
|
83484
83556
|
}
|
|
83485
83557
|
else if (button.ID==JSCHART_BUTTON_ID.MAX_MIN_WINDOW)
|
|
83486
83558
|
{
|
|
@@ -84293,9 +84365,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
84293
84365
|
else if (button.ID==JSCHART_BUTTON_ID.CHANGE_INDEX)
|
|
84294
84366
|
{
|
|
84295
84367
|
var frame=button.Frame;
|
|
84296
|
-
|
|
84297
|
-
|
|
84298
|
-
frame.ChangeIndexEvent(e);
|
|
84368
|
+
var sendData={ e:e, WindowIndex:frame.Identify, OpType:1 };
|
|
84369
|
+
this.ShowChangeIndexDialog(sendData);
|
|
84299
84370
|
}
|
|
84300
84371
|
else if (button.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM)
|
|
84301
84372
|
{
|
|
@@ -84307,9 +84378,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
84307
84378
|
else if (button.ID==JSCHART_BUTTON_ID.OVERLAY_INDEX)
|
|
84308
84379
|
{
|
|
84309
84380
|
var frame=button.Frame;
|
|
84310
|
-
|
|
84311
|
-
|
|
84312
|
-
frame.ChangeIndexEvent(e);
|
|
84381
|
+
var sendData={ e:e, WindowIndex:frame.Identify, OpType:2 };
|
|
84382
|
+
this.ShowAddOverlayIndexDialog(sendData);
|
|
84313
84383
|
}
|
|
84314
84384
|
else if (button.ID==JSCHART_BUTTON_ID.MAX_MIN_WINDOW)
|
|
84315
84385
|
{
|
|
@@ -86071,7 +86141,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86071
86141
|
if (i>=2)
|
|
86072
86142
|
{
|
|
86073
86143
|
if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
|
|
86074
|
-
if (this.ChangeIndexDialog) frame.ChangeIndexEvent=this.ChangeIndexDialog.DoModal;
|
|
86075
86144
|
}
|
|
86076
86145
|
|
|
86077
86146
|
var DEFAULT_HORIZONTAL=[9,8,7,6,5,4,3,2,1];
|
|
@@ -86163,7 +86232,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86163
86232
|
if (id>=2)
|
|
86164
86233
|
{
|
|
86165
86234
|
if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
|
|
86166
|
-
if (this.ChangeIndexDialog) frame.ChangeIndexEvent=this.ChangeIndexDialog.DoModal;
|
|
86167
86235
|
}
|
|
86168
86236
|
|
|
86169
86237
|
var DEFAULT_HORIZONTAL=[9,8,7,6,5,4,3,2,1];
|
|
@@ -91738,7 +91806,6 @@ function KLineChartHScreenContainer(uielement)
|
|
|
91738
91806
|
frame.RightSpaceCount=this.RightSpaceCount; //右边
|
|
91739
91807
|
|
|
91740
91808
|
if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
|
|
91741
|
-
if (this.ChangeIndexDialog) frame.ChangeIndexEvent=this.ChangeIndexDialog.DoModal;
|
|
91742
91809
|
|
|
91743
91810
|
frame.HorizontalMax=20;
|
|
91744
91811
|
frame.HorizontalMin=10;
|
|
@@ -94568,266 +94635,6 @@ function ModifyIndexDialog(divElement)
|
|
|
94568
94635
|
}
|
|
94569
94636
|
}
|
|
94570
94637
|
|
|
94571
|
-
//换指标
|
|
94572
|
-
function ChangeIndexDialog(divElement)
|
|
94573
|
-
{
|
|
94574
|
-
this.newMethod=IDivDialog; //派生
|
|
94575
|
-
this.newMethod(divElement);
|
|
94576
|
-
delete this.newMethod;
|
|
94577
|
-
|
|
94578
|
-
this.DivElement=divElement; //父节点
|
|
94579
|
-
//this.IndexTreeApiUrl="../commonindextree.json"; //数据下载地址
|
|
94580
|
-
//this.OverlayIndexTreeApiUrl="../commonindextree.json"; //叠加指标列表数据下载地址
|
|
94581
|
-
this.IsOverlayIndex=false;
|
|
94582
|
-
|
|
94583
|
-
this.Create=function()
|
|
94584
|
-
{
|
|
94585
|
-
var div=document.createElement('div');
|
|
94586
|
-
div.className='jchart-changeindex-box';
|
|
94587
|
-
div.id=this.ID=Guid();
|
|
94588
|
-
div.innerHTML=
|
|
94589
|
-
'<div class="target-panel">\n' +
|
|
94590
|
-
' <div class="target-header">\n' +
|
|
94591
|
-
' <span>换指标</span>\n' +
|
|
94592
|
-
' <strong class="close-tar icon iconfont icon-close"></strong>\n' +
|
|
94593
|
-
' </div>\n' +
|
|
94594
|
-
' <div class="target-content">\n' +
|
|
94595
|
-
' <div class="target-left">\n' +
|
|
94596
|
-
' <input type="text">\n' +
|
|
94597
|
-
' <ul></ul>\n' +
|
|
94598
|
-
' </div>\n' +
|
|
94599
|
-
' <div class="target-right">\n' +
|
|
94600
|
-
' <ul></ul>\n' +
|
|
94601
|
-
' </div>\n' +
|
|
94602
|
-
' </div>\n' +
|
|
94603
|
-
' </div>';
|
|
94604
|
-
|
|
94605
|
-
this.DivElement.appendChild(div);
|
|
94606
|
-
}
|
|
94607
|
-
|
|
94608
|
-
//指标菜单内容
|
|
94609
|
-
this.GetMenuData=function()
|
|
94610
|
-
{
|
|
94611
|
-
var data={
|
|
94612
|
-
"name":"页面通用版指标树",
|
|
94613
|
-
"list":
|
|
94614
|
-
[
|
|
94615
|
-
{
|
|
94616
|
-
"node":"超买超卖型",
|
|
94617
|
-
"list":
|
|
94618
|
-
[
|
|
94619
|
-
{"name":"ADTM 动态买卖气指标", "id":"ADTM"},
|
|
94620
|
-
{"name":"BIAS 乖离率", "id":"BIAS"},
|
|
94621
|
-
{"name":"BIAS36 三六乖离", "id":"BIAS36"},
|
|
94622
|
-
{"name":"BIAS_QL 乖离率-传统版", "id":"BIAS_QL"},
|
|
94623
|
-
{"name":"CCI 商品路径指标", "id":"CCI"},
|
|
94624
|
-
{"name":"FSL 分水岭", "id":"FSL"},
|
|
94625
|
-
{"name":"KDJ 随机指标", "id":"KDJ"},
|
|
94626
|
-
{"name":"MTM 动量线", "id":"MTM"},
|
|
94627
|
-
{"name":"OSC 变动速率线", "id":"OSC"},
|
|
94628
|
-
{"name":"RSI 相对强弱指标", "id":"RSI"},
|
|
94629
|
-
{"name":"ROC 变动率指标", "id":"ROC"},
|
|
94630
|
-
{"name":"WR 威廉指标", "id":"WR"}
|
|
94631
|
-
]
|
|
94632
|
-
},
|
|
94633
|
-
{
|
|
94634
|
-
"node":"趋势型",
|
|
94635
|
-
"list":
|
|
94636
|
-
[
|
|
94637
|
-
{"name":"CHO 济坚指数", "id":"CHO"},
|
|
94638
|
-
{"name":"DMA 平均差", "id":"DMA"},
|
|
94639
|
-
{"name":"DMI 趋向指标", "id":"DMI"},
|
|
94640
|
-
{"name":"EMV 简易波动指标", "id":"EMV"},
|
|
94641
|
-
{"name":"MACD 平滑异同平均", "id":"MACD"},
|
|
94642
|
-
{"name":"TRIX 三重指数平均线", "id":"TRIX"},
|
|
94643
|
-
{"name":"UOS 终极指标", "id":"UOS"},
|
|
94644
|
-
{"name":"TRIX 三重指数平均线", "id":"TRIX"}
|
|
94645
|
-
]
|
|
94646
|
-
},
|
|
94647
|
-
{
|
|
94648
|
-
"node":"成交量型",
|
|
94649
|
-
"list":
|
|
94650
|
-
[
|
|
94651
|
-
{"name":"HSL 换手率", "id":"HSL"},
|
|
94652
|
-
{"name":"OBV 累积能量线", "id":"OBV"},
|
|
94653
|
-
{"name":"NVI 负成交量", "id":"NVI"},
|
|
94654
|
-
{"name":"PVI 正成交量", "id":"PVI"},
|
|
94655
|
-
{"name":"VOL 成交量", "id":"VOL"}
|
|
94656
|
-
]
|
|
94657
|
-
},
|
|
94658
|
-
{
|
|
94659
|
-
"node":"均线型",
|
|
94660
|
-
"list":
|
|
94661
|
-
[
|
|
94662
|
-
{"name":"MA 均线", "id":"均线"},
|
|
94663
|
-
{"name":"BBI 多空线", "id":"BBI"}
|
|
94664
|
-
]
|
|
94665
|
-
},
|
|
94666
|
-
{
|
|
94667
|
-
"node":"路径型",
|
|
94668
|
-
"list":
|
|
94669
|
-
[
|
|
94670
|
-
{"name":"BOLL 布林线", "id":"BOLL"},
|
|
94671
|
-
{"name":"BOLL副图 布林线", "id":"BOLL副图"},
|
|
94672
|
-
{"name":"MIKE 麦克支撑压力", "id":"MIKE"},
|
|
94673
|
-
{"name":"ENE 轨道线", "id":"ENE"}
|
|
94674
|
-
]
|
|
94675
|
-
},
|
|
94676
|
-
{
|
|
94677
|
-
"node":"能量型",
|
|
94678
|
-
"list":
|
|
94679
|
-
[
|
|
94680
|
-
{"name":"BRAR 情绪指标", "id":"BRAR"},
|
|
94681
|
-
{"name":"CYR 市场强弱", "id":"CYR"},
|
|
94682
|
-
{"name":"MASS 梅斯线", "id":"MASS"},
|
|
94683
|
-
{"name":"PSY 心理线", "id":"PSY"},
|
|
94684
|
-
{"name":"CR 带状能量线", "id":"CR"},
|
|
94685
|
-
{"name":"VR 成交量变异率", "id":"VR"},
|
|
94686
|
-
{"name":"WAD 威廉多空力度线", "id":"WAD"}
|
|
94687
|
-
]
|
|
94688
|
-
}
|
|
94689
|
-
|
|
94690
|
-
]
|
|
94691
|
-
};
|
|
94692
|
-
|
|
94693
|
-
return data;
|
|
94694
|
-
}
|
|
94695
|
-
|
|
94696
|
-
//下载数据 如果上次下载过可以 可以不用下载
|
|
94697
|
-
this.ReqeustData=function()
|
|
94698
|
-
{
|
|
94699
|
-
if($("#" + this.ID + " .target-left ul li").length>0){
|
|
94700
|
-
return false;
|
|
94701
|
-
}
|
|
94702
|
-
|
|
94703
|
-
var res=this.GetMenuData();
|
|
94704
|
-
var item = res.list;
|
|
94705
|
-
changeIndexLeftList(item); //处理左侧list列表
|
|
94706
|
-
changeIndexRightList(item); //处理右侧内容列表
|
|
94707
|
-
|
|
94708
|
-
/*
|
|
94709
|
-
var url = this.IndexTreeApiUrl;
|
|
94710
|
-
if (this.IsOverlayIndex==true) url=this.OverlayIndexTreeApiUrl;
|
|
94711
|
-
JSNetwork.HttpRequest({
|
|
94712
|
-
url: url,
|
|
94713
|
-
type: 'get',
|
|
94714
|
-
success: function (res) {
|
|
94715
|
-
var item = res.list;
|
|
94716
|
-
changeIndexLeftList(item); //处理左侧list列表
|
|
94717
|
-
changeIndexRightList(item); //处理右侧内容列表
|
|
94718
|
-
}
|
|
94719
|
-
});
|
|
94720
|
-
*/
|
|
94721
|
-
|
|
94722
|
-
//处理左侧list列表
|
|
94723
|
-
function changeIndexLeftList(item) {
|
|
94724
|
-
$(".target-left ul").html('');
|
|
94725
|
-
$.each(item,function(i,result){
|
|
94726
|
-
var htmlList;
|
|
94727
|
-
htmlList = '<li>' + result.node + '</li>';
|
|
94728
|
-
$(".target-left ul").append(htmlList);
|
|
94729
|
-
});
|
|
94730
|
-
//默认选中第一项
|
|
94731
|
-
$(".target-left ul li:first-child").addClass("active-list");
|
|
94732
|
-
}
|
|
94733
|
-
//处理右侧内容列表
|
|
94734
|
-
function changeIndexRightList(listNum) {
|
|
94735
|
-
var contentHtml;
|
|
94736
|
-
var conData = [];
|
|
94737
|
-
$.each(listNum,function(index,result){
|
|
94738
|
-
conData.push(result.list);
|
|
94739
|
-
})
|
|
94740
|
-
//页面初始化时显示第一个列表分类下的内容
|
|
94741
|
-
$.each(conData[0],function (i, res) {
|
|
94742
|
-
contentHtml = '<li id='+res.id+'>'+ res.name +'</li>';
|
|
94743
|
-
$(".target-right ul").append(contentHtml);
|
|
94744
|
-
})
|
|
94745
|
-
//切换list
|
|
94746
|
-
$(".target-left ul").delegate("li","click",function () {
|
|
94747
|
-
$(this).addClass("active-list").siblings().removeClass("active-list");
|
|
94748
|
-
var item = $(this).index();
|
|
94749
|
-
$(".target-right ul").html("");
|
|
94750
|
-
$.each(conData[item],function (i, res) {
|
|
94751
|
-
contentHtml = '<li id='+res.id+'>'+ res.name +'</li>';
|
|
94752
|
-
$(".target-right ul").append(contentHtml);
|
|
94753
|
-
})
|
|
94754
|
-
})
|
|
94755
|
-
}
|
|
94756
|
-
}
|
|
94757
|
-
|
|
94758
|
-
this.BindClose=function(chart)
|
|
94759
|
-
{
|
|
94760
|
-
//关闭按钮
|
|
94761
|
-
$("#"+this.ID+" .close-tar").click(
|
|
94762
|
-
{
|
|
94763
|
-
Chart:chart,
|
|
94764
|
-
},
|
|
94765
|
-
function(event)
|
|
94766
|
-
{
|
|
94767
|
-
var chart=event.data.Chart;
|
|
94768
|
-
chart.ChangeIndexDialog.Hide();
|
|
94769
|
-
}
|
|
94770
|
-
);
|
|
94771
|
-
}
|
|
94772
|
-
|
|
94773
|
-
//搜索事件
|
|
94774
|
-
this.BindSearch=function(chart)
|
|
94775
|
-
{
|
|
94776
|
-
$(".target-left input").on('input',
|
|
94777
|
-
{
|
|
94778
|
-
Chart:chart
|
|
94779
|
-
},
|
|
94780
|
-
function(event)
|
|
94781
|
-
{
|
|
94782
|
-
let scriptData = new JSIndexScript();
|
|
94783
|
-
let result=scriptData.Search(event.target.value);
|
|
94784
|
-
|
|
94785
|
-
$(".target-right ul").html("");
|
|
94786
|
-
for(var i in result)
|
|
94787
|
-
{
|
|
94788
|
-
var name=result[i];
|
|
94789
|
-
var contentHtml = '<li id='+name+'>'+ name +'</li>';
|
|
94790
|
-
$(".target-right ul").append(contentHtml);
|
|
94791
|
-
}
|
|
94792
|
-
|
|
94793
|
-
}
|
|
94794
|
-
);
|
|
94795
|
-
}
|
|
94796
|
-
|
|
94797
|
-
this.DoModal=function(event)
|
|
94798
|
-
{
|
|
94799
|
-
var chart=event.data.Chart;
|
|
94800
|
-
var identify=event.data.Identify;
|
|
94801
|
-
var dialog=chart.ChangeIndexDialog;
|
|
94802
|
-
var isOverlay=event.data.IsOverlay; //是否叠加
|
|
94803
|
-
|
|
94804
|
-
if(!dialog) return;
|
|
94805
|
-
|
|
94806
|
-
if (dialog.ID==null) dialog.Create(); //第1次 需要创建div
|
|
94807
|
-
dialog.IsOverlayIndex=isOverlay;
|
|
94808
|
-
dialog.ReqeustData(); //下载数据
|
|
94809
|
-
|
|
94810
|
-
//切换窗口指标类型 每次委托事件执行之前,先用undelegate()解除之前的所有绑定
|
|
94811
|
-
changeIndeWindow();
|
|
94812
|
-
function changeIndeWindow()
|
|
94813
|
-
{
|
|
94814
|
-
$(".target-right ul").undelegate().delegate("li","click",function () {
|
|
94815
|
-
var idv = $(this).attr("id");
|
|
94816
|
-
if (isOverlay)
|
|
94817
|
-
chart.AddOverlayIndex({WindowIndex:identify,IndexName:idv});
|
|
94818
|
-
else
|
|
94819
|
-
chart.ChangeIndex(identify,idv);
|
|
94820
|
-
$(this).addClass("active-list").siblings().removeClass("active-list");
|
|
94821
|
-
});
|
|
94822
|
-
}
|
|
94823
|
-
|
|
94824
|
-
dialog.BindSearch(chart);
|
|
94825
|
-
//关闭弹窗
|
|
94826
|
-
dialog.BindClose(chart);
|
|
94827
|
-
dialog.Show();
|
|
94828
|
-
}
|
|
94829
|
-
}
|
|
94830
|
-
|
|
94831
94638
|
//等待动画窗口
|
|
94832
94639
|
function WaitDialog(divElement)
|
|
94833
94640
|
{
|
|
@@ -125402,6 +125209,17 @@ function GetBlackStyle()
|
|
|
125402
125209
|
PositionColor:"rgb(255,0,255)" //持仓
|
|
125403
125210
|
},
|
|
125404
125211
|
|
|
125212
|
+
DialogSearchIndex:
|
|
125213
|
+
{
|
|
125214
|
+
BGColor:'rgb(20,20,20)', //背景色
|
|
125215
|
+
BorderColor:'rgb(170,170,170)', //边框颜色
|
|
125216
|
+
TitleColor:'rgb(230,230,230)', //标题颜色
|
|
125217
|
+
|
|
125218
|
+
IndexNameColor:"rgb(210,210,210)",
|
|
125219
|
+
GroupNameColor:"rgb(210,210,210)",
|
|
125220
|
+
InputTextColor:"rgb(210,210,210)",
|
|
125221
|
+
},
|
|
125222
|
+
|
|
125405
125223
|
DialogPopKeyboard:
|
|
125406
125224
|
{
|
|
125407
125225
|
BGColor:'rgb(20,20,20)', //背景色
|
|
@@ -144951,7 +144769,7 @@ function JSDialogTooltip()
|
|
|
144951
144769
|
if (this.TitleColor) this.TitleBox.DivName.style['color']=this.TitleColor;
|
|
144952
144770
|
|
|
144953
144771
|
this.UpdateTableDOM();
|
|
144954
|
-
}
|
|
144772
|
+
}
|
|
144955
144773
|
|
|
144956
144774
|
|
|
144957
144775
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
@@ -147164,6 +146982,609 @@ function JSDialogSelectRect()
|
|
|
147164
146982
|
|
|
147165
146983
|
|
|
147166
146984
|
|
|
146985
|
+
|
|
146986
|
+
/*
|
|
146987
|
+
Copyright (c) 2018 jones
|
|
146988
|
+
|
|
146989
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
146990
|
+
|
|
146991
|
+
开源项目 https://github.com/jones2000/HQChart
|
|
146992
|
+
|
|
146993
|
+
jones_2000@163.com
|
|
146994
|
+
|
|
146995
|
+
内置指标搜索对话框
|
|
146996
|
+
*/
|
|
146997
|
+
|
|
146998
|
+
|
|
146999
|
+
function JSDialogSearchIndex()
|
|
147000
|
+
{
|
|
147001
|
+
this.DivDialog=null;
|
|
147002
|
+
this.DragTitle=null;
|
|
147003
|
+
this.TitleBox=null; //{ DivTitle, DivName, DivName }
|
|
147004
|
+
this.InputDom=null;
|
|
147005
|
+
this.Style=0; //样式 预留
|
|
147006
|
+
|
|
147007
|
+
this.HQChart=null;
|
|
147008
|
+
|
|
147009
|
+
//{ WindowIndex:窗口索引, OpType:1=切换主图指标 2=添加叠加指标, Title: };
|
|
147010
|
+
this.OpData=null;
|
|
147011
|
+
|
|
147012
|
+
this.TitleColor=g_JSChartResource.DialogSearchIndex.TitleColor;
|
|
147013
|
+
this.TitleBGColor=g_JSChartResource.DialogSearchIndex.TitleBGColor;
|
|
147014
|
+
this.BGColor=g_JSChartResource.DialogSearchIndex.BGColor;
|
|
147015
|
+
this.BorderColor=g_JSChartResource.DialogSearchIndex.BorderColor;
|
|
147016
|
+
this.IndexNameColor=g_JSChartResource.DialogSearchIndex.IndexNameColor;
|
|
147017
|
+
this.GroupNameColor=g_JSChartResource.DialogSearchIndex.GroupNameColor;
|
|
147018
|
+
this.InputTextColor=g_JSChartResource.DialogSearchIndex.InputTextColor;
|
|
147019
|
+
|
|
147020
|
+
this.MaxRowCount=30; //行
|
|
147021
|
+
this.ColCount=3; //列
|
|
147022
|
+
this.MaxGroupCount=10; //分类最多个数
|
|
147023
|
+
|
|
147024
|
+
this.AryData=[];
|
|
147025
|
+
this.AryGroup=[]; //分类
|
|
147026
|
+
this.IndexData=JSDialogSearchIndex.GetDefaultIndexData();
|
|
147027
|
+
|
|
147028
|
+
this.Inital=function(hqchart, option)
|
|
147029
|
+
{
|
|
147030
|
+
this.HQChart=hqchart;
|
|
147031
|
+
if (option)
|
|
147032
|
+
{
|
|
147033
|
+
if (IFrameSplitOperator.IsNumber(option.Style)) this.Style=option.Style;
|
|
147034
|
+
if (option.IndexData) this.IndexData=option.IndexData;
|
|
147035
|
+
}
|
|
147036
|
+
}
|
|
147037
|
+
|
|
147038
|
+
this.Destroy=function()
|
|
147039
|
+
{
|
|
147040
|
+
this.AryData=[];
|
|
147041
|
+
this.AryGroup=[];
|
|
147042
|
+
this.IndexData=null;
|
|
147043
|
+
this.InputDom=null;
|
|
147044
|
+
|
|
147045
|
+
if (this.DivDialog)
|
|
147046
|
+
{
|
|
147047
|
+
document.body.removeChild(this.DivDialog);
|
|
147048
|
+
this.DivDialog=null;
|
|
147049
|
+
}
|
|
147050
|
+
}
|
|
147051
|
+
|
|
147052
|
+
this.OnClickColseButton=function(e)
|
|
147053
|
+
{
|
|
147054
|
+
this.Close(e);
|
|
147055
|
+
}
|
|
147056
|
+
|
|
147057
|
+
//设置当前窗口数据
|
|
147058
|
+
this.SetOpData=function(data)
|
|
147059
|
+
{
|
|
147060
|
+
this.OpData=data;
|
|
147061
|
+
}
|
|
147062
|
+
|
|
147063
|
+
this.Close=function(e)
|
|
147064
|
+
{
|
|
147065
|
+
this.OpData=null;
|
|
147066
|
+
if (!this.DivDialog) return;
|
|
147067
|
+
|
|
147068
|
+
this.DivDialog.style.visibility='hidden';
|
|
147069
|
+
}
|
|
147070
|
+
|
|
147071
|
+
this.OnMouseDownTitle=function(e)
|
|
147072
|
+
{
|
|
147073
|
+
if (!this.DivDialog) return;
|
|
147074
|
+
|
|
147075
|
+
var dragData={ X:e.clientX, Y:e.clientY };
|
|
147076
|
+
dragData.YOffset=e.clientX - this.DivDialog.offsetLeft;
|
|
147077
|
+
dragData.XOffset=e.clientY - this.DivDialog.offsetTop;
|
|
147078
|
+
this.DragTitle=dragData;
|
|
147079
|
+
|
|
147080
|
+
document.onmousemove=(e)=>{ this.DocOnMouseMoveTitle(e); }
|
|
147081
|
+
document.onmouseup=(e)=>{ this.DocOnMouseUpTitle(e); }
|
|
147082
|
+
}
|
|
147083
|
+
|
|
147084
|
+
this.DocOnMouseMoveTitle=function(e)
|
|
147085
|
+
{
|
|
147086
|
+
if (!this.DragTitle) return;
|
|
147087
|
+
|
|
147088
|
+
var left = e.clientX - this.DragTitle.YOffset;
|
|
147089
|
+
var top = e.clientY - this.DragTitle.XOffset;
|
|
147090
|
+
|
|
147091
|
+
var right=left+this.DivDialog.offsetWidth;
|
|
147092
|
+
var bottom=top+ this.DivDialog.offsetHeight;
|
|
147093
|
+
|
|
147094
|
+
if ((right+5)>=window.innerWidth) left=window.innerWidth-this.DivDialog.offsetWidth-5;
|
|
147095
|
+
if ((bottom+5)>=window.innerHeight) top=window.innerHeight-this.DivDialog.offsetHeight-5;
|
|
147096
|
+
|
|
147097
|
+
this.DivDialog.style.left = left + 'px';
|
|
147098
|
+
this.DivDialog.style.top = top + 'px';
|
|
147099
|
+
|
|
147100
|
+
if(e.preventDefault) e.preventDefault();
|
|
147101
|
+
}
|
|
147102
|
+
|
|
147103
|
+
this.DocOnMouseUpTitle=function(e)
|
|
147104
|
+
{
|
|
147105
|
+
this.DragTitle=null;
|
|
147106
|
+
this.onmousemove = null;
|
|
147107
|
+
this.onmouseup = null;
|
|
147108
|
+
}
|
|
147109
|
+
|
|
147110
|
+
this.Show=function(x, y, groupID)
|
|
147111
|
+
{
|
|
147112
|
+
if (!this.DivDialog) return;
|
|
147113
|
+
|
|
147114
|
+
if (!groupID) groupID=this.IndexData.Data[0].Group.ID;
|
|
147115
|
+
|
|
147116
|
+
this.UpdateGroupData();
|
|
147117
|
+
this.ChangeGroup(groupID);
|
|
147118
|
+
|
|
147119
|
+
if (this.OpData && this.OpData.Title) this.TitleBox.DivName.innerText=this.OpData.Title;
|
|
147120
|
+
|
|
147121
|
+
if (!IFrameSplitOperator.IsNumber(x) || !IFrameSplitOperator.IsNumber(y)) //默认居中显示
|
|
147122
|
+
{
|
|
147123
|
+
var rtClient=this.HQChart.UIElement.getBoundingClientRect();
|
|
147124
|
+
x=rtClient.left+(rtClient.right-rtClient.left-this.DivDialog.offsetWidth)/2;
|
|
147125
|
+
y=rtClient.top+(rtClient.bottom-rtClient.top-this.DivDialog.offsetHeight)/2;
|
|
147126
|
+
}
|
|
147127
|
+
|
|
147128
|
+
this.InputDom.value="";
|
|
147129
|
+
|
|
147130
|
+
this.DivDialog.style.visibility='visible';
|
|
147131
|
+
this.DivDialog.style.top = y + "px";
|
|
147132
|
+
this.DivDialog.style.left = x + "px";
|
|
147133
|
+
}
|
|
147134
|
+
|
|
147135
|
+
this.Create=function()
|
|
147136
|
+
{
|
|
147137
|
+
var divDom=document.createElement("div");
|
|
147138
|
+
divDom.className='UMyChart_SearchIndex_Dialog_Div';
|
|
147139
|
+
|
|
147140
|
+
//对话框标题栏
|
|
147141
|
+
var divTitle=document.createElement("div");
|
|
147142
|
+
divTitle.className='UMyChart_SearchIndex_Title_Div';
|
|
147143
|
+
divTitle.onmousedown=(e)=>{ this.OnMouseDownTitle(e);}
|
|
147144
|
+
divDom.appendChild(divTitle);
|
|
147145
|
+
|
|
147146
|
+
var divName=document.createElement("div");
|
|
147147
|
+
divName.className='UMyChart_SearchIndex_Name_Div';
|
|
147148
|
+
divName.innerText="指标搜索";
|
|
147149
|
+
divTitle.appendChild(divName);
|
|
147150
|
+
|
|
147151
|
+
var divClose=document.createElement("div");
|
|
147152
|
+
divClose.className='UMyChart_SearchIndex_Close_Div';
|
|
147153
|
+
divClose.innerText="x";
|
|
147154
|
+
divClose.onmousedown=(e)=>{ this.OnClickColseButton(e); }
|
|
147155
|
+
divTitle.appendChild(divClose);
|
|
147156
|
+
|
|
147157
|
+
//整个框子
|
|
147158
|
+
var divFrame=document.createElement("div");
|
|
147159
|
+
divFrame.className="UMyChart_SearchIndex_Frome_Div";
|
|
147160
|
+
divDom.appendChild(divFrame);
|
|
147161
|
+
|
|
147162
|
+
//搜索框
|
|
147163
|
+
var divInput=document.createElement("div");
|
|
147164
|
+
divInput.className="UMyChart_SearchIndex_Input_Div";
|
|
147165
|
+
divFrame.appendChild(divInput);
|
|
147166
|
+
|
|
147167
|
+
var input=document.createElement("input");
|
|
147168
|
+
input.className='UMyChart_SearchIndex_Input';
|
|
147169
|
+
input.type="text";
|
|
147170
|
+
input.placeholder="输入指标名称"
|
|
147171
|
+
input.addEventListener("input", (e)=>{this.OnInputSearch(e); })
|
|
147172
|
+
divInput.appendChild(input);
|
|
147173
|
+
this.InputDom=input;
|
|
147174
|
+
|
|
147175
|
+
//分类+指标内容
|
|
147176
|
+
var divContainer=document.createElement("div");
|
|
147177
|
+
divContainer.className="UMyChart_SearchIndex_Container_Div";
|
|
147178
|
+
divDom.appendChild(divContainer);
|
|
147179
|
+
|
|
147180
|
+
//分类
|
|
147181
|
+
var divGroup=document.createElement("div");
|
|
147182
|
+
divGroup.className="UMyChart_SearchIndex_GroupList_Div";
|
|
147183
|
+
divContainer.appendChild(divGroup);
|
|
147184
|
+
|
|
147185
|
+
for(var i=0, j=0;i<this.MaxGroupCount;++i)
|
|
147186
|
+
{
|
|
147187
|
+
var groupItem={ Div:null, Span:null };
|
|
147188
|
+
var divItem=document.createElement("div");
|
|
147189
|
+
divItem.className="UMyChart_SearchIndex_Group_Div";
|
|
147190
|
+
divGroup.appendChild(divItem);
|
|
147191
|
+
groupItem.Div=divItem;
|
|
147192
|
+
|
|
147193
|
+
var spanDom=document.createElement("span");
|
|
147194
|
+
spanDom.className='UMyChart_SearchIndex_Group_Span';
|
|
147195
|
+
spanDom.innerText='分类名称';
|
|
147196
|
+
divItem.appendChild(spanDom);
|
|
147197
|
+
groupItem.Span=spanDom;
|
|
147198
|
+
|
|
147199
|
+
spanDom.onmousedown=(e)=>{ this.OnClickGroup(e); }
|
|
147200
|
+
|
|
147201
|
+
this.AryGroup.push(groupItem);
|
|
147202
|
+
}
|
|
147203
|
+
|
|
147204
|
+
|
|
147205
|
+
//表格
|
|
147206
|
+
var divTable=document.createElement("div");
|
|
147207
|
+
divTable.className='UMyChart_SearchIndex_Table_Div';
|
|
147208
|
+
divContainer.appendChild(divTable);
|
|
147209
|
+
|
|
147210
|
+
var table=document.createElement("table");
|
|
147211
|
+
table.className="UMyChart_SearchIndex_Table";
|
|
147212
|
+
divTable.appendChild(table);
|
|
147213
|
+
|
|
147214
|
+
var tbody=document.createElement("tbody");
|
|
147215
|
+
tbody.className="UMyChart_SearchIndex_Tbody";
|
|
147216
|
+
table.appendChild(tbody);
|
|
147217
|
+
|
|
147218
|
+
this.AryData=[];
|
|
147219
|
+
|
|
147220
|
+
for(var i=0, j=0;i<this.MaxRowCount;++i)
|
|
147221
|
+
{
|
|
147222
|
+
var rowItem={ Tr:null, AryCell:[] };
|
|
147223
|
+
|
|
147224
|
+
var trDom=document.createElement("tr");
|
|
147225
|
+
trDom.className='UMyChart_SearchIndex_Group_Tr';
|
|
147226
|
+
tbody.appendChild(trDom);
|
|
147227
|
+
rowItem.Tr=trDom;
|
|
147228
|
+
|
|
147229
|
+
for(j=0; j<this.ColCount;++j)
|
|
147230
|
+
{
|
|
147231
|
+
var cellItem=this.CreateCellDOM(i,j,trDom);
|
|
147232
|
+
rowItem.AryCell.push(cellItem);
|
|
147233
|
+
}
|
|
147234
|
+
|
|
147235
|
+
this.AryData.push(rowItem);
|
|
147236
|
+
}
|
|
147237
|
+
|
|
147238
|
+
document.body.appendChild(divDom);
|
|
147239
|
+
|
|
147240
|
+
this.DivName=divName;
|
|
147241
|
+
this.DivDialog=divDom;
|
|
147242
|
+
this.TitleBox={ DivTitle:divTitle, DivName:divName, DivColor:divClose };
|
|
147243
|
+
|
|
147244
|
+
this.UpdateStyle();
|
|
147245
|
+
}
|
|
147246
|
+
|
|
147247
|
+
this.CreateCellDOM=function(rowID, colID, trDom)
|
|
147248
|
+
{
|
|
147249
|
+
var cellItem={ Td:null, Span:null, RowID:rowID, ColID:colID, IndexItem:null };
|
|
147250
|
+
var tdDom=document.createElement("td");
|
|
147251
|
+
tdDom.className="UMyChart_SearchIndex_Text_Td"; //指标名称
|
|
147252
|
+
trDom.appendChild(tdDom);
|
|
147253
|
+
cellItem.Td=tdDom;
|
|
147254
|
+
|
|
147255
|
+
var spanDom=document.createElement("span");
|
|
147256
|
+
spanDom.className='UMyChart_SearchIndex_Text_Span';
|
|
147257
|
+
spanDom.innerText='指标名称';
|
|
147258
|
+
spanDom.onmousedown=(e)=>{ this.OnClickIndex(e, cellItem); }
|
|
147259
|
+
tdDom.appendChild(spanDom);
|
|
147260
|
+
cellItem.Span=spanDom;
|
|
147261
|
+
|
|
147262
|
+
return cellItem;
|
|
147263
|
+
}
|
|
147264
|
+
|
|
147265
|
+
|
|
147266
|
+
this.OnClickIndex=function(e, cellItem)
|
|
147267
|
+
{
|
|
147268
|
+
if (!this.OpData) return;
|
|
147269
|
+
if (!cellItem || !cellItem.IndexItem) return;
|
|
147270
|
+
|
|
147271
|
+
if (this.OpData.OpType==1)
|
|
147272
|
+
{
|
|
147273
|
+
if (!IFrameSplitOperator.IsNumber(this.OpData.WindowIndex)) return;
|
|
147274
|
+
var indexItem=cellItem.IndexItem;
|
|
147275
|
+
if (indexItem.Type==0) //系统指标
|
|
147276
|
+
{
|
|
147277
|
+
this.HQChart.ChangeIndex(this.OpData.WindowIndex, indexItem.ID );
|
|
147278
|
+
}
|
|
147279
|
+
else if (indexItem.Type==1) //自定义通达性
|
|
147280
|
+
{
|
|
147281
|
+
|
|
147282
|
+
}
|
|
147283
|
+
else if (indexItem.Type==2) //api指标
|
|
147284
|
+
{
|
|
147285
|
+
|
|
147286
|
+
}
|
|
147287
|
+
}
|
|
147288
|
+
else if (this.OpData.OpType==2)
|
|
147289
|
+
{
|
|
147290
|
+
if (!IFrameSplitOperator.IsNumber(this.OpData.WindowIndex)) return;
|
|
147291
|
+
var indexItem=cellItem.IndexItem;
|
|
147292
|
+
|
|
147293
|
+
if (indexItem.Type==0) //系统指标
|
|
147294
|
+
{
|
|
147295
|
+
var obj={ WindowIndex:this.OpData.WindowIndex, IndexName:indexItem.ID };
|
|
147296
|
+
this.HQChart.AddOverlayIndex(obj);
|
|
147297
|
+
}
|
|
147298
|
+
else if (indexItem.Type==1) //自定义通达性
|
|
147299
|
+
{
|
|
147300
|
+
|
|
147301
|
+
}
|
|
147302
|
+
else if (indexItem.Type==2) //api指标
|
|
147303
|
+
{
|
|
147304
|
+
|
|
147305
|
+
}
|
|
147306
|
+
}
|
|
147307
|
+
|
|
147308
|
+
}
|
|
147309
|
+
|
|
147310
|
+
this.OnClickGroup=function(e)
|
|
147311
|
+
{
|
|
147312
|
+
if (!e.target) return false;
|
|
147313
|
+
var groupID=e.target.dataset.groupid;
|
|
147314
|
+
if (!groupID) return false;
|
|
147315
|
+
|
|
147316
|
+
this.ChangeGroup(groupID);
|
|
147317
|
+
}
|
|
147318
|
+
|
|
147319
|
+
this.UpdateStyle=function()
|
|
147320
|
+
{
|
|
147321
|
+
if (!this.DivDialog) return;
|
|
147322
|
+
|
|
147323
|
+
if (this.BGColor) this.DivDialog.style['background-color']=this.BGColor;
|
|
147324
|
+
if (this.BorderColor) this.DivDialog.style['border-color']=this.BorderColor;
|
|
147325
|
+
|
|
147326
|
+
if (this.TitleBGColor) this.TitleBox.DivTitle.style['background-color']=this.TitleBGColor;
|
|
147327
|
+
if (this.TitleColor) this.TitleBox.DivName.style['color']=this.TitleColor;
|
|
147328
|
+
|
|
147329
|
+
if (this.InputTextColor) this.InputDom.style['color']=this.InputTextColor;
|
|
147330
|
+
};
|
|
147331
|
+
|
|
147332
|
+
this.ChangeGroup=function(groupID)
|
|
147333
|
+
{
|
|
147334
|
+
if (!this.IndexData) return;
|
|
147335
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.IndexData.Data)) return;
|
|
147336
|
+
|
|
147337
|
+
var findItem=null;
|
|
147338
|
+
for(var i=0; i<this.IndexData.Data.length; ++i)
|
|
147339
|
+
{
|
|
147340
|
+
var item=this.IndexData.Data[i];
|
|
147341
|
+
if (item.Group.ID==groupID)
|
|
147342
|
+
{
|
|
147343
|
+
findItem=item;
|
|
147344
|
+
break;
|
|
147345
|
+
}
|
|
147346
|
+
}
|
|
147347
|
+
|
|
147348
|
+
if (!findItem) return;
|
|
147349
|
+
|
|
147350
|
+
this.UpdateTableData(findItem);
|
|
147351
|
+
}
|
|
147352
|
+
|
|
147353
|
+
//左侧分类
|
|
147354
|
+
this.UpdateGroupData=function()
|
|
147355
|
+
{
|
|
147356
|
+
var index=0;
|
|
147357
|
+
for(index=0; index<this.IndexData.Data.length && index<this.AryGroup.length; ++index)
|
|
147358
|
+
{
|
|
147359
|
+
var item=this.IndexData.Data[index];
|
|
147360
|
+
var cell=this.AryGroup[index];
|
|
147361
|
+
cell.Span.innerText=item.Group.Name;
|
|
147362
|
+
cell.Span.dataset.groupid=item.Group.ID;
|
|
147363
|
+
cell.Span.dataset.groupname=item.Group.Name;
|
|
147364
|
+
cell.Span.style.color=this.GroupNameColor;
|
|
147365
|
+
|
|
147366
|
+
if (cell.Div.style.display=="none") cell.Div.style.display="";
|
|
147367
|
+
}
|
|
147368
|
+
|
|
147369
|
+
for(; index<this.AryGroup.length; ++index)
|
|
147370
|
+
{
|
|
147371
|
+
var cell=this.AryGroup[index];
|
|
147372
|
+
cell.Div.style.display="none";
|
|
147373
|
+
}
|
|
147374
|
+
}
|
|
147375
|
+
|
|
147376
|
+
this.UpdateTableData=function(data)
|
|
147377
|
+
{
|
|
147378
|
+
var rowIndex=0;
|
|
147379
|
+
for(var j=0, index=0;rowIndex<this.AryData.length && index<data.AryIndex.length ;++rowIndex)
|
|
147380
|
+
{
|
|
147381
|
+
var row=this.AryData[rowIndex];
|
|
147382
|
+
var cellCount=0;
|
|
147383
|
+
for(j=0;j<row.AryCell.length;++j)
|
|
147384
|
+
{
|
|
147385
|
+
var cell=row.AryCell[j];
|
|
147386
|
+
if (index<data.AryIndex.length)
|
|
147387
|
+
{
|
|
147388
|
+
var indexItem=data.AryIndex[index];
|
|
147389
|
+
cell.Span.innerText=indexItem.Name;
|
|
147390
|
+
cell.Span.style.color=this.IndexNameColor;
|
|
147391
|
+
if (cell.Td.style.display=="none") cell.Td.style.display="";
|
|
147392
|
+
cell.IndexItem=indexItem;
|
|
147393
|
+
++index;
|
|
147394
|
+
++cellCount;
|
|
147395
|
+
}
|
|
147396
|
+
else
|
|
147397
|
+
{
|
|
147398
|
+
cell.Td.style.display="none";
|
|
147399
|
+
}
|
|
147400
|
+
}
|
|
147401
|
+
|
|
147402
|
+
if (cellCount>0)
|
|
147403
|
+
{
|
|
147404
|
+
if (row.Tr.style.display=="none") row.Tr.style.display="";
|
|
147405
|
+
}
|
|
147406
|
+
else
|
|
147407
|
+
{
|
|
147408
|
+
row.Tr.style.display=="none";
|
|
147409
|
+
}
|
|
147410
|
+
}
|
|
147411
|
+
|
|
147412
|
+
for(; rowIndex<this.AryData.length; ++rowIndex)
|
|
147413
|
+
{
|
|
147414
|
+
var row=this.AryData[rowIndex];
|
|
147415
|
+
row.Tr.style.display="none";
|
|
147416
|
+
}
|
|
147417
|
+
}
|
|
147418
|
+
|
|
147419
|
+
//搜索
|
|
147420
|
+
this.OnInputSearch=function(e)
|
|
147421
|
+
{
|
|
147422
|
+
var strSearh=e.target.value;
|
|
147423
|
+
var aryIndex=[];
|
|
147424
|
+
|
|
147425
|
+
var aryData=this.SeachIndex(strSearh);
|
|
147426
|
+
var setIndex=new Set();
|
|
147427
|
+
for(var i=0;i<aryData.length;++i)
|
|
147428
|
+
{
|
|
147429
|
+
var item=aryData[i];
|
|
147430
|
+
var key=`${item.ID}-${item.Type}`;
|
|
147431
|
+
setIndex.add(key);
|
|
147432
|
+
aryIndex.push(item);
|
|
147433
|
+
}
|
|
147434
|
+
|
|
147435
|
+
//内置指标
|
|
147436
|
+
var scriptData = new JSIndexScript();
|
|
147437
|
+
var result=scriptData.Search(strSearh);
|
|
147438
|
+
if (IFrameSplitOperator.IsNonEmptyArray(result))
|
|
147439
|
+
{
|
|
147440
|
+
for(var i=0;i<result.length;++i)
|
|
147441
|
+
{
|
|
147442
|
+
var id=result[i];
|
|
147443
|
+
var key=`${id}-0`;
|
|
147444
|
+
if (setIndex.has(key)) continue;
|
|
147445
|
+
|
|
147446
|
+
var item={Name:id, ID:id, Type:0 };
|
|
147447
|
+
aryIndex.push(item);
|
|
147448
|
+
}
|
|
147449
|
+
}
|
|
147450
|
+
|
|
147451
|
+
this.UpdateTableData({ AryIndex:aryIndex })
|
|
147452
|
+
}
|
|
147453
|
+
|
|
147454
|
+
this.SeachIndex=function(strSearch)
|
|
147455
|
+
{
|
|
147456
|
+
if (!this.IndexData || !IFrameSplitOperator.IsNonEmptyArray(this.IndexData.Data)) return [];
|
|
147457
|
+
|
|
147458
|
+
var aryData=[];
|
|
147459
|
+
var upperSearch=strSearch.toUpperCase();
|
|
147460
|
+
for(var i=0,j=0;i<this.IndexData.Data.length;++i)
|
|
147461
|
+
{
|
|
147462
|
+
var groupItem=this.IndexData.Data[i];
|
|
147463
|
+
for(j=0;j<groupItem.AryIndex.length;++j)
|
|
147464
|
+
{
|
|
147465
|
+
var item=groupItem.AryIndex[j];
|
|
147466
|
+
if (item.Name.indexOf(strSearch)>=0 || item.Name.indexOf(upperSearch)>=0)
|
|
147467
|
+
{
|
|
147468
|
+
aryData.push(item);
|
|
147469
|
+
}
|
|
147470
|
+
}
|
|
147471
|
+
}
|
|
147472
|
+
|
|
147473
|
+
return aryData;
|
|
147474
|
+
}
|
|
147475
|
+
|
|
147476
|
+
//配色修改
|
|
147477
|
+
this.ReloadResource=function(option)
|
|
147478
|
+
{
|
|
147479
|
+
this.TitleColor=g_JSChartResource.DialogSearchIndex.TitleColor;
|
|
147480
|
+
this.TitleBGColor=g_JSChartResource.DialogSearchIndex.TitleBGColor;
|
|
147481
|
+
this.BGColor=g_JSChartResource.DialogSearchIndex.BGColor;
|
|
147482
|
+
this.BorderColor=g_JSChartResource.DialogSearchIndex.BorderColor;
|
|
147483
|
+
this.IndexNameColor=g_JSChartResource.DialogSearchIndex.IndexNameColor;
|
|
147484
|
+
this.GroupNameColor=g_JSChartResource.DialogSearchIndex.GroupNameColor;
|
|
147485
|
+
this.InputTextColor=g_JSChartResource.DialogSearchIndex.InputTextColor;
|
|
147486
|
+
|
|
147487
|
+
if (!this.DivDialog) return;
|
|
147488
|
+
|
|
147489
|
+
this.UpdateStyle();
|
|
147490
|
+
}
|
|
147491
|
+
|
|
147492
|
+
}
|
|
147493
|
+
|
|
147494
|
+
|
|
147495
|
+
JSDialogSearchIndex.GetDefaultIndexData=function()
|
|
147496
|
+
{
|
|
147497
|
+
var data=
|
|
147498
|
+
{
|
|
147499
|
+
Name:"内置指标分类",
|
|
147500
|
+
Data:
|
|
147501
|
+
[
|
|
147502
|
+
{
|
|
147503
|
+
Group:{ ID:"超买超卖型", Name:"超买超卖型"} ,
|
|
147504
|
+
AryIndex:
|
|
147505
|
+
[
|
|
147506
|
+
{Name:"ADTM 动态买卖气指标", ID:"ADTM", Type:0 }, //Type:0=系统指标 1=自定义通达信脚本 2=api指标
|
|
147507
|
+
{Name:"BIAS 乖离率", ID:"BIAS", Type:0},
|
|
147508
|
+
{Name:"BIAS36 三六乖离", ID:"BIAS36", Type:0 },
|
|
147509
|
+
{Name:"BIAS_QL 乖离率-传统版", ID:"BIAS_QL", Type:0 },
|
|
147510
|
+
{Name:"CCI 商品路径指标",ID:"CCI", Type:0 },
|
|
147511
|
+
{Name:"FSL 分水岭",ID:"FSL", Type:0},
|
|
147512
|
+
{Name:"KDJ 随机指标",ID:"KDJ", Type:0},
|
|
147513
|
+
{Name:"MTM 动量线", ID:"MTM", Type:0},
|
|
147514
|
+
{Name:"OSC 变动速率线", ID:"OSC", Type:0},
|
|
147515
|
+
{Name:"RSI 相对强弱指标", ID:"RSI", Type:0},
|
|
147516
|
+
{Name:"ROC 变动率指标", ID:"ROC", Type:0},
|
|
147517
|
+
{Name:"WR 威廉指标", ID:"WR", Type:0}
|
|
147518
|
+
]
|
|
147519
|
+
},
|
|
147520
|
+
|
|
147521
|
+
{
|
|
147522
|
+
Group:{ ID:"趋势型", Name:"趋势型"},
|
|
147523
|
+
AryIndex:
|
|
147524
|
+
[
|
|
147525
|
+
{Name:"CHO 济坚指数", ID:"CHO", Type:0 },
|
|
147526
|
+
{Name:"DMA 平均差", ID:"DMA", Type:0 },
|
|
147527
|
+
{Name:"DMI 趋向指标", ID:"DMI", Type:0 },
|
|
147528
|
+
{Name:"EMV 简易波动指标", ID:"EMV", Type:0 },
|
|
147529
|
+
{Name:"MACD 平滑异同平均", ID:"MACD", Type:0 },
|
|
147530
|
+
{Name:"TRIX 三重指数平均线", ID:"TRIX", Type:0 },
|
|
147531
|
+
{Name:"UOS 终极指标", ID:"UOS", Type:0 },
|
|
147532
|
+
{Name:"TRIX 三重指数平均线", ID:"TRIX", Type:0 }
|
|
147533
|
+
]
|
|
147534
|
+
},
|
|
147535
|
+
|
|
147536
|
+
{
|
|
147537
|
+
Group:{ ID:"成交量型", Name:"成交量型"},
|
|
147538
|
+
AryIndex:
|
|
147539
|
+
[
|
|
147540
|
+
{Name:"HSL 换手率", ID:"HSL", Type:0},
|
|
147541
|
+
{Name:"OBV 累积能量线", ID:"OBV", Type:0},
|
|
147542
|
+
{Name:"NVI 负成交量", ID:"NVI", Type:0},
|
|
147543
|
+
{Name:"PVI 正成交量", ID:"PVI", Type:0},
|
|
147544
|
+
{Name:"VOL 成交量", ID:"VOL", Type:0}
|
|
147545
|
+
]
|
|
147546
|
+
},
|
|
147547
|
+
{
|
|
147548
|
+
Group:{ ID:"均线型", Name:"均线型"} ,
|
|
147549
|
+
AryIndex:
|
|
147550
|
+
[
|
|
147551
|
+
{Name:"MA 均线", ID:"MA", Type:0},
|
|
147552
|
+
{Name:"BBI 多空线", ID:"BBI", Type:0}
|
|
147553
|
+
]
|
|
147554
|
+
},
|
|
147555
|
+
{
|
|
147556
|
+
Group:{ ID:"路径型", Name:"路径型"} ,
|
|
147557
|
+
AryIndex:
|
|
147558
|
+
[
|
|
147559
|
+
{Name:"BOLL 布林线", ID:"BOLL", Type:0},
|
|
147560
|
+
{Name:"BOLL副图 布林线", ID:"BOLL副图", Type:0},
|
|
147561
|
+
{Name:"MIKE 麦克支撑压力", ID:"MIKE", Type:0},
|
|
147562
|
+
{Name:"ENE 轨道线", ID:"ENE", Type:0}
|
|
147563
|
+
]
|
|
147564
|
+
},
|
|
147565
|
+
{
|
|
147566
|
+
Group:{ ID:"能量型", Name:"能量型"} ,
|
|
147567
|
+
AryIndex:
|
|
147568
|
+
[
|
|
147569
|
+
{Name:"BRAR 情绪指标", ID:"BRAR", Type:0},
|
|
147570
|
+
{Name:"CYR 市场强弱", ID:"CYR", Type:0},
|
|
147571
|
+
{Name:"MASS 梅斯线", ID:"MASS", Type:0},
|
|
147572
|
+
{Name:"PSY 心理线", ID:"PSY", Type:0},
|
|
147573
|
+
{Name:"CR 带状能量线", ID:"CR", Type:0},
|
|
147574
|
+
{Name:"VR 成交量变异率", ID:"VR", Type:0},
|
|
147575
|
+
{Name:"WAD 威廉多空力度线", ID:"WAD", Type:0}
|
|
147576
|
+
]
|
|
147577
|
+
}
|
|
147578
|
+
]
|
|
147579
|
+
|
|
147580
|
+
}
|
|
147581
|
+
|
|
147582
|
+
return data;
|
|
147583
|
+
}
|
|
147584
|
+
|
|
147585
|
+
|
|
147586
|
+
|
|
147587
|
+
|
|
147167
147588
|
///////////////////////////////////////////////////////////////////////////////////
|
|
147168
147589
|
// 工作线程计算指标示例
|
|
147169
147590
|
//
|
|
@@ -147285,7 +147706,7 @@ function HQChartScriptWorker()
|
|
|
147285
147706
|
|
|
147286
147707
|
|
|
147287
147708
|
|
|
147288
|
-
var HQCHART_VERSION="1.1.
|
|
147709
|
+
var HQCHART_VERSION="1.1.14071";
|
|
147289
147710
|
|
|
147290
147711
|
function PrintHQChartVersion()
|
|
147291
147712
|
{
|