hqchart 1.1.14125 → 1.1.14128
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 +68 -12
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogTooltip.js +21 -2
- package/src/jscommon/umychart.complier.js +186 -0
- package/src/jscommon/umychart.js +138 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +325 -1
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +346 -3
|
@@ -39386,6 +39386,136 @@ function ChartDrawNumber()
|
|
|
39386
39386
|
}
|
|
39387
39387
|
}
|
|
39388
39388
|
|
|
39389
|
+
function ChartDrawLastBarText()
|
|
39390
|
+
{
|
|
39391
|
+
this.newMethod=IChartPainting; //派生
|
|
39392
|
+
this.newMethod();
|
|
39393
|
+
delete this.newMethod;
|
|
39394
|
+
|
|
39395
|
+
this.ClassName='ChartDrawLastBarText'; //类名
|
|
39396
|
+
this.LastBarItem=null;
|
|
39397
|
+
|
|
39398
|
+
this.TextSize=
|
|
39399
|
+
{
|
|
39400
|
+
Max: g_JSChartResource.DRAWICON.Text.MaxSize, Min:g_JSChartResource.DRAWICON.Text.MinSize, //字体的最大最小值
|
|
39401
|
+
Zoom:{ Type:g_JSChartResource.DRAWICON.Text.Zoom.Type , Value:g_JSChartResource.DRAWICON.Text.Zoom.Value }, //放大倍数
|
|
39402
|
+
FontName:g_JSChartResource.DRAWICON.Text.FontName,
|
|
39403
|
+
YOffset:g_JSChartResource.DRAWICON.Text.YOffset
|
|
39404
|
+
}
|
|
39405
|
+
|
|
39406
|
+
this.IconSize=
|
|
39407
|
+
{
|
|
39408
|
+
Max: g_JSChartResource.DRAWICON.Icon.MaxSize, Min:g_JSChartResource.DRAWICON.Icon.MinSize, //图标的最大最小值
|
|
39409
|
+
Zoom:{ Type:g_JSChartResource.DRAWICON.Icon.Zoom.Type , Value:g_JSChartResource.DRAWICON.Icon.Zoom.Value }, //放大倍数
|
|
39410
|
+
YOffset:g_JSChartResource.DRAWICON.Icon.YOffset //Direction==2的向下偏移
|
|
39411
|
+
};
|
|
39412
|
+
|
|
39413
|
+
this.IconFamily=g_JSChartResource.DRAWLASTICON.Family;
|
|
39414
|
+
|
|
39415
|
+
this.ReloadResource=function(resource)
|
|
39416
|
+
{
|
|
39417
|
+
this.TextSize=
|
|
39418
|
+
{
|
|
39419
|
+
Max: g_JSChartResource.DRAWTEXT.MaxSize, Min:g_JSChartResource.DRAWTEXT.MinSize, //字体的最大最小值
|
|
39420
|
+
Zoom:{ Type:g_JSChartResource.DRAWTEXT.Zoom.Type , Value:g_JSChartResource.DRAWTEXT.Zoom.Value }, //放大倍数
|
|
39421
|
+
FontName:g_JSChartResource.DRAWTEXT.FontName,
|
|
39422
|
+
};
|
|
39423
|
+
|
|
39424
|
+
this.IconSize=
|
|
39425
|
+
{
|
|
39426
|
+
Max: g_JSChartResource.DRAWICON.Icon.MaxSize, Min:g_JSChartResource.DRAWICON.Icon.MinSize, //图标的最大最小值
|
|
39427
|
+
Zoom:{ Type:g_JSChartResource.DRAWICON.Icon.Zoom.Type , Value:g_JSChartResource.DRAWICON.Icon.Zoom.Value }, //放大倍数
|
|
39428
|
+
};
|
|
39429
|
+
|
|
39430
|
+
this.IconFamily=g_JSChartResource.DRAWLASTICON.Family;
|
|
39431
|
+
}
|
|
39432
|
+
|
|
39433
|
+
this.Draw=function()
|
|
39434
|
+
{
|
|
39435
|
+
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
39436
|
+
if (this.IsShowIndexTitleOnly()) return;
|
|
39437
|
+
if (this.IsHideScriptIndex()) return;
|
|
39438
|
+
if (!this.LastBarItem) return;
|
|
39439
|
+
if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
|
|
39440
|
+
|
|
39441
|
+
this.IsHScreen=(this.ChartFrame.IsHScreen===true);
|
|
39442
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
39443
|
+
var offset=this.Data.DataOffset;
|
|
39444
|
+
var index=offset+xPointCount;
|
|
39445
|
+
if (index<this.Data.Data.length) return;
|
|
39446
|
+
var lastIndex=(this.Data.Data.length-1)-offset;
|
|
39447
|
+
var x=this.ChartFrame.GetXFromIndex(lastIndex);
|
|
39448
|
+
var item=this.LastBarItem;
|
|
39449
|
+
|
|
39450
|
+
if (item.Value=="Top") y=top;
|
|
39451
|
+
else if (item.Value=="Bottom") y=bottom;
|
|
39452
|
+
else y=this.ChartFrame.GetYFromData(item.Value, false);
|
|
39453
|
+
if (IFrameSplitOperator.IsNumber(item.YOffset)) y+=item.YOffset; //Y轴偏移
|
|
39454
|
+
if (IFrameSplitOperator.IsNumber(item.XOffset)) x+=item.XOffset;
|
|
39455
|
+
|
|
39456
|
+
this.Canvas.save();
|
|
39457
|
+
this.ClipClient(this.IsHScreen);
|
|
39458
|
+
|
|
39459
|
+
//文本
|
|
39460
|
+
if (item.Text) this.DrawLastText(item, x, y);
|
|
39461
|
+
else if (item.Icon) this.DrawLastIcon(item, x, y);
|
|
39462
|
+
|
|
39463
|
+
this.Canvas.restore();
|
|
39464
|
+
}
|
|
39465
|
+
|
|
39466
|
+
this.DrawLastText=function(item,x,y)
|
|
39467
|
+
{
|
|
39468
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
39469
|
+
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
39470
|
+
var font=this.GetDynamicFont(dataWidth,distanceWidth,this.TextSize.Max,this.TextSize.Min,this.TextSize.Zoom,this.TextSize.FontName);
|
|
39471
|
+
|
|
39472
|
+
var textBaseline='bottom';
|
|
39473
|
+
if (item.TextBaseline) textBaseline=item.TextBaseline;
|
|
39474
|
+
var textAlign="center";
|
|
39475
|
+
if (item.TextAlign) textAlign=item.TextAlign;
|
|
39476
|
+
|
|
39477
|
+
this.Canvas.font=font;
|
|
39478
|
+
this.Canvas.textBaseline=textBaseline;
|
|
39479
|
+
this.Canvas.textAlign=textAlign;
|
|
39480
|
+
this.Canvas.fillStyle = item.Color;
|
|
39481
|
+
this.Canvas.fillText(item.Text, x, y);
|
|
39482
|
+
}
|
|
39483
|
+
|
|
39484
|
+
this.DrawLastIcon=function(item,x,y)
|
|
39485
|
+
{
|
|
39486
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
39487
|
+
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
39488
|
+
var iconSize=this.GetDynamicIconSize(dataWidth,distanceWidth,this.IconSize.Max,this.IconSize.Min,this.IconSize.Zoom);
|
|
39489
|
+
var font=`${iconSize}px ${this.IconFamily}`;
|
|
39490
|
+
|
|
39491
|
+
var textBaseline='bottom';
|
|
39492
|
+
if (item.TextBaseline) textBaseline=item.TextBaseline;
|
|
39493
|
+
var textAlign="center";
|
|
39494
|
+
if (item.TextAlign) textAlign=item.TextAlign;
|
|
39495
|
+
|
|
39496
|
+
this.Canvas.font=font;
|
|
39497
|
+
this.Canvas.textBaseline=textBaseline;
|
|
39498
|
+
this.Canvas.textAlign=textAlign;
|
|
39499
|
+
this.Canvas.fillStyle = item.Color;
|
|
39500
|
+
this.Canvas.fillText(item.Icon.Symbol, x, y);
|
|
39501
|
+
}
|
|
39502
|
+
|
|
39503
|
+
this.GetMaxMin=function()
|
|
39504
|
+
{
|
|
39505
|
+
var range={ Min:null, Max:null };
|
|
39506
|
+
if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return range;
|
|
39507
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
39508
|
+
var offset=this.Data.DataOffset;
|
|
39509
|
+
var index=offset+xPointCount;
|
|
39510
|
+
if (index<this.Data.Data.length) return range;
|
|
39511
|
+
if (!this.LastBarItem) return range;
|
|
39512
|
+
|
|
39513
|
+
if (IFrameSplitOperator.IsNumber(this.LastBarItem.Value)) range.Max=range.Min=this.LastBarItem.Value;
|
|
39514
|
+
|
|
39515
|
+
return range;
|
|
39516
|
+
}
|
|
39517
|
+
}
|
|
39518
|
+
|
|
39389
39519
|
//直线 水平直线 只有1个数据
|
|
39390
39520
|
function ChartStraightLine()
|
|
39391
39521
|
{
|
|
@@ -73615,6 +73745,11 @@ function JSChartResource()
|
|
|
73615
73745
|
Color:"rgb(255,165,0)"
|
|
73616
73746
|
}
|
|
73617
73747
|
|
|
73748
|
+
this.DRAWLASTICON=
|
|
73749
|
+
{
|
|
73750
|
+
Family:'iconfont',
|
|
73751
|
+
}
|
|
73752
|
+
|
|
73618
73753
|
this.POINTDOT=
|
|
73619
73754
|
{
|
|
73620
73755
|
Radius:2*GetDevicePixelRatio()
|
|
@@ -77216,6 +77351,9 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
77216
77351
|
this.Canvas.rect(this.Frame.ChartBorder.GetLeft(),this.Frame.ChartBorder.GetTop(),this.Frame.ChartBorder.GetWidth(),this.Frame.ChartBorder.GetHeight());
|
|
77217
77352
|
isInClient=this.Canvas.isPointInPath(x,y);
|
|
77218
77353
|
|
|
77354
|
+
//PC触摸板双指缩放时deltaY数值在[-20,20]之间
|
|
77355
|
+
if (IFrameSplitOperator.IsNumber(e.deltaY) && Math.abs(e.deltaY)<90) return;
|
|
77356
|
+
|
|
77219
77357
|
var wheelValue=e.wheelDelta;
|
|
77220
77358
|
if (!IFrameSplitOperator.IsObjectExist(e.wheelDelta))
|
|
77221
77359
|
wheelValue=e.deltaY* -0.01;
|
|
@@ -110404,6 +110542,105 @@ function JSDraw(errorHandler,symbolData)
|
|
|
110404
110542
|
|
|
110405
110543
|
return result;
|
|
110406
110544
|
}
|
|
110545
|
+
|
|
110546
|
+
|
|
110547
|
+
///////////////////////////////////////////////////////////////////////////////////
|
|
110548
|
+
//DRAWLASTBARICON :在最后一根k线绘制图标。
|
|
110549
|
+
//用法:DRAWLASTBARICON(PRICE,ICON);
|
|
110550
|
+
//最后一根k线,在PRICE位置画图标ICON。
|
|
110551
|
+
//
|
|
110552
|
+
//注:
|
|
110553
|
+
//1、该函数可以指定位置PRICE标注图标ICON
|
|
110554
|
+
//2、ICON位置可以写成'ICON'的形式,也可以写为数字的形式,即DRAWLASTBARICON(PRICE,'ICO1');等价于DRAWLASTBARICON(PRICE,1);
|
|
110555
|
+
//3、不支持将该函数定义为变量,即不支持下面的写法:
|
|
110556
|
+
//A:DRAWLASTBARICON(PRICE,ICON);
|
|
110557
|
+
//4、该函数可以用ALIGN,VALIGN设置图标的对齐方式。
|
|
110558
|
+
//例1:
|
|
110559
|
+
//DRAWLASTBARICON(LOW,'ICO1');//在最后一根k线最低价上画出图标ICON1。
|
|
110560
|
+
//例2:
|
|
110561
|
+
//MA5:=MA(C,5);
|
|
110562
|
+
//DRAWLASTBARICON(MA5,2);//表示在最后一根k线对应的MA5数值位置上画出图标ICON2。
|
|
110563
|
+
|
|
110564
|
+
this.DRAWLASTBARICON=function(data, type)
|
|
110565
|
+
{
|
|
110566
|
+
if (IFrameSplitOperator.IsString(type)) //把ICO1=>1
|
|
110567
|
+
{
|
|
110568
|
+
var value=type.replace('ICO',"");
|
|
110569
|
+
type=parseInt(value);
|
|
110570
|
+
}
|
|
110571
|
+
|
|
110572
|
+
var icon=g_JSComplierResource.GetDrawIcon(type);
|
|
110573
|
+
if (!icon) g_JSComplierResource.GetDrawTextIcon(type);
|
|
110574
|
+
if (!icon) icon={ Symbol:'🚩'};
|
|
110575
|
+
|
|
110576
|
+
var drawItem={ Value:null, Icon:icon, IconType:type };
|
|
110577
|
+
if (IFrameSplitOperator.IsNonEmptyArray(data)) drawItem.Value=data[data.length-1];
|
|
110578
|
+
else drawItem.Value=data;
|
|
110579
|
+
|
|
110580
|
+
var result={ DrawData:drawItem, DrawType:'DRAWLASTBARICON' };
|
|
110581
|
+
|
|
110582
|
+
return result;
|
|
110583
|
+
}
|
|
110584
|
+
|
|
110585
|
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
110586
|
+
//DRAWLASTBARTEXT:显在最后一根k线显示文字。
|
|
110587
|
+
//用法:DRAWLASTBARTEXT(PRICE,TEXT);
|
|
110588
|
+
//最后一根k线,在PRICE位置书写文字TEXT。
|
|
110589
|
+
//注:
|
|
110590
|
+
//1、显示的汉字用单引号标注
|
|
110591
|
+
//2、可以设置文字显示的对齐方式,字体大小以及文字的颜色,即支持下面的写法:
|
|
110592
|
+
//DRAWLASTBARTEXT(PRICE,TEXT),COLOR,ALIGN,VALIGN;
|
|
110593
|
+
//例1:
|
|
110594
|
+
//DRAWLASTBARTEXT(LOW,'注');//
|
|
110595
|
+
//最后一根k线,在最低价上写"注"字。
|
|
110596
|
+
//例2:
|
|
110597
|
+
//DRAWLASTBARTEXT(LOW,'低'),ALIGN0,FONTSIZE16,COLORRED;//在最后一根k线,在最低价写"低"字,文字左对齐,字体大小为16,文字颜色为红色。
|
|
110598
|
+
|
|
110599
|
+
this.DRAWLASTBARTEXT=function(data, text)
|
|
110600
|
+
{
|
|
110601
|
+
var drawItem={ Value:null, Text:text };
|
|
110602
|
+
if (IFrameSplitOperator.IsNonEmptyArray(data)) drawItem.Value=data[data.length-1];
|
|
110603
|
+
else drawItem.Value=data;
|
|
110604
|
+
|
|
110605
|
+
var result={ DrawData:drawItem, DrawType:'DRAWLASTBARTEXT' };
|
|
110606
|
+
|
|
110607
|
+
return result;
|
|
110608
|
+
}
|
|
110609
|
+
|
|
110610
|
+
/////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
110611
|
+
//DRAWLASTBARNUMBER:在最后一根k线输出数值。
|
|
110612
|
+
//用法:DRAWLASTBARNUMBER(DATA,NUMBER,PRECISION,COLOR);
|
|
110613
|
+
//最后一根k线在DATA位置写数字NUMBER。PRECISION为精度(小数点后有几位数字)。COLOR为颜色。
|
|
110614
|
+
//注:
|
|
110615
|
+
//该函数支持在函数后设置文字的大小和文字对齐方式。即支持下面的写法:
|
|
110616
|
+
//DRAWLASTBARNUMBER(DATA,NUMBER,PRECISION,COLOR),ALIGN,VALIGN;
|
|
110617
|
+
//例1:
|
|
110618
|
+
//DRAWLASTBARNUMBER(HIGH,(CLOSE-OPEN)/OPEN*100,2,COLORRED);//最后一根k线在最高价位置红色显示涨幅数值(相对开盘价的百分比,精确2位小数)。
|
|
110619
|
+
//例2:
|
|
110620
|
+
//DRAWLASTBARNUMBER(L,REF(C,1),2,COLORRED),ALIGN0,VALIGN0;//表示最后一根k线的最低价处以红色显示昨收盘价数值(精确2位小数),标注文字居左,居上对齐。
|
|
110621
|
+
|
|
110622
|
+
this.DRAWLASTBARNUMBER=function(data,value,dec,color)
|
|
110623
|
+
{
|
|
110624
|
+
var drawItem={ Value:null, Text:null, Color:color };
|
|
110625
|
+
if (IFrameSplitOperator.IsNonEmptyArray(data)) drawItem.Value=data[data.length-1];
|
|
110626
|
+
else drawItem.Value=data;
|
|
110627
|
+
|
|
110628
|
+
var precision=2;
|
|
110629
|
+
if (IFrameSplitOperator.IsNumber(dec)) precision=parseInt(dec);
|
|
110630
|
+
if (IFrameSplitOperator.IsNumber(value))
|
|
110631
|
+
{
|
|
110632
|
+
drawItem.Text=value.toFixed(precision);
|
|
110633
|
+
}
|
|
110634
|
+
else if (IFrameSplitOperator.IsNonEmptyArray(value))
|
|
110635
|
+
{
|
|
110636
|
+
var lastValue=value[value.length-1];
|
|
110637
|
+
if (IFrameSplitOperator.IsNumber(lastValue)) drawItem.Text=lastValue.toFixed(precision);
|
|
110638
|
+
}
|
|
110639
|
+
|
|
110640
|
+
var result={ DrawData:drawItem, DrawType:'DRAWLASTBARNUMBER' };
|
|
110641
|
+
|
|
110642
|
+
return result;
|
|
110643
|
+
}
|
|
110407
110644
|
}
|
|
110408
110645
|
|
|
110409
110646
|
|
|
@@ -110458,6 +110695,7 @@ JSDraw.prototype.IsDrawFunction=function(name)
|
|
|
110458
110695
|
'DRAWOVERLAYLINE',"FILLRGN", "FILLRGN2","FILLTOPRGN", "FILLBOTTOMRGN", "FILLVERTICALRGN","FLOATRGN","DRAWSL", "DRAWGBK2","DRAWGBK_DIV",
|
|
110459
110696
|
"VERTLINE","HORLINE","TIPICON",
|
|
110460
110697
|
"BUY","SELL","SELLSHORT","BUYSHORT",
|
|
110698
|
+
"DRAWLASTBARICON","DRAWLASTBARNUMBER", "DRAWLASTBARTEXT",
|
|
110461
110699
|
]);
|
|
110462
110700
|
if (setFunctionName.has(name)) return true;
|
|
110463
110701
|
|
|
@@ -115740,6 +115978,7 @@ function JSExecute(ast,option)
|
|
|
115740
115978
|
["OFFERCANCELVOL", null], //累计总有效撤卖量,专业版等(资金流向功能)沪深京品种行情专用 累计总有效委卖量-累计总有效撤卖量=总卖+总成交量
|
|
115741
115979
|
["AVGOFFERPX", null], //专业版等(资金流向功能)沪深京品种行情专用:最新委卖均价
|
|
115742
115980
|
//["", null],
|
|
115981
|
+
|
|
115743
115982
|
]);
|
|
115744
115983
|
|
|
115745
115984
|
this.SymbolData=new JSSymbolData(this.AST,option,this);
|
|
@@ -117196,6 +117435,20 @@ function JSExecute(ast,option)
|
|
|
117196
117435
|
node.Draw=this.Draw.HORLINE(args[0],args[1],args[2],args[3]);
|
|
117197
117436
|
node.Out=node.Draw.DrawData.Data;
|
|
117198
117437
|
break;
|
|
117438
|
+
|
|
117439
|
+
case "DRAWLASTBARICON":
|
|
117440
|
+
node.Draw=this.Draw.DRAWLASTBARICON(args[0],args[1]);
|
|
117441
|
+
node.Out=[];
|
|
117442
|
+
break;
|
|
117443
|
+
case "DRAWLASTBARNUMBER":
|
|
117444
|
+
node.Draw=this.Draw.DRAWLASTBARNUMBER(args[0],args[1],args[2],args[3]);
|
|
117445
|
+
node.Out=[];
|
|
117446
|
+
break;
|
|
117447
|
+
case "DRAWLASTBARTEXT":
|
|
117448
|
+
node.Draw=this.Draw.DRAWLASTBARTEXT(args[0],args[1]);
|
|
117449
|
+
node.Out=[];
|
|
117450
|
+
break;
|
|
117451
|
+
|
|
117199
117452
|
case 'CODELIKE':
|
|
117200
117453
|
node.Out=this.SymbolData.CODELIKE(args[0]);
|
|
117201
117454
|
break;
|
|
@@ -117608,6 +117861,22 @@ function JSExplainer(ast,option)
|
|
|
117608
117861
|
["OFFERCANCELVOL", "累计总有效撤卖量"],
|
|
117609
117862
|
["AVGOFFERPX", "最新委卖均价"],
|
|
117610
117863
|
|
|
117864
|
+
['COLORBLACK','黑色'],
|
|
117865
|
+
['COLORBLUE','蓝色'],
|
|
117866
|
+
['COLORGREEN','绿色'],
|
|
117867
|
+
['COLORCYAN','青色'],
|
|
117868
|
+
['COLORRED','红色'],
|
|
117869
|
+
['COLORMAGENTA','洋红色'],
|
|
117870
|
+
['COLORBROWN','棕色'],
|
|
117871
|
+
['COLORLIGRAY','淡灰色'],
|
|
117872
|
+
['COLORGRAY','深灰色'],
|
|
117873
|
+
['COLORLIBLUE','淡蓝色'],
|
|
117874
|
+
['COLORLIGREEN','淡绿色'],
|
|
117875
|
+
['COLORLICYAN','淡青色'],
|
|
117876
|
+
['COLORLIRED','淡红色'],
|
|
117877
|
+
['COLORLIMAGENTA','淡洋红色'],
|
|
117878
|
+
['COLORWHITE','白色'],
|
|
117879
|
+
['COLORYELLOW','黄色']
|
|
117611
117880
|
]);
|
|
117612
117881
|
|
|
117613
117882
|
if (option)
|
|
@@ -118309,6 +118578,12 @@ function JSExplainer(ast,option)
|
|
|
118309
118578
|
case "BUYSHORT":
|
|
118310
118579
|
return "买入平仓";
|
|
118311
118580
|
|
|
118581
|
+
case "DRAWLASTBARNUMBER":
|
|
118582
|
+
return "在最后一根k线输出数值";
|
|
118583
|
+
case "DRAWLASTBARTEXT":
|
|
118584
|
+
return "在最后一根k线显示文字";
|
|
118585
|
+
case "DRAWLASTBARICON":
|
|
118586
|
+
return "在最后一根k线绘制图标";
|
|
118312
118587
|
case "YMOVE":
|
|
118313
118588
|
return;
|
|
118314
118589
|
case "BACKGROUND":
|
|
@@ -120480,6 +120755,49 @@ function ScriptIndex(name,script,args,option)
|
|
|
120480
120755
|
hqChart.ChartPaint.push(chart);
|
|
120481
120756
|
}
|
|
120482
120757
|
|
|
120758
|
+
this.CreateDrawLastBarText=function(hqChart,windowIndex,varItem,id)
|
|
120759
|
+
{
|
|
120760
|
+
var chart=new ChartDrawLastBarText();
|
|
120761
|
+
chart.Canvas=hqChart.Canvas;
|
|
120762
|
+
chart.Name=varItem.Name;
|
|
120763
|
+
chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;
|
|
120764
|
+
chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;
|
|
120765
|
+
|
|
120766
|
+
if (hqChart.ChartPaint[0].IsMinuteFrame())
|
|
120767
|
+
chart.Data=hqChart.SourceData;
|
|
120768
|
+
else
|
|
120769
|
+
chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
120770
|
+
|
|
120771
|
+
var lastItem=varItem.Draw.DrawData;
|
|
120772
|
+
if (lastItem)
|
|
120773
|
+
{
|
|
120774
|
+
if (lastItem.Color) lastItem.Color=this.GetColor(lastItem.Color);
|
|
120775
|
+
else lastItem.Color=this.GetDefaultColor(id);
|
|
120776
|
+
if (varItem.Color) lastItem.Color=this.GetColor(varItem.Color);
|
|
120777
|
+
|
|
120778
|
+
if (varItem.DrawVAlign>=0)
|
|
120779
|
+
{
|
|
120780
|
+
if (varItem.DrawVAlign==0) lastItem.TextBaseline='top';
|
|
120781
|
+
else if (varItem.DrawVAlign==1) lastItem.TextBaseline='middle';
|
|
120782
|
+
else if (varItem.DrawVAlign==2) lastItem.TextBaseline='bottom';
|
|
120783
|
+
}
|
|
120784
|
+
|
|
120785
|
+
if (varItem.DrawAlign>=0)
|
|
120786
|
+
{
|
|
120787
|
+
if (varItem.DrawAlign==0) lastItem.TextAlign="left";
|
|
120788
|
+
else if (varItem.DrawAlign==1) lastItem.TextAlign="center";
|
|
120789
|
+
else if (varItem.DrawAlign==2) lastItem.TextAlign='right';
|
|
120790
|
+
}
|
|
120791
|
+
|
|
120792
|
+
if (IFrameSplitOperator.IsNumber(varItem.YOffset)) lastItem.YOffset=varItem.YOffset;
|
|
120793
|
+
if (IFrameSplitOperator.IsNumber(varItem.XOffset)) lastItem.XOffset=varItem.XOffset;
|
|
120794
|
+
if (varItem.DrawFontSize>0) lastItem.FontSize=varItem.DrawFontSize;
|
|
120795
|
+
}
|
|
120796
|
+
|
|
120797
|
+
chart.LastBarItem=lastItem;
|
|
120798
|
+
hqChart.ChartPaint.push(chart);
|
|
120799
|
+
}
|
|
120800
|
+
|
|
120483
120801
|
//创建通道
|
|
120484
120802
|
this.CreateChannel=function(hqChart,windowIndex,varItem,id)
|
|
120485
120803
|
{
|
|
@@ -121076,6 +121394,12 @@ function ScriptIndex(name,script,args,option)
|
|
|
121076
121394
|
this.CreateTradeIcon(hqChart,windowIndex,item,i);
|
|
121077
121395
|
break;
|
|
121078
121396
|
|
|
121397
|
+
case "DRAWLASTBARICON":
|
|
121398
|
+
case "DRAWLASTBARNUMBER":
|
|
121399
|
+
case "DRAWLASTBARTEXT":
|
|
121400
|
+
this.CreateDrawLastBarText(hqChart,windowIndex,item,i);
|
|
121401
|
+
break;
|
|
121402
|
+
|
|
121079
121403
|
case SCRIPT_CHART_NAME.OVERLAY_BARS:
|
|
121080
121404
|
this.CreateStackedBar(hqChart,windowIndex,item,i);
|
|
121081
121405
|
break;
|
|
@@ -145938,9 +146262,28 @@ function JSFloatTooltip()
|
|
|
145938
146262
|
|
|
145939
146263
|
var item=tooltipData.Data.Item;
|
|
145940
146264
|
var aryText=[];
|
|
146265
|
+
if (item && IFrameSplitOperator.IsObject(item.Text))
|
|
146266
|
+
{
|
|
146267
|
+
var tooltipData=item.Text;
|
|
146268
|
+
if (IFrameSplitOperator.IsNonEmptyArray(tooltipData.AryText))
|
|
146269
|
+
{
|
|
146270
|
+
for(var i=0;i<tooltipData.AryText.length;++i)
|
|
146271
|
+
{
|
|
146272
|
+
var tooltipItem=tooltipData.AryText[i];
|
|
146273
|
+
var textItem={ Title:tooltipItem.Title, Text:tooltipItem.Text, Color:this.ValueColor };
|
|
146274
|
+
if (tooltipItem.Color) textItem.Color=tooltipItem.Color;
|
|
146275
|
+
if (tooltipItem.Align=="Left") tooltipItem.ClassName=this.ValueAlign.Left;
|
|
145941
146276
|
|
|
145942
|
-
|
|
145943
|
-
|
|
146277
|
+
aryText.push(tooltipItem);
|
|
146278
|
+
}
|
|
146279
|
+
}
|
|
146280
|
+
}
|
|
146281
|
+
else
|
|
146282
|
+
{
|
|
146283
|
+
var rowItem={ Text:"", HTMLTitle:item.Text, Color:this.ValueColor, IsMergeCell:true };
|
|
146284
|
+
aryText.push(rowItem);
|
|
146285
|
+
}
|
|
146286
|
+
|
|
145944
146287
|
|
|
145945
146288
|
this.AryText=aryText;
|
|
145946
146289
|
this.UpdateTableDOM();
|
|
@@ -148619,7 +148962,7 @@ function HQChartScriptWorker()
|
|
|
148619
148962
|
|
|
148620
148963
|
|
|
148621
148964
|
|
|
148622
|
-
var HQCHART_VERSION="1.1.
|
|
148965
|
+
var HQCHART_VERSION="1.1.14127";
|
|
148623
148966
|
|
|
148624
148967
|
function PrintHQChartVersion()
|
|
148625
148968
|
{
|