hqchart 1.1.14056 → 1.1.14064

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.
@@ -968,7 +968,7 @@ function JSFloatTooltip()
968
968
  {
969
969
  Left:"UMyChart_Tooltip_Float_Text2_Span", //左对齐
970
970
  MarginLeft:'UMyChart_Tooltip_Float_Text3_Span',
971
- Right:"UMyChart_Tooltip_Float_Text_Span"
971
+ Right:"UMyChart_Tooltip_Float_Text_Span",
972
972
  }
973
973
 
974
974
  this.AryData=[]; //输出文字信息
@@ -983,6 +983,7 @@ function JSFloatTooltip()
983
983
  if (option)
984
984
  {
985
985
  if (IFrameSplitOperator.IsNumber(option.Style)) this.Style=option.Style;
986
+ if (IFrameSplitOperator.IsNumber(option.MaxRowCount)) this.MaxRowCount=option.MaxRowCount;
986
987
  }
987
988
  }
988
989
 
@@ -1140,6 +1141,34 @@ function JSFloatTooltip()
1140
1141
  {
1141
1142
  this.UpdateKLineInfoTooltip(data);
1142
1143
  }
1144
+ else if (tooltipData.Type==2) //交易指标
1145
+ {
1146
+ this.UpdateTradeIndexTooltip(data);
1147
+ }
1148
+ else if (tooltipData.Type==3) //分时图异动信息
1149
+ {
1150
+ this.UpdateMinuteInfoTooltip(data);
1151
+ }
1152
+ else if (tooltipData.Type==4) //ChartMultiSVGIconV2 图标信息
1153
+ {
1154
+ this.UpdatMultiSVGIconV2Tooltip(data);
1155
+ }
1156
+ else if (tooltipData.Type==5) //ChartOX 信息
1157
+ {
1158
+ this.UpdatChartOXTooltip(data);
1159
+ }
1160
+ else if (tooltipData.Type==6) //散点图
1161
+ {
1162
+ this.UpdatChartScatterPlotTooltip(data);
1163
+ }
1164
+ else if (tooltipData.Type==7) //ChartDrawSVG 老版本 单行
1165
+ {
1166
+ this.UpdateChartDrawSVGTooltip(data);
1167
+ }
1168
+ else if (tooltipData.Type==8) //ChartDrawSVG 新版本
1169
+ {
1170
+ this.UpdateChartDrawSVGV2Tooltip(data);
1171
+ }
1143
1172
  }
1144
1173
  else if (data.DataType==2) //更新实时行情数据
1145
1174
  {
@@ -1207,6 +1236,191 @@ function JSFloatTooltip()
1207
1236
  }
1208
1237
  }
1209
1238
 
