hqchart 1.1.14084 → 1.1.14093
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 +81 -83
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogSearchIndex.js +429 -5
- package/src/jscommon/umychart.js +120 -269
- package/src/jscommon/umychart.resource/css/tools.css +126 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +121 -270
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +550 -275
package/src/jscommon/umychart.js
CHANGED
|
@@ -53,9 +53,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
53
53
|
this.CacheCanvasElement=null;
|
|
54
54
|
if (bCacheCanvas) this.CacheCanvasElement=document.createElement("canvas");
|
|
55
55
|
|
|
56
|
-
//改参数div
|
|
57
|
-
this.ModifyIndexDialog=new ModifyIndexDialog(divElement);
|
|
58
|
-
|
|
59
56
|
//额外的画布
|
|
60
57
|
this.MapExtraCanvasElement=new Map(); //key=画布名字, value={ Element:, Canvas:}
|
|
61
58
|
|
|
@@ -288,9 +285,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
288
285
|
if (option.EventCallback) this.SetEventCallback(chart, option.EventCallback);
|
|
289
286
|
if (option.NetworkFilter) chart.NetworkFilter=option.NetworkFilter;
|
|
290
287
|
|
|
291
|
-
//创建改参数div
|
|
292
|
-
chart.ModifyIndexDialog=this.ModifyIndexDialog;
|
|
293
|
-
|
|
294
288
|
var pixelRatio=GetDevicePixelRatio();
|
|
295
289
|
|
|
296
290
|
//右键菜单
|
|
@@ -740,9 +734,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
740
734
|
{
|
|
741
735
|
var chart=new CustomKLineChartContainer(this.CanvasElement);
|
|
742
736
|
|
|
743
|
-
//创建改参数div
|
|
744
|
-
chart.ModifyIndexDialog=this.ModifyIndexDialog;
|
|
745
|
-
|
|
746
737
|
//右键菜单
|
|
747
738
|
if (IFrameSplitOperator.IsBool(option.IsShowRightMenu)) chart.IsShowRightMenu=option.IsShowRightMenu;
|
|
748
739
|
|
|
@@ -843,8 +834,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
843
834
|
if (option.EventCallback) this.SetEventCallback(chart, option.EventCallback);
|
|
844
835
|
if (option.NetworkFilter) chart.NetworkFilter=option.NetworkFilter;
|
|
845
836
|
|
|
846
|
-
chart.ModifyIndexDialog=this.ModifyIndexDialog;
|
|
847
|
-
|
|
848
837
|
var pixelRatio=GetDevicePixelRatio();
|
|
849
838
|
|
|
850
839
|
var windowsCount=2;
|
|
@@ -1423,9 +1412,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
1423
1412
|
if (option.NetworkFilter) chart.NetworkFilter=option.NetworkFilter;
|
|
1424
1413
|
if (option.IsApiPeriod==true) chart.IsApiPeriod=option.IsApiPeriod;
|
|
1425
1414
|
|
|
1426
|
-
//创建改参数div
|
|
1427
|
-
chart.ModifyIndexDialog=this.ModifyIndexDialog;
|
|
1428
|
-
|
|
1429
1415
|
if (option.ScriptError) chart.ScriptErrorCallback=option.ScriptError;
|
|
1430
1416
|
|
|
1431
1417
|
if (option.KLine) //k线图的属性设置
|
|
@@ -1723,6 +1709,9 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
1723
1709
|
if (option.SelectRectDialog && option.SelectRectDialog.Enable)
|
|
1724
1710
|
chart.InitalSelectRectDialog(option.SelectRectDialog);
|
|
1725
1711
|
|
|
1712
|
+
if (option.ModifyIndexParamDialog && option.ModifyIndexParamDialog.Enable)
|
|
1713
|
+
chart.InitalModifyIndexParamDialog(option.ModifyIndexParamDialog);
|
|
1714
|
+
|
|
1726
1715
|
if (option.SearchIndexDialog && option.SearchIndexDialog.Enable)
|
|
1727
1716
|
chart.InitalSearchIndexDialog(option.SearchIndexDialog);
|
|
1728
1717
|
|
|
@@ -2821,6 +2810,9 @@ var JSCHART_MENU_ID=
|
|
|
2821
2810
|
|
|
2822
2811
|
CMD_DIALOG_TOOLTIP_ATTRIBUTE:65, //修改K线信息框属性 Ary:[{ Enable:, Style:}, ]
|
|
2823
2812
|
CMD_KLINE_TOOLTIP_ATTRIBUTE:66, //修改K线提示框属性 Ary:[{ Enable:true/false, EnableKeyDown:true/false}]
|
|
2813
|
+
|
|
2814
|
+
CMD_MODIFY_INDEX_PARAM:67, //指标删除修改 [windowIndex, ]
|
|
2815
|
+
CMD_MODIFY_OVERLAY_INDEX_PARAM:68, //叠加指标修改 [windowIndex, ID ]
|
|
2824
2816
|
}
|
|
2825
2817
|
|
|
2826
2818
|
|
|
@@ -3049,6 +3041,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3049
3041
|
this.DialogSelectRect; //区间统计
|
|
3050
3042
|
this.FloatTooltip; //浮动tooltip信息
|
|
3051
3043
|
this.DialogSearchIndex; //指标搜索
|
|
3044
|
+
this.DialogModifyIndexParam; //指标参数修改
|
|
3052
3045
|
|
|
3053
3046
|
|
|
3054
3047
|
this.ClearStockCache=function()
|
|
@@ -3118,6 +3111,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3118
3111
|
this.DialogSearchIndex.Create();
|
|
3119
3112
|
}
|
|
3120
3113
|
|
|
3114
|
+
this.InitalModifyIndexParamDialog=function(option)
|
|
3115
|
+
{
|
|
3116
|
+
if (this.DialogModifyIndexParam) return;
|
|
3117
|
+
|
|
3118
|
+
this.DialogModifyIndexParam=new JSDialogModifyIndexParam();
|
|
3119
|
+
this.DialogModifyIndexParam.Inital(this, option);
|
|
3120
|
+
this.DialogModifyIndexParam.Create();
|
|
3121
|
+
}
|
|
3122
|
+
|
|
3121
3123
|
this.ShowChangeIndexDialog=function(data)
|
|
3122
3124
|
{
|
|
3123
3125
|
if (!data) return;
|
|
@@ -3137,6 +3139,46 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3137
3139
|
this.DialogSearchIndex.SetOpData(data);
|
|
3138
3140
|
this.DialogSearchIndex.Show();
|
|
3139
3141
|
}
|
|
3142
|
+
|
|
3143
|
+
//添加指标窗口
|
|
3144
|
+
this.ShowAddIndexWindowDialog=function(option)
|
|
3145
|
+
{
|
|
3146
|
+
if (!this.DialogSearchIndex) return;
|
|
3147
|
+
var data=option;
|
|
3148
|
+
if (!data) data={ };
|
|
3149
|
+
|
|
3150
|
+
data.OpType=3;
|
|
3151
|
+
|
|
3152
|
+
data.Title=`增加指标窗口`;
|
|
3153
|
+
this.DialogSearchIndex.SetOpData(data);
|
|
3154
|
+
this.DialogSearchIndex.Show();
|
|
3155
|
+
}
|
|
3156
|
+
|
|
3157
|
+
this.ShowModifyIndexParamDialog=function(data)
|
|
3158
|
+
{
|
|
3159
|
+
if (!this.DialogModifyIndexParam) return;
|
|
3160
|
+
|
|
3161
|
+
if (data.Type==1)
|
|
3162
|
+
{
|
|
3163
|
+
var indexScript=this.WindowIndex[data.WindowIndex];
|
|
3164
|
+
if (!indexScript) return;
|
|
3165
|
+
|
|
3166
|
+
data.IndexScript=indexScript;
|
|
3167
|
+
data.Title=`[${indexScript.Name}]参数修改 窗口[${data.WindowIndex+1}]`;
|
|
3168
|
+
}
|
|
3169
|
+
else if (data.Type==2)
|
|
3170
|
+
{
|
|
3171
|
+
var overlayIndex=this.GetOverlayIndexByIdentify(data.Identify);
|
|
3172
|
+
if (!overlayIndex || !overlayIndex.OverlayItem.Script) return;
|
|
3173
|
+
var indexScript=overlayIndex.OverlayItem.Script;
|
|
3174
|
+
|
|
3175
|
+
data.IndexScript=indexScript;
|
|
3176
|
+
data.Title=`[${indexScript.Name}]参数修改 叠加窗口[${data.WindowIndex+1}]`;
|
|
3177
|
+
}
|
|
3178
|
+
|
|
3179
|
+
this.DialogModifyIndexParam.SetIndexData(data);
|
|
3180
|
+
this.DialogModifyIndexParam.Show();
|
|
3181
|
+
}
|
|
3140
3182
|
|
|
3141
3183
|
|
|
3142
3184
|
this.DrawSelectRectDialog=function()
|
|
@@ -10012,6 +10054,17 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10012
10054
|
if (IFrameSplitOperator.IsBool(option.Enable)) this.KLineTooltipConfig.Enable=option.Enable;
|
|
10013
10055
|
if (IFrameSplitOperator.IsBool(option.EnableKeyDown)) this.KLineTooltipConfig.EnableKeyDown=option.EnableKeyDown;
|
|
10014
10056
|
break;
|
|
10057
|
+
case JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM:
|
|
10058
|
+
if (param==null) return false;
|
|
10059
|
+
var sendData={ e:null, WindowIndex:param, Type:1 }
|
|
10060
|
+
this.ShowModifyIndexParamDialog(sendData);
|
|
10061
|
+
break;
|
|
10062
|
+
case JSCHART_MENU_ID.CMD_MODIFY_OVERLAY_INDEX_PARAM:
|
|
10063
|
+
if (param==null) return false;
|
|
10064
|
+
if (!aryArgs[1]) return false;
|
|
10065
|
+
var sendData={ e:null, WindowIndex:param, Type:2, Identify:aryArgs[1] };
|
|
10066
|
+
this.ShowModifyIndexParamDialog(sendData);
|
|
10067
|
+
break;
|
|
10015
10068
|
}
|
|
10016
10069
|
}
|
|
10017
10070
|
|
|
@@ -10025,6 +10078,12 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10025
10078
|
return data;
|
|
10026
10079
|
}
|
|
10027
10080
|
|
|
10081
|
+
this.GetModifyIndexMenuData=function(windowIndex)
|
|
10082
|
+
{
|
|
10083
|
+
var data= { Name:"参数修改", Data:{ ID: JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM, Args:[windowIndex] } };
|
|
10084
|
+
return data;
|
|
10085
|
+
}
|
|
10086
|
+
|
|
10028
10087
|
this.GetShowOverlayIndexMenuData=function(indexGuid, showType)
|
|
10029
10088
|
{
|
|
10030
10089
|
var overlay=this.GetOverlayIndexByIdentify(indexGuid);
|
|
@@ -10036,6 +10095,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10036
10095
|
return data;
|
|
10037
10096
|
}
|
|
10038
10097
|
|
|
10098
|
+
this.GetModifyOverlayIndexMenuData=function(indexGuid)
|
|
10099
|
+
{
|
|
10100
|
+
var overlay=this.GetOverlayIndexByIdentify(indexGuid);
|
|
10101
|
+
if (!overlay) return null;
|
|
10102
|
+
|
|
10103
|
+
var data= { Name:"参数修改", Data:{ ID: JSCHART_MENU_ID.CMD_MODIFY_OVERLAY_INDEX_PARAM, Args:[overlay.WindowIndex,indexGuid] } };
|
|
10104
|
+
return data;
|
|
10105
|
+
}
|
|
10106
|
+
|
|
10039
10107
|
this.GetShowOverlayIndexYAxisMenuData=function(indexGuid, showType)
|
|
10040
10108
|
{
|
|
10041
10109
|
var overlay=this.GetOverlayIndexByIdentify(indexGuid);
|
|
@@ -13912,7 +13980,6 @@ function MinuteFrame()
|
|
|
13912
13980
|
this.ExportData=g_JSChartResource.MinuteToolbar.ExportData; //是否显示'导出数据'菜单
|
|
13913
13981
|
this.OverlayIndex=g_JSChartResource.MinuteToolbar.OverlayIndex; //是否显示叠加指标
|
|
13914
13982
|
|
|
13915
|
-
this.ModifyIndexEvent; //改参数 点击事件
|
|
13916
13983
|
this.ToolbarRect=null; //保存工具条的位置
|
|
13917
13984
|
this.IsShowPositionTitle=false; //是否显示持仓标题
|
|
13918
13985
|
|
|
@@ -16341,7 +16408,6 @@ function KLineFrame()
|
|
|
16341
16408
|
|
|
16342
16409
|
this.SelBorderColor=g_JSChartResource.SelFrameBorderColor;
|
|
16343
16410
|
|
|
16344
|
-
this.ModifyIndexEvent; //改参数 点击事件
|
|
16345
16411
|
this.ToolbarRect=null; //保存工具条的位置
|
|
16346
16412
|
this.ReDrawToolbar=false;
|
|
16347
16413
|
|
|
@@ -34061,6 +34127,13 @@ function ChartStickLine()
|
|
|
34061
34127
|
return (this.BarType==1 || this.BarType==-1);
|
|
34062
34128
|
}
|
|
34063
34129
|
|
|
34130
|
+
this.CalculateBarHeight=function(y,y2)
|
|
34131
|
+
{
|
|
34132
|
+
var barHeight=Math.abs(y-y2);
|
|
34133
|
+
if (barHeight<=0) barHeight=1;
|
|
34134
|
+
return barHeight;
|
|
34135
|
+
}
|
|
34136
|
+
|
|
34064
34137
|
this.Draw=function()
|
|
34065
34138
|
{
|
|
34066
34139
|
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
@@ -34200,7 +34273,7 @@ function ChartStickLine()
|
|
|
34200
34273
|
}
|
|
34201
34274
|
else
|
|
34202
34275
|
{
|
|
34203
|
-
this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(Math.min(y,y2)),ToFixedRect(width),ToFixedRect(
|
|
34276
|
+
this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(Math.min(y,y2)),ToFixedRect(width),ToFixedRect(this.CalculateBarHeight(y,y2)));
|
|
34204
34277
|
}
|
|
34205
34278
|
}
|
|
34206
34279
|
}
|
|
@@ -34227,9 +34300,14 @@ function ChartStickLine()
|
|
|
34227
34300
|
else
|
|
34228
34301
|
{
|
|
34229
34302
|
if (isHScreen)
|
|
34303
|
+
{
|
|
34230
34304
|
this.Canvas.fillRect(ToFixedRect(Math.min(y,y2)),ToFixedRect(xOffset),ToFixedRect(Math.abs(y-y2)),ToFixedRect(dataWidth));
|
|
34305
|
+
}
|
|
34231
34306
|
else
|
|
34232
|
-
|
|
34307
|
+
{
|
|
34308
|
+
this.Canvas.fillRect(ToFixedRect(xOffset),ToFixedRect(Math.min(y,y2)),ToFixedRect(dataWidth),ToFixedRect(this.CalculateBarHeight(y,y2)));
|
|
34309
|
+
}
|
|
34310
|
+
|
|
34233
34311
|
}
|
|
34234
34312
|
}
|
|
34235
34313
|
else
|
|
@@ -34245,8 +34323,9 @@ function ChartStickLine()
|
|
|
34245
34323
|
{
|
|
34246
34324
|
var xFix=parseInt(x.toString())+0.5;
|
|
34247
34325
|
this.Canvas.beginPath();
|
|
34248
|
-
this.Canvas.moveTo(xFix,y);
|
|
34249
|
-
this.Canvas.lineTo(xFix,y2);
|
|
34326
|
+
this.Canvas.moveTo(xFix,y);
|
|
34327
|
+
if (Math.abs(y-y2)>0) this.Canvas.lineTo(xFix,y2);
|
|
34328
|
+
else this.Canvas.lineTo(xFix,y+1); //太窄了,就画一个像素的宽度
|
|
34250
34329
|
this.Canvas.stroke();
|
|
34251
34330
|
}
|
|
34252
34331
|
}
|
|
@@ -69315,6 +69394,17 @@ function JSChartResource()
|
|
|
69315
69394
|
InputTextColor:"rgb(0,0,0)"
|
|
69316
69395
|
};
|
|
69317
69396
|
|
|
69397
|
+
this.DialogModifyIndexParam=
|
|
69398
|
+
{
|
|
69399
|
+
BGColor:'rgb(250,250,250)', //背景色
|
|
69400
|
+
BorderColor:'rgb(20,20,20)', //边框颜色
|
|
69401
|
+
TitleColor:'rgb(250,250,250)', //标题颜色
|
|
69402
|
+
TitleBGColor:"rgb(200, 66, 69)", //标题背景颜色
|
|
69403
|
+
|
|
69404
|
+
ParamNameColor:"rgb(0,0,0)", //数值名称
|
|
69405
|
+
InputTextColor:"rgb(0,0,0)"
|
|
69406
|
+
};
|
|
69407
|
+
|
|
69318
69408
|
//弹幕
|
|
69319
69409
|
this.Barrage= {
|
|
69320
69410
|
Font:16*GetDevicePixelRatio() +'px 微软雅黑', //字体
|
|
@@ -73477,8 +73567,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
73477
73567
|
frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
|
|
73478
73568
|
frame.GlobalOption=this.GlobalOption;
|
|
73479
73569
|
|
|
73480
|
-
if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
|
|
73481
|
-
|
|
73482
73570
|
frame.HorizontalMax=20;
|
|
73483
73571
|
frame.HorizontalMin=10;
|
|
73484
73572
|
|
|
@@ -73561,8 +73649,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
73561
73649
|
frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
|
|
73562
73650
|
frame.GlobalOption=this.GlobalOption;
|
|
73563
73651
|
|
|
73564
|
-
if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
|
|
73565
|
-
|
|
73566
73652
|
frame.HorizontalMax=20;
|
|
73567
73653
|
frame.HorizontalMin=10;
|
|
73568
73654
|
frame.YSplitOperator=new FrameSplitY();
|
|
@@ -79547,9 +79633,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
79547
79633
|
{
|
|
79548
79634
|
var id=button.IndexID;
|
|
79549
79635
|
var frame=button.Frame;
|
|
79550
|
-
|
|
79551
|
-
|
|
79552
|
-
frame.ModifyIndexEvent(e);
|
|
79636
|
+
var sendData={ e:e, WindowIndex:frame.Identify, Type:2, Identify:id };
|
|
79637
|
+
this.ShowModifyIndexParamDialog(sendData);
|
|
79553
79638
|
}
|
|
79554
79639
|
else if (button.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW)
|
|
79555
79640
|
{
|
|
@@ -79570,9 +79655,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
79570
79655
|
else if (button.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM)
|
|
79571
79656
|
{
|
|
79572
79657
|
var frame=button.Frame;
|
|
79573
|
-
|
|
79574
|
-
|
|
79575
|
-
frame.ModifyIndexEvent(e);
|
|
79658
|
+
var sendData={ e:e, WindowIndex:frame.Identify, Type:1 }
|
|
79659
|
+
this.ShowModifyIndexParamDialog(sendData);
|
|
79576
79660
|
}
|
|
79577
79661
|
else if (button.ID==JSCHART_BUTTON_ID.OVERLAY_INDEX)
|
|
79578
79662
|
{
|
|
@@ -80384,9 +80468,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
80384
80468
|
{
|
|
80385
80469
|
var id=button.IndexID;
|
|
80386
80470
|
var frame=button.Frame;
|
|
80387
|
-
|
|
80388
|
-
|
|
80389
|
-
|
|
80471
|
+
var sendData={ e:e, WindowIndex:frame.Identify, Type:2, Identify:id };
|
|
80472
|
+
this.ShowModifyIndexParamDialog(sendData);
|
|
80473
|
+
|
|
80390
80474
|
}
|
|
80391
80475
|
else if (button.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW)
|
|
80392
80476
|
{
|
|
@@ -80402,9 +80486,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
80402
80486
|
else if (button.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM)
|
|
80403
80487
|
{
|
|
80404
80488
|
var frame=button.Frame;
|
|
80405
|
-
|
|
80406
|
-
|
|
80407
|
-
frame.ModifyIndexEvent(e);
|
|
80489
|
+
var sendData={ e:e, WindowIndex:frame.Identify, Type:1 }
|
|
80490
|
+
this.ShowModifyIndexParamDialog(sendData);
|
|
80408
80491
|
}
|
|
80409
80492
|
else if (button.ID==JSCHART_BUTTON_ID.OVERLAY_INDEX)
|
|
80410
80493
|
{
|
|
@@ -82171,7 +82254,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
82171
82254
|
|
|
82172
82255
|
if (i>=2)
|
|
82173
82256
|
{
|
|
82174
|
-
|
|
82257
|
+
|
|
82175
82258
|
}
|
|
82176
82259
|
|
|
82177
82260
|
var DEFAULT_HORIZONTAL=[9,8,7,6,5,4,3,2,1];
|
|
@@ -82258,12 +82341,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
82258
82341
|
frame.GlobalOption=this.GlobalOption;
|
|
82259
82342
|
frame.HQChart=this;
|
|
82260
82343
|
frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
|
|
82261
|
-
|
|
82262
|
-
|
|
82263
|
-
if (id>=2)
|
|
82264
|
-
{
|
|
82265
|
-
if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
|
|
82266
|
-
}
|
|
82267
82344
|
|
|
82268
82345
|
var DEFAULT_HORIZONTAL=[9,8,7,6,5,4,3,2,1];
|
|
82269
82346
|
frame.HorizontalMax=DEFAULT_HORIZONTAL[0];
|
|
@@ -87836,8 +87913,6 @@ function KLineChartHScreenContainer(uielement)
|
|
|
87836
87913
|
frame.Identify=i; //窗口序号
|
|
87837
87914
|
frame.RightSpaceCount=this.RightSpaceCount; //右边
|
|
87838
87915
|
|
|
87839
|
-
if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
|
|
87840
|
-
|
|
87841
87916
|
frame.HorizontalMax=20;
|
|
87842
87917
|
frame.HorizontalMin=10;
|
|
87843
87918
|
|
|
@@ -90442,230 +90517,6 @@ function IDivDialog(divElement)
|
|
|
90442
90517
|
}
|
|
90443
90518
|
}
|
|
90444
90519
|
|
|
90445
|
-
|
|
90446
|
-
//修改指标
|
|
90447
|
-
function ModifyIndexDialog(divElement)
|
|
90448
|
-
{
|
|
90449
|
-
this.newMethod=IDivDialog; //派生
|
|
90450
|
-
this.newMethod(divElement);
|
|
90451
|
-
delete this.newMethod;
|
|
90452
|
-
|
|
90453
|
-
this.Title={ ID:Guid() }; //标题
|
|
90454
|
-
this.ParamList={ID:Guid() }; //参数列表 class='parameter-content'
|
|
90455
|
-
this.ParamData=[]; //{ ID:参数ID, Value:参数值}
|
|
90456
|
-
this.Identify;
|
|
90457
|
-
this.HQChart;
|
|
90458
|
-
this.IsOverlay=false; //是否是叠加指标
|
|
90459
|
-
|
|
90460
|
-
this.IndexScript;
|
|
90461
|
-
|
|
90462
|
-
//创建
|
|
90463
|
-
this.Create=function()
|
|
90464
|
-
{
|
|
90465
|
-
this.ID=Guid();
|
|
90466
|
-
|
|
90467
|
-
var div=document.createElement('div');
|
|
90468
|
-
div.className='jchart-modifyindex-box';
|
|
90469
|
-
div.id=this.ID;
|
|
90470
|
-
div.innerHTML=
|
|
90471
|
-
"<div class='parameter'>\
|
|
90472
|
-
<div class='parameter-header'>\
|
|
90473
|
-
<span></span>\
|
|
90474
|
-
<strong id='close' class='icon iconfont icon-close'></strong>\
|
|
90475
|
-
</div>\
|
|
90476
|
-
<div class='parameter-content'><input/>MA</div>\
|
|
90477
|
-
<div class='parameter-footer'>\
|
|
90478
|
-
<button class='submit' >确定</button>\
|
|
90479
|
-
<button class='cancel' >取消</button>\
|
|
90480
|
-
</div>\
|
|
90481
|
-
</div>";
|
|
90482
|
-
|
|
90483
|
-
this.DivElement.appendChild(div);
|
|
90484
|
-
|
|
90485
|
-
//确定按钮
|
|
90486
|
-
$("#"+this.ID+" .submit").click(
|
|
90487
|
-
{
|
|
90488
|
-
divBox:this,
|
|
90489
|
-
},
|
|
90490
|
-
function(event)
|
|
90491
|
-
{
|
|
90492
|
-
event.data.divBox.Hide();
|
|
90493
|
-
});
|
|
90494
|
-
|
|
90495
|
-
//给一个id 后面查找方便
|
|
90496
|
-
var titleElement=div.getElementsByTagName('span')[0];
|
|
90497
|
-
titleElement.id=this.Title.ID;
|
|
90498
|
-
|
|
90499
|
-
var paramListElement=div.getElementsByClassName('parameter-content')[0];
|
|
90500
|
-
paramListElement.id=this.ParamList.ID;
|
|
90501
|
-
}
|
|
90502
|
-
|
|
90503
|
-
//设置标题
|
|
90504
|
-
this.SetTitle=function(title)
|
|
90505
|
-
{
|
|
90506
|
-
$("#"+this.Title.ID).html(title);
|
|
90507
|
-
}
|
|
90508
|
-
|
|
90509
|
-
//清空参数
|
|
90510
|
-
this.ClearParamList=function()
|
|
90511
|
-
{
|
|
90512
|
-
$("#"+this.ParamList.ID).empty();
|
|
90513
|
-
this.ParamData=[];
|
|
90514
|
-
}
|
|
90515
|
-
|
|
90516
|
-
this.BindParam=function()
|
|
90517
|
-
{
|
|
90518
|
-
for(var i=0; i<this.IndexScript.Arguments.length; ++i)
|
|
90519
|
-
{
|
|
90520
|
-
var item=this.IndexScript.Arguments[i];
|
|
90521
|
-
if (item.Name==null || isNaN(item.Value)) break;
|
|
90522
|
-
|
|
90523
|
-
var guid=Guid();
|
|
90524
|
-
var param = '<input class="row-line" id="'+guid+'" value="'+item.Value+'" type="number" step="1"/>'+ item.Name +'<br>';
|
|
90525
|
-
$("#"+this.ParamList.ID).append(param);
|
|
90526
|
-
|
|
90527
|
-
this.ParamData.push({ID:guid,Value:item.Value});
|
|
90528
|
-
}
|
|
90529
|
-
|
|
90530
|
-
//绑定参数修改事件
|
|
90531
|
-
var self=this;
|
|
90532
|
-
for(var i=0; i<this.ParamData.length; ++i)
|
|
90533
|
-
{
|
|
90534
|
-
var item=this.ParamData[i];
|
|
90535
|
-
$("#"+item.ID).mouseup(
|
|
90536
|
-
{
|
|
90537
|
-
ParamIndex:i //参数序号
|
|
90538
|
-
},
|
|
90539
|
-
function(event)
|
|
90540
|
-
{
|
|
90541
|
-
var value = parseInt($(this).val()); //获取当前操作的input属性值,转化为整型
|
|
90542
|
-
if (!IFrameSplitOperator.IsNumber(value))
|
|
90543
|
-
{
|
|
90544
|
-
alert("参数不能为空");
|
|
90545
|
-
return;
|
|
90546
|
-
}
|
|
90547
|
-
var chart=self.HQChart;
|
|
90548
|
-
var identify=self.Identify;
|
|
90549
|
-
var paramIndex=event.data.ParamIndex;
|
|
90550
|
-
var script=self.IndexScript;
|
|
90551
|
-
var isOverlay=self.IsOverlay;
|
|
90552
|
-
|
|
90553
|
-
script.Arguments[paramIndex].Value = value; //为参数属性重新赋值
|
|
90554
|
-
if (isOverlay) chart.UpdateOverlayIndex(identify);
|
|
90555
|
-
else chart.UpdateWindowIndex(identify); //调用更新窗口指标函数,参数用来定位窗口
|
|
90556
|
-
}
|
|
90557
|
-
)
|
|
90558
|
-
|
|
90559
|
-
$("#"+item.ID).keyup(
|
|
90560
|
-
{
|
|
90561
|
-
ParamIndex:i //参数序号
|
|
90562
|
-
},
|
|
90563
|
-
function(event)
|
|
90564
|
-
{
|
|
90565
|
-
var value = parseInt($(this).val()); //获取当前操作的input属性值,转化为整型
|
|
90566
|
-
if (!IFrameSplitOperator.IsNumber(value))
|
|
90567
|
-
{
|
|
90568
|
-
alert("参数不能为空");
|
|
90569
|
-
return;
|
|
90570
|
-
}
|
|
90571
|
-
var chart=self.HQChart;
|
|
90572
|
-
var identify=self.Identify;
|
|
90573
|
-
var paramIndex=event.data.ParamIndex;
|
|
90574
|
-
var script=self.IndexScript;
|
|
90575
|
-
var isOverlay=self.IsOverlay;
|
|
90576
|
-
|
|
90577
|
-
script.Arguments[paramIndex].Value = value; //为参数属性重新赋值
|
|
90578
|
-
if (isOverlay) chart.UpdateOverlayIndex(identify);
|
|
90579
|
-
else chart.UpdateWindowIndex(identify); //调用更新窗口指标函数,参数用来定位窗口
|
|
90580
|
-
}
|
|
90581
|
-
)
|
|
90582
|
-
}
|
|
90583
|
-
}
|
|
90584
|
-
|
|
90585
|
-
//绑定取消事件
|
|
90586
|
-
this.BindCancel=function()
|
|
90587
|
-
{
|
|
90588
|
-
//取消按钮事件
|
|
90589
|
-
var self=this;
|
|
90590
|
-
var test=$("#"+this.ID+" .cancel");
|
|
90591
|
-
$("#"+this.ID+" .cancel").unbind("click").click(
|
|
90592
|
-
function(event)
|
|
90593
|
-
{
|
|
90594
|
-
var chart=self.HQChart;
|
|
90595
|
-
var identify=self.Identify;
|
|
90596
|
-
self.RestoreParam();
|
|
90597
|
-
var isOverlay=self.IsOverlay;
|
|
90598
|
-
if (isOverlay) chart.UpdateOverlayIndex(identify);
|
|
90599
|
-
else chart.UpdateWindowIndex(identify);
|
|
90600
|
-
self.IndexScript=null;
|
|
90601
|
-
self.Hide();
|
|
90602
|
-
}
|
|
90603
|
-
);
|
|
90604
|
-
|
|
90605
|
-
//关闭和取消是一样的
|
|
90606
|
-
$("#"+this.ID+" #close").unbind("click").click(
|
|
90607
|
-
function(event)
|
|
90608
|
-
{
|
|
90609
|
-
var chart=self.HQChart;
|
|
90610
|
-
var identify=self.Identify;
|
|
90611
|
-
var isOverlay=self.IsOverlay;
|
|
90612
|
-
self.RestoreParam();
|
|
90613
|
-
if (isOverlay) chart.UpdateOverlayIndex(identify);
|
|
90614
|
-
else chart.UpdateWindowIndex(identify);
|
|
90615
|
-
self.IndexScript=null;
|
|
90616
|
-
self.Hide();
|
|
90617
|
-
}
|
|
90618
|
-
);
|
|
90619
|
-
}
|
|
90620
|
-
|
|
90621
|
-
//还原参数
|
|
90622
|
-
this.RestoreParam=function()
|
|
90623
|
-
{
|
|
90624
|
-
if (!this.IndexScript) return;
|
|
90625
|
-
|
|
90626
|
-
for(var i=0; i<this.ParamData.length; ++i)
|
|
90627
|
-
{
|
|
90628
|
-
var item=this.ParamData[i];
|
|
90629
|
-
this.IndexScript.Arguments[i].Value=item.Value;
|
|
90630
|
-
}
|
|
90631
|
-
}
|
|
90632
|
-
|
|
90633
|
-
//显示
|
|
90634
|
-
this.DoModal=function(event)
|
|
90635
|
-
{
|
|
90636
|
-
var chart=event.data.Chart;
|
|
90637
|
-
var identify=event.data.Identify;
|
|
90638
|
-
var dialog=chart.ModifyIndexDialog;
|
|
90639
|
-
var isOverlay=event.data.IsOverlay===true;
|
|
90640
|
-
|
|
90641
|
-
if(!dialog) return;
|
|
90642
|
-
|
|
90643
|
-
if (dialog.ID==null) dialog.Create(); //第1次 需要创建div
|
|
90644
|
-
dialog.Identify=identify;
|
|
90645
|
-
dialog.HQChart=chart;
|
|
90646
|
-
dialog.IsOverlay=isOverlay
|
|
90647
|
-
|
|
90648
|
-
if (isOverlay)
|
|
90649
|
-
{
|
|
90650
|
-
var overlayIndex=chart.GetOverlayIndexByIdentify(identify);
|
|
90651
|
-
if (!overlayIndex || !overlayIndex.OverlayItem.Script) return;
|
|
90652
|
-
dialog.IndexScript=overlayIndex.OverlayItem.Script;
|
|
90653
|
-
dialog.SetTitle(dialog.IndexScript.Name+" 叠加指标参数设置"); //设置标题
|
|
90654
|
-
}
|
|
90655
|
-
else
|
|
90656
|
-
{
|
|
90657
|
-
dialog.IndexScript=chart.WindowIndex[identify];
|
|
90658
|
-
dialog.SetTitle(dialog.IndexScript.Name+" 指标参数设置"); //设置标题
|
|
90659
|
-
}
|
|
90660
|
-
|
|
90661
|
-
dialog.ClearParamList(); //清空参数
|
|
90662
|
-
dialog.BindParam(chart,identify); //绑定参数
|
|
90663
|
-
dialog.BindCancel(); //绑定取消和关闭事件
|
|
90664
|
-
|
|
90665
|
-
dialog.Show();//显示, 在css里调整居中
|
|
90666
|
-
}
|
|
90667
|
-
}
|
|
90668
|
-
|
|
90669
90520
|
//等待动画窗口
|
|
90670
90521
|
function WaitDialog(divElement)
|
|
90671
90522
|
{
|