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.
- package/lib/umychart.vue.js +92 -91
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogSearchIndex.js +429 -5
- package/src/jscommon/umychart.js +133 -270
- package/src/jscommon/umychart.report.js +36 -5
- package/src/jscommon/umychart.resource/css/tools.css +136 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +170 -276
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +599 -281
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()
|
|
@@ -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(
|
|
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
|
-
|
|
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
|
-
|
|
79551
|
-
|
|
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
|
-
|
|
79574
|
-
|
|
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
|
-
|
|
80388
|
-
|
|
80389
|
-
|
|
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
|
-
|
|
80406
|
-
|
|
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
|
-
|
|
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
|
{
|