hqchart 1.1.14040 → 1.1.14050
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.NetworkFilterTest.vue.js +9 -3
- package/lib/umychart.vue.js +105 -33
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogTooltip.js +727 -5
- package/src/jscommon/umychart.NetworkFilterTest.js +23 -11
- package/src/jscommon/umychart.js +222 -14
- package/src/jscommon/umychart.resource/css/tools.css +73 -0
- package/src/jscommon/umychart.style.js +15 -0
- package/src/jscommon/umychart.testdata.js +23 -11
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +238 -15
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +23 -11
- package/src/jscommon/umychart.vue/umychart.vue.js +965 -20
|
@@ -55726,6 +55726,14 @@ HQData.Minute_RequestMinuteData=function(data, callback)
|
|
|
55726
55726
|
stockItem.beforeinfo=beforeinfo;
|
|
55727
55727
|
}
|
|
55728
55728
|
|
|
55729
|
+
/* 测试用 这里可以修改数据
|
|
55730
|
+
for(var i=0;i<srcStock.minute.length;++i)
|
|
55731
|
+
{
|
|
55732
|
+
var item=srcStock.minute[i];
|
|
55733
|
+
if (item.amount<1000000) item.amount*=100000;
|
|
55734
|
+
}
|
|
55735
|
+
*/
|
|
55736
|
+
|
|
55729
55737
|
var hqchartData={code:0, stock:[stockItem] };
|
|
55730
55738
|
|
|
55731
55739
|
|
|
@@ -56706,6 +56714,10 @@ HQData.Report_RequestStockData=function(data, callback)
|
|
|
56706
56714
|
extendData[6]=(Math.round(Math.random()*60))/100;
|
|
56707
56715
|
extendData[7]=(Math.round(Math.random()*60))/100;
|
|
56708
56716
|
extendData[8]=(Math.round(Math.random()*60))/100;
|
|
56717
|
+
|
|
56718
|
+
|
|
56719
|
+
newItem[101]=105.0;
|
|
56720
|
+
newItem[201]=`A-[${HQData.GetRandomTestData(-90,90)}]-B`
|
|
56709
56721
|
|
|
56710
56722
|
|
|
56711
56723
|
item.Data=newItem;
|
|
@@ -56996,17 +57008,17 @@ HQData.Keyboard_RequestSymbolList=function(data, callback)
|
|
|
56996
57008
|
arySymbol.push( { Symbol:"02", Name:"分价表", TypeName:"功能键", Priority:1, Color:"rgb(220,20,60)" ,Data:{ PageName:"分价表", Type:2 }} );
|
|
56997
57009
|
arySymbol.push( { Symbol:"06", Name:"自选股", TypeName:"功能键", Priority:1 , Color:"rgb(220,20,60)", Data:{ PageName:"自选股", Type:2 }} );
|
|
56998
57010
|
|
|
56999
|
-
arySymbol.push( { Symbol:"MACD", Name:"平滑异同平均线", TypeName:"指标", Priority:2 , Color:"rgb(0,
|
|
57000
|
-
arySymbol.push( { Symbol:"RSI", Name:"相对强弱指标", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57001
|
-
arySymbol.push( { Symbol:"MA", Name:"均线", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57002
|
-
arySymbol.push( { Symbol:"BOLL", Name:"布林线", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57003
|
-
arySymbol.push( { Symbol:"KDJ", Name:"随机指标", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57004
|
-
arySymbol.push( { Symbol:"SKDJ", Name:"慢速随机指标", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57005
|
-
arySymbol.push( { Symbol:"KD", Name:"随机指标KD", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57006
|
-
arySymbol.push( { Symbol:"MARSI", Name:"相对强弱平均线", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57007
|
-
arySymbol.push( { Symbol:"VMACD", Name:"量平滑异同平均", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57008
|
-
arySymbol.push( { Symbol:"AMO", Name:"成交金额", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57009
|
-
arySymbol.push( { Symbol:"SQJZ", Name:"神奇九转", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57011
|
+
arySymbol.push( { Symbol:"MACD", Name:"平滑异同平均线", TypeName:"指标", Priority:2 , Color:"rgb(0,144,255)", Data:{ Index:"MACD", Type:1 }} );
|
|
57012
|
+
arySymbol.push( { Symbol:"RSI", Name:"相对强弱指标", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)",Data:{ Index:"RSI", Type:1 }} );
|
|
57013
|
+
arySymbol.push( { Symbol:"MA", Name:"均线", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"MA", Type:1 } } );
|
|
57014
|
+
arySymbol.push( { Symbol:"BOLL", Name:"布林线", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"BOLL", Type:1 } } );
|
|
57015
|
+
arySymbol.push( { Symbol:"KDJ", Name:"随机指标", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"KDJ", Type:1 } } );
|
|
57016
|
+
arySymbol.push( { Symbol:"SKDJ", Name:"慢速随机指标", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"SKDJ", Type:1 } } );
|
|
57017
|
+
arySymbol.push( { Symbol:"KD", Name:"随机指标KD", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"KD", Type:1 } } );
|
|
57018
|
+
arySymbol.push( { Symbol:"MARSI", Name:"相对强弱平均线", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"MARSI", Type:1 } } );
|
|
57019
|
+
arySymbol.push( { Symbol:"VMACD", Name:"量平滑异同平均", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"VMACD", Type:1 } } );
|
|
57020
|
+
arySymbol.push( { Symbol:"AMO", Name:"成交金额", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"AMO", Type:1 } } );
|
|
57021
|
+
arySymbol.push( { Symbol:"SQJZ", Name:"神奇九转", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"SQJZ", Type:1 } } );
|
|
57010
57022
|
|
|
57011
57023
|
callback(arySymbol);
|
|
57012
57024
|
}
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -1722,6 +1722,9 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
1722
1722
|
if (option.TooltipDialog && option.TooltipDialog.Enable)
|
|
1723
1723
|
chart.InitalTooltipDialog(option.TooltipDialog);
|
|
1724
1724
|
|
|
1725
|
+
if (option.FloatTooltip && option.FloatTooltip.Enable)
|
|
1726
|
+
chart.InitalFloatTooltip(option.FloatTooltip);
|
|
1727
|
+
|
|
1725
1728
|
if (option.SelectRectDialog && option.SelectRectDialog.Enable)
|
|
1726
1729
|
{
|
|
1727
1730
|
chart.InitalSelectRectDialog(option.SelectRectDialog);
|
|
@@ -2633,9 +2636,11 @@ var JSCHART_EVENT_ID=
|
|
|
2633
2636
|
ON_CUSTOM_MINUTE_BG:157, //自定义分时图背景颜色
|
|
2634
2637
|
ON_CLICK_HORIZONTAL_LABEL:158, //点击Y轴刻度标签
|
|
2635
2638
|
|
|
2636
|
-
|
|
2639
|
+
ON_FORMAT_DIALOG_TOOLTIP:159, //格式化Tooltip对话框显示文字
|
|
2640
|
+
|
|
2641
|
+
ON_CHANGE_KLINE_RIGHT:160, //切换复权
|
|
2637
2642
|
|
|
2638
|
-
|
|
2643
|
+
ON_FORMAT_KLINE_FLOAT_TOOLTIP:161, //格式化k线浮动框显示文字
|
|
2639
2644
|
}
|
|
2640
2645
|
|
|
2641
2646
|
var JSCHART_OPERATOR_ID=
|
|
@@ -3039,6 +3044,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3039
3044
|
|
|
3040
3045
|
this.DialogTooltip; //tooltip信息
|
|
3041
3046
|
this.DialogSelectRect; //区间统计
|
|
3047
|
+
this.FloatTooltip; //浮动tooltip信息
|
|
3042
3048
|
|
|
3043
3049
|
|
|
3044
3050
|
this.ClearStockCache=function()
|
|
@@ -3072,6 +3078,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3072
3078
|
this.DialogTooltip.Create();
|
|
3073
3079
|
}
|
|
3074
3080
|
|
|
3081
|
+
this.InitalFloatTooltip=function(option)
|
|
3082
|
+
{
|
|
3083
|
+
if (this.FloatTooltip) return;
|
|
3084
|
+
|
|
3085
|
+
this.FloatTooltip=new JSFloatTooltip();
|
|
3086
|
+
this.FloatTooltip.Inital(this, option);
|
|
3087
|
+
this.FloatTooltip.Create();
|
|
3088
|
+
}
|
|
3089
|
+
|
|
3075
3090
|
this.InitalModifyDrawDialog=function()
|
|
3076
3091
|
{
|
|
3077
3092
|
if ( this.DialogModifyDraw) return;
|
|
@@ -3090,6 +3105,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3090
3105
|
this.DialogSelectRect.Create();
|
|
3091
3106
|
}
|
|
3092
3107
|
|
|
3108
|
+
|
|
3109
|
+
|
|
3093
3110
|
this.DrawSelectRectDialog=function()
|
|
3094
3111
|
{
|
|
3095
3112
|
|
|
@@ -3163,6 +3180,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3163
3180
|
this.DialogTooltip.Close();
|
|
3164
3181
|
}
|
|
3165
3182
|
|
|
3183
|
+
this.HideFloatTooltip=function()
|
|
3184
|
+
{
|
|
3185
|
+
if (!this.FloatTooltip) return;
|
|
3186
|
+
|
|
3187
|
+
this.FloatTooltip.Hide();
|
|
3188
|
+
}
|
|
3189
|
+
|
|
3166
3190
|
this.DestroyTooltipDialog=function()
|
|
3167
3191
|
{
|
|
3168
3192
|
if (!this.DialogTooltip) return;
|
|
@@ -3171,6 +3195,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3171
3195
|
this.DialogTooltip=null;
|
|
3172
3196
|
}
|
|
3173
3197
|
|
|
3198
|
+
this.DestroyFloatTooltip=function()
|
|
3199
|
+
{
|
|
3200
|
+
if (!this.FloatTooltip) return;
|
|
3201
|
+
|
|
3202
|
+
this.FloatTooltip.Destroy();
|
|
3203
|
+
this.FloatTooltip=null;
|
|
3204
|
+
}
|
|
3205
|
+
|
|
3174
3206
|
|
|
3175
3207
|
|
|
3176
3208
|
//obj={ Element:, Canvas: }
|
|
@@ -3223,6 +3255,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3223
3255
|
this.IsDestroy=true;
|
|
3224
3256
|
this.StopAutoUpdate();
|
|
3225
3257
|
this.DestroyTooltipDialog();
|
|
3258
|
+
this.DestroyFloatTooltip();
|
|
3226
3259
|
}
|
|
3227
3260
|
|
|
3228
3261
|
this.ChartDestory=this.ChartDestroy; //老版本写错了,需要兼容下
|
|
@@ -6994,6 +7027,17 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6994
7027
|
|
|
6995
7028
|
}
|
|
6996
7029
|
|
|
7030
|
+
this.DrawFloatTooltip=function(point,toolTip)
|
|
7031
|
+
{
|
|
7032
|
+
|
|
7033
|
+
}
|
|
7034
|
+
|
|
7035
|
+
//更新实时行情到浮动tooltip
|
|
7036
|
+
this.UpdateHQFloatTooltip=function(item)
|
|
7037
|
+
{
|
|
7038
|
+
|
|
7039
|
+
}
|
|
7040
|
+
|
|
6997
7041
|
this.ShowTooltip=function(x,y,toolTip)
|
|
6998
7042
|
{
|
|
6999
7043
|
if (!this.IsShowTooltip) return;
|
|
@@ -7005,11 +7049,18 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7005
7049
|
this.TooltipCache.Data=null;
|
|
7006
7050
|
this.TooltipCache.X=x;
|
|
7007
7051
|
this.TooltipCache.Y=y;
|
|
7008
|
-
|
|
7052
|
+
var bHideFloatToolip=true;
|
|
7009
7053
|
if (toolTip.Type===0) //K线信息
|
|
7010
7054
|
{
|
|
7011
7055
|
if (!this.KLineTooltipConfig.Enable) return;
|
|
7012
7056
|
|
|
7057
|
+
if (this.FloatTooltip)
|
|
7058
|
+
{
|
|
7059
|
+
this.DrawFloatTooltip({X:x, Y:y, YMove:20/pixelTatio}, toolTip);
|
|
7060
|
+
bHideFloatToolip=false;
|
|
7061
|
+
return;
|
|
7062
|
+
}
|
|
7063
|
+
|
|
7013
7064
|
var scrollPos=GetScrollPosition();
|
|
7014
7065
|
var left = x;
|
|
7015
7066
|
var top = y;
|
|
@@ -7203,6 +7254,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7203
7254
|
this.Tooltip.innerHTML=format.Text;
|
|
7204
7255
|
this.Tooltip.style.display = "block";
|
|
7205
7256
|
}
|
|
7257
|
+
|
|
7258
|
+
|
|
7259
|
+
if (bHideFloatToolip) this.HideFloatTooltip();
|
|
7206
7260
|
}
|
|
7207
7261
|
|
|
7208
7262
|
this.UpdateDOMTooltip=function(toolTipType, data)
|
|
@@ -7239,6 +7293,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7239
7293
|
this.TooltipCache.Data=null;
|
|
7240
7294
|
|
|
7241
7295
|
if (this.Tooltip.style.display!="none") this.Tooltip.style.display = "none";
|
|
7296
|
+
|
|
7297
|
+
this.HideFloatTooltip();
|
|
7242
7298
|
}
|
|
7243
7299
|
|
|
7244
7300
|
this.UpdateSelectRect=function(start,end)
|
|
@@ -8104,6 +8160,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8104
8160
|
|
|
8105
8161
|
if (this.PopMinuteChart) this.PopMinuteChart.ReloadResource(option);
|
|
8106
8162
|
if (this.DialogTooltip) this.DialogTooltip.ReloadResource(option);
|
|
8163
|
+
if (this.FloatTooltip) this.FloatTooltip.ReloadResource(option);
|
|
8107
8164
|
if (this.DialogSelectRect) this.DialogSelectRect.ReloadResource(option);
|
|
8108
8165
|
}
|
|
8109
8166
|
|
|
@@ -10446,6 +10503,8 @@ function CoordinateInfo()
|
|
|
10446
10503
|
this.ExtendData; //扩展属性
|
|
10447
10504
|
//百分比 { PriceColor:, PercentageColor:, SplitColor:, Font: }
|
|
10448
10505
|
//自定义刻度 { Custom:{ Position: 1=强制内部 }}
|
|
10506
|
+
//输出位置的Y轴偏移
|
|
10507
|
+
//this.YOffset;
|
|
10449
10508
|
this.AreaData; //区域: { Start:, End:, BGColor:, Position:[0=左, 1=右] }
|
|
10450
10509
|
|
|
10451
10510
|
//不在当前屏范围 (可定义刻度使用)
|
|
@@ -69276,8 +69335,20 @@ function JSChartResource()
|
|
|
69276
69335
|
|
|
69277
69336
|
TextColor:"rgb(0,0,0)", //数值名称
|
|
69278
69337
|
ValueColor:"rgb(0,0,0)", //数值
|
|
69338
|
+
};
|
|
69279
69339
|
|
|
69280
|
-
|
|
69340
|
+
this.FloatTooltip=
|
|
69341
|
+
{
|
|
69342
|
+
BGColor:'rgb(250,250,250)', //背景色
|
|
69343
|
+
BorderColor:'rgb(20,20,20)', //边框颜色
|
|
69344
|
+
VolColor:"rgb(255, 185, 15)", //标题成交量
|
|
69345
|
+
AmountColor:"rgb(79, 79, 79)", //成交金额
|
|
69346
|
+
DateTimeColor:'rgb(60,60,60)',
|
|
69347
|
+
TurnoverRateColor:'rgb(43,54,69)', //换手率
|
|
69348
|
+
PositionColor:"rgb(255,0,255)", //持仓
|
|
69349
|
+
|
|
69350
|
+
TextColor:"rgb(0,0,0)", //数值名称
|
|
69351
|
+
ValueColor:"rgb(0,0,0)", //数值
|
|
69281
69352
|
};
|
|
69282
69353
|
|
|
69283
69354
|
//区间统计
|
|
@@ -70326,6 +70397,22 @@ function JSChartResource()
|
|
|
70326
70397
|
if (item.ValueColor) this.DialogTooltip.ValueColor=item.ValueColor;
|
|
70327
70398
|
}
|
|
70328
70399
|
|
|
70400
|
+
if (style.FloatTooltip)
|
|
70401
|
+
{
|
|
70402
|
+
var item=style.FloatTooltip;
|
|
70403
|
+
if (item.BGColor) this.FloatTooltip.BGColor=item.BGColor;
|
|
70404
|
+
if (item.BorderColor) this.FloatTooltip.BorderColor=item.BorderColor;
|
|
70405
|
+
|
|
70406
|
+
if (item.DateTimeColor) this.FloatTooltip.DateTimeColor=item.DateTimeColor;
|
|
70407
|
+
if (item.VolColor) this.FloatTooltip.VolColor=item.VolColor;
|
|
70408
|
+
if (item.AmountColor) this.FloatTooltip.AmountColor=item.AmountColor;
|
|
70409
|
+
if (item.TurnoverRateColor) this.FloatTooltip.TurnoverRateColor=item.TurnoverRateColor;
|
|
70410
|
+
if (item.PositionColor) this.FloatTooltip.PositionColor=item.PositionColor;
|
|
70411
|
+
|
|
70412
|
+
if (item.TextColor) this.FloatTooltip.TextColor=item.TextColor;
|
|
70413
|
+
if (item.ValueColor) this.FloatTooltip.ValueColor=item.ValueColor;
|
|
70414
|
+
}
|
|
70415
|
+
|
|
70329
70416
|
if (style.DialogSelectRect)
|
|
70330
70417
|
{
|
|
70331
70418
|
var item=style.DialogSelectRect;
|
|
@@ -71428,7 +71515,26 @@ function JSChartLocalization()
|
|
|
71428
71515
|
['DialogTooltip-AC-Vol', {CN:'匹配量', EN:'Vol', TC:'匹配量'}],
|
|
71429
71516
|
['DialogTooltip-Value', {CN:'数值', EN:'Value', TC:'数值'}],
|
|
71430
71517
|
|
|
71518
|
+
['FloatTooltip-Date', {CN:'日期', EN:'Date', TC:'日期'}],
|
|
71519
|
+
['FloatTooltip-Time', {CN:'时间', EN:'Time', TC:'時間'}],
|
|
71520
|
+
['FloatTooltip-Open', {CN:'开盘价', EN:'Open', TC:'開盤價'}],
|
|
71521
|
+
['FloatTooltip-High', {CN:'最高价', EN:'High', TC:'最高價'}],
|
|
71522
|
+
['FloatTooltip-Low', {CN:'最低价', EN:'Low', TC:'最低價'}],
|
|
71523
|
+
['FloatTooltip-Close', {CN:'收盘价', EN:'Close', TC:'收盤價'}],
|
|
71524
|
+
['FloatTooltip-YClose', {CN:'昨收价', EN:'YClose', TC:'昨收價'}],
|
|
71525
|
+
['FloatTooltip-Increase', {CN:'涨幅', EN:'Increase', TC:'漲幅'}],
|
|
71526
|
+
['FloatTooltip-Risefall', {CN:'涨跌', EN:'Risefall', TC:'漲跌'}],
|
|
71527
|
+
['FloatTooltip-Vol', {CN:'成交量', EN:'Volume', TC:'數量'}],
|
|
71528
|
+
['FloatTooltip-Amount', {CN:'成交额', EN:'Amount', TC:'金額'}],
|
|
71529
|
+
['FloatTooltip-Exchange', {CN:'换手率', EN:'Exchange', TC:'換手'}],
|
|
71530
|
+
['FloatTooltip-Position', {CN:'持仓量', EN:'Position', TC:'持倉'}],
|
|
71531
|
+
['FloatTooltip-Price', {CN:'价格', EN:'Price', TC:'價格'}],
|
|
71532
|
+
['FloatTooltip-AvPrice', {CN:'均价', EN:'AVPrice:', TC:'均價'}],
|
|
71533
|
+
['FloatTooltip-FClose', {CN:"结算价", EN:'Settlement', TC:'結算價'}],
|
|
71534
|
+
['FloatTooltip-YSettlePrice', {CN:"昨结算", EN:'YSettlement', TC:'昨結算'}],
|
|
71535
|
+
['FloatTooltip-Amplitude', {CN:'振幅', EN:'amplitude', TC:'振幅'}],
|
|
71431
71536
|
|
|
71537
|
+
|
|
71432
71538
|
['DialogSelectRect-StartPrice', {CN:'起始价:', EN:'Start Price:', TC:'起始價'}],
|
|
71433
71539
|
['DialogSelectRect-EndPrice', {CN:'最终价:', EN:"End Price:", TC:'最终價'}],
|
|
71434
71540
|
['DialogSelectRect-High', {CN:'最高价:', EN:'High:', TC:'最高價'}],
|
|
@@ -74903,6 +75009,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
74903
75009
|
|
|
74904
75010
|
this.SendKLineUpdateEvent(bindData);
|
|
74905
75011
|
this.UpdateDOMTooltip(0, bindData);
|
|
75012
|
+
this.UpdateHQFloatTooltip(bindData);
|
|
74906
75013
|
|
|
74907
75014
|
//叠加指标计算
|
|
74908
75015
|
this.BindAllOverlayIndexData(bindData, { CheckRunCount:true,SyncExecute:false }); //异步模式叠加指标
|
|
@@ -75161,6 +75268,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
75161
75268
|
|
|
75162
75269
|
this.SendKLineUpdateEvent(bindData);
|
|
75163
75270
|
this.UpdateDOMTooltip(0, bindData);
|
|
75271
|
+
this.UpdateHQFloatTooltip(bindData);
|
|
75164
75272
|
|
|
75165
75273
|
//更新叠加指标
|
|
75166
75274
|
this.BindAllOverlayIndexData(bindData, { CheckRunCount:true,SyncExecute:false }); //异步模式叠加指标
|
|
@@ -79696,18 +79804,34 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
79696
79804
|
if (!this.DialogTooltip) return false;
|
|
79697
79805
|
if (!this.ChartCorssCursor) return false;
|
|
79698
79806
|
|
|
79807
|
+
var dataType=0;
|
|
79699
79808
|
var kItem=null;
|
|
79700
79809
|
if (this.ChartCorssCursor.ClientPos>=0)
|
|
79701
79810
|
{
|
|
79702
79811
|
var hisData=this.ChartOperator_Temp_GetHistroyData();;
|
|
79703
79812
|
if (!hisData) return false; //数据还没有到达
|
|
79813
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(hisData.Data)) return false;
|
|
79704
79814
|
|
|
79705
79815
|
var dataIndex=hisData.DataOffset+this.ChartCorssCursor.CursorIndex;
|
|
79816
|
+
if (dataIndex>=hisData.Data.length) dataIndex=hisData.Data.length-1;
|
|
79706
79817
|
var kItem=hisData.Data[dataIndex];
|
|
79707
79818
|
}
|
|
79819
|
+
else //取最后一个数据
|
|
79820
|
+
{
|
|
79821
|
+
var hisData=this.ChartOperator_Temp_GetHistroyData();;
|
|
79822
|
+
if (!hisData) return false; //数据还没有到达
|
|
79823
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(hisData.Data)) return false;
|
|
79824
|
+
var kItem=hisData.Data[hisData.Data.length-1];
|
|
79825
|
+
var dataID={ Symbol:this.Symbol, Date:kItem.Date };
|
|
79826
|
+
if (IFrameSplitOperator.IsNumber(kItem.Time)) dataID.Time=kItem.Time;
|
|
79827
|
+
if (!this.DialogTooltip.IsEqualDataID(dataID)) return false;
|
|
79828
|
+
|
|
79829
|
+
dataType=1;
|
|
79830
|
+
}
|
|
79708
79831
|
|
|
79709
79832
|
var sendData=
|
|
79710
79833
|
{
|
|
79834
|
+
DataType:dataType, //0=全部更新 1=更新实时K线
|
|
79711
79835
|
ClientPos:this.ChartCorssCursor.ClientPos, //位置
|
|
79712
79836
|
IsShowCorss:this.ChartCorssCursor.IsShowCorss, //是否显示十字线
|
|
79713
79837
|
KItem:kItem,
|
|
@@ -79715,7 +79839,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
79715
79839
|
LastValue:this.ChartCorssCursor.LastValue,
|
|
79716
79840
|
};
|
|
79717
79841
|
|
|
79718
|
-
|
|
79719
79842
|
this.DialogTooltip.Update(sendData);
|
|
79720
79843
|
|
|
79721
79844
|
return true;
|
|
@@ -79756,6 +79879,52 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
79756
79879
|
|
|
79757
79880
|
this.DialogSelectRect.Update(sendData);
|
|
79758
79881
|
}
|
|
79882
|
+
|
|
79883
|
+
this.DrawFloatTooltip=function(point,toolTip)
|
|
79884
|
+
{
|
|
79885
|
+
if (!this.FloatTooltip) return;
|
|
79886
|
+
|
|
79887
|
+
this.UpdateFloatTooltip(point, toolTip)
|
|
79888
|
+
}
|
|
79889
|
+
|
|
79890
|
+
this.UpdateFloatTooltip=function(point, toolTip)
|
|
79891
|
+
{
|
|
79892
|
+
if (!this.FloatTooltip) return;
|
|
79893
|
+
|
|
79894
|
+
var sendData=
|
|
79895
|
+
{
|
|
79896
|
+
Tooltip:toolTip,
|
|
79897
|
+
Point:point,
|
|
79898
|
+
Symbol:this.Symbol,
|
|
79899
|
+
Name:this.Name,
|
|
79900
|
+
DataType:1,
|
|
79901
|
+
};
|
|
79902
|
+
|
|
79903
|
+
this.FloatTooltip.Update(sendData);
|
|
79904
|
+
}
|
|
79905
|
+
|
|
79906
|
+
this.UpdateHQFloatTooltip=function(kData)
|
|
79907
|
+
{
|
|
79908
|
+
if (!this.FloatTooltip) return;
|
|
79909
|
+
if (!this.FloatTooltip.IsShow()) return;
|
|
79910
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return;
|
|
79911
|
+
|
|
79912
|
+
var lastItem=kData.Data[kData.Data.length-1];
|
|
79913
|
+
if (!lastItem) return;
|
|
79914
|
+
|
|
79915
|
+
var dataID={ Symbol:kData.Symbol, Date:lastItem.Date, Time:lastItem.Time };
|
|
79916
|
+
if (!this.FloatTooltip.IsEqualHQID(dataID)) return;
|
|
79917
|
+
|
|
79918
|
+
var sendData=
|
|
79919
|
+
{
|
|
79920
|
+
Data:lastItem,
|
|
79921
|
+
Symbol:this.Symbol,
|
|
79922
|
+
Name:this.Name,
|
|
79923
|
+
DataType:2,
|
|
79924
|
+
};
|
|
79925
|
+
|
|
79926
|
+
this.FloatTooltip.Update(sendData);
|
|
79927
|
+
}
|
|
79759
79928
|
}
|
|
79760
79929
|
|
|
79761
79930
|
//API 返回数据 转化为array[]
|
|
@@ -85582,6 +85751,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
85582
85751
|
if (!this.ChartCorssCursor) return false;
|
|
85583
85752
|
|
|
85584
85753
|
var minuteItem=null; //{ Type:0=连续交易 1=集合竞价, Data:数据 }
|
|
85754
|
+
var dataType=0; //0=全部更新 2=分时实时数据更新
|
|
85585
85755
|
if (this.ChartCorssCursor.ClientPos>=0)
|
|
85586
85756
|
{
|
|
85587
85757
|
var titlePaint=this.TitlePaint[0];
|
|
@@ -85591,21 +85761,32 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
85591
85761
|
if ((pointInfo.ClientPos==2 || pointInfo.ClientPos==3 || (pointInfo.ClientPos>=200&& pointInfo.ClientPos<=299) || (pointInfo.ClientPos>=300&& pointInfo.ClientPos<=399)))
|
|
85592
85762
|
{
|
|
85593
85763
|
var auctionData=titlePaint.GetCurrentAuctionData();
|
|
85594
|
-
if (!auctionData) return;
|
|
85764
|
+
if (!auctionData) return false;
|
|
85595
85765
|
minuteItem={ Type:1, Data:auctionData };
|
|
85596
85766
|
}
|
|
85597
85767
|
else
|
|
85598
85768
|
{
|
|
85599
85769
|
var minuteData=titlePaint.GetCurrentKLineData();
|
|
85600
|
-
if (!minuteData) return;
|
|
85770
|
+
if (!minuteData) return false;
|
|
85601
85771
|
minuteItem={ Type:0, Data:minuteData };
|
|
85602
85772
|
}
|
|
85603
85773
|
}
|
|
85604
|
-
|
|
85774
|
+
}
|
|
85775
|
+
else //实时数据更新
|
|
85776
|
+
{
|
|
85777
|
+
if (!this.SourceData || !IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data)) return false;
|
|
85778
|
+
var minuteData=this.SourceData.Data[this.SourceData.Data.length-1];
|
|
85779
|
+
|
|
85780
|
+
var dataID={ Symbol:this.Symbol, Date:minuteData.Date, Time:minuteData.Time };
|
|
85781
|
+
if (!this.DialogTooltip.IsEqualDataID(dataID)) return false;
|
|
85782
|
+
|
|
85783
|
+
minuteItem={ Type:0, Data:minuteData };
|
|
85784
|
+
dataType=2;
|
|
85605
85785
|
}
|
|
85606
85786
|
|
|
85607
85787
|
var sendData=
|
|
85608
85788
|
{
|
|
85789
|
+
DataType:dataType,
|
|
85609
85790
|
ClientPos:this.ChartCorssCursor.ClientPos, //位置
|
|
85610
85791
|
IsShowCorss:this.ChartCorssCursor.IsShowCorss, //是否显示十字线
|
|
85611
85792
|
MinItem:minuteItem,
|
|
@@ -92038,7 +92219,8 @@ function MinuteTimeStringData()
|
|
|
92038
92219
|
{
|
|
92039
92220
|
this.SHSZ = null; //上海深证交易所时间
|
|
92040
92221
|
this.BJ=null;
|
|
92041
|
-
this.SHO=null;
|
|
92222
|
+
this.SHO=null; //上海期权交易时间
|
|
92223
|
+
this.SZO=null; //深证期权交易时间
|
|
92042
92224
|
this.HK = null; //香港交易所时间
|
|
92043
92225
|
this.Futures=new Map(); //期货交易时间 key=时间名称 Value=数据
|
|
92044
92226
|
this.USA = null; //美股交易时间
|
|
@@ -92075,12 +92257,18 @@ function MinuteTimeStringData()
|
|
|
92075
92257
|
return this.BJ;
|
|
92076
92258
|
}
|
|
92077
92259
|
|
|
92078
|
-
this.GetSHO=function()
|
|
92260
|
+
this.GetSHO=function(upperSymbol)
|
|
92079
92261
|
{
|
|
92080
92262
|
if (!this.SHO) this.SHO=this.CreateSHOData();
|
|
92081
92263
|
return this.SHO;
|
|
92082
92264
|
}
|
|
92083
92265
|
|
|
92266
|
+
this.GetSZO=function(upperSymbol)
|
|
92267
|
+
{
|
|
92268
|
+
if (!this.SZO) this.SZO=this.CreateSZOData();
|
|
92269
|
+
return this.SZO;
|
|
92270
|
+
}
|
|
92271
|
+
|
|
92084
92272
|
this.GetHK=function(upperSymbol)
|
|
92085
92273
|
{
|
|
92086
92274
|
if (!this.HK) this.HK = this.CreateHKData();
|
|
@@ -92194,6 +92382,17 @@ function MinuteTimeStringData()
|
|
|
92194
92382
|
return this.CreateTimeData(TIME_SPLIT);
|
|
92195
92383
|
}
|
|
92196
92384
|
|
|
92385
|
+
this.CreateSZOData=function()
|
|
92386
|
+
{
|
|
92387
|
+
const TIME_SPLIT =
|
|
92388
|
+
[
|
|
92389
|
+
{ Start: 930, End: 1129 },
|
|
92390
|
+
{ Start: 1300, End: 1500 }
|
|
92391
|
+
];
|
|
92392
|
+
|
|
92393
|
+
return this.CreateTimeData(TIME_SPLIT);
|
|
92394
|
+
}
|
|
92395
|
+
|
|
92197
92396
|
this.CreateHKData = function ()
|
|
92198
92397
|
{
|
|
92199
92398
|
const TIME_SPLIT =
|
|
@@ -92344,7 +92543,8 @@ function MinuteTimeStringData()
|
|
|
92344
92543
|
if (!symbol) return this.SHSZ;
|
|
92345
92544
|
|
|
92346
92545
|
var upperSymbol = symbol.toLocaleUpperCase(); //转成大写
|
|
92347
|
-
if (MARKET_SUFFIX_NAME.IsSHO(upperSymbol)
|
|
92546
|
+
if (MARKET_SUFFIX_NAME.IsSHO(upperSymbol)) return this.GetSHO();
|
|
92547
|
+
if (MARKET_SUFFIX_NAME.IsSZO(upperSymbol)) return this.GetSZO();
|
|
92348
92548
|
if (MARKET_SUFFIX_NAME.IsSH(upperSymbol) || MARKET_SUFFIX_NAME.IsSZ(upperSymbol)) return this.GetSHSZ(upperSymbol);
|
|
92349
92549
|
if (MARKET_SUFFIX_NAME.IsBJ(upperSymbol)) return this.GetBJ(upperSymbol);
|
|
92350
92550
|
if (MARKET_SUFFIX_NAME.IsHK(upperSymbol)) return this.GetHK(upperSymbol);
|
|
@@ -92829,12 +93029,14 @@ function MinuteCoordinateData()
|
|
|
92829
93029
|
else
|
|
92830
93030
|
{
|
|
92831
93031
|
var upperSymbol = symbol.toLocaleUpperCase(); //转成大写
|
|
92832
|
-
if (MARKET_SUFFIX_NAME.
|
|
93032
|
+
if (MARKET_SUFFIX_NAME.IsSHO(upperSymbol))
|
|
93033
|
+
data=this.GetSHOData(upperSymbol,width);
|
|
93034
|
+
else if (MARKET_SUFFIX_NAME.IsSZO(upperSymbol))
|
|
93035
|
+
data=this.GetSZOData(upperSymbol,width);
|
|
93036
|
+
else if (MARKET_SUFFIX_NAME.IsSH(upperSymbol) || MARKET_SUFFIX_NAME.IsSZ(upperSymbol) || MARKET_SUFFIX_NAME.IsSHSZIndex(upperSymbol))
|
|
92833
93037
|
data = this.GetSHSZData(upperSymbol,width);
|
|
92834
93038
|
else if (MARKET_SUFFIX_NAME.IsBJ(upperSymbol))
|
|
92835
93039
|
data=this.GetBJData(upperSymbol,width);
|
|
92836
|
-
else if (MARKET_SUFFIX_NAME.IsSHO(upperSymbol) || MARKET_SUFFIX_NAME.IsSZO(upperSymbol))
|
|
92837
|
-
data=this.GetSHOData(upperSymbol,width);
|
|
92838
93040
|
else if (MARKET_SUFFIX_NAME.IsHK(upperSymbol))
|
|
92839
93041
|
data=this.GetHKData(upperSymbol,width);
|
|
92840
93042
|
else if (MARKET_SUFFIX_NAME.IsTW(upperSymbol))
|
|
@@ -92918,6 +93120,12 @@ function MinuteCoordinateData()
|
|
|
92918
93120
|
return result;
|
|
92919
93121
|
}
|
|
92920
93122
|
|
|
93123
|
+
this.GetSZOData=function(upperSymbol,width)
|
|
93124
|
+
{
|
|
93125
|
+
var result=SHO_MINUTE_X_COORDINATE;
|
|
93126
|
+
return result;
|
|
93127
|
+
}
|
|
93128
|
+
|
|
92921
93129
|
this.GetFuturesData = function (upperSymbol,width,timeData)
|
|
92922
93130
|
{
|
|
92923
93131
|
var splitData = timeData.GetSplitData(upperSymbol);
|
|
@@ -1840,3 +1840,76 @@ input[type="color"] {
|
|
|
1840
1840
|
}
|
|
1841
1841
|
|
|
1842
1842
|
|
|
1843
|
+
|
|
1844
|
+
/*
|
|
1845
|
+
Copyright (c) 2018 jones
|
|
1846
|
+
|
|
1847
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
1848
|
+
|
|
1849
|
+
开源项目 https://github.com/jones2000/HQChart
|
|
1850
|
+
|
|
1851
|
+
jones_2000@163.com
|
|
1852
|
+
|
|
1853
|
+
内置浮动tooltip
|
|
1854
|
+
*/
|
|
1855
|
+
|
|
1856
|
+
|
|
1857
|
+
|
|
1858
|
+
.UMyChart_Tooltip_Float_Div
|
|
1859
|
+
{
|
|
1860
|
+
font-family: "微软雅黑";
|
|
1861
|
+
/*display: flex;*/
|
|
1862
|
+
border: 1px solid;
|
|
1863
|
+
width:fit-content;
|
|
1864
|
+
border-color: rgb(204,204,204);
|
|
1865
|
+
visibility:hidden;
|
|
1866
|
+
position: absolute;
|
|
1867
|
+
background-color: rgba(20,20,20,1);
|
|
1868
|
+
left:1px;
|
|
1869
|
+
top:1px;
|
|
1870
|
+
pointer-events:none;
|
|
1871
|
+
}
|
|
1872
|
+
|
|
1873
|
+
|
|
1874
|
+
.UMyChart_Tooltip_Float_Table
|
|
1875
|
+
{
|
|
1876
|
+
border-spacing: 2px;
|
|
1877
|
+
user-select: none;
|
|
1878
|
+
font-size:12px;
|
|
1879
|
+
}
|
|
1880
|
+
|
|
1881
|
+
.UMyChart_Tooltip_Float_Group_Tr
|
|
1882
|
+
{
|
|
1883
|
+
|
|
1884
|
+
}
|
|
1885
|
+
|
|
1886
|
+
.UMyChart_Tooltip_Float_Title_Td
|
|
1887
|
+
{
|
|
1888
|
+
min-width: 40px;
|
|
1889
|
+
}
|
|
1890
|
+
|
|
1891
|
+
.UMyChart_Tooltip_Float_Text_Td
|
|
1892
|
+
{
|
|
1893
|
+
min-width:80px;
|
|
1894
|
+
}
|
|
1895
|
+
|
|
1896
|
+
.UMyChart_Tooltip_Float_Title_Span
|
|
1897
|
+
{
|
|
1898
|
+
color: rgb(230,230,230);
|
|
1899
|
+
}
|
|
1900
|
+
|
|
1901
|
+
.UMyChart_Tooltip_Float_Text_Span
|
|
1902
|
+
{
|
|
1903
|
+
float: right;
|
|
1904
|
+
margin-right: 1px;
|
|
1905
|
+
color: rgb(230,230,230);
|
|
1906
|
+
}
|
|
1907
|
+
|
|
1908
|
+
.UMyChart_Tooltip_Float_Text2_Span
|
|
1909
|
+
{
|
|
1910
|
+
color: rgb(230,230,230);
|
|
1911
|
+
}
|
|
1912
|
+
|
|
1913
|
+
|
|
1914
|
+
|
|
1915
|
+
|
|
@@ -411,6 +411,21 @@ function GetBlackStyle()
|
|
|
411
411
|
TitleBGColor:"rgb(200, 66, 69)",
|
|
412
412
|
},
|
|
413
413
|
|
|
414
|
+
FloatTooltip:
|
|
415
|
+
{
|
|
416
|
+
BGColor:'rgb(20,20,20)', //背景色
|
|
417
|
+
BorderColor:'rgb(170,170,170)', //边框颜色
|
|
418
|
+
|
|
419
|
+
VolColor:"rgb(255, 185, 15)", //标题成交量
|
|
420
|
+
AmountColor:"rgb(210,210,210)", //成交金额
|
|
421
|
+
DateTimeColor:'rgb(210,210,210)',
|
|
422
|
+
TurnoverRateColor:'rgb(43,54,69)', //换手率
|
|
423
|
+
PositionColor:"rgb(255,0,255)", //持仓
|
|
424
|
+
|
|
425
|
+
TextColor:"rgb(210,210,210)", //数值名称
|
|
426
|
+
ValueColor:"rgb(210,210,210)", //数值
|
|
427
|
+
},
|
|
428
|
+
|
|
414
429
|
DialogSelectRect:
|
|
415
430
|
{
|
|
416
431
|
BGColor:'rgb(20,20,20)', //背景色
|