hqchart 1.1.14084 → 1.1.14097

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.
@@ -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()
@@ -8773,6 +8815,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8773
8815
  if (IFrameSplitOperator.IsNumber(windowItem.IndexParamSpace)) frame.IndexParamSpace=windowItem.IndexParamSpace;
8774
8816
  if (IFrameSplitOperator.IsNumber(windowItem.IndexTitleSpace)) frame.IndexTitleSpace=windowItem.IndexTitleSpace;
8775
8817
  if (!IFrameSplitOperator.IsUndefined(windowItem.HorizontalReserved)) frame.HorizontalReserved=windowItem.HorizontalReserved; //Y轴上下预留
8818
+ if (IFrameSplitOperator.IsBool(windowItem.IsShowNameArrow)) frame.IsShowNameArrow=windowItem.IsShowNameArrow;
8776
8819
  }
8777
8820
 
8778
8821
  if (frameItem)
@@ -10012,6 +10055,17 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
10012
10055
  if (IFrameSplitOperator.IsBool(option.Enable)) this.KLineTooltipConfig.Enable=option.Enable;
10013
10056
  if (IFrameSplitOperator.IsBool(option.EnableKeyDown)) this.KLineTooltipConfig.EnableKeyDown=option.EnableKeyDown;
10014
10057
  break;
10058
+ case JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM:
10059
+ if (param==null) return false;
10060
+ var sendData={ e:null, WindowIndex:param, Type:1 }
10061
+ this.ShowModifyIndexParamDialog(sendData);
10062
+ break;
10063
+ case JSCHART_MENU_ID.CMD_MODIFY_OVERLAY_INDEX_PARAM:
10064
+ if (param==null) return false;
10065
+ if (!aryArgs[1]) return false;
10066
+ var sendData={ e:null, WindowIndex:param, Type:2, Identify:aryArgs[1] };
10067
+ this.ShowModifyIndexParamDialog(sendData);
10068
+ break;
10015
10069
  }
10016
10070
  }
10017
10071
 
@@ -10025,6 +10079,12 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
10025
10079
  return data;
10026
10080
  }
10027
10081
 
10082
+ this.GetModifyIndexMenuData=function(windowIndex)
10083
+ {
10084
+ var data= { Name:"参数修改", Data:{ ID: JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM, Args:[windowIndex] } };
10085
+ return data;
10086
+ }
10087
+
10028
10088
  this.GetShowOverlayIndexMenuData=function(indexGuid, showType)
10029
10089
  {
10030
10090
  var overlay=this.GetOverlayIndexByIdentify(indexGuid);
@@ -10036,6 +10096,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
10036
10096
  return data;
10037
10097
  }
10038
10098
 
10099
+ this.GetModifyOverlayIndexMenuData=function(indexGuid)
10100
+ {
10101
+ var overlay=this.GetOverlayIndexByIdentify(indexGuid);
10102
+ if (!overlay) return null;
10103
+
10104
+ var data= { Name:"参数修改", Data:{ ID: JSCHART_MENU_ID.CMD_MODIFY_OVERLAY_INDEX_PARAM, Args:[overlay.WindowIndex,indexGuid] } };
10105
+ return data;
10106
+ }
10107
+
10039
10108
  this.GetShowOverlayIndexYAxisMenuData=function(indexGuid, showType)
10040
10109
  {
10041
10110
  var overlay=this.GetOverlayIndexByIdentify(indexGuid);
@@ -13912,7 +13981,6 @@ function MinuteFrame()
13912
13981
  this.ExportData=g_JSChartResource.MinuteToolbar.ExportData; //是否显示'导出数据'菜单
13913
13982
  this.OverlayIndex=g_JSChartResource.MinuteToolbar.OverlayIndex; //是否显示叠加指标
13914
13983
 
13915
- this.ModifyIndexEvent; //改参数 点击事件
13916
13984
  this.ToolbarRect=null; //保存工具条的位置
13917
13985
  this.IsShowPositionTitle=false; //是否显示持仓标题
13918
13986
 
@@ -16341,7 +16409,6 @@ function KLineFrame()
16341
16409
 
16342
16410
  this.SelBorderColor=g_JSChartResource.SelFrameBorderColor;
16343
16411
 
16344
- this.ModifyIndexEvent; //改参数 点击事件
16345
16412
  this.ToolbarRect=null; //保存工具条的位置
16346
16413
  this.ReDrawToolbar=false;
16347
16414
 
@@ -34061,6 +34128,13 @@ function ChartStickLine()
34061
34128
  return (this.BarType==1 || this.BarType==-1);
34062
34129
  }
34063
34130
 