1239
+ //ChartDrawSVG 老版本 单行
1240
+ this.UpdateChartDrawSVGTooltip=function(data)
1241
+ {
1242
+ var tooltipData=data.Tooltip;
1243
+ if (!tooltipData.Data || !tooltipData.Data.Item || !tooltipData.Data.Item.Tooltip) return;
1244
+ var item=tooltipData.Data.Item.Tooltip;
1245
+
1246
+ var aryText=[]
1247
+ var rowItem={ Text:"", HTMLTitle:item.Text, Color:this.ValueColor, IsMergeCell:true };
1248
+ aryText.push(rowItem);
1249
+
1250
+ this.AryText=aryText;
1251
+ this.UpdateTableDOM();
1252
+
1253
+ if (data.Point)
1254
+ {
1255
+ var x=data.Point.X;
1256
+ var y=data.Point.Y+data.Point.YMove;
1257
+ this.Show(x, y);
1258
+ }
1259
+ }
1260
+
1261
+ //ChartDrawSVG 新版本
1262
+ this.UpdateChartDrawSVGV2Tooltip=function(data)
1263
+ {
1264
+ var tooltipData=data.Tooltip;
1265
+ if (!tooltipData.Data || !tooltipData.Data.Item || !tooltipData.Data.Item.Tooltip) return;
1266
+ var aryData=tooltipData.Data.Item.Tooltip.AryText;
1267
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryData)) return;
1268
+ var aryText=[];
1269
+ for(var i=0;i<aryData.length;++i)
1270
+ {
1271
+ var item=aryData[i];
1272
+ var rowItem={ Title:"", Text:"", Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1273
+ if (item.TextColor) rowItem.Color=item.TextColor;
1274
+ if (item.Title) rowItem.Title=item.Title;
1275
+ if (item.Text) rowItem.Text=item.Text;
1276
+
1277
+ aryText.push(rowItem);
1278
+ }
1279
+
1280
+ this.AryText=aryText;
1281
+
1282
+ this.UpdateTableDOM();
1283
+
1284
+ if (data.Point)
1285
+ {
1286
+ var x=data.Point.X;
1287
+ var y=data.Point.Y+data.Point.YMove;
1288
+ this.Show(x, y);
1289
+ }
1290
+ }
1291
+
1292
+ //交易指标
1293
+ this.UpdateTradeIndexTooltip=function(data)
1294
+ {
1295
+ var tooltipData=data.Tooltip;
1296
+ if (!tooltipData.Data || !tooltipData.Data.Data) return;
1297
+
1298
+ var item=tooltipData.Data.Data;
1299
+ var kItem=item.KData;
1300
+ var aryText=[];
1301
+
1302
+ var rowItem={ Title:"日期",Text:IFrameSplitOperator.FormatDateString(kItem.Date,"YYYY-MM-DD"), Color:this.ValueColor };
1303
+ aryText.push(rowItem);
1304
+
1305
+ if (IFrameSplitOperator.IsNumber(kItem.Time))
1306
+ {
1307
+ var format="HH:MM";
1308
+ var rowItem={ Title:"时间",Text:IFrameSplitOperator.FormatTimeString(kItem.Time,format), Color:this.ValueColor };
1309
+ aryText.push(rowItem);
1310
+ }
1311
+
1312
+ var rowItem={ Title:"指标名称:", Text:`${item.Name}${item.Param}`, Color:this.ValueColor };
1313
+ aryText.push(rowItem);
1314
+
1315
+ var rowItem={ Title:"买卖方向:", Text:`${item.Type==1?"买入":"卖出"}`, Color:item.Type==1?this.UpColor:this.DownColor };
1316
+ aryText.push(rowItem);
1317
+
1318
+ var rowItem={ };
1319
+
1320
+ this.AryText=aryText;
1321
+
1322
+ this.UpdateTableDOM();
1323
+
1324
+ if (data.Point)
1325
+ {
1326
+ var x=data.Point.X;
1327
+ var y=data.Point.Y+data.Point.YMove;
1328
+ this.Show(x, y);
1329
+ }
1330
+ }
1331
+
1332
+ //分时图异动信息
1333
+ this.UpdateMinuteInfoTooltip=function(data)
1334
+ {
1335
+ var tooltipData=data.Tooltip;
1336
+ if (!tooltipData.Data || !tooltipData.Data.Data || !tooltipData.Data.Data.Item) return;
1337
+ var item=tooltipData.Data.Data.Item;
1338
+
1339
+ var aryText=[];
1340
+ var rowItem={ Title:"日期",Text:IFrameSplitOperator.FormatDateString(item.Date,"YYYY-MM-DD"), Color:this.ValueColor };
1341
+ aryText.push(rowItem);
1342
+
1343
+ var format="HH:MM";
1344
+ var rowItem={ Title:"时间",Text:IFrameSplitOperator.FormatTimeString(item.Time,format), Color:this.ValueColor };
1345
+ aryText.push(rowItem);
1346
+
1347
+ var rowItem={ Title:"异动", Text:item.Title, Color:this.ValueColor };
1348
+ aryText.push(rowItem);
1349
+
1350
+ this.AryText=aryText;
1351
+ this.UpdateTableDOM();
1352
+
1353
+ if (data.Point)
1354
+ {
1355
+ var x=data.Point.X;
1356
+ var y=data.Point.Y+data.Point.YMove;
1357
+ this.Show(x, y);
1358
+ }
1359
+ }
1360
+
1361
+ //ChartMultiSVGIconV2 图标信息
1362
+ this.UpdatMultiSVGIconV2Tooltip=function(data)
1363
+ {
1364
+ var tooltipData=data.Tooltip;
1365
+ if (!tooltipData.Data || !tooltipData.Data.Item) return;
1366
+
1367
+ var item=tooltipData.Data.Item;
1368
+ var aryText=[];
1369
+
1370
+ var rowItem={ Text:"", HTMLTitle:item.Text, Color:this.ValueColor, IsMergeCell:true };
1371
+ aryText.push(rowItem);
1372
+
1373
+ this.AryText=aryText;
1374
+ this.UpdateTableDOM();
1375
+
1376
+ if (data.Point)
1377
+ {
1378
+ var x=data.Point.X;
1379
+ var y=data.Point.Y+data.Point.YMove;
1380
+ this.Show(x, y);
1381
+ }
1382
+ }
1383
+
1384
+ //ChartOX 信息
1385
+ this.UpdatChartOXTooltip=function(data)
1386
+ {
1387
+ var tooltipData=data.Tooltip;
1388
+ if (!tooltipData.Data || !tooltipData.Data.Data) return;
1389
+
1390
+ var item=tooltipData.Data.Data;
1391
+ var period=this.HQChart.Period;
1392
+ var aryText=[];
1393
+ if (ChartData.IsDayPeriod(period, true))
1394
+ {
1395
+ var strStartDate=IFrameSplitOperator.FormatDateString(item.Start.Date,"YYYY-MM-DD");
1396
+ var strEndDate=IFrameSplitOperator.FormatDateString(item.End.Date,"YYYY-MM-DD");
1397
+
1398
+ aryText.push({ Title:"起始时间",Text:strStartDate, Color:this.ValueColor });
1399
+ aryText.push({ Title:"结束时间",Text:strEndDate, Color:this.ValueColor });
1400
+ }
1401
+ else if (ChartData.IsMinutePeriod(period, true))
1402
+ {
1403
+ var strStartDate=IFrameSplitOperator.FormatDateString(item.Start.Date);
1404
+ var strStartTime=IFrameSplitOperator.FormatTimeString(item.Start.Time,"HH:MM");
1405
+
1406
+ var strEndDate=IFrameSplitOperator.FormatDateString(item.End.Date);
1407
+ var strEndTime=IFrameSplitOperator.FormatTimeString(item.End.Time,"HH:MM");
1408
+
1409
+ aryText.push({ Title:"起始时间",Text:`${strStartDate} ${strStartTime}`, Color:this.ValueColor });
1410
+ aryText.push({ Title:"结束时间",Text:`${strEndDate} ${strEndTime}`, Color:this.ValueColor });
1411
+ }
1412
+
1413
+ this.AryText=aryText;
1414
+ this.UpdateTableDOM();
1415
+
1416
+ if (data.Point)
1417
+ {
1418
+ var x=data.Point.X;
1419
+ var y=data.Point.Y+data.Point.YMove;
1420
+ this.Show(x, y);
1421
+ }
1422
+ }
1423
+
1210
1424
  this.UpdateTableDOM=function()
