hqchart 1.1.12433 → 1.1.12437
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 +4 -3
- package/package.json +1 -1
- package/src/jscommon/umychart.js +4 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +5 -1
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +5 -1
- package/src/jscommon/umychart.wechat/umychart.complier.wechat.js +35 -9
- package/src/jscommon/umychart.wechat/umychart.version.wechat.js +1 -1
package/lib/umychart.vue.js
CHANGED
|
@@ -1924,7 +1924,8 @@ this.Tooltip.style.position="absolute";this.Tooltip.style.left=left+"px";this.To
|
|
|
1924
1924
|
chartPaint.push(this.ChartPaint[i]);}for(var i=0;i<this.OverlayChartPaint.length;++i){chartPaint.push(this.OverlayChartPaint[i]);}var aryNotSupport=[];for(var i=0;i<chartPaint.length;++i){var paint=chartPaint[i];if(paint.NotSupportMessage){aryNotSupport.push(paint);continue;}var range=paint.GetMaxMin();if(range==null||range.Max==null||range.Min==null)continue;var frameItem=null;for(var j=0;j<frameMaxMinData.length;++j){if(frameMaxMinData[j].Frame==paint.ChartFrame){frameItem=frameMaxMinData[j];break;}}if(frameItem){if(frameItem.Range.Max<range.Max)frameItem.Range.Max=range.Max;if(frameItem.Range.Min>range.Min)frameItem.Range.Min=range.Min;}else{frameItem={OverlayFrame:[]};frameItem.Frame=paint.ChartFrame;frameItem.Range=range;frameMaxMinData.push(frameItem);}}//当前计算
|
|
1925
1925
|
for(var i=0;i<aryNotSupport.length;++i){var paint=aryNotSupport[i];var range={Max:10,Min:1};var frameItem=null;for(var j=0;j<frameMaxMinData.length;++j){if(frameMaxMinData[j].Frame==paint.ChartFrame){frameItem=frameMaxMinData[j];break;}}if(frameItem)continue;frameItem={OverlayFrame:[]};frameItem.Frame=paint.ChartFrame;frameItem.Range=range;frameMaxMinData.push(frameItem);}var mapFrame=new _map2.default();for(var i=0;i<frameMaxMinData.length;++i){var item=frameMaxMinData[i];mapFrame.set(item.Frame.Identify,item);}//叠加坐标Y轴使用主图指标, 最大最小值
|
|
1926
1926
|
for(var i=0;i<this.Frame.SubFrame.length;++i){var subFrame=this.Frame.SubFrame[i];for(var j=0;j<subFrame.OverlayIndex.length;++j){var overlayItem=subFrame.OverlayIndex[j];var overlayFrame=overlayItem.Frame;if(overlayFrame.IsShareY!=true)continue;if(!overlayFrame.MainFrame)continue;if(!mapFrame.has(overlayFrame.MainFrame.Identify))continue;var frameItem=mapFrame.get(overlayFrame.MainFrame.Identify);if(!frameItem)continue;frameItem.OverlayFrame.push(overlayFrame);if(overlayFrame.IsCalculateYMaxMin===false)continue;//叠加坐标Y轴不调整
|
|
1927
|
-
for(var k=0;k<overlayItem.ChartPaint.length;++k){var paint=overlayItem.ChartPaint[k];
|
|
1927
|
+
for(var k=0;k<overlayItem.ChartPaint.length;++k){var paint=overlayItem.ChartPaint[k];if(paint.IsShow==false)continue;//隐藏的图形不计算
|
|
1928
|
+
var range=paint.GetMaxMin();if(range==null||range.Max==null||range.Min==null)continue;if(frameItem.Range.Max<range.Max)frameItem.Range.Max=range.Max;if(frameItem.Range.Min>range.Min)frameItem.Range.Min=range.Min;}}}for(var i=0;i<frameMaxMinData.length;++i){var item=frameMaxMinData[i];if(!item.Frame||!item.Range)continue;if(item.Range.Max==null||item.Range.Min==null)continue;if(item.Frame.YSpecificMaxMin){item.Frame.HorizontalMax=item.Frame.YSpecificMaxMin.Max;item.Frame.HorizontalMin=item.Frame.YSpecificMaxMin.Min;}else{item.Frame.HorizontalMax=item.Range.Max;item.Frame.HorizontalMin=item.Range.Min;}item.Frame.XYSplit=true;for(var j in item.OverlayFrame){item.OverlayFrame[j].XYSplit=true;}}//更新独立子坐标
|
|
1928
1929
|
for(var i=0;i<this.Frame.SubFrame.length;++i){var subFrame=this.Frame.SubFrame[i];for(var j=0;j<subFrame.OverlayIndex.length;++j){var overlayItem=subFrame.OverlayIndex[j];if(overlayItem.Frame.IsShareY===true)continue;overlayItem.UpdateFrameMaxMin();}}};this.DataMoveLeft=function(){var data=null;if(!this.Frame.Data)data=this.Frame.Data;else data=this.Frame.SubFrame[0].Frame.Data;if(!data)return false;if(data.DataOffset<=0)return false;--data.DataOffset;return true;};this.DataMoveRight=function(){var data=null;if(!this.Frame.Data)data=this.Frame.Data;else data=this.Frame.SubFrame[0].Frame.Data;if(!data)return false;var xPointcount=0;if(this.Frame.XPointCount)xPointcount=this.Frame.XPointCount;else xPointcount=this.Frame.SubFrame[0].Frame.XPointCount;if(!xPointcount)return false;if(xPointcount+data.DataOffset>=data.Data.length)return false;++data.DataOffset;return true;};this.UpdataDataoffset=function(){var data=null;if(this.Frame.Data)data=this.Frame.Data;else data=this.Frame.SubFrame[0].Frame.Data;if(!data)return;for(var i in this.ChartPaint){var item=this.ChartPaint[i];if(!item.Data)continue;item.Data.DataOffset=data.DataOffset;}for(var i in this.OverlayChartPaint){var item=this.OverlayChartPaint[i];if(!item.Data)continue;item.Data.DataOffset=data.DataOffset;}//叠加指标当前显示的数据偏移
|
|
1929
1930
|
for(var i in this.Frame.SubFrame){var subFrame=this.Frame.SubFrame[i];for(var j in subFrame.OverlayIndex){var overlayItem=subFrame.OverlayIndex[j];for(var k in overlayItem.ChartPaint){var item=overlayItem.ChartPaint[k];if(!item.Data)continue;item.Data.DataOffset=data.DataOffset;}}}};this.GetMoveOneStepWidth=function(){if(IFrameSplitOperator.IsPlusNumber(this.StepPixel))return this.StepPixel;var pixelRatio=GetDevicePixelRatio();var mainFrame=this.Frame.SubFrame[0].Frame;var dataWidth=mainFrame.DataWidth;var distanceWidth=mainFrame.DistanceWidth;var oneStepWidth=this.StepPixel;var oneStepWidth=(dataWidth+distanceWidth)/pixelRatio;if(oneStepWidth<1)oneStepWidth=1;return oneStepWidth;};this.DataMove=function(step,isLeft){var oneStepWidth=this.GetMoveOneStepWidth();var moveStep=step;step=parseInt(step/oneStepWidth);//除以4个像素
|
|
1930
1931
|
if(step<=0)return false;var data=null;if(!this.Frame.Data)data=this.Frame.Data;else data=this.Frame.SubFrame[0].Frame.Data;if(!data)return false;var xPointcount=0;if(this.Frame.XPointCount)xPointcount=this.Frame.XPointCount;else xPointcount=this.Frame.SubFrame[0].Frame.XPointCount;if(!xPointcount)return false;if(this.Frame.SubFrame&&this.Frame.SubFrame.length>0&&this.Frame.SubFrame[0].Frame){var fristFrame=this.Frame.SubFrame[0].Frame;if(fristFrame.DataWidth<=1||fristFrame.DistanceWidth<=1)//K线在缩放很小的时候 移动加速
|
|
@@ -5044,7 +5045,7 @@ this.GetMultiDayBeforeOpenData=function(){if(!this.MultiDayBeforeOpenData||!IFra
|
|
|
5044
5045
|
var range=item.GetMaxMin();if(range.Max&&range.Max>max)max=range.Max;if(range.Min&&range.Min<min)min=range.Min;}if(this.SplitType==1&&this.LimitPrice){if(max<this.LimitPrice.Max)max=this.LimitPrice.Max;if(min>this.LimitPrice.Min)min=this.LimitPrice.Min;}if(IFrameSplitOperator.IsNumber(this.High)&&IFrameSplitOperator.IsNumber(this.Low)){if(max<this.High)max=this.High;if(min>this.Low)min=this.Low;}var range={Max:null,Min:null};if(this.IsAfterData&&this.AfterCloseData){this.GetCallAuctionMaxMin(this.AfterCloseData,range);}if(this.IsBeforeData&&this.BeforeOpenData){this.GetCallAuctionMaxMin(this.BeforeOpenData,range);}var multiDayBeforeOpenData=this.GetMultiDayBeforeOpenData();if(multiDayBeforeOpenData&&this.ChartBorder.MultiDayMinute.Count>1&&this.ChartBorder.MultiDayMinute.Left>0){for(var i=0;i<multiDayBeforeOpenData.length;++i){var dayItem=multiDayBeforeOpenData[i];this.GetCallAuctionMaxMin(dayItem,range);}}var multiDayAfterCloseData=this.GetMultiDayAfterCloseData();if(multiDayAfterCloseData&&this.ChartBorder.MultiDayMinute.Count>1&&this.ChartBorder.MultiDayMinute.Right>0){for(var i=0;i<multiDayAfterCloseData.length;++i){var dayItem=multiDayAfterCloseData[i];this.GetCallAuctionMaxMin(dayItem,range);}}if(IFrameSplitOperator.IsNumber(range.Max)&&max<range.Max)max=range.Max;if(IFrameSplitOperator.IsNumber(range.Min)&&min>range.Min)min=range.Min;//叠加指标
|
|
5045
5046
|
var overlayRange=this.GetOverlayMaxMin();if(overlayRange){if(IFrameSplitOperator.IsNumber(overlayRange.Max)&&overlayRange.Max>max)max=overlayRange.Max;if(IFrameSplitOperator.IsNumber(overlayRange.Min)&&overlayRange.Min<min)min=overlayRange.Min;}return{Max:max,Min:min};};//获取共享Y轴叠加指标最大,最小值
|
|
5046
5047
|
this.GetOverlayMaxMin=function(){if(!this.HQChart)return null;if(!this.HQChart.Frame||!this.HQChart.Frame.SubFrame)return null;var subFrame=this.HQChart.Frame.SubFrame[0];if(!subFrame)return null;if(!IFrameSplitOperator.IsNonEmptyArray(subFrame.OverlayIndex))return null;var range={Max:null,Min:null};for(var i=0;i<subFrame.OverlayIndex.length;++i){var item=subFrame.OverlayIndex[i];if(!item||!item.Frame)continue;var overlayFrame=item.Frame;if(overlayFrame.IsShareY!=true)continue;if(overlayFrame.IsCalculateYMaxMin===false)continue;//叠加坐标Y轴不调整
|
|
5047
|
-
for(var j=0;j<item.ChartPaint.length;++j){var paint=item.ChartPaint[j];var value=paint.GetMaxMin();if(value==null||value.Max==null||value.Min==null)continue;if(range.Max==null||range.Max<value.Max)range.Max=value.Max;if(range.Min==null||range.Min>value.Min)range.Min=value.Min;}}return range;};this.USASplit=function(range){var max=range.Max;var min=range.Min;if(max==min){max=max+max*0.1;min=min-min*0.1;}else{var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
5048
|
+
for(var j=0;j<item.ChartPaint.length;++j){var paint=item.ChartPaint[j];if(paint.IsShow==false)continue;var value=paint.GetMaxMin();if(value==null||value.Max==null||value.Min==null)continue;if(range.Max==null||range.Max<value.Max)range.Max=value.Max;if(range.Min==null||range.Min>value.Min)range.Min=value.Min;}}return range;};this.USASplit=function(range){var max=range.Max;var min=range.Min;if(max==min){max=max+max*0.1;min=min-min*0.1;}else{var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
5048
5049
|
var height=this.Frame.ChartBorder.GetHeight();//画布的高度
|
|
5049
5050
|
var spacePrice=5*pixelTatio*(max-min)/height;max+=spacePrice;min-=spacePrice;if(min<0)min=range.Min;}var showCount=this.SplitCount;var distance=(max-min)/(showCount-1);var minDistance=[1,0.1,0.01,0.001,0.0001];var defaultfloatPrecision=GetfloatPrecision(this.Symbol);if(distance<minDistance[defaultfloatPrecision]){distance=minDistance[defaultfloatPrecision];max=min+distance*showCount;//min=this.YClose-(distance*(showCount-1)/2);
|
|
5050
5051
|
}for(var i=0;i<showCount;++i){var price=min+distance*i;if(this.YClose&&price==this.YClose)continue;var coordinate=new CoordinateInfo();coordinate.Value=price;var strPrice=price.toFixed(defaultfloatPrecision);//价格刻度字符串
|
|
@@ -12468,7 +12469,7 @@ this.AreaColor=g_JSChartResource.ScrollBar.BGChart.AreaColor;//面积图颜色
|
|
|
12468
12469
|
};this.Draw=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.Canvas.save();if(this.LineWidth>0)this.Canvas.lineWidth=this.LineWidth*GetDevicePixelRatio();var bottom=this.ChartBorder.GetBottom();this.Canvas.strokeStyle=this.Color;var bFirstPoint=true;var drawCount=0,x,y;var firstPoint={};for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];var value=item.Close;if(!IFrameSplitOperator.IsNumber(value))continue;x=this.ChartFrame.GetXFromIndex(i);y=this.ChartFrame.GetYFromData(value);if(bFirstPoint){this.Canvas.beginPath();this.Canvas.moveTo(x,y);bFirstPoint=false;firstPoint={X:x,Y:y};}else{this.Canvas.lineTo(x,y);}++drawCount;}if(drawCount>0){this.Canvas.stroke();this.Canvas.lineTo(x,bottom);this.Canvas.lineTo(firstPoint.X,bottom);this.Canvas.closePath();this.Canvas.fillStyle=this.AreaColor;this.Canvas.fill();}this.Canvas.restore();};this.GetMaxMin=function(){var range={Max:null,Min:null};if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];var value=item.Close;if(!IFrameSplitOperator.IsNumber(value))continue;if(range.Max==null||range.Max<value)range.Max=value;if(range.Min==null||range.Min>value)range.Min=value;}return range;};}/********************************************************************************
|
|
12469
12470
|
* 版本信息输出
|
|
12470
12471
|
*
|
|
12471
|
-
*/var HQCHART_VERSION="1.1.
|
|
12472
|
+
*/var HQCHART_VERSION="1.1.12436";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
12472
12473
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
12473
12474
|
// BaseIndex:BaseIndex,
|
|
12474
12475
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -6692,6 +6692,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6692
6692
|
for(var k=0; k<overlayItem.ChartPaint.length; ++k)
|
|
6693
6693
|
{
|
|
6694
6694
|
var paint=overlayItem.ChartPaint[k];
|
|
6695
|
+
if (paint.IsShow==false)
|
|
6696
|
+
continue; //隐藏的图形不计算
|
|
6695
6697
|
var range=paint.GetMaxMin();
|
|
6696
6698
|
if (range==null || range.Max==null || range.Min==null) continue;
|
|
6697
6699
|
|
|
@@ -44322,6 +44324,8 @@ function FrameSplitMinutePriceY()
|
|
|
44322
44324
|
for(var j=0;j<item.ChartPaint.length; ++j)
|
|
44323
44325
|
{
|
|
44324
44326
|
var paint=item.ChartPaint[j];
|
|
44327
|
+
if (paint.IsShow==false) continue;
|
|
44328
|
+
|
|
44325
44329
|
var value=paint.GetMaxMin();
|
|
44326
44330
|
if (value==null || value.Max==null || value.Min==null) continue;
|
|
44327
44331
|
|
|
@@ -10772,6 +10772,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10772
10772
|
for(var k=0; k<overlayItem.ChartPaint.length; ++k)
|
|
10773
10773
|
{
|
|
10774
10774
|
var paint=overlayItem.ChartPaint[k];
|
|
10775
|
+
if (paint.IsShow==false)
|
|
10776
|
+
continue; //隐藏的图形不计算
|
|
10775
10777
|
var range=paint.GetMaxMin();
|
|
10776
10778
|
if (range==null || range.Max==null || range.Min==null) continue;
|
|
10777
10779
|
|
|
@@ -48402,6 +48404,8 @@ function FrameSplitMinutePriceY()
|
|
|
48402
48404
|
for(var j=0;j<item.ChartPaint.length; ++j)
|
|
48403
48405
|
{
|
|
48404
48406
|
var paint=item.ChartPaint[j];
|
|
48407
|
+
if (paint.IsShow==false) continue;
|
|
48408
|
+
|
|
48405
48409
|
var value=paint.GetMaxMin();
|
|
48406
48410
|
if (value==null || value.Max==null || value.Min==null) continue;
|
|
48407
48411
|
|
|
@@ -127637,7 +127641,7 @@ function ScrollBarBGChart()
|
|
|
127637
127641
|
|
|
127638
127642
|
|
|
127639
127643
|
|
|
127640
|
-
var HQCHART_VERSION="1.1.
|
|
127644
|
+
var HQCHART_VERSION="1.1.12436";
|
|
127641
127645
|
|
|
127642
127646
|
function PrintHQChartVersion()
|
|
127643
127647
|
{
|
|
@@ -10816,6 +10816,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10816
10816
|
for(var k=0; k<overlayItem.ChartPaint.length; ++k)
|
|
10817
10817
|
{
|
|
10818
10818
|
var paint=overlayItem.ChartPaint[k];
|
|
10819
|
+
if (paint.IsShow==false)
|
|
10820
|
+
continue; //隐藏的图形不计算
|
|
10819
10821
|
var range=paint.GetMaxMin();
|
|
10820
10822
|
if (range==null || range.Max==null || range.Min==null) continue;
|
|
10821
10823
|
|
|
@@ -48446,6 +48448,8 @@ function FrameSplitMinutePriceY()
|
|
|
48446
48448
|
for(var j=0;j<item.ChartPaint.length; ++j)
|
|
48447
48449
|
{
|
|
48448
48450
|
var paint=item.ChartPaint[j];
|
|
48451
|
+
if (paint.IsShow==false) continue;
|
|
48452
|
+
|
|
48449
48453
|
var value=paint.GetMaxMin();
|
|
48450
48454
|
if (value==null || value.Max==null || value.Min==null) continue;
|
|
48451
48455
|
|
|
@@ -127681,7 +127685,7 @@ function ScrollBarBGChart()
|
|
|
127681
127685
|
|
|
127682
127686
|
|
|
127683
127687
|
|
|
127684
|
-
var HQCHART_VERSION="1.1.
|
|
127688
|
+
var HQCHART_VERSION="1.1.12436";
|
|
127685
127689
|
|
|
127686
127690
|
function PrintHQChartVersion()
|
|
127687
127691
|
{
|
|
@@ -2499,13 +2499,27 @@ function JSAlgorithm(errorHandler, symbolData)
|
|
|
2499
2499
|
let result=[];
|
|
2500
2500
|
if (typeof(n)=='number')
|
|
2501
2501
|
{
|
|
2502
|
-
if (data
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2502
|
+
if (IFrameSplitOperator.IsNumber(data)) //单数值
|
|
2503
|
+
{
|
|
2504
|
+
if (n<0) return result;
|
|
2505
|
+
var kData=this.SymbolData.Data.Data;
|
|
2506
|
+
if (!kData || kData.length<=0) return result;
|
|
2507
|
+
var count=kData.length;
|
|
2508
|
+
for(var i=n;i<count;++i)
|
|
2509
|
+
{
|
|
2510
|
+
result[i]=data;
|
|
2511
|
+
}
|
|
2512
|
+
}
|
|
2513
|
+
else
|
|
2514
|
+
{
|
|
2515
|
+
if (data.length<=0) return result;
|
|
2516
|
+
if (n>=data.length) return result;
|
|
2517
|
+
|
|
2518
|
+
result=data.slice(0,data.length-n);
|
|
2519
|
+
|
|
2520
|
+
for(let i=0;i<n;++i)
|
|
2521
|
+
result.unshift(null);
|
|
2522
|
+
}
|
|
2509
2523
|
}
|
|
2510
2524
|
else //n 为数组的情况
|
|
2511
2525
|
{
|
|
@@ -3674,9 +3688,21 @@ function JSAlgorithm(errorHandler, symbolData)
|
|
|
3674
3688
|
{
|
|
3675
3689
|
if (n==0)
|
|
3676
3690
|
{
|
|
3677
|
-
|
|
3691
|
+
var start=-1;
|
|
3692
|
+
for(var i=0; i<data.length; ++i) //取第1个有效数
|
|
3693
|
+
{
|
|
3694
|
+
if (IFrameSplitOperator.IsNumber(data[i]))
|
|
3695
|
+
{
|
|
3696
|
+
start=i;
|
|
3697
|
+
break;
|
|
3698
|
+
}
|
|
3699
|
+
}
|
|
3700
|
+
|
|
3701
|
+
if (start<0) return result;
|
|
3702
|
+
|
|
3703
|
+
result[start]=data[start];
|
|
3678
3704
|
|
|
3679
|
-
for (var i=1; i<data.length; ++i)
|
|
3705
|
+
for (var i=start+1; i<data.length; ++i)
|
|
3680
3706
|
{
|
|
3681
3707
|
result[i] = result[i-1]+data[i];
|
|
3682
3708
|
}
|