hqchart 1.1.14498 → 1.1.14506
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 +265 -222
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +53 -11
- package/src/jscommon/umychart.complier.js +33 -0
- package/src/jscommon/umychart.js +193 -65
- package/src/jscommon/umychart.testdata.js +53 -11
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +227 -66
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +53 -11
- package/src/jscommon/umychart.vue/umychart.vue.js +227 -66
|
@@ -8171,6 +8171,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8171
8171
|
drag.LastMove.X=e.clientX;
|
|
8172
8172
|
drag.LastMove.Y=e.clientY;
|
|
8173
8173
|
}
|
|
8174
|
+
else if (drag.Click && drag.Click.IsInFrameBottom)
|
|
8175
|
+
{
|
|
8176
|
+
this.OnDragXCoordinateZoom(drag, {X:moveSetp, Y:moveSetpY}, e);
|
|
8177
|
+
}
|
|
8174
8178
|
else if ((bLButtonSelectRect || bRButtonSelectRect) && !isDragSelectRect && !isDragSubSelectRect) //左右键区间选择
|
|
8175
8179
|
{
|
|
8176
8180
|
var yMoveSetp=Math.abs(drag.LastMove.Y-e.clientY);
|
|
@@ -8192,6 +8196,38 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8192
8196
|
}
|
|
8193
8197
|
}
|
|
8194
8198
|
|
|
8199
|
+
this.OnDragXCoordinateZoom=function(drag, moveData, e)
|
|
8200
|
+
{
|
|
8201
|
+
var moveSetp=moveData.X;
|
|
8202
|
+
var moveSetpY=moveData.Y;
|
|
8203
|
+
if (moveSetp<5) return;
|
|
8204
|
+
|
|
8205
|
+
var isLeft=true;
|
|
8206
|
+
if (drag.LastMove.X<e.clientX) isLeft=false;//右移数据
|
|
8207
|
+
|
|
8208
|
+
var cursorStatus="ew-resize";
|
|
8209
|
+
|
|
8210
|
+
var oneStepWidth=this.GetMoveOneStepWidth();
|
|
8211
|
+
if (moveSetp<oneStepWidth)
|
|
8212
|
+
{
|
|
8213
|
+
this.SetCursor({Cursor:cursorStatus});
|
|
8214
|
+
return;
|
|
8215
|
+
}
|
|
8216
|
+
|
|
8217
|
+
if (this.XCoordinateZoom(moveSetp,isLeft))
|
|
8218
|
+
{
|
|
8219
|
+
this.UpdataDataoffset();
|
|
8220
|
+
this.UpdateFrameMaxMin();
|
|
8221
|
+
this.ResetFrameXYSplit();
|
|
8222
|
+
|
|
8223
|
+
this.Draw();
|
|
8224
|
+
this.OnKLinePageChange("datamove");
|
|
8225
|
+
}
|
|
8226
|
+
|
|
8227
|
+
drag.LastMove.X=e.clientX;
|
|
8228
|
+
this.SetCursor({Cursor:cursorStatus});
|
|
8229
|
+
}
|
|
8230
|
+
|
|
8195
8231
|
this.OnDragMode_One=function(moveData, e)
|
|
8196
8232
|
{
|
|
8197
8233
|
var moveSetp=moveData.X;
|
|
@@ -8252,7 +8288,6 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8252
8288
|
if (drag.LastMove.X<e.clientX) isLeft=false;//右移数据
|
|
8253
8289
|
|
|
8254
8290
|
var cursorStatus="pointer";
|
|
8255
|
-
if (drag.Click.IsInFrameBottom) cursorStatus="ew-resize";
|
|
8256
8291
|
var oneStepWidth=this.GetMoveOneStepWidth();
|
|
8257
8292
|
if (moveSetp<oneStepWidth)
|
|
8258
8293
|
{
|
|
@@ -8263,18 +8298,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8263
8298
|
}
|
|
8264
8299
|
else
|
|
8265
8300
|
{
|
|
8266
|
-
if
|
|
8267
|
-
{
|
|
8268
|
-
|
|
8269
|
-
if (this.XCoordinateZoom(moveSetp,isLeft))
|
|
8270
|
-
{
|
|
8271
|
-
this.UpdataDataoffset();
|
|
8272
|
-
this.UpdateFrameMaxMin();
|
|
8273
|
-
this.ResetFrameXYSplit();
|
|
8274
|
-
bNeedDraw=true;
|
|
8275
|
-
}
|
|
8276
|
-
}
|
|
8277
|
-
else if(this.DataMove(moveSetp,isLeft))
|
|
8301
|
+
if(this.DataMove(moveSetp,isLeft))
|
|
8278
8302
|
{
|
|
8279
8303
|
this.UpdataDataoffset();
|
|
8280
8304
|
//this.UpdatePointByCursorIndex(); //推拽数据的时候不需要把鼠标位置更新到K线上
|
|
@@ -8399,9 +8423,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8399
8423
|
}
|
|
8400
8424
|
else if (IsMinuteChart)
|
|
8401
8425
|
{
|
|
8402
|
-
if (this.OnMinuteSelectRectMouseUp) this.OnMinuteSelectRectMouseUp(e);
|
|
8426
|
+
if (this.OnMinuteSelectRectMouseUp) this.OnMinuteSelectRectMouseUp(e); //分时图区间选择
|
|
8403
8427
|
}
|
|
8404
|
-
else if (bLButtonSelectRect || bRButtonSelectRect)
|
|
8428
|
+
else if (bLButtonSelectRect || bRButtonSelectRect) //K线图区间选择
|
|
8405
8429
|
{
|
|
8406
8430
|
var drag=this.MouseDrag;
|
|
8407
8431
|
drag.LastMove.X=e.clientX;
|
|
@@ -8416,49 +8440,12 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8416
8440
|
selectData.YEnd=(drag.LastMove.Y-uielement.getBoundingClientRect().top)*pixelTatio;
|
|
8417
8441
|
selectData.JSChartContainer=this;
|
|
8418
8442
|
selectData.Stock={Symbol:this.Symbol, Name:this.Name};
|
|
8443
|
+
selectData.IsLButton=bLButtonSelectRect;
|
|
8444
|
+
selectData.IsRButton=bRButtonSelectRect;
|
|
8419
8445
|
|
|
8420
8446
|
if (!this.BorderDrag && this.GetSelectRectData(selectData))
|
|
8421
8447
|
{
|
|
8422
|
-
|
|
8423
|
-
var paint=this.GetRectSelectPaint();
|
|
8424
|
-
var isShowMenu=true;
|
|
8425
|
-
if (event && event.Callback)
|
|
8426
|
-
{
|
|
8427
|
-
var data=
|
|
8428
|
-
{
|
|
8429
|
-
X:drag.LastMove.X-uielement.getBoundingClientRect().left,
|
|
8430
|
-
Y:drag.LastMove.Y-uielement.getBoundingClientRect().top,
|
|
8431
|
-
SelectData:selectData, //区间选择的数据
|
|
8432
|
-
RectSelectPaint:paint, //区间选择背景
|
|
8433
|
-
IsShowMenu:true,
|
|
8434
|
-
e,e
|
|
8435
|
-
};
|
|
8436
|
-
event.Callback(event,data,this);
|
|
8437
|
-
isShowMenu=data.IsShowMenu;
|
|
8438
|
-
}
|
|
8439
|
-
|
|
8440
|
-
if (IsMinuteChart) //分时图直接显示显示区间选择
|
|
8441
|
-
{
|
|
8442
|
-
this.HideSelectRect();
|
|
8443
|
-
this.UpdateSelectRect(selectData.Start,selectData.End);
|
|
8444
|
-
}
|
|
8445
|
-
else
|
|
8446
|
-
{
|
|
8447
|
-
if (isShowMenu)
|
|
8448
|
-
{
|
|
8449
|
-
var data=
|
|
8450
|
-
{
|
|
8451
|
-
Chart:this,
|
|
8452
|
-
X:drag.LastMove.X-uielement.getBoundingClientRect().left,
|
|
8453
|
-
Y:drag.LastMove.Y-uielement.getBoundingClientRect().top,
|
|
8454
|
-
SelectData:selectData, //区间选择的数据
|
|
8455
|
-
RectSelectPaint:paint //区间选择背景
|
|
8456
|
-
};
|
|
8457
|
-
|
|
8458
|
-
e.data=data;
|
|
8459
|
-
this.PopupSelectRectMenuV2(data, e);
|
|
8460
|
-
}
|
|
8461
|
-
}
|
|
8448
|
+
this.FinishSelectRect(selectData, e);
|
|
8462
8449
|
}
|
|
8463
8450
|
else
|
|
8464
8451
|
{
|
|
@@ -8498,6 +8485,92 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8498
8485
|
this.ClearDocContextMenuTimer(5000);
|
|
8499
8486
|
}
|
|
8500
8487
|
|
|
8488
|
+
//区间选择完成
|
|
8489
|
+
this.FinishSelectRect=function(selectData, e)
|
|
8490
|
+
{
|
|
8491
|
+
var bMinuteChart=this.IsMinuteContainer();
|
|
8492
|
+
var drag=this.MouseDrag;
|
|
8493
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_SELECT_RECT);
|
|
8494
|
+
var paint=this.GetRectSelectPaint();
|
|
8495
|
+
|
|
8496
|
+
var x=drag.LastMove.X-uielement.getBoundingClientRect().left;
|
|
8497
|
+
var y=drag.LastMove.Y-uielement.getBoundingClientRect().top;
|
|
8498
|
+
|
|
8499
|
+
if (e) //往事件里面 写如我们的数据
|
|
8500
|
+
{
|
|
8501
|
+
var data=
|
|
8502
|
+
{
|
|
8503
|
+
Chart:this, X:x,Y:y,
|
|
8504
|
+
SelectData:selectData, //区间选择的数据
|
|
8505
|
+
RectSelectPaint:paint, //区间选择背景
|
|
8506
|
+
IsLButton:selectData.IsLButton, IsRButton:selectData.IsRButton,
|
|
8507
|
+
};
|
|
8508
|
+
|
|
8509
|
+
e.data=data;
|
|
8510
|
+
}
|
|
8511
|
+
|
|
8512
|
+
var aryMenu=null, command=null;
|
|
8513
|
+
if (bMinuteChart) //分时图 默认区间统计
|
|
8514
|
+
{
|
|
8515
|
+
command={ ID:JSCHART_MENU_ID.CMD_SELECTED_SUMMARY_ID, Args:[e,selectData] };
|
|
8516
|
+
}
|
|
8517
|
+
else //K线默认 区间选择K线
|
|
8518
|
+
{
|
|
8519
|
+
aryMenu=
|
|
8520
|
+
[
|
|
8521
|
+
{ Name:"区间统计", Data:{ ID:JSCHART_MENU_ID.CMD_SELECTED_SUMMARY_ID, Args:[e,selectData] }},
|
|
8522
|
+
{ Name:"区间放大", Data:{ ID:JSCHART_MENU_ID.CMD_SELECTED_ZOOM_ID, Args:[selectData] }}
|
|
8523
|
+
];
|
|
8524
|
+
}
|
|
8525
|
+
|
|
8526
|
+
if (event && event.Callback)
|
|
8527
|
+
|
|
8528
|
+
var sendData=
|
|
8529
|
+
{
|
|
8530
|
+
X:x, Y:y, e:e,
|
|
8531
|
+
SelectData:selectData, //区间选择的数据
|
|
8532
|
+
RectSelectPaint:paint, //区间选择背景
|
|
8533
|
+
AryMenu:aryMenu, //菜单 填null 不就会弹菜单
|
|
8534
|
+
Command:command, //执行命令
|
|
8535
|
+
IsLButton:selectData.IsLButton, IsRButton:selectData.IsRButton,
|
|
8536
|
+
PreventDefault:false,
|
|
8537
|
+
};
|
|
8538
|
+
if (bMinuteChart) sendData.Command=null; //分时图 调用事件 不做任何事
|
|
8539
|
+
|
|
8540
|
+
event.Callback(event,sendData,this);
|
|
8541
|
+
|
|
8542
|
+
if (sendData.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
|
|
8543
|
+
|
|
8544
|
+
aryMenu=sendData.AryMenu;
|
|
8545
|
+
command=sendData.Command;
|
|
8546
|
+
|
|
8547
|
+
|
|
8548
|
+
if (aryMenu) //弹菜单
|
|
8549
|
+
{
|
|
8550
|
+
this.PopupSelectRectMenuV3(aryMenu, data, e);
|
|
8551
|
+
return;
|
|
8552
|
+
}
|
|
8553
|
+
|
|
8554
|
+
if (command) //执行命令
|
|
8555
|
+
{
|
|
8556
|
+
this.ExecuteMenuCommand(command.ID, command.Args);
|
|
8557
|
+
return;
|
|
8558
|
+
}
|
|
8559
|
+
|
|
8560
|
+
this.HideSelectRect();
|
|
8561
|
+
this.UpdateSelectRect(selectData.Start,selectData.End);
|
|
8562
|
+
}
|
|
8563
|
+
|
|
8564
|
+
this.PopupSelectRectMenuV3=function(aryMenu, data, e)
|
|
8565
|
+
{
|
|
8566
|
+
if (!aryMenu) return;
|
|
8567
|
+
|
|
8568
|
+
var menuData={ Menu:aryMenu, Position:JSPopMenu.POSITION_ID.RIGHT_MENU_ID };
|
|
8569
|
+
menuData.ClickCallback=(data)=>{ this.OnClickRightMenu(data); }
|
|
8570
|
+
var x=data.X, y=data.Y;
|
|
8571
|
+
this.PopupMenuByRClick(menuData, x, y);
|
|
8572
|
+
}
|
|
8573
|
+
|
|
8501
8574
|
this.DocContextMenu=function(e)
|
|
8502
8575
|
{
|
|
8503
8576
|
e.preventDefault();
|
|
@@ -28938,12 +29011,12 @@ function IChartPainting()
|
|
|
28938
29011
|
if (valueType==1) //K线收盘价
|
|
28939
29012
|
{
|
|
28940
29013
|
var kItem=this.Data.Data[i];
|
|
28941
|
-
if (IFrameSplitOperator.IsNumber(kItem.Close)) value=kItem.Close
|
|
29014
|
+
if (kItem && IFrameSplitOperator.IsNumber(kItem.Close)) value=kItem.Close
|
|
28942
29015
|
}
|
|
28943
29016
|
else if (valueType==2)
|
|
28944
29017
|
{
|
|
28945
29018
|
var kItem=this.Data.Data[i];
|
|
28946
|
-
if (IFrameSplitOperator.IsNumber(kItem.Vol)) value=kItem.Vol
|
|
29019
|
+
if (kItem && IFrameSplitOperator.IsNumber(kItem.Vol)) value=kItem.Vol
|
|
28947
29020
|
}
|
|
28948
29021
|
else if (valueType==3)
|
|
28949
29022
|
{
|
|
@@ -62088,7 +62161,7 @@ function DynamicChartTitlePainting()
|
|
|
62088
62161
|
return aryText;
|
|
62089
62162
|
}
|
|
62090
62163
|
|
|
62091
|
-
this.
|
|
62164
|
+
this.FormatKLineTitle=function(item, dataInfo)
|
|
62092
62165
|
{
|
|
62093
62166
|
var defaultfloatPrecision=GetfloatPrecision(dataInfo.Symbol);//价格小数位数
|
|
62094
62167
|
var upperSymbol="";
|
|
@@ -62166,6 +62239,35 @@ function DynamicChartTitlePainting()
|
|
|
62166
62239
|
return aryText;
|
|
62167
62240
|
}
|
|
62168
62241
|
|
|
62242
|
+
this.FormatIndexTitle=function(value, dataInfo)
|
|
62243
|
+
{
|
|
62244
|
+
if (!value) return null;
|
|
62245
|
+
|
|
62246
|
+
if (IFrameSplitOperator.IsString(value)) return { Text:value, ArrayText:null };
|
|
62247
|
+
|
|
62248
|
+
if (IFrameSplitOperator.IsNonEmptyArray(value))
|
|
62249
|
+
{
|
|
62250
|
+
var aryText=[];
|
|
62251
|
+
for(var i=0;i<value.length;++i)
|
|
62252
|
+
{
|
|
62253
|
+
var item=value[i];
|
|
62254
|
+
if (!item) continue;
|
|
62255
|
+
|
|
62256
|
+
var textItem={ Name:null, Text:null };
|
|
62257
|
+
if (item.Name) textItem.Name=item.Name;
|
|
62258
|
+
if (item.Text) textItem.Text=item.Text;
|
|
62259
|
+
if (item.Color) textItem.Color=item.Color;
|
|
62260
|
+
if (IFrameSplitOperator.IsNumber(item.LeftSpace)) textItem.LeftSpace=item.LeftSpace;
|
|
62261
|
+
|
|
62262
|
+
aryText.push(textItem);
|
|
62263
|
+
}
|
|
62264
|
+
|
|
62265
|
+
return { Text:null, ArrayText:aryText }
|
|
62266
|
+
}
|
|
62267
|
+
|
|
62268
|
+
return null;
|
|
62269
|
+
}
|
|
62270
|
+
|
|
62169
62271
|
this.GetColor=function(price,yClose)
|
|
62170
62272
|
{
|
|
62171
62273
|
if (!IFrameSplitOperator.IsNumber(yClose)) return this.UnchangeColor;
|
|
@@ -62663,15 +62765,14 @@ function DynamicChartTitlePainting()
|
|
|
62663
62765
|
}
|
|
62664
62766
|
else if (item.DataType=="DRAWKLINE")
|
|
62665
62767
|
{
|
|
62666
|
-
aryText=this.
|
|
62768
|
+
aryText=this.FormatKLineTitle(value, item);
|
|
62667
62769
|
if (!aryText) return null;
|
|
62668
62770
|
return { Text:null, ArrayText:aryText };
|
|
62669
62771
|
}
|
|
62670
62772
|
else if (item.DataType=="ChartIndexTitle")
|
|
62671
62773
|
{
|
|
62672
|
-
var
|
|
62673
|
-
|
|
62674
|
-
return { Text:text, ArrayText:null };
|
|
62774
|
+
var outTitle=this.FormatIndexTitle(value, item);
|
|
62775
|
+
return outTitle;
|
|
62675
62776
|
}
|
|
62676
62777
|
else if (g_ScriptIndexChartFactory.Has(item.DataType)) //外部挂接
|
|
62677
62778
|
{
|
|
@@ -63065,9 +63166,17 @@ function DynamicChartTitlePainting()
|
|
|
63065
63166
|
}
|
|
63066
63167
|
else if (item.DataType=="DRAWKLINE")
|
|
63067
63168
|
{
|
|
63068
|
-
aryText=this.
|
|
63169
|
+
aryText=this.FormatKLineTitle(value, item);
|
|
63069
63170
|
if (!aryText) continue;
|
|
63070
63171
|
}
|
|
63172
|
+
else if (item.DataType=="ChartIndexTitle")
|
|
63173
|
+
{
|
|
63174
|
+
var outTitle=this.FormatIndexTitle(value, item);
|
|
63175
|
+
if (!outTitle) continue;
|
|
63176
|
+
|
|
63177
|
+
valueText=outTitle.Text;
|
|
63178
|
+
aryText=outTitle.ArrayText;
|
|
63179
|
+
}
|
|
63071
63180
|
else
|
|
63072
63181
|
{
|
|
63073
63182
|
valueText=this.FormatValue(value,item);
|
|
@@ -63085,6 +63194,8 @@ function DynamicChartTitlePainting()
|
|
|
63085
63194
|
var textWidth=this.Canvas.measureText(text).width+2; //后空2个像素
|
|
63086
63195
|
if ((x+textWidth)>right) break;
|
|
63087
63196
|
|
|
63197
|
+
if (IFrameSplitOperator.IsNumber(titleItem.LeftSpace)) x+=titleItem.LeftSpace*pixelRatio;
|
|
63198
|
+
|
|
63088
63199
|
if (this.OverlayIndexType.BGColor)
|
|
63089
63200
|
{
|
|
63090
63201
|
this.Canvas.fillStyle=this.OverlayIndexType.BGColor;
|
|
@@ -80529,8 +80640,21 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
80529
80640
|
x+=(rtClient.left+rtScroll.Left);
|
|
80530
80641
|
y+=(rtClient.top+rtScroll.Top);
|
|
80531
80642
|
|
|
80532
|
-
var
|
|
80533
|
-
var
|
|
80643
|
+
var item=data.Tooltip.Data;
|
|
80644
|
+
var date=item.Date;
|
|
80645
|
+
var symbol=null;
|
|
80646
|
+
|
|
80647
|
+
if (data.Tooltip.ChartPaint && data.Tooltip.ChartPaint.Name=="DRAWKLINE")
|
|
80648
|
+
{
|
|
80649
|
+
if (item.Symbol) symbol=item.Symbol;
|
|
80650
|
+
else if (data.Tooltip.Symbol) symbol=data.Tooltip.Symbol;
|
|
80651
|
+
}
|
|
80652
|
+
else
|
|
80653
|
+
{
|
|
80654
|
+
symbol=data.Chart.Symbol;
|
|
80655
|
+
}
|
|
80656
|
+
|
|
80657
|
+
if (!symbol) return;
|
|
80534
80658
|
|
|
80535
80659
|
this.PopMinuteChart.Show({ Date:date, Symbol:symbol, Data:data.Tooltip.Data }, x/pixelRatio,y/pixelRatio);
|
|
80536
80660
|
}
|
|
@@ -88095,6 +88219,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
88095
88219
|
}
|
|
88096
88220
|
else if ((bRButtonSelectRect || bLButtonSelectRect) && !this.BorderDrag && this.GetSelectRectData(selectData))
|
|
88097
88221
|
{
|
|
88222
|
+
this.FinishSelectRect(selectData, e);
|
|
88223
|
+
|
|
88224
|
+
/*
|
|
88098
88225
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_SELECT_RECT);
|
|
88099
88226
|
var paint=this.GetRectSelectPaint();
|
|
88100
88227
|
var isShowDialog=true; //是否显示内置区间选择框
|
|
@@ -88132,6 +88259,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
88132
88259
|
this.HideSelectRect();
|
|
88133
88260
|
this.UpdateSelectRect(selectData.Start,selectData.End);
|
|
88134
88261
|
}
|
|
88262
|
+
*/
|
|
88135
88263
|
}
|
|
88136
88264
|
else
|
|
88137
88265
|
{
|
|
@@ -125508,6 +125636,12 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
125508
125636
|
{
|
|
125509
125637
|
this.CreateLine(hqChart,windowIndex,item,i, item.Type);
|
|
125510
125638
|
}
|
|
125639
|
+
else if (item.Type==10)
|
|
125640
|
+
{
|
|
125641
|
+
this.CreateTitle(hqChart,windowIndex,item,i);
|
|
125642
|
+
}
|
|
125643
|
+
|
|
125644
|
+
|
|
125511
125645
|
|
|
125512
125646
|
var titleData=titleInfo.Data[i];
|
|
125513
125647
|
if (titleData)
|
|
@@ -126075,6 +126209,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
126075
126209
|
chart.Name=varItem.Name;
|
|
126076
126210
|
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
126077
126211
|
chart.ChartFrame=frame.Frame;
|
|
126212
|
+
chart.Identify=overlayIndex.Identify;
|
|
126078
126213
|
if (varItem.Draw && varItem.Draw.DrawData)
|
|
126079
126214
|
{
|
|
126080
126215
|
var drawData=varItem.Draw.DrawData;
|
|
@@ -126086,6 +126221,32 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
126086
126221
|
frame.ChartPaint.push(chart);
|
|
126087
126222
|
}
|
|
126088
126223
|
|
|
126224
|
+
this.CreateTitle=function(hqChart,windowIndex,varItem,id)
|
|
126225
|
+
{
|
|
126226
|
+
var overlayIndex=this.OverlayIndex;
|
|
126227
|
+
var frame=overlayIndex.Frame;
|
|
126228
|
+
let chart=new ChartIndexTitle();
|
|
126229
|
+
chart.Canvas=hqChart.Canvas;
|
|
126230
|
+
|
|
126231
|
+
chart.Name=varItem.Name;
|
|
126232
|
+
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
126233
|
+
chart.ChartFrame=frame.Frame;
|
|
126234
|
+
chart.Identify=overlayIndex.Identify;
|
|
126235
|
+
|
|
126236
|
+
if (varItem.Color) chart.Color=this.GetColor(varItem.Color);
|
|
126237
|
+
else chart.Color=this.GetDefaultColor(id);
|
|
126238
|
+
chart.Data.Data=varItem.Data;
|
|
126239
|
+
|
|
126240
|
+
var titleIndex=windowIndex+1;
|
|
126241
|
+
var titlePaint=hqChart.TitlePaint[titleIndex];
|
|
126242
|
+
var titleData=new DynamicTitleData(chart.Data,chart.Name,chart.Color);
|
|
126243
|
+
titleData.DataType="ChartIndexTitle";
|
|
126244
|
+
titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
|
|
126245
|
+
|
|
126246
|
+
this.SetChartIndexName(chart);
|
|
126247
|
+
frame.ChartPaint.push(chart);
|
|
126248
|
+
}
|
|
126249
|
+
|
|
126089
126250
|
this.CreateStackedBar=function(hqChart,windowIndex,varItem,id)
|
|
126090
126251
|
{
|
|
126091
126252
|
var overlayIndex=this.OverlayIndex;
|
|
@@ -144248,7 +144409,7 @@ function ScrollBarBGChart()
|
|
|
144248
144409
|
|
|
144249
144410
|
|
|
144250
144411
|
|
|
144251
|
-
var HQCHART_VERSION="1.1.
|
|
144412
|
+
var HQCHART_VERSION="1.1.14505";
|
|
144252
144413
|
|
|
144253
144414
|
function PrintHQChartVersion()
|
|
144254
144415
|
{
|
|
@@ -57455,6 +57455,8 @@ HQData.Report_APIIndex=function(data, callback)
|
|
|
57455
57455
|
HQData.APIIndex_CHANNEL_V2(data, callback);
|
|
57456
57456
|
else if (request.Data.indexname=="API_DRAWKLINE")
|
|
57457
57457
|
HQData.APIIndex_DRAWKLINE(data, callback);
|
|
57458
|
+
else if (request.Data.indexname=="API_TITLE")
|
|
57459
|
+
HQData.APIIndex_TITLE(data, callback);
|
|
57458
57460
|
}
|
|
57459
57461
|
|
|
57460
57462
|
|
|
@@ -58165,7 +58167,7 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
|
|
|
58165
58167
|
[
|
|
58166
58168
|
//{Date:20190916, Time: Value:15.5, Value2:0 },
|
|
58167
58169
|
],
|
|
58168
|
-
Width:10
|
|
58170
|
+
//Width:10
|
|
58169
58171
|
};
|
|
58170
58172
|
|
|
58171
58173
|
var point2=
|
|
@@ -58178,19 +58180,22 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
|
|
|
58178
58180
|
[
|
|
58179
58181
|
//{Date:20190916, Time: Value:15.5, Value2:0 },
|
|
58180
58182
|
],
|
|
58181
|
-
Width:10
|
|
58183
|
+
//Width:10
|
|
58182
58184
|
};
|
|
58183
58185
|
|
|
58184
58186
|
for(var i=0;i<kData.Data.length;++i)
|
|
58185
58187
|
{
|
|
58186
58188
|
var item=kData.Data[i];
|
|
58187
|
-
point.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.High});
|
|
58188
|
-
point2.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.Low});
|
|
58189
|
+
///point.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.High});
|
|
58190
|
+
///point2.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.Low});
|
|
58191
|
+
|
|
58192
|
+
point.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2+HQData.GetRandomTestData(2,10), Value2:item.High});
|
|
58193
|
+
point2.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2-HQData.GetRandomTestData(2,10), Value2:item.Low});
|
|
58189
58194
|
}
|
|
58190
58195
|
|
|
58191
58196
|
|
|
58192
58197
|
|
|
58193
|
-
|
|
58198
|
+
barData.Draw.DrawData.push(point);
|
|
58194
58199
|
barData.Draw.DrawData.push(point2);
|
|
58195
58200
|
|
|
58196
58201
|
var apiData=
|
|
@@ -58372,9 +58377,6 @@ HQData.APIIndex_DRAWKLINE=function(data, callback)
|
|
|
58372
58377
|
IsShowTitle:true,
|
|
58373
58378
|
};
|
|
58374
58379
|
|
|
58375
|
-
|
|
58376
|
-
var textData={ name:"", type:10, color:"rgb(148,0,211)", data:[], isshow:false }; //名字
|
|
58377
|
-
|
|
58378
58380
|
var aryDate=[];
|
|
58379
58381
|
var aryTime=[];
|
|
58380
58382
|
for(var i=100;i<kData.Data.length-100;++i)
|
|
@@ -58396,15 +58398,13 @@ HQData.APIIndex_DRAWKLINE=function(data, callback)
|
|
|
58396
58398
|
|
|
58397
58399
|
aryDate.push(kItem.Date);
|
|
58398
58400
|
aryTime.push(kItem.Time);
|
|
58399
|
-
|
|
58400
|
-
textData.data.push(kItem.YClose.toFixed(2));
|
|
58401
58401
|
}
|
|
58402
58402
|
|
|
58403
58403
|
var apiData=
|
|
58404
58404
|
{
|
|
58405
58405
|
code:0,
|
|
58406
58406
|
stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
|
|
58407
|
-
outdata: { date:aryDate, time:aryTime, outvar:[
|
|
58407
|
+
outdata: { date:aryDate, time:aryTime, outvar:[ klineData] }
|
|
58408
58408
|
};
|
|
58409
58409
|
|
|
58410
58410
|
console.log('[HQData.APIIndex_DRAWKLINE] apiData ', apiData);
|
|
@@ -58412,6 +58412,48 @@ HQData.APIIndex_DRAWKLINE=function(data, callback)
|
|
|
58412
58412
|
}
|
|
58413
58413
|
|
|
58414
58414
|
|
|
58415
|
+
HQData.APIIndex_TITLE=function(data, callback)
|
|
58416
|
+
{
|
|
58417
|
+
data.PreventDefault=true;
|
|
58418
|
+
var hqchart=data.HQChart;
|
|
58419
|
+
var kData=hqchart.GetKData();
|
|
58420
|
+
|
|
58421
|
+
var textData={ name:"标题", type:10, color:"rgb(0,128,128)", data:[], }; //名字
|
|
58422
|
+
var closeData={ name:"收盘价", type:0, color:"rgb(255,165,0)", data:[] } ; //
|
|
58423
|
+
|
|
58424
|
+
var aryDate=[];
|
|
58425
|
+
var aryTime=[];
|
|
58426
|
+
for(var i=0;i<kData.Data.length-30;++i)
|
|
58427
|
+
{
|
|
58428
|
+
var kItem=kData.Data[i];
|
|
58429
|
+
|
|
58430
|
+
closeData.data.push(kItem.Close);
|
|
58431
|
+
|
|
58432
|
+
textData.data.push(
|
|
58433
|
+
[
|
|
58434
|
+
{ Name:`收`, Text:`${kItem.Close.toFixed(2)}`, Color:"rgb(200,10,10)",},
|
|
58435
|
+
{ Name:`开`, Text:`${kItem.Open.toFixed(2)}`, Color:"rgb(0,200,10)", LeftSpace:2 }
|
|
58436
|
+
]);
|
|
58437
|
+
|
|
58438
|
+
//textData.data.push(`价格:${kItem.Close.toFixed(2)}`);
|
|
58439
|
+
|
|
58440
|
+
aryDate.push(kItem.Date);
|
|
58441
|
+
aryTime.push(kItem.Time);
|
|
58442
|
+
}
|
|
58443
|
+
|
|
58444
|
+
|
|
58445
|
+
var apiData=
|
|
58446
|
+
{
|
|
58447
|
+
code:0,
|
|
58448
|
+
stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
|
|
58449
|
+
outdata: { date:aryDate, time:aryTime, outvar:[ textData, closeData] }
|
|
58450
|
+
};
|
|
58451
|
+
|
|
58452
|
+
console.log('[HQData.APIIndex_TITLE] apiData ', apiData);
|
|
58453
|
+
callback(apiData);
|
|
58454
|
+
}
|
|
58455
|
+
|
|
58456
|
+
|
|
58415
58457
|
|
|
58416
58458
|
|
|
58417
58459
|
/*暴露外部用的方法*/
|