1211
1425
  {
1212
1426
  var index=0;
@@ -1215,10 +1429,16 @@ function JSFloatTooltip()
1215
1429
  var outItem=this.AryText[index];
1216
1430
  var item=this.AryData[index];
1217
1431
 
1218
- item.TitleSpan.innerText=outItem.Title;
1432
+ if (outItem.HTMLTitle) item.TitleSpan.innerHTML=outItem.HTMLTitle
1433
+ else item.TitleSpan.innerText=outItem.Title;
1434
+
1219
1435
  item.TitleSpan.style.color=this.TextColor;
1220
- item.TextSpan.innerText=outItem.Text;
1436
+
1437
+ if (outItem.HTMLText) item.TextSpan.innerHTML=outItem.HTMLText
1438
+ else item.TextSpan.innerText=outItem.Text;
1439
+
1221
1440
  item.TextSpan.style.color=outItem.Color;
1441
+ item.TextTd.style.color=outItem.Color;
1222
1442
 
1223
1443
  if (outItem.ClassName)
1224
1444
  {
@@ -1228,9 +1448,21 @@ function JSFloatTooltip()
1228
1448
  {
1229
1449
  if (item.TextSpan.className!=this.ValueAlign.Right) item.TextSpan.className=this.ValueAlign.Right;
1230
1450
  }
1451
+
1452
+ if (outItem.IsMergeCell) //合并单元格
1453
+ {
1454
+ item.TitleTd.colspan=2;
1455
+ item.TextTd.style.display="none";
1456
+ }
1457
+ else
1458
+ {
1459
+ if (item.TitleTd.colspan!=1) item.TitleTd.colspan=1;
1460
+ item.TextTd.style.display="";
1461
+ }
1231
1462
 
1232
1463
  item.Tr.style.display="";
1233
- if (item.Tr2) item.Tr2.style.display="";
1464
+ if (item.Tr2) item.Tr2.style.display="none";
1465
+
1234
1466
  }
1235
1467
 
1236
1468
  for( ; index<this.MaxRowCount; ++index)
@@ -1338,6 +1570,13 @@ function JSFloatTooltip()
1338
1570
  }
