hqchart 1.1.15258 → 1.1.15292
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 +187 -122
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +22 -0
- package/src/jscommon/umychart.complier.js +327 -43
- package/src/jscommon/umychart.js +370 -16
- package/src/jscommon/umychart.resource/js/codemirror/javascript.js +1 -1
- package/src/jscommon/umychart.testdata.js +22 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +698 -60
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +22 -0
- package/src/jscommon/umychart.vue/umychart.vue.js +698 -60
package/package.json
CHANGED
|
@@ -55636,6 +55636,7 @@ HQData.NetworkFilter=function(data, callback)
|
|
|
55636
55636
|
break;
|
|
55637
55637
|
|
|
55638
55638
|
case "JSSymbolData::GetFinance": //财务数据
|
|
55639
|
+
//HQChart使用教程30-K线图如何对接第3方数据23- FINANCE函数数据
|
|
55639
55640
|
HQData.Finance_RequestData(data,callback);
|
|
55640
55641
|
break;
|
|
55641
55642
|
|
|
@@ -55659,6 +55660,7 @@ HQData.NetworkFilter=function(data, callback)
|
|
|
55659
55660
|
HQData.BKJYOne_RequestData(data,callback);
|
|
55660
55661
|
break;
|
|
55661
55662
|
case "JSSymbolData::GetFinValue":
|
|
55663
|
+
//HQChart使用教程30-K线图如何对接第3方数据22- FINVALUE函数数据
|
|
55662
55664
|
HQData.FinValue_RequestData(data,callback);
|
|
55663
55665
|
break;
|
|
55664
55666
|
case "JSSymbolData::GetFinOne":
|
|
@@ -55666,9 +55668,15 @@ HQData.NetworkFilter=function(data, callback)
|
|
|
55666
55668
|
break;
|
|
55667
55669
|
|
|
55668
55670
|
case "JSSymbolData::GetIndexData":
|
|
55671
|
+
//HQChart使用教程30-K线图如何对接第3方数据28-大盘数据[INDEXA,INDEXC......]
|
|
55669
55672
|
HQData.INDEX_RequestData(data,callback);
|
|
55670
55673
|
break;
|
|
55671
55674
|
|
|
55675
|
+
case 'JSSymbolData::GetSymbolData':
|
|
55676
|
+
//HQChart使用教程30-K线图如何对接第3方数据38-通达信指标K线数据
|
|
55677
|
+
HQData.RequestSymbolData(data,callback); //计算指标需要的K线数据
|
|
55678
|
+
break;
|
|
55679
|
+
|
|
55672
55680
|
//////////////////////////////////////////////////////
|
|
55673
55681
|
//报价列表数据
|
|
55674
55682
|
case "JSReportChartContainer::RequestStockListData":
|
|
@@ -57316,6 +57324,20 @@ HQData.INDEX_RequestData=function(data,callback)
|
|
|
57316
57324
|
callback(hqchartData);
|
|
57317
57325
|
}
|
|
57318
57326
|
|
|
57327
|
+
HQData.RequestSymbolData=function(data,callback)
|
|
57328
|
+
{
|
|
57329
|
+
data.PreventDefault=true;
|
|
57330
|
+
var symbol=data.Request.Data.symbol;
|
|
57331
|
+
var period=data.Request.Data.period;
|
|
57332
|
+
//if (this.Chart.JSChartContainer.Symbol==symbol)
|
|
57333
|
+
{
|
|
57334
|
+
if (ChartData.IsDayPeriod(period, true))
|
|
57335
|
+
HQData.RequestHistoryData(data, callback);
|
|
57336
|
+
else if (ChartData.IsMinutePeriod(peirod, true))
|
|
57337
|
+
HQData.RequestHistoryMinuteData(data, callback);
|
|
57338
|
+
}
|
|
57339
|
+
}
|
|
57340
|
+
|
|
57319
57341
|
//////////////////////////////////////////////////////////////////////////////////////
|
|
57320
57342
|
// 报价列表
|
|
57321
57343
|
//
|
|
@@ -5137,22 +5137,50 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
5137
5137
|
this.FILTERX=function(data, n, node)
|
|
5138
5138
|
{
|
|
5139
5139
|
var result=[];
|
|
5140
|
-
|
|
5140
|
+
if (IFrameSplitOperator.IsNumber(n))
|
|
5141
5141
|
{
|
|
5142
|
-
|
|
5142
|
+
for(var i=data.length-1, j=0; i>=0; --i)
|
|
5143
5143
|
{
|
|
5144
|
-
|
|
5145
|
-
for(j=0;j<n && i-j-1>=0;++j)
|
|
5144
|
+
if (data[i])
|
|
5146
5145
|
{
|
|
5147
|
-
result[i
|
|
5146
|
+
result[i]=1;
|
|
5147
|
+
for(j=0;j<n && i-j-1>=0;++j)
|
|
5148
|
+
{
|
|
5149
|
+
result[i-j-1]=0;
|
|
5150
|
+
}
|
|
5151
|
+
i-=n;
|
|
5152
|
+
}
|
|
5153
|
+
else
|
|
5154
|
+
{
|
|
5155
|
+
result[i]=0;
|
|
5148
5156
|
}
|
|
5149
|
-
i+=n;
|
|
5150
5157
|
}
|
|
5151
|
-
|
|
5158
|
+
}
|
|
5159
|
+
else if (Array.isArray(n))
|
|
5160
|
+
{
|
|
5161
|
+
for(var i=data.length-1, j=0; i>=0; --i)
|
|
5152
5162
|
{
|
|
5153
|
-
|
|
5163
|
+
if (data[i])
|
|
5164
|
+
{
|
|
5165
|
+
result[i]=1;
|
|
5166
|
+
if (!IFrameSplitOperator.IsNumber(n[i])) continue;
|
|
5167
|
+
var period=parseInt(n[i]);
|
|
5168
|
+
if (period<=0) continue;
|
|
5169
|
+
|
|
5170
|
+
for(j=0;j<period && i-j-1>=0;++j)
|
|
5171
|
+
{
|
|
5172
|
+
result[i-j-1]=0;
|
|
5173
|
+
}
|
|
5174
|
+
|
|
5175
|
+
i-=period;
|
|
5176
|
+
}
|
|
5177
|
+
else
|
|
5178
|
+
{
|
|
5179
|
+
result[i]=0;
|
|
5180
|
+
}
|
|
5154
5181
|
}
|
|
5155
5182
|
}
|
|
5183
|
+
|
|
5156
5184
|
|
|
5157
5185
|
return result;
|
|
5158
5186
|
}
|
|
@@ -9590,6 +9618,7 @@ function JSDraw(errorHandler,symbolData)
|
|
|
9590
9618
|
return result;
|
|
9591
9619
|
}
|
|
9592
9620
|
|
|
9621
|
+
//只有条件==1 才显示文字
|
|
9593
9622
|
this.DRAWTEXT=function(condition,price,text)
|
|
9594
9623
|
{
|
|
9595
9624
|
let drawData=[];
|
|
@@ -9607,11 +9636,11 @@ function JSDraw(errorHandler,symbolData)
|
|
|
9607
9636
|
isFixedPosition=true;
|
|
9608
9637
|
}
|
|
9609
9638
|
|
|
9610
|
-
for(var i
|
|
9639
|
+
for(var i=0;i<condition.length;++i)
|
|
9611
9640
|
{
|
|
9612
9641
|
drawData[i]=null;
|
|
9613
9642
|
|
|
9614
|
-
if (
|
|
9643
|
+
if (condition[i]!==1) continue;
|
|
9615
9644
|
|
|
9616
9645
|
if (IsNumber || isFixedPosition)
|
|
9617
9646
|
{
|
|
@@ -9623,7 +9652,7 @@ function JSDraw(errorHandler,symbolData)
|
|
|
9623
9652
|
}
|
|
9624
9653
|
}
|
|
9625
9654
|
}
|
|
9626
|
-
else if (this.IsNumber(condition) && condition)
|
|
9655
|
+
else if (this.IsNumber(condition) && condition===1)
|
|
9627
9656
|
{
|
|
9628
9657
|
var IsNumber=this.IsNumber(price);
|
|
9629
9658
|
var isFixedPosition=false;
|
|
@@ -9649,20 +9678,21 @@ function JSDraw(errorHandler,symbolData)
|
|
|
9649
9678
|
return result;
|
|
9650
9679
|
}
|
|
9651
9680
|
|
|
9681
|
+
//1.固定位置显示文字;2.在指标排序中显示字符串栏目.
|
|
9682
|
+
//用法:DRAWTEXT_FIX(COND,X,Y,TYPE,TEXT),COND中一般需要加ISLASTBAR,当COND条件满足时,在当前指标窗口内(X,Y)位置书写文字TEXT,X,Y为书写点在窗口中相对于左上角的百分比,TYPE:0为左对齐,1为右对齐,2=居中.
|
|
9683
|
+
//例如:DRAWTEXT_FIX(ISLASTBAR AND CLOSE/OPEN>1.08,0.5,0.5,0,'大阳线')表示最后一个交易日实体阳线大于8%时在窗口中间位置显示'大阳线'字样.若文字中含有&,则进行折行.最多只能显示250个字符
|
|
9652
9684
|
this.DRAWTEXT_FIX=function(condition,x,y,type,text)
|
|
9653
9685
|
{
|
|
9654
9686
|
var drawData={ Value:[], Text:[] };
|
|
9655
9687
|
var result={DrawData:drawData, DrawType:'DRAWTEXT_FIX', Text:null, Position:{ X:x, Y:y, Type:type } };
|
|
9656
|
-
|
|
9657
|
-
|
|
9688
|
+
|
|
9658
9689
|
if (Array.isArray(condition))
|
|
9659
9690
|
{
|
|
9660
|
-
|
|
9661
|
-
for(var i in condition)
|
|
9691
|
+
for(var i=0; i<condition.length; ++i)
|
|
9662
9692
|
{
|
|
9663
9693
|
drawData.Text[i]=null;
|
|
9664
9694
|
drawData.Value[i]=0;
|
|
9665
|
-
if (
|
|
9695
|
+
if (condition[i]!==1) continue;
|
|
9666
9696
|
|
|
9667
9697
|
drawData.Value[i]=1;
|
|
9668
9698
|
drawData.Text[i]=text;
|
|
@@ -9670,7 +9700,7 @@ function JSDraw(errorHandler,symbolData)
|
|
|
9670
9700
|
}
|
|
9671
9701
|
else
|
|
9672
9702
|
{
|
|
9673
|
-
if(condition)
|
|
9703
|
+
if(condition===1)
|
|
9674
9704
|
{
|
|
9675
9705
|
for(var i=0;i<this.SymbolData.Data.Data.length;++i)
|
|
9676
9706
|
{
|
|
@@ -9811,6 +9841,17 @@ function JSDraw(errorHandler,symbolData)
|
|
|
9811
9841
|
let bSecondPont=false;
|
|
9812
9842
|
let lineCache={Start:{ },End:{ }, List:new Array()};
|
|
9813
9843
|
|
|
9844
|
+
function CopyLineData(aryDest, arySrc)
|
|
9845
|
+
{
|
|
9846
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(arySrc)) return;
|
|
9847
|
+
|
|
9848
|
+
for(var j=0; j<arySrc.length; ++j)
|
|
9849
|
+
{
|
|
9850
|
+
var item=arySrc[j];
|
|
9851
|
+
aryDest[item.ID]=item.Value;
|
|
9852
|
+
}
|
|
9853
|
+
}
|
|
9854
|
+
|
|
9814
9855
|
for(let i=0;i<count;++i)
|
|
9815
9856
|
{
|
|
9816
9857
|
drawData[i]=null;
|
|
@@ -9837,6 +9878,16 @@ function JSDraw(errorHandler,symbolData)
|
|
|
9837
9878
|
{
|
|
9838
9879
|
bSecondPont=true;
|
|
9839
9880
|
lineCache.End={ID:i, Value:data2[i]}; //第2个点
|
|
9881
|
+
|
|
9882
|
+
if (condition[i])
|
|
9883
|
+
{
|
|
9884
|
+
var lineData=this.CalculateDrawLine(lineCache); //计算2个点的线上 其他点的数值
|
|
9885
|
+
CopyLineData(drawData,lineData);
|
|
9886
|
+
|
|
9887
|
+
bFirstPoint=true;
|
|
9888
|
+
bSecondPont=false;
|
|
9889
|
+
lineCache.Start={ID:i, Value:data[i]}; //第1个点
|
|
9890
|
+
}
|
|
9840
9891
|
}
|
|
9841
9892
|
}
|
|
9842
9893
|
else if (bFirstPoint==true && bSecondPont==true)
|
|
@@ -9848,13 +9899,8 @@ function JSDraw(errorHandler,symbolData)
|
|
|
9848
9899
|
}
|
|
9849
9900
|
else if (condition[i]) //条件1满足
|
|
9850
9901
|
{
|
|
9851
|
-
|
|
9852
|
-
|
|
9853
|
-
for(let j in lineData)
|
|
9854
|
-
{
|
|
9855
|
-
let item=lineData[j];
|
|
9856
|
-
drawData[item.ID]=item.Value;
|
|
9857
|
-
}
|
|
9902
|
+
var lineData=this.CalculateDrawLine(lineCache); //计算2个点的线上 其他点的数值
|
|
9903
|
+
CopyLineData(drawData,lineData);
|
|
9858
9904
|
|
|
9859
9905
|
if (expand==1) this.CalculateDrawDataExtendLine(drawData, lineCache.Start.ID-2);//右延长线
|
|
9860
9906
|
|
|
@@ -9871,12 +9917,9 @@ function JSDraw(errorHandler,symbolData)
|
|
|
9871
9917
|
//最后一组线
|
|
9872
9918
|
if (bFirstPoint==true && bSecondPont==true)
|
|
9873
9919
|
{
|
|
9874
|
-
|
|
9875
|
-
|
|
9876
|
-
|
|
9877
|
-
let item=lineData[j];
|
|
9878
|
-
drawData[item.ID]=item.Value;
|
|
9879
|
-
}
|
|
9920
|
+
var lineData=this.CalculateDrawLine(lineCache);
|
|
9921
|
+
CopyLineData(drawData,lineData);
|
|
9922
|
+
|
|
9880
9923
|
}
|
|
9881
9924
|
}
|
|
9882
9925
|
|
|
@@ -10393,7 +10436,13 @@ function JSDraw(errorHandler,symbolData)
|
|
|
10393
10436
|
{
|
|
10394
10437
|
if (!numberData) return null;
|
|
10395
10438
|
|
|
10396
|
-
if (numberData.DataType==1)
|
|
10439
|
+
if (numberData.DataType==1)
|
|
10440
|
+
{
|
|
10441
|
+
var value=numberData.SingleValue;
|
|
10442
|
+
if (IFrameSplitOperator.IsNumber(value)) return value.toFixed(decimal);
|
|
10443
|
+
else if (value) return value.toString();
|
|
10444
|
+
else return null;
|
|
10445
|
+
}
|
|
10397
10446
|
|
|
10398
10447
|
if (!IFrameSplitOperator.IsNonEmptyArray(numberData.ArrayValue)) return null;
|
|
10399
10448
|
|
|
@@ -10409,10 +10458,10 @@ function JSDraw(errorHandler,symbolData)
|
|
|
10409
10458
|
|
|
10410
10459
|
/*
|
|
10411
10460
|
固定位置显示数字.
|
|
10412
|
-
用法: DRAWNUMBER_FIX(COND,X,Y,TYPE,NUMBER),当COND条件满足时,在当前指标窗口内(X,Y)位置书写数字NUMBER,X,Y为书写点在窗口中相对于左上角的百分比,TYPE:0为左对齐,1
|
|
10461
|
+
用法: DRAWNUMBER_FIX(COND,X,Y,TYPE,NUMBER,decimal=2),当COND条件满足时,在当前指标窗口内(X,Y)位置书写数字NUMBER,X,Y为书写点在窗口中相对于左上角的百分比,TYPE:0为左对齐,1为右对齐 2=居中
|
|
10413
10462
|
例如: DRAWNUMBER_FIX(CURRBARSCOUNT=1 AND CLOSE/OPEN>1.08,0.5,0.5,0,C)表示最后一个交易日实体阳线大于8%时在窗口中间位置显示收盘价.
|
|
10414
10463
|
*/
|
|
10415
|
-
this.DRAWNUMBER_FIX=function(condition,x,y,align,data)
|
|
10464
|
+
this.DRAWNUMBER_FIX=function(condition,x,y,align,data, decimal=2)
|
|
10416
10465
|
{
|
|
10417
10466
|
var drawData={ Value:[], Text:[], };
|
|
10418
10467
|
var result={ DrawData:drawData, DrawType:'DRAWNUMBER_FIX', Position:{ X:x, Y:y, Type:align } };
|
|
@@ -10420,15 +10469,15 @@ function JSDraw(errorHandler,symbolData)
|
|
|
10420
10469
|
|
|
10421
10470
|
if (Array.isArray(condition))
|
|
10422
10471
|
{
|
|
10423
|
-
for(var i
|
|
10472
|
+
for(var i=0; i<condition.length; ++i)
|
|
10424
10473
|
{
|
|
10425
10474
|
drawData.Text[i]=null;
|
|
10426
10475
|
drawData.Value[i]=null;
|
|
10427
|
-
if (
|
|
10476
|
+
if (condition[i]!==1) continue;
|
|
10428
10477
|
|
|
10429
10478
|
if (isNumber)
|
|
10430
10479
|
{
|
|
10431
|
-
drawData.Text[i]=this.RemoveZero(data.toFixed(
|
|
10480
|
+
drawData.Text[i]=this.RemoveZero(data.toFixed(decimal));
|
|
10432
10481
|
drawData.Value[i]=data;
|
|
10433
10482
|
}
|
|
10434
10483
|
else
|
|
@@ -10436,14 +10485,14 @@ function JSDraw(errorHandler,symbolData)
|
|
|
10436
10485
|
if (i>=data.length || !IFrameSplitOperator.IsNumber(data[i])) continue;
|
|
10437
10486
|
|
|
10438
10487
|
var item=data[i];
|
|
10439
|
-
drawData.Text[i]=this.RemoveZero(item.toFixed(
|
|
10488
|
+
drawData.Text[i]=this.RemoveZero(item.toFixed(decimal));
|
|
10440
10489
|
drawData.Value[i]=item;
|
|
10441
10490
|
}
|
|
10442
10491
|
}
|
|
10443
10492
|
}
|
|
10444
10493
|
else
|
|
10445
10494
|
{
|
|
10446
|
-
if(
|
|
10495
|
+
if(condition!==1)
|
|
10447
10496
|
{
|
|
10448
10497
|
|
|
10449
10498
|
}
|
|
@@ -10453,7 +10502,7 @@ function JSDraw(errorHandler,symbolData)
|
|
|
10453
10502
|
{
|
|
10454
10503
|
if (isNumber)
|
|
10455
10504
|
{
|
|
10456
|
-
drawData.Text[i]=this.RemoveZero(data.toFixed(
|
|
10505
|
+
drawData.Text[i]=this.RemoveZero(data.toFixed(decimal));
|
|
10457
10506
|
drawData.Value[i]=data;
|
|
10458
10507
|
}
|
|
10459
10508
|
else
|
|
@@ -10461,7 +10510,7 @@ function JSDraw(errorHandler,symbolData)
|
|
|
10461
10510
|
if (i>=data.length || !IFrameSplitOperator.IsNumber(data[i])) continue;
|
|
10462
10511
|
|
|
10463
10512
|
var item=data[i];
|
|
10464
|
-
drawData.Text[i]=this.RemoveZero(item.toFixed(
|
|
10513
|
+
drawData.Text[i]=this.RemoveZero(item.toFixed(decimal));
|
|
10465
10514
|
drawData.Value[i]=item;
|
|
10466
10515
|
}
|
|
10467
10516
|
}
|
|
@@ -10779,6 +10828,12 @@ function JSDraw(errorHandler,symbolData)
|
|
|
10779
10828
|
return rgba;
|
|
10780
10829
|
}
|
|
10781
10830
|
|
|
10831
|
+
//设置字体
|
|
10832
|
+
this.CSSFONT=function(strFont)
|
|
10833
|
+
{
|
|
10834
|
+
return strFont;
|
|
10835
|
+
}
|
|
10836
|
+
|
|
10782
10837
|
this.UPCOLOR=function(color)
|
|
10783
10838
|
{
|
|
10784
10839
|
return color;
|
|
@@ -17824,6 +17879,7 @@ function JSExecute(ast,option)
|
|
|
17824
17879
|
let xOffset=null, yOffset=null;
|
|
17825
17880
|
var klineType=null;
|
|
17826
17881
|
var lineDash=null;
|
|
17882
|
+
var font=null;
|
|
17827
17883
|
for(let j=0; j<item.Expression.Expression.length; ++j)
|
|
17828
17884
|
{
|
|
17829
17885
|
let itemExpression=item.Expression.Expression[j];
|
|
@@ -17940,6 +17996,10 @@ function JSExecute(ast,option)
|
|
|
17940
17996
|
{
|
|
17941
17997
|
downColor=itemExpression.Out;
|
|
17942
17998
|
}
|
|
17999
|
+
else if (itemExpression.Callee.Name=="CSSFONT")
|
|
18000
|
+
{
|
|
18001
|
+
font=itemExpression.Out;
|
|
18002
|
+
}
|
|
17943
18003
|
else if (itemExpression.Callee.Name=="STICKTYPE")
|
|
17944
18004
|
{
|
|
17945
18005
|
stickType=itemExpression.Out;
|
|
@@ -18142,6 +18202,7 @@ function JSExecute(ast,option)
|
|
|
18142
18202
|
if (drawAlign>=0) outVar.DrawAlign=drawAlign;
|
|
18143
18203
|
if (drawVAlign>=0) outVar.DrawVAlign=drawVAlign;
|
|
18144
18204
|
if (fontSize>0) outVar.DrawFontSize=fontSize;
|
|
18205
|
+
if (font) outVar.Font=font;
|
|
18145
18206
|
if (bgConfig) outVar.Background=bgConfig;
|
|
18146
18207
|
if (vLineConfig) outVar.VerticalLine=vLineConfig;
|
|
18147
18208
|
if (IFrameSplitOperator.IsNumber(xOffset)) outVar.XOffset=xOffset;
|
|
@@ -18623,7 +18684,7 @@ function JSExecute(ast,option)
|
|
|
18623
18684
|
node.Out=node.Draw.DrawData.Value;
|
|
18624
18685
|
break;
|
|
18625
18686
|
case "DRAWNUMBER_FIX":
|
|
18626
|
-
node.Draw=this.Draw.DRAWNUMBER_FIX(args[0],args[1],args[2],args[3],args[4]);
|
|
18687
|
+
node.Draw=this.Draw.DRAWNUMBER_FIX(args[0],args[1],args[2],args[3],args[4], args[5]);
|
|
18627
18688
|
node.Out=node.Draw.DrawData.Value;
|
|
18628
18689
|
break;
|
|
18629
18690
|
case "DRAWCHANNEL":
|
|
@@ -18642,6 +18703,9 @@ function JSExecute(ast,option)
|
|
|
18642
18703
|
case "DOWNCOLOR":
|
|
18643
18704
|
node.Out=this.Draw.DOWNCOLOR(args[0]);
|
|
18644
18705
|
break;
|
|
18706
|
+
case "CSSFONT":
|
|
18707
|
+
node.Out=this.Draw.CSSFONT(args[0]);
|
|
18708
|
+
break;
|
|
18645
18709
|
case "STICKTYPE": //柱子类型
|
|
18646
18710
|
node.Out=this.Draw.STICKTYPE(args[0]);
|
|
18647
18711
|
break;
|
|
@@ -21356,6 +21420,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
21356
21420
|
}
|
|
21357
21421
|
|
|
21358
21422
|
if (varItem.DrawFontSize>0) chartText.FixedFontSize=varItem.DrawFontSize;
|
|
21423
|
+
if (varItem.Font) chartText.Font=varItem.Font;
|
|
21359
21424
|
if (varItem.Background) chartText.TextBG=varItem.Background;
|
|
21360
21425
|
if (varItem.VerticalLine) chartText.VerticalLine=varItem.VerticalLine;
|
|
21361
21426
|
|
|
@@ -21511,6 +21576,12 @@ function ScriptIndex(name,script,args,option)
|
|
|
21511
21576
|
let width=parseInt(varItem.LineWidth.replace("LINETHICK",""));
|
|
21512
21577
|
if (!isNaN(width) && width>0) line.LineWidth=width;
|
|
21513
21578
|
}
|
|
21579
|
+
|
|
21580
|
+
if (varItem.IsDotLine)
|
|
21581
|
+
{
|
|
21582
|
+
line.IsDotLine=true; //虚线
|
|
21583
|
+
line.LineDash=g_JSChartResource.DOTLINE.LineDash.slice();
|
|
21584
|
+
}
|
|
21514
21585
|
|
|
21515
21586
|
let titleIndex=windowIndex+1;
|
|
21516
21587
|
line.Data.Data=varItem.Draw.DrawData;
|
|
@@ -22090,6 +22161,102 @@ function ScriptIndex(name,script,args,option)
|
|
|
22090
22161
|
hqChart.ChartPaint.push(chartText);
|
|
22091
22162
|
}
|
|
22092
22163
|
|
|
22164
|
+
this.CreateDrawText_Fix=function(hqChart,windowIndex,varItem,id)
|
|
22165
|
+
{
|
|
22166
|
+
var chartText=new ChartDrawText_Fix();
|
|
22167
|
+
chartText.Canvas=hqChart.Canvas;
|
|
22168
|
+
chartText.Name=varItem.Name;
|
|
22169
|
+
chartText.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;
|
|
22170
|
+
chartText.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;
|
|
22171
|
+
chartText.ReloadResource();
|
|
22172
|
+
chartText.HQChart=hqChart;
|
|
22173
|
+
|
|
22174
|
+
if (varItem.Draw.Position)
|
|
22175
|
+
{
|
|
22176
|
+
var item=varItem.Draw.Position;
|
|
22177
|
+
chartText.PtPercentage={ X:item.X, Y:item.Y }; //坐标
|
|
22178
|
+
// TYPE:0为左对齐,1为右对齐 2=居中
|
|
22179
|
+
if (item.Type===0) chartText.TextAlign="left";
|
|
22180
|
+
else if (item.Type===1) chartText.TextAlign="right";
|
|
22181
|
+
else if (item.Type===2) chartText.TextAlign="center";
|
|
22182
|
+
}
|
|
22183
|
+
|
|
22184
|
+
//字体
|
|
22185
|
+
if (varItem.DrawFontSize>0) chartText.TextFont=`${varItem.DrawFontSize*GetDevicePixelRatio()}px 微软雅黑`; //临时用下吧
|
|
22186
|
+
if (varItem.Font) chartText.TextFont=varItem.Font;
|
|
22187
|
+
|
|
22188
|
+
//颜色
|
|
22189
|
+
if (varItem.Color) chartText.Color=this.GetColor(varItem.Color);
|
|
22190
|
+
else chartText.Color=this.GetDefaultColor(id);
|
|
22191
|
+
|
|
22192
|
+
if (varItem.DrawVAlign>=0) //上下对齐
|
|
22193
|
+
{
|
|
22194
|
+
if (varItem.DrawVAlign==0) chartText.TextBaseline='top';
|
|
22195
|
+
else if (varItem.DrawVAlign==1) chartText.TextBaseline='middle';
|
|
22196
|
+
else if (varItem.DrawVAlign==2) chartText.TextBaseline='bottom';
|
|
22197
|
+
}
|
|
22198
|
+
|
|
22199
|
+
if (varItem.DrawAlign>=0) // 左右对齐
|
|
22200
|
+
{
|
|
22201
|
+
if (varItem.DrawAlign==0) chartText.TextAlign="left";
|
|
22202
|
+
else if (varItem.DrawAlign==1) chartText.TextAlign="center";
|
|
22203
|
+
else if (varItem.DrawAlign==2) chartText.TextAlign='right';
|
|
22204
|
+
}
|
|
22205
|
+
|
|
22206
|
+
chartText.BuildCacheData(hqChart.GetKData(),varItem.Draw.DrawData);
|
|
22207
|
+
|
|
22208
|
+
this.SetChartIndexName(chartText);
|
|
22209
|
+
hqChart.ChartPaint.push(chartText);
|
|
22210
|
+
}
|
|
22211
|
+
|
|
22212
|
+
this.CreateDrawNumber_Fix=function(hqChart,windowIndex,varItem,id)
|
|
22213
|
+
{
|
|
22214
|
+
var chartText=new ChartDrawNumber_Fix();
|
|
22215
|
+
chartText.Canvas=hqChart.Canvas;
|
|
22216
|
+
chartText.Name=varItem.Name;
|
|
22217
|
+
chartText.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;
|
|
22218
|
+
chartText.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;
|
|
22219
|
+
chartText.ReloadResource();
|
|
22220
|
+
chartText.HQChart=hqChart;
|
|
22221
|
+
|
|
22222
|
+
if (varItem.Draw.Position)
|
|
22223
|
+
{
|
|
22224
|
+
var item=varItem.Draw.Position;
|
|
22225
|
+
chartText.PtPercentage={ X:item.X, Y:item.Y }; //坐标
|
|
22226
|
+
// TYPE:0为左对齐,1为右对齐 2=居中
|
|
22227
|
+
if (item.Type===0) chartText.TextAlign="left";
|
|
22228
|
+
else if (item.Type===1) chartText.TextAlign="right";
|
|
22229
|
+
else if (item.Type===2) chartText.TextAlign="center";
|
|
22230
|
+
}
|
|
22231
|
+
|
|
22232
|
+
//字体
|
|
22233
|
+
if (varItem.DrawFontSize>0) chartText.TextFont=`${varItem.DrawFontSize*GetDevicePixelRatio()}px 微软雅黑`; //临时用下吧
|
|
22234
|
+
if (varItem.Font) chartText.TextFont=varItem.Font;
|
|
22235
|
+
|
|
22236
|
+
//颜色
|
|
22237
|
+
if (varItem.Color) chartText.Color=this.GetColor(varItem.Color);
|
|
22238
|
+
else chartText.Color=this.GetDefaultColor(id);
|
|
22239
|
+
|
|
22240
|
+
if (varItem.DrawVAlign>=0) //上下对齐
|
|
22241
|
+
{
|
|
22242
|
+
if (varItem.DrawVAlign==0) chartText.TextBaseline='top';
|
|
22243
|
+
else if (varItem.DrawVAlign==1) chartText.TextBaseline='middle';
|
|
22244
|
+
else if (varItem.DrawVAlign==2) chartText.TextBaseline='bottom';
|
|
22245
|
+
}
|
|
22246
|
+
|
|
22247
|
+
if (varItem.DrawAlign>=0) // 左右对齐
|
|
22248
|
+
{
|
|
22249
|
+
if (varItem.DrawAlign==0) chartText.TextAlign="left";
|
|
22250
|
+
else if (varItem.DrawAlign==1) chartText.TextAlign="center";
|
|
22251
|
+
else if (varItem.DrawAlign==2) chartText.TextAlign='right';
|
|
22252
|
+
}
|
|
22253
|
+
|
|
22254
|
+
chartText.BuildCacheData(hqChart.GetKData(),varItem.Draw.DrawData);
|
|
22255
|
+
|
|
22256
|
+
this.SetChartIndexName(chartText);
|
|
22257
|
+
hqChart.ChartPaint.push(chartText);
|
|
22258
|
+
}
|
|
22259
|
+
|
|
22093
22260
|
this.CreateDrawText=function(hqChart,windowIndex,varItem,id)
|
|
22094
22261
|
{
|
|
22095
22262
|
let chartText=new ChartSingleText();
|
|
@@ -22906,8 +23073,10 @@ function ScriptIndex(name,script,args,option)
|
|
|
22906
23073
|
this.CreateDrawNumber(hqChart,windowIndex,item,i);
|
|
22907
23074
|
break;
|
|
22908
23075
|
case "DRAWNUMBER_FIX":
|
|
23076
|
+
this.CreateDrawNumber_Fix(hqChart,windowIndex,item,i);
|
|
23077
|
+
break;
|
|
22909
23078
|
case 'DRAWTEXT_FIX':
|
|
22910
|
-
this.
|
|
23079
|
+
this.CreateDrawText_Fix(hqChart,windowIndex,item,i);
|
|
22911
23080
|
break;
|
|
22912
23081
|
case 'DRAWICON':
|
|
22913
23082
|
this.CreateIcon(hqChart,windowIndex,item,i);
|
|
@@ -23299,9 +23468,13 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
23299
23468
|
this.CreateBackgroud(hqChart,windowIndex,item,i);
|
|
23300
23469
|
break;
|
|
23301
23470
|
case 'DRAWNUMBER':
|
|
23471
|
+
this.CreateNumberText(hqChart,windowIndex,item,i);
|
|
23472
|
+
break;
|
|
23302
23473
|
case "DRAWNUMBER_FIX":
|
|
23474
|
+
this.CreateDrawNumber_Fix(hqChart,windowIndex,item,i);
|
|
23475
|
+
break;
|
|
23303
23476
|
case 'DRAWTEXT_FIX':
|
|
23304
|
-
this.
|
|
23477
|
+
this.CreateDrawText_Fix(hqChart,windowIndex,item,i);
|
|
23305
23478
|
break;
|
|
23306
23479
|
case 'DRAWICON':
|
|
23307
23480
|
this.CreateIcon(hqChart,windowIndex,item,i);
|
|
@@ -23643,6 +23816,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
23643
23816
|
}
|
|
23644
23817
|
|
|
23645
23818
|
if (varItem.DrawFontSize>0) chartText.FixedFontSize=varItem.DrawFontSize;
|
|
23819
|
+
if (varItem.Font) chartText.Font=varItem.Font;
|
|
23646
23820
|
if (varItem.Background) chartText.TextBG=varItem.Background;
|
|
23647
23821
|
if (varItem.VerticalLine) chartText.VerticalLine=varItem.VerticalLine;
|
|
23648
23822
|
if (IFrameSplitOperator.IsNumber(varItem.XOffset)) chartText.ShowOffset.X=varItem.XOffset;
|
|
@@ -23841,6 +24015,12 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
23841
24015
|
let width=parseInt(varItem.LineWidth.replace("LINETHICK",""));
|
|
23842
24016
|
if (!isNaN(width) && width>0) chart.LineWidth=width;
|
|
23843
24017
|
}
|
|
24018
|
+
|
|
24019
|
+
if (varItem.IsDotLine)
|
|
24020
|
+
{
|
|
24021
|
+
chart.IsDotLine=true; //虚线
|
|
24022
|
+
chart.LineDash=g_JSChartResource.DOTLINE.LineDash.slice();
|
|
24023
|
+
}
|
|
23844
24024
|
|
|
23845
24025
|
let titleIndex=windowIndex+1;
|
|
23846
24026
|
chart.Data.Data=varItem.Draw.DrawData;
|
|
@@ -24010,6 +24190,110 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
24010
24190
|
frame.ChartPaint.push(chart);
|
|
24011
24191
|
}
|
|
24012
24192
|
|
|
24193
|
+
this.CreateDrawText_Fix=function(hqChart,windowIndex,varItem,id)
|
|
24194
|
+
{
|
|
24195
|
+
var overlayIndex=this.OverlayIndex;
|
|
24196
|
+
var frame=overlayIndex.Frame;
|
|
24197
|
+
var chart=new ChartDrawText_Fix();
|
|
24198
|
+
chart.Canvas=hqChart.Canvas;
|
|
24199
|
+
|
|
24200
|
+
chart.Name=varItem.Name;
|
|
24201
|
+
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
24202
|
+
chart.ChartFrame=frame.Frame;
|
|
24203
|
+
chart.Identify=overlayIndex.Identify;
|
|
24204
|
+
chart.ReloadResource();
|
|
24205
|
+
chart.HQChart=hqChart;
|
|
24206
|
+
|
|
24207
|
+
if (varItem.Draw.Position)
|
|
24208
|
+
{
|
|
24209
|
+
var item=varItem.Draw.Position;
|
|
24210
|
+
chart.PtPercentage={ X:item.X, Y:item.Y }; //坐标
|
|
24211
|
+
// TYPE:0为左对齐,1为右对齐 2=居中
|
|
24212
|
+
if (item.Type===0) chart.TextAlign="left";
|
|
24213
|
+
else if (item.Type===1) chart.TextAlign="right";
|
|
24214
|
+
else if (item.Type===2) chart.TextAlign="center";
|
|
24215
|
+
}
|
|
24216
|
+
|
|
24217
|
+
//字体
|
|
24218
|
+
if (varItem.DrawFontSize>0) chart.TextFont=`${varItem.DrawFontSize*GetDevicePixelRatio()}px 微软雅黑`; //临时用下吧
|
|
24219
|
+
if (varItem.Font) chart.TextFont=varItem.Font;
|
|
24220
|
+
|
|
24221
|
+
//颜色
|
|
24222
|
+
if (varItem.Color) chart.Color=this.GetColor(varItem.Color);
|
|
24223
|
+
else chart.Color=this.GetDefaultColor(id);
|
|
24224
|
+
|
|
24225
|
+
if (varItem.DrawVAlign>=0) //上下对齐
|
|
24226
|
+
{
|
|
24227
|
+
if (varItem.DrawVAlign==0) chart.TextBaseline='top';
|
|
24228
|
+
else if (varItem.DrawVAlign==1) chart.TextBaseline='middle';
|
|
24229
|
+
else if (varItem.DrawVAlign==2) chart.TextBaseline='bottom';
|
|
24230
|
+
}
|
|
24231
|
+
|
|
24232
|
+
if (varItem.DrawAlign>=0) // 左右对齐
|
|
24233
|
+
{
|
|
24234
|
+
if (varItem.DrawAlign==0) chart.TextAlign="left";
|
|
24235
|
+
else if (varItem.DrawAlign==1) chart.TextAlign="center";
|
|
24236
|
+
else if (varItem.DrawAlign==2) chart.TextAlign='right';
|
|
24237
|
+
}
|
|
24238
|
+
|
|
24239
|
+
chart.BuildCacheData(hqChart.GetKData(),varItem.Draw.DrawData);
|
|
24240
|
+
|
|
24241
|
+
this.SetChartIndexName(chart);
|
|
24242
|
+
frame.ChartPaint.push(chart);
|
|
24243
|
+
}
|
|
24244
|
+
|
|
24245
|
+
this.CreateDrawNumber_Fix=function(hqChart,windowIndex,varItem,id)
|
|
24246
|
+
{
|
|
24247
|
+
var overlayIndex=this.OverlayIndex;
|
|
24248
|
+
var frame=overlayIndex.Frame;
|
|
24249
|
+
var chart=new ChartDrawNumber_Fix();
|
|
24250
|
+
chart.Canvas=hqChart.Canvas;
|
|
24251
|
+
|
|
24252
|
+
chart.Name=varItem.Name;
|
|
24253
|
+
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
24254
|
+
chart.ChartFrame=frame.Frame;
|
|
24255
|
+
chart.Identify=overlayIndex.Identify;
|
|
24256
|
+
chart.ReloadResource();
|
|
24257
|
+
chart.HQChart=hqChart;
|
|
24258
|
+
|
|
24259
|
+
if (varItem.Draw.Position)
|
|
24260
|
+
{
|
|
24261
|
+
var item=varItem.Draw.Position;
|
|
24262
|
+
chart.PtPercentage={ X:item.X, Y:item.Y }; //坐标
|
|
24263
|
+
// TYPE:0为左对齐,1为右对齐 2=居中
|
|
24264
|
+
if (item.Type===0) chart.TextAlign="left";
|
|
24265
|
+
else if (item.Type===1) chart.TextAlign="right";
|
|
24266
|
+
else if (item.Type===2) chart.TextAlign="center";
|
|
24267
|
+
}
|
|
24268
|
+
|
|
24269
|
+
//字体
|
|
24270
|
+
if (varItem.DrawFontSize>0) chart.TextFont=`${varItem.DrawFontSize*GetDevicePixelRatio()}px 微软雅黑`; //临时用下吧
|
|
24271
|
+
if (varItem.Font) chart.TextFont=varItem.Font;
|
|
24272
|
+
|
|
24273
|
+
//颜色
|
|
24274
|
+
if (varItem.Color) chart.Color=this.GetColor(varItem.Color);
|
|
24275
|
+
else chart.Color=this.GetDefaultColor(id);
|
|
24276
|
+
|
|
24277
|
+
if (varItem.DrawVAlign>=0) //上下对齐
|
|
24278
|
+
{
|
|
24279
|
+
if (varItem.DrawVAlign==0) chart.TextBaseline='top';
|
|
24280
|
+
else if (varItem.DrawVAlign==1) chart.TextBaseline='middle';
|
|
24281
|
+
else if (varItem.DrawVAlign==2) chart.TextBaseline='bottom';
|
|
24282
|
+
}
|
|
24283
|
+
|
|
24284
|
+
if (varItem.DrawAlign>=0) // 左右对齐
|
|
24285
|
+
{
|
|
24286
|
+
if (varItem.DrawAlign==0) chart.TextAlign="left";
|
|
24287
|
+
else if (varItem.DrawAlign==1) chart.TextAlign="center";
|
|
24288
|
+
else if (varItem.DrawAlign==2) chart.TextAlign='right';
|
|
24289
|
+
}
|
|
24290
|
+
|
|
24291
|
+
chart.BuildCacheData(hqChart.GetKData(),varItem.Draw.DrawData);
|
|
24292
|
+
|
|
24293
|
+
this.SetChartIndexName(chart);
|
|
24294
|
+
frame.ChartPaint.push(chart);
|
|
24295
|
+
}
|
|
24296
|
+
|
|
24013
24297
|
this.CreateTextLine=function(hqChart,windowIndex,varItem,id)
|
|
24014
24298
|
{
|
|
24015
24299
|
var overlayIndex=this.OverlayIndex;
|