hqchart 1.1.13709 → 1.1.13717
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.NetworkFilterTest.vue.js +1 -1
- package/lib/umychart.vue.js +29 -15
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +10 -1
- package/src/jscommon/umychart.PopKeyboard.js +9 -1
- package/src/jscommon/umychart.complier.js +57 -0
- package/src/jscommon/umychart.js +297 -0
- package/src/jscommon/umychart.keyboard.js +97 -10
- package/src/jscommon/umychart.resource/css/tools.css +2 -2
- package/src/jscommon/umychart.testdata.js +10 -1
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +452 -11
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +10 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +461 -12
|
@@ -39895,6 +39895,303 @@ function ChartMACD()
|
|
|
39895
39895
|
}
|
|
39896
39896
|
}
|
|
39897
39897
|
|
|
39898
|
+
function ChartClipColorStick()
|
|
39899
|
+
{
|
|
39900
|
+
this.newMethod=IChartPainting; //派生
|
|
39901
|
+
this.newMethod();
|
|
39902
|
+
delete this.newMethod;
|
|
39903
|
+
|
|
39904
|
+
this.ClassName="ChartClipColorStick";
|
|
39905
|
+
this.UpColor=g_JSChartResource.UpBarColor;
|
|
39906
|
+
this.DownColor=g_JSChartResource.DownBarColor;
|
|
39907
|
+
this.LineWidth=1;
|
|
39908
|
+
//差值线
|
|
39909
|
+
this.DownDiffColor=g_JSChartResource.DownBarColor;
|
|
39910
|
+
this.UpDiffColor=g_JSChartResource.UpBarColor;
|
|
39911
|
+
|
|
39912
|
+
this.BaseLineColor; //基准线
|
|
39913
|
+
|
|
39914
|
+
this.BaseValue=0;
|
|
39915
|
+
this.Super_GetMaxMin=this.GetMaxMin; //父类的方法
|
|
39916
|
+
|
|
39917
|
+
this.SetOption=function(option)
|
|
39918
|
+
{
|
|
39919
|
+
if (!option) return;
|
|
39920
|
+
|
|
39921
|
+
if (option.UpColor) this.UpColor=option.UpColor;
|
|
39922
|
+
if (option.DownColor) this.DownColor=option.DownColor;
|
|
39923
|
+
if (option.DownDiffColor) this.DownDiffColor=option.DownDiffColor;
|
|
39924
|
+
if (option.UpDiffColor) this.UpDiffColor=option.UpDiffColor;
|
|
39925
|
+
if (option.BaseLineColor) this.BaseLineColor=option.BaseLineColor;
|
|
39926
|
+
if (IFrameSplitOperator.IsNumber(option.BaseValue)) this.BaseValue=option.BaseValue;
|
|
39927
|
+
}
|
|
39928
|
+
|
|
39929
|
+
this.Draw=function()
|
|
39930
|
+
{
|
|
39931
|
+
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
39932
|
+
if (this.IsShowIndexTitleOnly()) return;
|
|
39933
|
+
if (this.IsHideScriptIndex()) return;
|
|
39934
|
+
|
|
39935
|
+
if (this.NotSupportMessage)
|
|
39936
|
+
{
|
|
39937
|
+
this.DrawNotSupportmessage();
|
|
39938
|
+
return;
|
|
39939
|
+
}
|
|
39940
|
+
|
|
39941
|
+
this.Canvas.save();
|
|
39942
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
39943
|
+
var lineWidth=this.LineWidth*GetDevicePixelRatio();
|
|
39944
|
+
if (this.LineWidth==50) lineWidth=dataWidth;
|
|
39945
|
+
else if (lineWidth>dataWidth) lineWidth=dataWidth;
|
|
39946
|
+
|
|
39947
|
+
if (IFrameSplitOperator.IsNumber(this.BaseValue) && this.BaseValue!=0)
|
|
39948
|
+
{
|
|
39949
|
+
this.DrawBaseLine();
|
|
39950
|
+
|
|
39951
|
+
if (this.BaseValue>0) this.DrawBars(lineWidth, true);
|
|
39952
|
+
else this.DrawBars(lineWidth, false);
|
|
39953
|
+
}
|
|
39954
|
+
else
|
|
39955
|
+
{
|
|
39956
|
+
//上下分开画
|
|
39957
|
+
this.DrawBars(lineWidth, true);
|
|
39958
|
+
this.DrawBars(lineWidth, false);
|
|
39959
|
+
}
|
|
39960
|
+
|
|
39961
|
+
|
|
39962
|
+
this.Canvas.restore();
|
|
39963
|
+
}
|
|
39964
|
+
|
|
39965
|
+
this.DrawBars=function(lineWidth, bUpBar)
|
|
39966
|
+
{
|
|
39967
|
+
var isMinute=this.IsMinuteFrame();
|
|
39968
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
39969
|
+
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
39970
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
39971
|
+
var isHSCreen=this.ChartFrame.IsHScreen===true;
|
|
39972
|
+
|
|
39973
|
+
if (isHSCreen)
|
|
39974
|
+
{
|
|
39975
|
+
var border=this.ChartBorder.GetHScreenBorder();
|
|
39976
|
+
var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
39977
|
+
var chartright=border.BottomEx;
|
|
39978
|
+
var lockRect=this.GetLockRect();
|
|
39979
|
+
if (lockRect) chartright=lockRect.Top;
|
|
39980
|
+
}
|
|
39981
|
+
else
|
|
39982
|
+
{
|
|
39983
|
+
var border=this.ChartBorder.GetBorder();
|
|
39984
|
+
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
39985
|
+
|
|
39986
|
+
var chartright=border.RightEx;
|
|
39987
|
+
var lockRect=this.GetLockRect();
|
|
39988
|
+
if (lockRect) chartright=lockRect.Left;
|
|
39989
|
+
}
|
|
39990
|
+
|
|
39991
|
+
var yBottom=this.ChartFrame.GetYFromData(this.BaseValue);
|
|
39992
|
+
var aryBar=[], aryDiffBar=[];
|
|
39993
|
+
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
39994
|
+
{
|
|
39995
|
+
var value=this.Data.Data[i];
|
|
39996
|
+
if (value==null) continue;
|
|
39997
|
+
if (bUpBar)
|
|
39998
|
+
{
|
|
39999
|
+
if (value<0) continue;
|
|
40000
|
+
}
|
|
40001
|
+
else
|
|
40002
|
+
{
|
|
40003
|
+
if (value>=0) continue;
|
|
40004
|
+
}
|
|
40005
|
+
|
|
40006
|
+
if (isMinute)
|
|
40007
|
+
{
|
|
40008
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
40009
|
+
}
|
|
40010
|
+
else
|
|
40011
|
+
{
|
|
40012
|
+
var left=xOffset;
|
|
40013
|
+
var right=xOffset+dataWidth;
|
|
40014
|
+
if (right>chartright) break;
|
|
40015
|
+
var x=left+(right-left)/2;
|
|
40016
|
+
}
|
|
40017
|
+
|
|
40018
|
+
if (x>chartright) break;
|
|
40019
|
+
|
|
40020
|
+
var bDiffBar=false;
|
|
40021
|
+
var diffValue=null;
|
|
40022
|
+
if (this.BaseValue>0)
|
|
40023
|
+
{
|
|
40024
|
+
if (value<this.BaseValue)
|
|
40025
|
+
{
|
|
40026
|
+
bDiffBar=true;
|
|
40027
|
+
diffValue=this.BaseValue-(this.BaseValue-value);
|
|
40028
|
+
}
|
|
40029
|
+
}
|
|
40030
|
+
else if (this.BaseValue<0)
|
|
40031
|
+
{
|
|
40032
|
+
if (value>this.BaseValue)
|
|
40033
|
+
{
|
|
40034
|
+
bDiffBar=true;
|
|
40035
|
+
diffValue=this.BaseValue+(value-this.BaseValue)
|
|
40036
|
+
}
|
|
40037
|
+
}
|
|
40038
|
+
|
|
40039
|
+
if (!bDiffBar)
|
|
40040
|
+
{
|
|
40041
|
+
var y=this.ChartFrame.GetYFromData(value);
|
|
40042
|
+
aryBar.push({X:x, Y:y});
|
|
40043
|
+
}
|
|
40044
|
+
else
|
|
40045
|
+
{
|
|
40046
|
+
var y=this.ChartFrame.GetYFromData(diffValue);
|
|
40047
|
+
aryDiffBar.push({X:x, Y:y});
|
|
40048
|
+
}
|
|
40049
|
+
}
|
|
40050
|
+
|
|
40051
|
+
this.Canvas.lineWidth=lineWidth;
|
|
40052
|
+
if (bUpBar) this.Canvas.strokeStyle=this.UpColor;
|
|
40053
|
+
else this.Canvas.strokeStyle=this.DownColor;
|
|
40054
|
+
|
|
40055
|
+
this.DrawStick(aryBar,lineWidth,yBottom);
|
|
40056
|
+
|
|
40057
|
+
if (this.BaseValue>0)
|
|
40058
|
+
{
|
|
40059
|
+
this.Canvas.strokeStyle=this.UpDiffColor;
|
|
40060
|
+
this.DrawStick(aryDiffBar,lineWidth,yBottom);
|
|
40061
|
+
}
|
|
40062
|
+
else if (this.BaseValue<0)
|
|
40063
|
+
{
|
|
40064
|
+
this.Canvas.strokeStyle=this.DownDiffColor;
|
|
40065
|
+
this.DrawStick(aryDiffBar,lineWidth,yBottom);
|
|
40066
|
+
}
|
|
40067
|
+
|
|
40068
|
+
}
|
|
40069
|
+
|
|
40070
|
+
this.DrawStick=function(aryData, lineWidth, yBottom)
|
|
40071
|
+
{
|
|
40072
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(aryData)) return;
|
|
40073
|
+
|
|
40074
|
+
var isHSCreen=this.ChartFrame.IsHScreen===true;
|
|
40075
|
+
var drawCount=0;
|
|
40076
|
+
this.Canvas.beginPath();
|
|
40077
|
+
for(var i=0; i<aryData.length; ++i)
|
|
40078
|
+
{
|
|
40079
|
+
var item=aryData[i];
|
|
40080
|
+
var y=item.Y;
|
|
40081
|
+
var xFix=ToFixedPoint2(lineWidth, item.X); //毛边修正
|
|
40082
|
+
|
|
40083
|
+
if (isHSCreen)
|
|
40084
|
+
{
|
|
40085
|
+
this.Canvas.moveTo(yBottom,ToFixedPoint(x));
|
|
40086
|
+
this.Canvas.lineTo(y,ToFixedPoint(x));
|
|
40087
|
+
}
|
|
40088
|
+
else
|
|
40089
|
+
{
|
|
40090
|
+
this.Canvas.moveTo(xFix,yBottom);
|
|
40091
|
+
this.Canvas.lineTo(xFix,y);
|
|
40092
|
+
}
|
|
40093
|
+
|
|
40094
|
+
++drawCount;
|
|
40095
|
+
}
|
|
40096
|
+
|
|
40097
|
+
if (drawCount>0) this.Canvas.stroke();
|
|
40098
|
+
}
|
|
40099
|
+
|
|
40100
|
+
this.DrawBaseLine=function()
|
|
40101
|
+
{
|
|
40102
|
+
if (!IFrameSplitOperator.IsNumber(this.BaseValue) || this.BaseValue==0) return;
|
|
40103
|
+
if (!this.BaseLineColor) return;
|
|
40104
|
+
|
|
40105
|
+
var isHSCreen=this.ChartFrame.IsHScreen===true;
|
|
40106
|
+
var border=this.ChartFrame.GetBorder();
|
|
40107
|
+
var y=this.ChartFrame.GetYFromData(this.BaseValue);
|
|
40108
|
+
|
|
40109
|
+
this.Canvas.strokeStyle=this.BaseLineColor;
|
|
40110
|
+
this.Canvas.lineWidth=1*GetDevicePixelRatio();
|
|
40111
|
+
|
|
40112
|
+
if (isHSCreen)
|
|
40113
|
+
{
|
|
40114
|
+
|
|
40115
|
+
}
|
|
40116
|
+
else
|
|
40117
|
+
{
|
|
40118
|
+
var yFix=ToFixedPoint(y);
|
|
40119
|
+
this.Canvas.beginPath();
|
|
40120
|
+
this.Canvas.moveTo(border.Left,yFix);
|
|
40121
|
+
this.Canvas.lineTo(border.Right,yFix);
|
|
40122
|
+
this.Canvas.stroke();
|
|
40123
|
+
}
|
|
40124
|
+
}
|
|
40125
|
+
|
|
40126
|
+
this.GetMaxMin=function()
|
|
40127
|
+
{
|
|
40128
|
+
if (!IFrameSplitOperator.IsNumber(this.BaseValue) || this.BaseValue==0)
|
|
40129
|
+
return this.Super_GetMaxMin();
|
|
40130
|
+
|
|
40131
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
40132
|
+
var start=this.Data.DataOffset;
|
|
40133
|
+
if (this.ChartFrame.GlobalOption && this.ChartFrame.GlobalOption.IsValueFullRange)
|
|
40134
|
+
{
|
|
40135
|
+
start=0;
|
|
40136
|
+
xPointCount=this.Data.Data.length;
|
|
40137
|
+
}
|
|
40138
|
+
|
|
40139
|
+
var range={ Min:null, Max:null }, maxDiffValue=null; //基准值的差值
|
|
40140
|
+
if(!this.Data || !this.Data.Data) return range;
|
|
40141
|
+
|
|
40142
|
+
if (this.BaseValue>0) range.Min=this.BaseValue;
|
|
40143
|
+
else range.Max=this.BaseValue;
|
|
40144
|
+
|
|
40145
|
+
for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
40146
|
+
{
|
|
40147
|
+
var value=this.Data.Data[i];
|
|
40148
|
+
if (value==null || isNaN(value)) continue;
|
|
40149
|
+
|
|
40150
|
+
if (this.BaseValue>0)
|
|
40151
|
+
{
|
|
40152
|
+
if (value<0) continue;
|
|
40153
|
+
|
|
40154
|
+
if (value<this.BaseValue)
|
|
40155
|
+
{
|
|
40156
|
+
var diffValue=this.BaseValue-value;
|
|
40157
|
+
if (maxDiffValue==null || maxDiffValue<diffValue) maxDiffValue=diffValue;
|
|
40158
|
+
continue;
|
|
40159
|
+
}
|
|
40160
|
+
}
|
|
40161
|
+
else
|
|
40162
|
+
{
|
|
40163
|
+
if (value>0) continue;
|
|
40164
|
+
|
|
40165
|
+
if (value>this.BaseValue)
|
|
40166
|
+
{
|
|
40167
|
+
var diffValue=value-this.BaseValue;
|
|
40168
|
+
if (maxDiffValue==null || maxDiffValue<diffValue) maxDiffValue=diffValue;
|
|
40169
|
+
continue;
|
|
40170
|
+
}
|
|
40171
|
+
}
|
|
40172
|
+
|
|
40173
|
+
if (range.Max==null) range.Max=value;
|
|
40174
|
+
if (range.Min==null) range.Min=value;
|
|
40175
|
+
|
|
40176
|
+
if (range.Max<value) range.Max=value;
|
|
40177
|
+
if (range.Min>value) range.Min=value;
|
|
40178
|
+
}
|
|
40179
|
+
|
|
40180
|
+
if (this.BaseValue>0)
|
|
40181
|
+
{
|
|
40182
|
+
if (IFrameSplitOperator.IsNumber(maxDiffValue) && IFrameSplitOperator.IsNumber(range.Min))
|
|
40183
|
+
range.Min-=maxDiffValue;
|
|
40184
|
+
}
|
|
40185
|
+
else
|
|
40186
|
+
{
|
|
40187
|
+
if (IFrameSplitOperator.IsNumber(maxDiffValue) && IFrameSplitOperator.IsNumber(range.Max))
|
|
40188
|
+
range.Max+=maxDiffValue;
|
|
40189
|
+
}
|
|
40190
|
+
|
|
40191
|
+
return range;
|
|
40192
|
+
}
|
|
40193
|
+
}
|
|
40194
|
+
|
|
39898
40195
|
//柱子
|
|
39899
40196
|
function ChartBar()
|
|
39900
40197
|
{
|
|
@@ -118024,6 +118321,8 @@ var SCRIPT_CHART_NAME=
|
|
|
118024
118321
|
OVERLAY_BARS:"OVERLAY_BARS", //叠加柱子图
|
|
118025
118322
|
KLINE_TABLE:"KLINE_TABLE",
|
|
118026
118323
|
SCATTER_PLOT:"SCATTER_PLOT", //散点图
|
|
118324
|
+
|
|
118325
|
+
CLIP_COLOR_STICK:"CLIP_COLOR_STICK", //上下柱子 裁剪
|
|
118027
118326
|
}
|
|
118028
118327
|
|
|
118029
118328
|
|
|
@@ -119782,6 +120081,33 @@ function ScriptIndex(name,script,args,option)
|
|
|
119782
120081
|
hqChart.ChartPaint.push(chart);
|
|
119783
120082
|
}
|
|
119784
120083
|
|
|
120084
|
+
this.CreateClipColorStick=function(hqChart,windowIndex,varItem,id)
|
|
120085
|
+
{
|
|
120086
|
+
var chart=new ChartClipColorStick();
|
|
120087
|
+
chart.Canvas=hqChart.Canvas;
|
|
120088
|
+
chart.Name=varItem.Name;
|
|
120089
|
+
chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;
|
|
120090
|
+
chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;
|
|
120091
|
+
chart.HQChart=hqChart;
|
|
120092
|
+
chart.Identify=this.Guid;
|
|
120093
|
+
|
|
120094
|
+
chart.Data.Data=varItem.Draw.DrawData;
|
|
120095
|
+
if (varItem.Option && chart.SetOption) chart.SetOption(varItem.Option);
|
|
120096
|
+
hqChart.ChartPaint.push(chart);
|
|
120097
|
+
|
|
120098
|
+
var titleIndex=windowIndex+1;
|
|
120099
|
+
if (varItem.IsShowTitle===false)
|
|
120100
|
+
{
|
|
120101
|
+
|
|
120102
|
+
}
|
|
120103
|
+
else
|
|
120104
|
+
{
|
|
120105
|
+
var clrTitle=this.GetDefaultColor(id);
|
|
120106
|
+
if (varItem.Option && varItem.Option.TitleColor) clrTitle=this.GetColor(varItem.Option.TitleColor);
|
|
120107
|
+
hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(chart.Data,varItem.Name,clrTitle);
|
|
120108
|
+
}
|
|
120109
|
+
}
|
|
120110
|
+
|
|
119785
120111
|
this.CreateColorKLine=function(hqChart,windowIndex,varItem,i)
|
|
119786
120112
|
{
|
|
119787
120113
|
let chart=new ChartColorKline();
|
|
@@ -120099,6 +120425,9 @@ function ScriptIndex(name,script,args,option)
|
|
|
120099
120425
|
case SCRIPT_CHART_NAME.SCATTER_PLOT:
|
|
120100
120426
|
this.CreateScatterPlot(hqChart,windowIndex,item,i);
|
|
120101
120427
|
break;
|
|
120428
|
+
case SCRIPT_CHART_NAME.CLIP_COLOR_STICK:
|
|
120429
|
+
this.CreateClipColorStick(hqChart,windowIndex,item,i);
|
|
120430
|
+
break;
|
|
120102
120431
|
default:
|
|
120103
120432
|
{
|
|
120104
120433
|
var find=g_ScriptIndexChartFactory.Get(item.Draw.DrawType); //外部挂接
|
|
@@ -122534,6 +122863,20 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
122534
122863
|
|
|
122535
122864
|
result.push(outVarItem);
|
|
122536
122865
|
}
|
|
122866
|
+
else if (draw.DrawType==SCRIPT_CHART_NAME.CLIP_COLOR_STICK)
|
|
122867
|
+
{
|
|
122868
|
+
drawItem.Name=draw.Name;
|
|
122869
|
+
drawItem.Type=draw.Type;
|
|
122870
|
+
drawItem.DrawType=draw.DrawType;
|
|
122871
|
+
drawItem.DrawData=this.FittingArray(draw.Data,date,time,hqChart);
|
|
122872
|
+
|
|
122873
|
+
outVarItem.Draw=drawItem;
|
|
122874
|
+
if (draw.LineWidth) outVarItem.LineWidth=draw.LineWidth;
|
|
122875
|
+
if (draw.UpColor) outVarItem.UpColor=draw.UpColor;
|
|
122876
|
+
if (draw.DownColor) outVarItem.DownColor=draw.DownColor;
|
|
122877
|
+
|
|
122878
|
+
result.push(outVarItem);
|
|
122879
|
+
}
|
|
122537
122880
|
else
|
|
122538
122881
|
{
|
|
122539
122882
|
var find=g_ScriptIndexChartFactory.Get(draw.DrawType); //外部挂接
|
|
@@ -122799,6 +123142,17 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
122799
123142
|
|
|
122800
123143
|
result.push(outVarItem);
|
|
122801
123144
|
}
|
|
123145
|
+
else if (draw.DrawType==SCRIPT_CHART_NAME.CLIP_COLOR_STICK)
|
|
123146
|
+
{
|
|
123147
|
+
drawItem.Name=draw.Name;
|
|
123148
|
+
drawItem.Type=draw.Type;
|
|
123149
|
+
drawItem.DrawType=draw.DrawType;
|
|
123150
|
+
drawItem.DrawData=this.FittingMinuteArray(draw.Data,date,time,hqChart);
|
|
123151
|
+
|
|
123152
|
+
outVarItem.Draw=drawItem;
|
|
123153
|
+
if (draw.Option) outVarItem.Option=draw.Option;
|
|
123154
|
+
result.push(outVarItem);
|
|
123155
|
+
}
|
|
122802
123156
|
else if (draw.DrawType=='MULTI_LINE')
|
|
122803
123157
|
{
|
|
122804
123158
|
drawItem.Text=draw.Text;
|
|
@@ -134783,7 +135137,8 @@ function JSKeyboardChartContainer(uielement)
|
|
|
134783
135137
|
this.NetworkFilter; //数据回调接口
|
|
134784
135138
|
this.Data={ XOffset:0, YOffset:0, Data:[] }; //股票列表
|
|
134785
135139
|
this.MapSymbol=new Map();
|
|
134786
|
-
this.SourceData={ Data:[] }
|
|
135140
|
+
this.SourceData={ Data:[] } //码表数据 Data:[ { Symbol:, Spell, Name:, Color: TypeName:, TypeID } ]
|
|
135141
|
+
this.FunctionKeyData=[]; //功能键 { Priority:, Data:[ { Symbol:, Spell, Name:, Color:, TypeName:, TypeID } ]
|
|
134787
135142
|
|
|
134788
135143
|
//事件回调
|
|
134789
135144
|
this.mapEvent=new Map(); //通知外部调用 key:JSCHART_EVENT_ID value:{Callback:回调,}
|
|
@@ -134810,10 +135165,44 @@ function JSKeyboardChartContainer(uielement)
|
|
|
134810
135165
|
if (option && option.Redraw==true) this.Draw();
|
|
134811
135166
|
}
|
|
134812
135167
|
|
|
135168
|
+
this.SearchFunctionKeyData=function(strSearch)
|
|
135169
|
+
{
|
|
135170
|
+
if (strSearch.length<=0) return null;
|
|
135171
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.FunctionKeyData)) return null;
|
|
135172
|
+
|
|
135173
|
+
var aryData=[];
|
|
135174
|
+
for(var i=0; i<this.FunctionKeyData.length; ++i)
|
|
135175
|
+
{
|
|
135176
|
+
var groupData=this.FunctionKeyData[i];
|
|
135177
|
+
if (!groupData) continue;
|
|
135178
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(groupData.Data)) continue;
|
|
135179
|
+
|
|
135180
|
+
var aryExactQuery=[]; //精确查询
|
|
135181
|
+
var aryFuzzyQuery=[]; //模糊查询
|
|
135182
|
+
var aryEqualQuery=[]; //相等
|
|
135183
|
+
|
|
135184
|
+
for(var j=0;j<groupData.Data.length;++j)
|
|
135185
|
+
{
|
|
135186
|
+
var item=groupData.Data[j];
|
|
135187
|
+
if (this.SearchSymbol(item, strSearch, aryExactQuery, aryFuzzyQuery,aryEqualQuery)) continue;
|
|
135188
|
+
}
|
|
135189
|
+
|
|
135190
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryEqualQuery)) aryData.push(...aryEqualQuery);
|
|
135191
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryExactQuery)) aryData.push(...aryExactQuery);
|
|
135192
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryFuzzyQuery)) aryData.push(...aryFuzzyQuery);
|
|
135193
|
+
}
|
|
135194
|
+
|
|
135195
|
+
if (aryData.length>0) return aryData;
|
|
135196
|
+
|
|
135197
|
+
return null;
|
|
135198
|
+
}
|
|
135199
|
+
|
|
134813
135200
|
this.Search=function(strText)
|
|
134814
135201
|
{
|
|
134815
135202
|
var aryExactQuery=[]; //精确查询
|
|
134816
135203
|
var aryFuzzyQuery=[]; //模糊查询
|
|
135204
|
+
var aryEqualQuery=[]; //相等
|
|
135205
|
+
var aryFuncKeyQuery=null;
|
|
134817
135206
|
this.MapSymbol.clear();
|
|
134818
135207
|
this.Data.Data=[];
|
|
134819
135208
|
this.Data.XOffset=0;
|
|
@@ -134822,17 +135211,21 @@ function JSKeyboardChartContainer(uielement)
|
|
|
134822
135211
|
var strSearch=strText.trim();
|
|
134823
135212
|
if (strSearch.length>0)
|
|
134824
135213
|
{
|
|
135214
|
+
aryFuncKeyQuery=this.SearchFunctionKeyData(strSearch);
|
|
135215
|
+
|
|
134825
135216
|
for(var i=0;i<this.SourceData.Data.length;++i)
|
|
134826
135217
|
{
|
|
134827
135218
|
var item=this.SourceData.Data[i];
|
|
134828
|
-
if (this.SearchSymbol(item, strSearch, aryExactQuery, aryFuzzyQuery)) continue;
|
|
135219
|
+
if (this.SearchSymbol(item, strSearch, aryExactQuery, aryFuzzyQuery, aryEqualQuery)) continue;
|
|
134829
135220
|
else if (this.SearchSpell(item, strSearch, aryExactQuery, aryFuzzyQuery)) continue;
|
|
134830
135221
|
}
|
|
134831
135222
|
}
|
|
134832
|
-
|
|
134833
|
-
if (IFrameSplitOperator.IsNonEmptyArray(aryExactQuery) || IFrameSplitOperator.IsNonEmptyArray(aryFuzzyQuery))
|
|
134834
|
-
this.Data.Data=aryExactQuery.concat(aryFuzzyQuery);
|
|
134835
135223
|
|
|
135224
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryFuncKeyQuery)) this.Data.Data.push(...aryFuncKeyQuery);
|
|
135225
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryEqualQuery)) this.Data.Data.push(...aryEqualQuery);
|
|
135226
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryExactQuery)) this.Data.Data.push(...aryExactQuery);
|
|
135227
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryFuzzyQuery)) this.Data.Data.push(...aryFuzzyQuery);
|
|
135228
|
+
|
|
134836
135229
|
this.ChartPaint[0].SelectedRow=0;
|
|
134837
135230
|
this.ChartPaint[0].SizeChange=true;
|
|
134838
135231
|
|
|
@@ -134841,12 +135234,13 @@ function JSKeyboardChartContainer(uielement)
|
|
|
134841
135234
|
this.Draw();
|
|
134842
135235
|
}
|
|
134843
135236
|
|
|
134844
|
-
this.SearchSymbol=function(item, strText, aryExactQuery, aryFuzzyQuery)
|
|
135237
|
+
this.SearchSymbol=function(item, strText, aryExactQuery, aryFuzzyQuery, aryEqualQuery)
|
|
134845
135238
|
{
|
|
134846
135239
|
var find=item.Symbol.indexOf(strText);
|
|
134847
135240
|
if (find<0) return false;
|
|
134848
135241
|
|
|
134849
|
-
if (
|
|
135242
|
+
if (item.Symbol==strText) aryEqualQuery.push(item.Symbol);
|
|
135243
|
+
else if (find==0) aryExactQuery.push(item.Symbol);
|
|
134850
135244
|
else aryFuzzyQuery.push(item.Symbol);
|
|
134851
135245
|
|
|
134852
135246
|
this.MapSymbol.set(item.Symbol, item);
|
|
@@ -134871,8 +135265,21 @@ function JSKeyboardChartContainer(uielement)
|
|
|
134871
135265
|
|
|
134872
135266
|
this.SetSymbolData=function(arySymbol)
|
|
134873
135267
|
{
|
|
134874
|
-
this.SourceData.Data=
|
|
134875
|
-
|
|
135268
|
+
this.SourceData.Data=[];
|
|
135269
|
+
for(var i=0;i<arySymbol.length;++i)
|
|
135270
|
+
{
|
|
135271
|
+
var item=arySymbol[i];
|
|
135272
|
+
if (IFrameSplitOperator.IsNumber(item.Priority))
|
|
135273
|
+
{
|
|
135274
|
+
if (!this.FunctionKeyData[item.Priority]) this.FunctionKeyData[item.Priority]={ Priority:item.Priority, Data:[] };
|
|
135275
|
+
this.FunctionKeyData[item.Priority].Data.push(item);
|
|
135276
|
+
}
|
|
135277
|
+
else
|
|
135278
|
+
{
|
|
135279
|
+
this.SourceData.Data.push(item);
|
|
135280
|
+
}
|
|
135281
|
+
}
|
|
135282
|
+
|
|
134876
135283
|
/*
|
|
134877
135284
|
//测试
|
|
134878
135285
|
this.MapSymbol.clear();
|
|
@@ -135145,11 +135552,13 @@ function JSKeyboardChartContainer(uielement)
|
|
|
135145
135552
|
if (!chart) return false;
|
|
135146
135553
|
|
|
135147
135554
|
var data=chart.GetSelectedSymbol();
|
|
135555
|
+
var selItem=this.MapSymbol.get(data.Symbol);
|
|
135556
|
+
if (!selItem) return false;
|
|
135148
135557
|
|
|
135149
135558
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_KEYBOARD_SELECTED)
|
|
135150
135559
|
if (event && event.Callback)
|
|
135151
135560
|
{
|
|
135152
|
-
event.Callback(event, { Data:data }, this);
|
|
135561
|
+
event.Callback(event, { Data:data, RowData:selItem }, this);
|
|
135153
135562
|
}
|
|
135154
135563
|
}
|
|
135155
135564
|
|
|
@@ -135759,6 +136168,38 @@ function ChartSymbolList()
|
|
|
135759
136168
|
this.SetColumn=function(aryColumn)
|
|
135760
136169
|
{
|
|
135761
136170
|
if (!IFrameSplitOperator.IsNonEmptyArray(aryColumn)) return;
|
|
136171
|
+
|
|
136172
|
+
this.Column=[];
|
|
136173
|
+
for(var i=0;i<aryColumn.length;++i)
|
|
136174
|
+
{
|
|
136175
|
+
var item=aryColumn[i];
|
|
136176
|
+
var colItem=this.GetDefaultColunm(item.Type);
|
|
136177
|
+
if (!colItem) continue;
|
|
136178
|
+
|
|
136179
|
+
if (item.Title) colItem.Title=item.Title;
|
|
136180
|
+
if (item.TextAlign) colItem.TextAlign=item.TextAlign;
|
|
136181
|
+
if (item.MaxText) colItem.MaxText=item.MaxText;
|
|
136182
|
+
|
|
136183
|
+
this.Column.push(colItem);
|
|
136184
|
+
}
|
|
136185
|
+
}
|
|
136186
|
+
|
|
136187
|
+
this.GetDefaultColunm=function(id)
|
|
136188
|
+
{
|
|
136189
|
+
var DEFAULT_COLUMN=
|
|
136190
|
+
[
|
|
136191
|
+
{ Type:KEYBOARD_COLUMN_ID.SHORT_SYMBOL_ID, Title:"代码", TextAlign:"left", Width:null, MaxText:"888888" },
|
|
136192
|
+
{ Type:KEYBOARD_COLUMN_ID.NAME_ID, Title:"名称", TextAlign:"left", Width:null, MaxText:"擎擎擎擎擎擎" },
|
|
136193
|
+
{ Type:KEYBOARD_COLUMN_ID.TYPE_NAME_ID, Title:"类型", TextAlign:"right", Width:null, MaxText:"擎擎擎擎" },
|
|
136194
|
+
];
|
|
136195
|
+
|
|
136196
|
+
for(var i=0;i<DEFAULT_COLUMN.length;++i)
|
|
136197
|
+
{
|
|
136198
|
+
var item=DEFAULT_COLUMN[i];
|
|
136199
|
+
if (item.Type==id) return item;
|
|
136200
|
+
}
|
|
136201
|
+
|
|
136202
|
+
return null;
|
|
135762
136203
|
}
|
|
135763
136204
|
|
|
135764
136205
|
this.Draw=function()
|
|
@@ -137784,7 +138225,7 @@ function ScrollBarBGChart()
|
|
|
137784
138225
|
|
|
137785
138226
|
|
|
137786
138227
|
|
|
137787
|
-
var HQCHART_VERSION="1.1.
|
|
138228
|
+
var HQCHART_VERSION="1.1.13716";
|
|
137788
138229
|
|
|
137789
138230
|
function PrintHQChartVersion()
|
|
137790
138231
|
{
|
|
@@ -49702,7 +49702,7 @@ HQData.Keyboard_RequestSymbolList=function(data, callback)
|
|
|
49702
49702
|
var shortSymbol=item[0];
|
|
49703
49703
|
shortSymbol=shortSymbol.replace(".sh", "");
|
|
49704
49704
|
shortSymbol=shortSymbol.replace(".sz", "");
|
|
49705
|
-
var symbolItem={ Symbol:item[0], Name:item[1], ShortSymbol:shortSymbol, Spell:item[3], Type:item[2] };
|
|
49705
|
+
var symbolItem={ Symbol:item[0], Name:item[1], ShortSymbol:shortSymbol, Spell:item[3], Type:item[2], Data:{ Symbol:item[0], Type:0 } };
|
|
49706
49706
|
if (symbolItem.Type=="EQA")
|
|
49707
49707
|
{
|
|
49708
49708
|
symbolItem.TypeName="股票";
|
|
@@ -49716,6 +49716,15 @@ HQData.Keyboard_RequestSymbolList=function(data, callback)
|
|
|
49716
49716
|
arySymbol.push(symbolItem);
|
|
49717
49717
|
}
|
|
49718
49718
|
|
|
49719
|
+
arySymbol.push( { Symbol:"01", Name:"分时成交明细", TypeName:"功能键", Priority:1, Color:"rgb(220,20,60)" , Data:{ PageName:"分时成交明细", Type:2 }} );
|
|
49720
|
+
arySymbol.push( { Symbol:"02", Name:"分价表", TypeName:"功能键", Priority:1, Color:"rgb(220,20,60)" ,Data:{ PageName:"分价表", Type:2 }} );
|
|
49721
|
+
arySymbol.push( { Symbol:"06", Name:"自选股", TypeName:"功能键", Priority:1 , Color:"rgb(220,20,60)", Data:{ PageName:"自选股", Type:2 }} );
|
|
49722
|
+
|
|
49723
|
+
arySymbol.push( { Symbol:"MACD", Name:"平滑异同平均线", TypeName:"指标", Priority:2 , Color:"rgb(0,0,255)", Data:{ Index:"MACD", Type:1 }} );
|
|
49724
|
+
arySymbol.push( { Symbol:"RSI", Name:"相对强弱指标", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)",Data:{ Index:"RSI", Type:1 }} );
|
|
49725
|
+
arySymbol.push( { Symbol:"MA", Name:"均线", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"MA", Type:1 } } );
|
|
49726
|
+
arySymbol.push( { Symbol:"BOLL", Name:"布林线", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"BOLL", Type:1 } } );
|
|
49727
|
+
|
|
49719
49728
|
callback(arySymbol);
|
|
49720
49729
|
}
|
|
49721
49730
|
|