1339
1571
  }
1340
1572
 
1573
+ var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_KLINE_INFO_FLOAT_TOOLTIP);
1574
+ if (event && event.Callback)
1575
+ {
1576
+ var sendData={ AryText:aryText, Data:data, HQChart:this.HQChart };
1577
+ event.Callback(event, sendData, this);
1578
+ }
1579
+
1341
1580
  this.AryText=aryText;
1342
1581
 
1343
1582
  this.UpdateTableDOM();
@@ -1350,6 +1589,36 @@ function JSFloatTooltip()
1350
1589
  }
1351
1590
  }
1352
1591
 
1592
+ this.UpdatChartScatterPlotTooltip=function(data)
1593
+ {
1594
+ var tooltipData=data.Tooltip;
1595
+ if (!tooltipData.Data || !tooltipData.Data.Data || !tooltipData.Data.Data.Tooltip) return;
1596
+ var aryData=tooltipData.Data.Data.Tooltip;
1597
+ var aryText=[]; //输出内容
1598
+
1599
+ for(var i=0;i<aryData.length;++i)
1600
+ {
1601
+ var item=aryData[i];
1602
+ if (!item.Text && !item.Title) continue;
1603
+ var rowItem={ Title:"", Text:"", Color:this.ValueColor };
1604
+ if (item.Title) rowItem.Title=item.Title;
1605
+ if (item.Text) rowItem.Text=item.Text;
1606
+ if (item.TextColor) rowItem.Color=item.TextColor;
1607
+
1608
+ aryText.push(rowItem);
1609
+ }
1610
+
1611
+ this.AryText=aryText;
1612
+ this.UpdateTableDOM();
1613
+
1614
+ if (data.Point)
1615
+ {
1616
+ var x=data.Point.X;
1617
+ var y=data.Point.Y+data.Point.YMove;
1618
+ this.Show(x, y);
1619
+ }
1620
+ }
1621
+
1353
1622
 
1354
1623
  /////////////////////////////////////////////////////////////////////////////////////////////
1355
1624
  // 公告数据格式化