hqchart 1.1.14478 → 1.1.14482
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 +34 -43
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogTooltip.js +10 -2
- package/src/jscommon/umychart.NetworkFilterTest.js +124 -10
- package/src/jscommon/umychart.complier.js +22 -0
- package/src/jscommon/umychart.deal.js +104 -17
- package/src/jscommon/umychart.js +22 -5
- package/src/jscommon/umychart.style.js +6 -1
- package/src/jscommon/umychart.testdata.js +124 -10
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +155 -24
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +124 -10
- package/src/jscommon/umychart.vue/umychart.vue.js +165 -26
package/package.json
CHANGED
|
@@ -1252,14 +1252,21 @@ function JSFloatTooltip()
|
|
|
1252
1252
|
var symbol=data.Symbol;
|
|
1253
1253
|
var name=data.Name;
|
|
1254
1254
|
var bOverlay=false; //是否是叠加指标
|
|
1255
|
+
var bIndexKLine=false;
|
|
1255
1256
|
if (tooltipData.ChartPaint.Name=="Overlay-KLine")
|
|
1256
1257
|
{
|
|
1257
1258
|
symbol=tooltipData.ChartPaint.Symbol;
|
|
1258
1259
|
name=tooltipData.ChartPaint.Title;
|
|
1259
1260
|
bOverlay=true;
|
|
1260
1261
|
}
|
|
1262
|
+
else if (tooltipData.ChartPaint.Name=="DRAWKLINE")
|
|
1263
|
+
{
|
|
1264
|
+
symbol=tooltipData.ChartPaint.Symbol;
|
|
1265
|
+
name=tooltipData.ChartPaint.Title;
|
|
1266
|
+
bIndexKLine=true;
|
|
1267
|
+
}
|
|
1261
1268
|
|
|
1262
|
-
var kItem={ Symbol:symbol, Name:name, Item:CloneData(tooltipData.Data), IsOverlay:bOverlay };
|
|
1269
|
+
var kItem={ Symbol:symbol, Name:name, Item:CloneData(tooltipData.Data), IsOverlay:bOverlay, IsIndexKLine:bIndexKLine };
|
|
1263
1270
|
var strKItem=JSON.stringify(kItem);
|
|
1264
1271
|
var bUpdata=false;
|
|
1265
1272
|
if (this.KItemCacheID!=strKItem) //数据变动的才更新
|
|
@@ -1560,10 +1567,11 @@ function JSFloatTooltip()
|
|
|
1560
1567
|
if (IFrameSplitOperator.IsNumber(data.Time)) timeItem=this.FormatTime(data.Time, this.HQChart.Period, null, 'FloatTooltip-Time');
|
|
1561
1568
|
|
|
1562
1569
|
var overlayItem=null;
|
|
1563
|
-
if (kItem.IsOverlay)
|
|
1570
|
+
if (kItem.IsOverlay || (kItem.IsIndexKLine && kItem.Name))
|
|
1564
1571
|
overlayItem={ Title:"", Text:kItem.Name, Color:this.TextColor, ClassName:this.ValueAlign.Left };
|
|
1565
1572
|
|
|
1566
1573
|
|
|
1574
|
+
|
|
1567
1575
|
var yClose=data.YClose; //昨收价|昨结算价
|
|
1568
1576
|
var aryText=
|
|
1569
1577
|
[
|
|
@@ -55882,6 +55882,8 @@ HQData.Minute_RequestHistoryMinuteData=function(data, callback)
|
|
|
55882
55882
|
|
|
55883
55883
|
var hqchartData={code:0, data:aryDay, name:symbol, symbol: symbol};
|
|
55884
55884
|
|
|
55885
|
+
//hqchartData.data[0].minute.length=45;
|
|
55886
|
+
|
|
55885
55887
|
callback(hqchartData);
|
|
55886
55888
|
}
|
|
55887
55889
|
|
|
@@ -57280,17 +57282,22 @@ HQData.GetKLineDataByDate=function(fullData, startDate, endDate)
|
|
|
57280
57282
|
HQData.GetDayMinuteDataBySymbol=function(symbol)
|
|
57281
57283
|
{
|
|
57282
57284
|
var data=null;
|
|
57283
|
-
|
|
57285
|
+
var upperSymbol=null;
|
|
57286
|
+
if (symbol) upperSymbol=symbol.toUpperCase();
|
|
57287
|
+
switch(upperSymbol)
|
|
57284
57288
|
{
|
|
57285
|
-
case "000001.
|
|
57289
|
+
case "000001.SZ":
|
|
57286
57290
|
data=SZ_000001_1DAY_MINUTE;
|
|
57287
57291
|
break;
|
|
57288
|
-
case "600000.
|
|
57292
|
+
case "600000.SH":
|
|
57289
57293
|
data=SH_600000_1DAY_MINUTE;
|
|
57290
57294
|
break;
|
|
57291
|
-
case "000151.
|
|
57295
|
+
case "000151.SZ":
|
|
57292
57296
|
data=SZ_000151_1DAY_MINUTE;
|
|
57293
57297
|
break;
|
|
57298
|
+
case "IM2503.CF":
|
|
57299
|
+
data=CF_IM2503_1DAY_MINUTE;
|
|
57300
|
+
break;
|
|
57294
57301
|
default:
|
|
57295
57302
|
data=SZ_000151_1DAY_MINUTE;
|
|
57296
57303
|
break;
|
|
@@ -57426,7 +57433,10 @@ HQData.Report_APIIndex=function(data, callback)
|
|
|
57426
57433
|
HQData.APIIndex_MULTI_TEXT(data, callback);
|
|
57427
57434
|
else if (request.Data.indexname=="API_PARTLINE")
|
|
57428
57435
|
HQData.APIIndex_PARTLINE(data, callback);
|
|
57429
|
-
|
|
57436
|
+
else if (request.Data.indexname=="API_CHANNELV2")
|
|
57437
|
+
HQData.APIIndex_CHANNEL_V2(data, callback);
|
|
57438
|
+
else if (request.Data.indexname=="API_DRAWKLINE")
|
|
57439
|
+
HQData.APIIndex_DRAWKLINE(data, callback);
|
|
57430
57440
|
}
|
|
57431
57441
|
|
|
57432
57442
|
|
|
@@ -58123,7 +58133,8 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
|
|
|
58123
58133
|
{
|
|
58124
58134
|
DrawType:'MULTI_BAR',
|
|
58125
58135
|
DrawData:[]
|
|
58126
|
-
}
|
|
58136
|
+
}, //绘制柱子数组\
|
|
58137
|
+
IsShowTitle:false,
|
|
58127
58138
|
};
|
|
58128
58139
|
|
|
58129
58140
|
//第一组柱子
|
|
@@ -58141,14 +58152,15 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
|
|
|
58141
58152
|
|
|
58142
58153
|
var point2=
|
|
58143
58154
|
{
|
|
58144
|
-
Color:'rgb(55,228,181)',
|
|
58145
|
-
|
|
58155
|
+
Color:'rgb(55,228,181)', //颜色
|
|
58156
|
+
BorderColor:"rgb(255,165,0)", //边框景色
|
|
58157
|
+
Type:2,
|
|
58146
58158
|
Name:"柱子下部",
|
|
58147
58159
|
Point:
|
|
58148
58160
|
[
|
|
58149
58161
|
//{Date:20190916, Time: Value:15.5, Value2:0 },
|
|
58150
58162
|
],
|
|
58151
|
-
Width:
|
|
58163
|
+
Width:10
|
|
58152
58164
|
};
|
|
58153
58165
|
|
|
58154
58166
|
for(var i=0;i<kData.Data.length;++i)
|
|
@@ -58160,7 +58172,7 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
|
|
|
58160
58172
|
|
|
58161
58173
|
|
|
58162
58174
|
|
|
58163
|
-
barData.Draw.DrawData.push(point);
|
|
58175
|
+
//barData.Draw.DrawData.push(point);
|
|
58164
58176
|
barData.Draw.DrawData.push(point2);
|
|
58165
58177
|
|
|
58166
58178
|
var apiData=
|
|
@@ -58274,3 +58286,105 @@ HQData.APIIndex_PARTLINE=function(data, callback)
|
|
|
58274
58286
|
}
|
|
58275
58287
|
|
|
58276
58288
|
|
|
58289
|
+
HQData.APIIndex_CHANNEL_V2=function(data, callback)
|
|
58290
|
+
{
|
|
58291
|
+
data.PreventDefault=true;
|
|
58292
|
+
var hqchart=data.HQChart;
|
|
58293
|
+
var kData=hqchart.GetKData();
|
|
58294
|
+
|
|
58295
|
+
var channelData=
|
|
58296
|
+
{
|
|
58297
|
+
name:'通道示例', type:1,
|
|
58298
|
+
Draw:
|
|
58299
|
+
{
|
|
58300
|
+
DrawType:'JS_CHART_CHANNEL_V2',
|
|
58301
|
+
DrawData:
|
|
58302
|
+
{
|
|
58303
|
+
AryData:[]
|
|
58304
|
+
}
|
|
58305
|
+
}
|
|
58306
|
+
};
|
|
58307
|
+
|
|
58308
|
+
var aryTestData=kData.GetCloseMA(10);
|
|
58309
|
+
var ARRAY_COLOR=["rgb(0, 0 ,255)", "rgb(255,0,255)", "rgb(255,165,0)"];
|
|
58310
|
+
var colorIndex=0;
|
|
58311
|
+
for(var i=20;i<kData.Data.length;++i)
|
|
58312
|
+
{
|
|
58313
|
+
var index=i%15;
|
|
58314
|
+
var kItem=kData.Data[i];
|
|
58315
|
+
var value=aryTestData[i];
|
|
58316
|
+
var value2=value*1.03;
|
|
58317
|
+
var item={ Date:kItem.Date, Time:kItem.Time, Value: value, Value2:value2 };
|
|
58318
|
+
//var item={ Date:kItem.Date, Time:kItem.Time, Value: kItem.Close*(1.05), Value2:kItem.Close };
|
|
58319
|
+
|
|
58320
|
+
item.Color=ARRAY_COLOR[colorIndex%ARRAY_COLOR.length];
|
|
58321
|
+
channelData.Draw.DrawData.AryData.push(item);
|
|
58322
|
+
|
|
58323
|
+
if (index==0 && i>0) ++colorIndex;
|
|
58324
|
+
}
|
|
58325
|
+
|
|
58326
|
+
var apiData=
|
|
58327
|
+
{
|
|
58328
|
+
code:0,
|
|
58329
|
+
stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
|
|
58330
|
+
outdata: { date:kData.GetDate(), time:kData.GetTime(), outvar:[channelData] }
|
|
58331
|
+
};
|
|
58332
|
+
|
|
58333
|
+
console.log('[HQData.APIIndex_CHANNEL_V2] apiData ', apiData);
|
|
58334
|
+
callback(apiData);
|
|
58335
|
+
}
|
|
58336
|
+
|
|
58337
|
+
|
|
58338
|
+
HQData.APIIndex_DRAWKLINE=function(data, callback)
|
|
58339
|
+
{
|
|
58340
|
+
data.PreventDefault=true;
|
|
58341
|
+
var hqchart=data.HQChart;
|
|
58342
|
+
var kData=hqchart.GetKData();
|
|
58343
|
+
|
|
58344
|
+
var klineData=
|
|
58345
|
+
{
|
|
58346
|
+
name:"DRAWKLINE", type:1,
|
|
58347
|
+
Draw:
|
|
58348
|
+
{
|
|
58349
|
+
Name:"DRAWKLINE",
|
|
58350
|
+
DrawType:"DRAWKLINE",
|
|
58351
|
+
DrawData:[],
|
|
58352
|
+
Config:{ IsShowMaxMinPrice:true, IsShowKTooltip:true, Symbol:"000001.sh", Name:"上证指数11" }
|
|
58353
|
+
}
|
|
58354
|
+
};
|
|
58355
|
+
|
|
58356
|
+
var aryDate=[];
|
|
58357
|
+
var aryTime=[];
|
|
58358
|
+
for(var i=100;i<kData.Data.length-100;++i)
|
|
58359
|
+
{
|
|
58360
|
+
var kItem=kData.Data[i];
|
|
58361
|
+
var newItem=
|
|
58362
|
+
{
|
|
58363
|
+
YClose:kItem.YClose,
|
|
58364
|
+
Open:kItem.Open,
|
|
58365
|
+
High:kItem.High,
|
|
58366
|
+
Low:kItem.Low,
|
|
58367
|
+
Close:kItem.Close,
|
|
58368
|
+
Date:kItem.Date,
|
|
58369
|
+
Time:kItem.Time,
|
|
58370
|
+
Vol:kItem.Vol,
|
|
58371
|
+
};
|
|
58372
|
+
|
|
58373
|
+
klineData.Draw.DrawData.push(newItem);
|
|
58374
|
+
|
|
58375
|
+
aryDate.push(kItem.Date);
|
|
58376
|
+
aryTime.push(kItem.Time)
|
|
58377
|
+
}
|
|
58378
|
+
|
|
58379
|
+
var apiData=
|
|
58380
|
+
{
|
|
58381
|
+
code:0,
|
|
58382
|
+
stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
|
|
58383
|
+
outdata: { date:aryDate, time:aryTime, outvar:[klineData] }
|
|
58384
|
+
};
|
|
58385
|
+
|
|
58386
|
+
console.log('[HQData.APIIndex_DRAWKLINE] apiData ', apiData);
|
|
58387
|
+
callback(apiData);
|
|
58388
|
+
}
|
|
58389
|
+
|
|
58390
|
+
|
|
@@ -20257,6 +20257,8 @@ var SCRIPT_CHART_NAME=
|
|
|
20257
20257
|
SCATTER_PLOT:"SCATTER_PLOT", //散点图
|
|
20258
20258
|
|
|
20259
20259
|
CLIP_COLOR_STICK:"CLIP_COLOR_STICK", //上下柱子 裁剪
|
|
20260
|
+
|
|
20261
|
+
DRAW_KLINE:"DRAWKLINE"
|
|
20260
20262
|
}
|
|
20261
20263
|
|
|
20262
20264
|
|
|
@@ -21325,6 +21327,15 @@ function ScriptIndex(name,script,args,option)
|
|
|
21325
21327
|
if (varItem.Color) //如果设置了颜色,使用外面设置的颜色
|
|
21326
21328
|
chart.UnchagneColor=chart.DownColor=chart.UpColor=this.GetColor(varItem.Color);
|
|
21327
21329
|
|
|
21330
|
+
if (varItem.Draw.Config)
|
|
21331
|
+
{
|
|
21332
|
+
var config=varItem.Draw.Config;
|
|
21333
|
+
if (IFrameSplitOperator.IsBool(config.IsShowMaxMinPrice)) chart.IsShowMaxMinPrice=config.IsShowMaxMinPrice;
|
|
21334
|
+
if (IFrameSplitOperator.IsBool(config.IsShowKTooltip)) chart.IsShowKTooltip=config.IsShowKTooltip;
|
|
21335
|
+
if (config.Symbol) chart.Symbol=config.Symbol;
|
|
21336
|
+
if (config.Name) chart.Title=config.Name;
|
|
21337
|
+
}
|
|
21338
|
+
|
|
21328
21339
|
this.SetChartIndexName(chart);
|
|
21329
21340
|
hqChart.ChartPaint.push(chart);
|
|
21330
21341
|
}
|
|
@@ -25284,6 +25295,17 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
25284
25295
|
outVarItem.Draw=drawItem;
|
|
25285
25296
|
result.push(outVarItem);
|
|
25286
25297
|
}
|
|
25298
|
+
else if (draw.DrawType==SCRIPT_CHART_NAME.DRAW_KLINE)
|
|
25299
|
+
{
|
|
25300
|
+
drawItem.Name=draw.Name;
|
|
25301
|
+
drawItem.Type=draw.Type;
|
|
25302
|
+
drawItem.DrawType=draw.DrawType;
|
|
25303
|
+
|
|
25304
|
+
drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);
|
|
25305
|
+
drawItem.Config=draw.Config;
|
|
25306
|
+
outVarItem.Draw=drawItem;
|
|
25307
|
+
result.push(outVarItem);
|
|
25308
|
+
}
|
|
25287
25309
|
else
|
|
25288
25310
|
{
|
|
25289
25311
|
var find=g_ScriptIndexChartFactory.Get(draw.DrawType); //外部挂接
|
|
@@ -60,6 +60,17 @@ function JSDealChart(divElement)
|
|
|
60
60
|
|
|
61
61
|
this.JSChartContainer=chart;
|
|
62
62
|
this.DivElement.JSChart=this; //div中保存一份
|
|
63
|
+
|
|
64
|
+
//注册事件
|
|
65
|
+
if (option.EventCallback)
|
|
66
|
+
{
|
|
67
|
+
for(var i=0;i<option.EventCallback.length;++i)
|
|
68
|
+
{
|
|
69
|
+
var item=option.EventCallback[i];
|
|
70
|
+
chart.AddEventCallback(item);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
63
74
|
if (!option.Symbol)
|
|
64
75
|
{
|
|
65
76
|
chart.Draw();
|
|
@@ -284,6 +295,7 @@ function JSDealChartContainer(uielement)
|
|
|
284
295
|
chart.Frame=this.Frame;
|
|
285
296
|
chart.ChartBorder=this.Frame.ChartBorder;
|
|
286
297
|
chart.Canvas=this.Canvas;
|
|
298
|
+
chart.UIElement=this.UIElement;
|
|
287
299
|
chart.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
|
|
288
300
|
this.ChartPaint[0]=chart;
|
|
289
301
|
|
|
@@ -311,12 +323,16 @@ function JSDealChartContainer(uielement)
|
|
|
311
323
|
bRegisterWheel=false;
|
|
312
324
|
JSConsole.Chart.Log('[JSDealChartContainer::Create] not register wheel event.');
|
|
313
325
|
}
|
|
326
|
+
|
|
327
|
+
if (IFrameSplitOperator.IsBool(option.EnableSelected)) chart.SelectedData.Enable=option.EnableSelected;
|
|
314
328
|
}
|
|
315
329
|
|
|
316
330
|
if (bRegisterKeydown) this.UIElement.addEventListener("keydown", (e)=>{ this.OnKeyDown(e); }, true); //键盘消息
|
|
317
331
|
if (bRegisterWheel) this.UIElement.addEventListener("wheel", (e)=>{ this.OnWheel(e); }, true); //上下滚动消息
|
|
318
332
|
|
|
319
333
|
this.UIElement.onmousedown=(e)=> { this.UIOnMouseDown(e); }
|
|
334
|
+
this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
|
|
335
|
+
this.UIElement.oncontextmenu=(e)=> { this.UIOnContextMenu(e); }
|
|
320
336
|
}
|
|
321
337
|
|
|
322
338
|
this.Draw=function()
|
|
@@ -700,20 +716,28 @@ function JSDealChartContainer(uielement)
|
|
|
700
716
|
var chart=this.ChartPaint[0];
|
|
701
717
|
if (!chart) return;
|
|
702
718
|
|
|
703
|
-
/*
|
|
704
719
|
var clickData=chart.OnMouseDown(x,y,e);
|
|
705
720
|
if (!clickData) return;
|
|
706
721
|
|
|
707
|
-
if ((clickData.Type==
|
|
722
|
+
if ((clickData.Type==1) && (e.button==0 || e.button==2)) //点击行
|
|
708
723
|
{
|
|
709
724
|
if (clickData.Redraw==true) this.Draw();
|
|
710
725
|
}
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
this.UIOnDblClick=function(e)
|
|
729
|
+
{
|
|
730
|
+
var pixelTatio = GetDevicePixelRatio();
|
|
731
|
+
var x = (e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;
|
|
732
|
+
var y = (e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
|
|
733
|
+
|
|
734
|
+
var chart=this.ChartPaint[0];
|
|
735
|
+
if (chart) chart.OnDblClick(x,y,e);
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
this.UIOnContextMenu=function(e)
|
|
739
|
+
{
|
|
740
|
+
e.preventDefault();
|
|
717
741
|
}
|
|
718
742
|
|
|
719
743
|
this.GotoNextPage=function()
|
|
@@ -935,7 +959,7 @@ function ChartDealList()
|
|
|
935
959
|
this.IsSingleTable=false; //单表模式
|
|
936
960
|
this.IsShowHeader=true; //是否显示表头
|
|
937
961
|
this.ShowOrder=1; //0=顺序 1=倒序
|
|
938
|
-
this.SelectedData={ Index:
|
|
962
|
+
this.SelectedData={ Index:null, Guid:null, Enable:false }; //{ Index:序号, Guid, Enable:是否启动 }
|
|
939
963
|
|
|
940
964
|
this.SizeChange=true;
|
|
941
965
|
|
|
@@ -946,7 +970,7 @@ function ChartDealList()
|
|
|
946
970
|
|
|
947
971
|
this.BorderColor=g_JSChartResource.DealList.BorderColor; //边框线
|
|
948
972
|
|
|
949
|
-
this.SelectedConfig={ BGColor:
|
|
973
|
+
this.SelectedConfig={ BGColor:g_JSChartResource.DealList.Selected.BGColor };
|
|
950
974
|
|
|
951
975
|
//表头配置
|
|
952
976
|
this.HeaderFontConfig={ Size:g_JSChartResource.DealList.Header.Font.Size, Name:g_JSChartResource.DealList.Header.Font.Name };
|
|
@@ -987,6 +1011,7 @@ function ChartDealList()
|
|
|
987
1011
|
];
|
|
988
1012
|
|
|
989
1013
|
this.RectClient={};
|
|
1014
|
+
this.AryCellRect=[]; //{ Rect:, Type: 1=单行 }
|
|
990
1015
|
|
|
991
1016
|
this.ReloadResource=function(resource)
|
|
992
1017
|
{
|
|
@@ -1087,6 +1112,7 @@ function ChartDealList()
|
|
|
1087
1112
|
|
|
1088
1113
|
this.Draw=function()
|
|
1089
1114
|
{
|
|
1115
|
+
this.AryCellRect=[];
|
|
1090
1116
|
if (this.SizeChange) this.CalculateSize();
|
|
1091
1117
|
else this.UpdateCacheData();
|
|
1092
1118
|
|
|
@@ -1242,7 +1268,7 @@ function ChartDealList()
|
|
|
1242
1268
|
for(j=0;j<this.RowCount && index>=0;++j, --index)
|
|
1243
1269
|
{
|
|
1244
1270
|
var dataItem=this.Data.Data[index];
|
|
1245
|
-
|
|
1271
|
+
this.DrawSelectedRow(dataItem, index, rtRow);
|
|
1246
1272
|
|
|
1247
1273
|
this.DrawRow(dataItem, textLeft, textTop, index);
|
|
1248
1274
|
|
|
@@ -1260,10 +1286,15 @@ function ChartDealList()
|
|
|
1260
1286
|
for(j=0;j<this.RowCount && index<dataCount;++j, ++index)
|
|
1261
1287
|
{
|
|
1262
1288
|
var dataItem=this.Data.Data[index];
|
|
1289
|
+
var rtRow={ Left:textLeft-this.HeaderMergin.Left, Top:textTop, Height:this.RowHeight, Width:this.TableWidth };
|
|
1290
|
+
rtRow.Right=rtRow.Left+rtRow.Width;
|
|
1291
|
+
rtRow.Bottom=rtRow.Top+rtRow.Height;
|
|
1263
1292
|
|
|
1264
|
-
|
|
1293
|
+
this.DrawSelectedRow(dataItem, index, rtRow);
|
|
1265
1294
|
|
|
1266
1295
|
this.DrawRow(dataItem, textLeft, textTop, index);
|
|
1296
|
+
|
|
1297
|
+
this.AryCellRect.push({ Rect:rtRow, Type:1, DataIndex:index });
|
|
1267
1298
|
|
|
1268
1299
|
textTop+=this.RowHeight;
|
|
1269
1300
|
}
|
|
@@ -1369,11 +1400,11 @@ function ChartDealList()
|
|
|
1369
1400
|
}
|
|
1370
1401
|
}
|
|
1371
1402
|
|
|
1372
|
-
this.DrawSelectedRow=function(data,
|
|
1403
|
+
this.DrawSelectedRow=function(data, index, rtRow)
|
|
1373
1404
|
{
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1405
|
+
if (!this.SelectedData) return;
|
|
1406
|
+
if (!this.SelectedData.Enable) return;
|
|
1407
|
+
if (!this.SelectedData.Guid || this.SelectedData.Guid!=data.Guid) return;
|
|
1377
1408
|
|
|
1378
1409
|
this.Canvas.fillStyle=this.SelectedConfig.BGColor;
|
|
1379
1410
|
this.Canvas.fillRect(rtRow.Left,rtRow.Top, rtRow.Width, rtRow.Height);
|
|
@@ -1506,7 +1537,7 @@ function ChartDealList()
|
|
|
1506
1537
|
return GetFontHeight(this.Canvas, font, word);
|
|
1507
1538
|
}
|
|
1508
1539
|
|
|
1509
|
-
this.OnMouseDown=function(x,y,e) //Type:
|
|
1540
|
+
this.OnMouseDown=function(x,y,e) //Type: 1=行
|
|
1510
1541
|
{
|
|
1511
1542
|
if (!this.Data) return null;
|
|
1512
1543
|
|
|
@@ -1517,11 +1548,67 @@ function ChartDealList()
|
|
|
1517
1548
|
else uiElement={Left:null, Top:null};
|
|
1518
1549
|
|
|
1519
1550
|
var row=this.PtInBody(x,y);
|
|
1551
|
+
if (row)
|
|
1552
|
+
{
|
|
1553
|
+
var bRedraw=true;
|
|
1554
|
+
var index=row.DataIndex;
|
|
1555
|
+
var id=row.Item.Guid
|
|
1556
|
+
if (this.SelectedData.Index==index && this.SelectedData.Guid==id) bRedraw=false;
|
|
1557
|
+
|
|
1558
|
+
this.SelectedData.Index=index;
|
|
1559
|
+
this.SelectedData.Guid=id;
|
|
1560
|
+
|
|
1561
|
+
var eventID=JSCHART_EVENT_ID.ON_CLICK_DEAL_ROW;
|
|
1562
|
+
if (e.button==2) eventID=JSCHART_EVENT_ID.ON_RCLICK_DEAL_ROW;
|
|
1563
|
+
|
|
1564
|
+
this.SendClickEvent(eventID, { Data:row, X:x, Y:y, e:e, Inside:insidePoint, UIElement:uiElement });
|
|
1565
|
+
|
|
1566
|
+
return { Type:row.Type, Redraw:bRedraw, Row:row };
|
|
1567
|
+
}
|
|
1568
|
+
|
|
1569
|
+
return null;
|
|
1570
|
+
}
|
|
1571
|
+
|
|
1572
|
+
this.OnDblClick=function(x,y,e)
|
|
1573
|
+
{
|
|
1574
|
+
if (!this.Data) return false;
|
|
1575
|
+
|
|
1576
|
+
var row=this.PtInBody(x,y);
|
|
1577
|
+
if (row)
|
|
1578
|
+
{
|
|
1579
|
+
this.SendClickEvent(JSCHART_EVENT_ID.ON_DBCLICK_DEAL_ROW, { Data:row, X:x, Y:y });
|
|
1580
|
+
return true;
|
|
1581
|
+
}
|
|
1582
|
+
|
|
1583
|
+
return false;
|
|
1520
1584
|
}
|
|
1521
1585
|
|
|
1522
1586
|
this.PtInBody=function(x,y)
|
|
1523
1587
|
{
|
|
1524
1588
|
if (!this.Data) return null;
|
|
1525
1589
|
if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return null;
|
|
1590
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.AryCellRect)) return null;
|
|
1591
|
+
|
|
1592
|
+
for(var i=0;i<this.AryCellRect.length;++i)
|
|
1593
|
+
{
|
|
1594
|
+
var item=this.AryCellRect[i];
|
|
1595
|
+
var rtRow=item.Rect;
|
|
1596
|
+
if (x>=rtRow.Left && x<=rtRow.Right && y>=rtRow.Top && y<=rtRow.Bottom)
|
|
1597
|
+
{
|
|
1598
|
+
var data={ Rect:rtRow, DataIndex:item.DataIndex, Item:this.Data.Data[item.DataIndex], Type:item.Type };
|
|
1599
|
+
return data;
|
|
1600
|
+
}
|
|
1601
|
+
}
|
|
1602
|
+
|
|
1603
|
+
return null;
|
|
1604
|
+
}
|
|
1605
|
+
|
|
1606
|
+
this.SendClickEvent=function(id, data)
|
|
1607
|
+
{
|
|
1608
|
+
var event=this.GetEventCallback(id);
|
|
1609
|
+
if (event && event.Callback)
|
|
1610
|
+
{
|
|
1611
|
+
event.Callback(event,data,this);
|
|
1612
|
+
}
|
|
1526
1613
|
}
|
|
1527
1614
|
}
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -2695,6 +2695,11 @@ var JSCHART_EVENT_ID=
|
|
|
2695
2695
|
SEARCH_DIALOG_ON_CLICK_INDEX:163, //切换指标-指标对话框
|
|
2696
2696
|
|
|
2697
2697
|
ON_CALCULATE_CHIP_DATA:164, //计算筹码数据 (筹码图用)
|
|
2698
|
+
|
|
2699
|
+
|
|
2700
|
+
ON_CLICK_DEAL_ROW:165,
|
|
2701
|
+
ON_RCLICK_DEAL_ROW:166,
|
|
2702
|
+
ON_DBCLICK_DEAL_ROW:167,
|
|
2698
2703
|
}
|
|
2699
2704
|
|
|
2700
2705
|
var JSCHART_OPERATOR_ID=
|
|
@@ -25283,7 +25288,7 @@ function IChartPainting()
|
|
|
25283
25288
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
25284
25289
|
{
|
|
25285
25290
|
var data=this.Data.Data[i];
|
|
25286
|
-
if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
|
|
25291
|
+
if (!data || data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
|
|
25287
25292
|
|
|
25288
25293
|
if (firstOverlayOpen==null) firstOverlayOpen=data.Open;
|
|
25289
25294
|
|
|
@@ -26213,7 +26218,7 @@ function ChartKLine()
|
|
|
26213
26218
|
{
|
|
26214
26219
|
var data=this.Data.Data[i];
|
|
26215
26220
|
this.ShowRange.End=i;
|
|
26216
|
-
if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
|
|
26221
|
+
if (!data || data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
|
|
26217
26222
|
|
|
26218
26223
|
var left=xOffset;
|
|
26219
26224
|
var right=xOffset+dataWidth;
|
|
@@ -28581,6 +28586,7 @@ function ChartKLine()
|
|
|
28581
28586
|
tooltip.Data=this.Data.Data[index];
|
|
28582
28587
|
tooltip.ChartPaint=this;
|
|
28583
28588
|
tooltip.Type=0; //K线信息
|
|
28589
|
+
tooltip.Symbol=this.Symbol;
|
|
28584
28590
|
return true;
|
|
28585
28591
|
}
|
|
28586
28592
|
}
|
|
@@ -28615,7 +28621,7 @@ function ChartKLine()
|
|
|
28615
28621
|
for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
28616
28622
|
{
|
|
28617
28623
|
var data=this.Data.Data[i];
|
|
28618
|
-
if (!IFrameSplitOperator.IsNumber(data.Close)) continue;
|
|
28624
|
+
if (!data || !IFrameSplitOperator.IsNumber(data.Close)) continue;
|
|
28619
28625
|
|
|
28620
28626
|
if (range.Max==null) range.Max=data.Close;
|
|
28621
28627
|
if (range.Min==null) range.Min=data.Close;
|
|
@@ -28629,7 +28635,7 @@ function ChartKLine()
|
|
|
28629
28635
|
for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
28630
28636
|
{
|
|
28631
28637
|
var data=this.Data.Data[i];
|
|
28632
|
-
if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
|
|
28638
|
+
if (!data || data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
|
|
28633
28639
|
|
|
28634
28640
|
if (this.DrawType==5 && data.OrderFlow && IFrameSplitOperator.IsNumber(data.OrderFlow.PriceOffset))
|
|
28635
28641
|
{
|
|
@@ -72446,7 +72452,12 @@ function JSChartResource()
|
|
|
72446
72452
|
|
|
72447
72453
|
UpTextColor:"rgb(238,21,21)", //上涨文字颜色
|
|
72448
72454
|
DownTextColor:"rgb(25,158,0)", //下跌文字颜色
|
|
72449
|
-
UnchagneTextColor:"rgb(0,0,0)" //平盘文字颜色
|
|
72455
|
+
UnchagneTextColor:"rgb(0,0,0)", //平盘文字颜色
|
|
72456
|
+
|
|
72457
|
+
Selected:
|
|
72458
|
+
{
|
|
72459
|
+
BGColor:"rgb(180,240,240)",
|
|
72460
|
+
}
|
|
72450
72461
|
},
|
|
72451
72462
|
|
|
72452
72463
|
//报价列表
|
|
@@ -73499,6 +73510,12 @@ function JSChartResource()
|
|
|
73499
73510
|
this.DealList.FieldColor.Bar[i]=filed.Bar[i];
|
|
73500
73511
|
}
|
|
73501
73512
|
}
|
|
73513
|
+
|
|
73514
|
+
if (item.Selected)
|
|
73515
|
+
{
|
|
73516
|
+
var subItem=item.Selected;
|
|
73517
|
+
if (subItem.BGColor) this.DealList.Selected.BGColor=subItem.BGColor;
|
|
73518
|
+
}
|
|
73502
73519
|
}
|
|
73503
73520
|
|
|
73504
73521
|
if (style.Report) this.SetReportStyle(style.Report);
|
|
@@ -655,7 +655,12 @@ function GetBlackStyle()
|
|
|
655
655
|
|
|
656
656
|
UpTextColor:"rgb(238,21,21)", //上涨文字颜色
|
|
657
657
|
DownTextColor:"rgb(25,158,0)", //下跌文字颜色
|
|
658
|
-
UnchagneTextColor:"rgb(228,228,228)" //平盘文字颜色
|
|
658
|
+
UnchagneTextColor:"rgb(228,228,228)", //平盘文字颜色
|
|
659
|
+
|
|
660
|
+
Selected:
|
|
661
|
+
{
|
|
662
|
+
BGColor:"rgb(49,48,56)",
|
|
663
|
+
}
|
|
659
664
|
},
|
|
660
665
|
|
|
661
666
|
//报价列表
|