34131
+ this.CalculateBarHeight=function(y,y2)
34132
+ {
34133
+ var barHeight=Math.abs(y-y2);
34134
+ if (barHeight<=0) barHeight=1;
34135
+ return barHeight;
34136
+ }
34137
+
34064
34138
  this.Draw=function()
34065
34139
  {
34066
34140
  if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
@@ -34200,7 +34274,7 @@ function ChartStickLine()
34200
34274
  }
34201
34275
  else
34202
34276
  {
34203
- this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(Math.min(y,y2)),ToFixedRect(width),ToFixedRect(Math.abs(y-y2)));
34277
+ this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(Math.min(y,y2)),ToFixedRect(width),ToFixedRect(this.CalculateBarHeight(y,y2)));
34204
34278
  }
34205
34279
  }
34206
34280
  }
@@ -34227,9 +34301,14 @@ function ChartStickLine()
34227
34301
  else
34228
34302
  {
34229
34303
  if (isHScreen)
34304
+ {
34230
34305
  this.Canvas.fillRect(ToFixedRect(Math.min(y,y2)),ToFixedRect(xOffset),ToFixedRect(Math.abs(y-y2)),ToFixedRect(dataWidth));
34306
+ }
34231
34307
  else
34232
- this.Canvas.fillRect(ToFixedRect(xOffset),ToFixedRect(Math.min(y,y2)),ToFixedRect(dataWidth),ToFixedRect(Math.abs(y-y2)));
34308
+ {
34309
+ this.Canvas.fillRect(ToFixedRect(xOffset),ToFixedRect(Math.min(y,y2)),ToFixedRect(dataWidth),ToFixedRect(this.CalculateBarHeight(y,y2)));
34310
+ }
34311
+
34233
34312
  }
34234
34313
  }
34235
34314
  else
@@ -34245,8 +34324,9 @@ function ChartStickLine()
34245
34324
  {
34246
34325
  var xFix=parseInt(x.toString())+0.5;
34247
34326
  this.Canvas.beginPath();
34248
- this.Canvas.moveTo(xFix,y);
34249
- this.Canvas.lineTo(xFix,y2);
34327
+ this.Canvas.moveTo(xFix,y);
34328
+ if (Math.abs(y-y2)>0) this.Canvas.lineTo(xFix,y2);
34329
+ else this.Canvas.lineTo(xFix,y+1); //太窄了,就画一个像素的宽度
34250
34330
  this.Canvas.stroke();
34251
34331
  }
34252
34332
  }
@@ -48332,6 +48412,17 @@ IFrameSplitOperator.RemoveZero=function(strValue)
48332
48412
  return strValue;
48333
48413
  }
48334
48414
 
48415
+ //移除代码市场后缀
48416
+ IFrameSplitOperator.RemoveMarketSuffix=function(symbol)
48417
+ {
48418
+ if (!symbol) return symbol;
48419
+
48420
+ var pos=symbol.lastIndexOf(".");
48421
+ if (pos>0) return symbol.substring(0,pos);
48422
+
48423
+ return symbol;
48424
+ }
48425
+
48335
48426
  function FrameSplitKLinePriceY()
48336
48427
  {
48337
48428
  this.newMethod=IFrameSplitOperator; //派生
@@ -69315,6 +69406,17 @@ function JSChartResource()
69315
69406
  InputTextColor:"rgb(0,0,0)"
69316
69407
  };
69317
69408
 
69409
+ this.DialogModifyIndexParam=
69410
+ {
69411
+ BGColor:'rgb(250,250,250)', //背景色
69412
+ BorderColor:'rgb(20,20,20)', //边框颜色
69413
+ TitleColor:'rgb(250,250,250)', //标题颜色
69414
+ TitleBGColor:"rgb(200, 66, 69)", //标题背景颜色
69415
+
69416
+ ParamNameColor:"rgb(0,0,0)", //数值名称
69417
+ InputTextColor:"rgb(0,0,0)"
69418
+ };
69419
+
69318
69420
  //弹幕
69319
69421
  this.Barrage= {
69320
69422
  Font:16*GetDevicePixelRatio() +'px 微软雅黑', //字体
@@ -69729,7 +69831,7 @@ function JSChartResource()
69729
69831
  SortIcon:
69730
69832
  {
69731
69833
  Size:12, Family:"iconfont",
69732
- Arrow:[null, "\ue6b2", "\ue6b1"],
69834
+ Arrow:[null, "\ue6b2", "\ue6b1"], //[0]=默认排序的图标背景色
69733
69835
  Color:[null, "rgb(255,0,0)", "rgb(255,0,0)"],
69734
69836
  Margin:{ Left:0, Bottom:6 }
69735
69837
  },
@@ -73477,8 +73579,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
73477
73579
  frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
73478
73580
  frame.GlobalOption=this.GlobalOption;
73479
73581
 
73480
- if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
73481
-
73482
73582
  frame.HorizontalMax=20;
73483
73583
  frame.HorizontalMin=10;
73484
73584
 
@@ -73561,8 +73661,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
73561
73661
  frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
73562
73662
  frame.GlobalOption=this.GlobalOption;
73563
73663
 
73564
- if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
73565
-
73566
73664
  frame.HorizontalMax=20;
73567
73665
  frame.HorizontalMin=10;
73568
73666
  frame.YSplitOperator=new FrameSplitY();
@@ -79547,9 +79645,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
79547
79645
  {
79548
79646
  var id=button.IndexID;
79549
79647
  var frame=button.Frame;
79550
- e.data={ Chart:this, Identify:id, IsOverlay:true };
79551
- if (frame.ModifyIndexEvent)
79552
- frame.ModifyIndexEvent(e);
79648
+ var sendData={ e:e, WindowIndex:frame.Identify, Type:2, Identify:id };
79649
+ this.ShowModifyIndexParamDialog(sendData);
79553
79650
  }
79554
79651
  else if (button.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW)
79555
79652
  {
@@ -79570,9 +79667,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
79570
79667
  else if (button.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM)
79571
79668
  {
79572
79669
  var frame=button.Frame;
79573
- e.data={ Chart:this, Identify:frame.Identify, IsOverlay:false };
79574
- if (frame.ModifyIndexEvent)
79575
- frame.ModifyIndexEvent(e);
79670
+ var sendData={ e:e, WindowIndex:frame.Identify, Type:1 }
79671
+ this.ShowModifyIndexParamDialog(sendData);
79576
79672
  }
79577
79673
  else if (button.ID==JSCHART_BUTTON_ID.OVERLAY_INDEX)
79578
79674
  {
@@ -80384,9 +80480,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
80384
80480
  {
80385
80481
  var id=button.IndexID;
80386
80482
  var frame=button.Frame;
80387
- e.data={ Chart:this, Identify:id, IsOverlay:true };
80388
- if (frame.ModifyIndexEvent)
80389
- frame.ModifyIndexEvent(e);
80483
+ var sendData={ e:e, WindowIndex:frame.Identify, Type:2, Identify:id };
80484
+ this.ShowModifyIndexParamDialog(sendData);
80485
+
80390
80486
  }
80391
80487
  else if (button.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW)
80392
80488
  {
@@ -80402,9 +80498,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
80402
80498
  else if (button.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM)
80403
80499
  {
80404
80500
  var frame=button.Frame;
80405
- e.data={ Chart:this, Identify:frame.Identify, IsOverlay:false };
80406
- if (frame.ModifyIndexEvent)
80407
- frame.ModifyIndexEvent(e);
80501
+ var sendData={ e:e, WindowIndex:frame.Identify, Type:1 }
80502
+ this.ShowModifyIndexParamDialog(sendData);
80408
80503
  }
80409
80504
  else if (button.ID==JSCHART_BUTTON_ID.OVERLAY_INDEX)
80410
80505
  {
@@ -82171,7 +82266,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
82171
82266
 
82172
82267
  if (i>=2)
82173
82268
  {
82174
- if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
82269
+
82175
82270
  }
82176
82271
 
82177
82272
  var DEFAULT_HORIZONTAL=[9,8,7,6,5,4,3,2,1];
@@ -82258,12 +82353,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
82258
82353
  frame.GlobalOption=this.GlobalOption;
82259
82354
  frame.HQChart=this;
82260
82355
  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
82356
 
82268
82357
  var DEFAULT_HORIZONTAL=[9,8,7,6,5,4,3,2,1];
82269
82358
  frame.HorizontalMax=DEFAULT_HORIZONTAL[0];
@@ -87836,8 +87925,6 @@ function KLineChartHScreenContainer(uielement)
87836
87925
  frame.Identify=i; //窗口序号
87837
87926
  frame.RightSpaceCount=this.RightSpaceCount; //右边
87838
87927
 
87839
- if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
87840
-
87841
87928
  frame.HorizontalMax=20;
87842
87929
  frame.HorizontalMin=10;
87843
87930
 
@@ -90442,230 +90529,6 @@ function IDivDialog(divElement)
90442
90529
  }
90443
90530
  }
90444
90531
 
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
90532
  //等待动画窗口
90670
90533
  function WaitDialog(divElement)
90671
90534
  {