hqchart 1.1.13678 → 1.1.13689
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 +15 -4
- package/lib/umychart.vue.js +69 -33
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +121 -0
- package/src/jscommon/umychart.complier.js +186 -7
- package/src/jscommon/umychart.js +10 -0
- package/src/jscommon/umychart.keyboard.js +141 -65
- package/src/jscommon/umychart.report.js +1 -1
- package/src/jscommon/umychart.resource/css/tools.css +1 -1
- package/src/jscommon/umychart.testdata.js +121 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +339 -74
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +121 -0
- package/src/jscommon/umychart.vue/umychart.vue.js +339 -74
|
@@ -72215,6 +72215,16 @@ function JSChartResource()
|
|
|
72215
72215
|
NameFont:{ Size:14, Name:"微软雅黑" },
|
|
72216
72216
|
SymbolFont:{ Size:12, Name:"微软雅黑" }
|
|
72217
72217
|
},
|
|
72218
|
+
|
|
72219
|
+
VScrollbar:
|
|
72220
|
+
{
|
|
72221
|
+
ScrollBarHeight:50,
|
|
72222
|
+
ButtonColor:"rgba(252,252,252,0.8)",
|
|
72223
|
+
BarColor:"rgba(168,168,168,0.9)",
|
|
72224
|
+
BorderColor:'rgba(180,180,180,0.9)',
|
|
72225
|
+
BGColor:"rgba(234,239,248,0.9)",
|
|
72226
|
+
BarWidth:{ Size:8 }
|
|
72227
|
+
},
|
|
72218
72228
|
},
|
|
72219
72229
|
|
|
72220
72230
|
//滚动条
|
|
@@ -98125,6 +98135,38 @@ var g_JSComplierResource=
|
|
|
98125
98135
|
Data:new Map() //自定义函数 key=变量名, Value:{ Name:变量名, Description:描述信息 }
|
|
98126
98136
|
},
|
|
98127
98137
|
|
|
98138
|
+
CustomDataFunction: //自定义数据函数
|
|
98139
|
+
{
|
|
98140
|
+
//自定义函数 key=变量名, Value:{ Name:变量名, Description:描述信息, ArgCount:参数个数 }
|
|
98141
|
+
Data:new Map(
|
|
98142
|
+
[
|
|
98143
|
+
[
|
|
98144
|
+
"L2_VOLNUM",
|
|
98145
|
+
{
|
|
98146
|
+
Name:"L2_VOLNUM",
|
|
98147
|
+
Description:"单数分档,按: N(0--1):(超大+大)/(中+小),M(0--1):买/卖二类,沪深京品种的资金流向,仅日线以上周期,用于特定版本",
|
|
98148
|
+
ArgCount:2
|
|
98149
|
+
}
|
|
98150
|
+
],
|
|
98151
|
+
[
|
|
98152
|
+
"L2_VOL",
|
|
98153
|
+
{
|
|
98154
|
+
Name:"L2_VOL",
|
|
98155
|
+
Description:"成交量分档,按: N(0--3):超大/大/中/小四档处理,M(0--3):买入/卖出/主买/主卖四类,沪深京品种的资金流向,仅日线以上周期,用于特定版本",
|
|
98156
|
+
ArgCount:2
|
|
98157
|
+
}
|
|
98158
|
+
],
|
|
98159
|
+
[
|
|
98160
|
+
"L2_AMO",
|
|
98161
|
+
{
|
|
98162
|
+
Name:"L2_AMO",
|
|
98163
|
+
Description:"成交额分档,按: N(0--3):超大/大/中/小四档处理,M(0--3):买入/卖出/主买/主卖四类,沪深京品种的资金流向,仅日线以上周期,用于特定版本",
|
|
98164
|
+
ArgCount:2
|
|
98165
|
+
}
|
|
98166
|
+
]
|
|
98167
|
+
])
|
|
98168
|
+
},
|
|
98169
|
+
|
|
98128
98170
|
GetDrawIcon:function(id)
|
|
98129
98171
|
{
|
|
98130
98172
|
var icon;
|
|
@@ -98177,6 +98219,12 @@ var g_JSComplierResource=
|
|
|
98177
98219
|
{
|
|
98178
98220
|
if (g_JSComplierResource.CustomVariant.Data.has(name)) return true;
|
|
98179
98221
|
return false;
|
|
98222
|
+
},
|
|
98223
|
+
|
|
98224
|
+
IsCustomDataFunction:function(name)
|
|
98225
|
+
{
|
|
98226
|
+
if (g_JSComplierResource.CustomDataFunction.Data.has(name)) return true;
|
|
98227
|
+
return false;
|
|
98180
98228
|
}
|
|
98181
98229
|
}
|
|
98182
98230
|
|
|
@@ -99083,7 +99131,15 @@ function Node(ErrorHandler)
|
|
|
99083
99131
|
"CAPITAL","TOTALCAPITAL","EXCHANGE",
|
|
99084
99132
|
"HYBLOCK","DYBLOCK","GNBLOCK","FGBLOCK","ZSBLOCK","ZHBLOCK","ZDBLOCK","HYZSCODE",
|
|
99085
99133
|
"GNBLOCKNUM","FGBLOCKNUM","ZSBLOCKNUM","ZHBLOCKNUM","ZDBLOCKNUM",
|
|
99086
|
-
"HYSYL","HYSJL","FROMOPEN"
|
|
99134
|
+
"HYSYL","HYSJL","FROMOPEN",
|
|
99135
|
+
//资金流向
|
|
99136
|
+
"LARGEINTRDVOL","LARGEOUTTRDVOL",
|
|
99137
|
+
"TRADENUM","TRADEINNUM","TRADEOUTNUM",
|
|
99138
|
+
"LARGETRDINNUM","LARGETRDOUTNUM",
|
|
99139
|
+
"CUR_BUYORDER","CUR_SELLORDER",
|
|
99140
|
+
"ACTINVOL","ACTOUTVOL",
|
|
99141
|
+
"BIDORDERVOL","BIDCANCELVOL","AVGBIDPX",
|
|
99142
|
+
"OFFERORDERVOL","OFFERCANCELVOL","AVGOFFERPX",
|
|
99087
99143
|
]);
|
|
99088
99144
|
|
|
99089
99145
|
if (setVariantName.has(varName))
|
|
@@ -99176,6 +99232,15 @@ function Node(ErrorHandler)
|
|
|
99176
99232
|
return;
|
|
99177
99233
|
}
|
|
99178
99234
|
|
|
99235
|
+
//自定义数据函数
|
|
99236
|
+
if (g_JSComplierResource.IsCustomDataFunction(callee.Name))
|
|
99237
|
+
{
|
|
99238
|
+
var item={FunctionName:callee.Name, ID:JS_EXECUTE_JOB_ID.JOB_CUSTOM_DATA_FUNCTION, Args:args}
|
|
99239
|
+
if (token) item.Token={ Index:token.Start, Line:token.LineNumber};
|
|
99240
|
+
this.FunctionData.push(item);
|
|
99241
|
+
return;
|
|
99242
|
+
}
|
|
99243
|
+
|
|
99179
99244
|
if (callee.Name=='DYNAINFO')
|
|
99180
99245
|
{
|
|
99181
99246
|
var item={ ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SYMBOL_LATEST_DATA, Args:args, FunctionName:callee.Name };
|
|
@@ -112602,7 +112667,7 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
112602
112667
|
Request:
|
|
112603
112668
|
{
|
|
112604
112669
|
Url:"数据地址", Type:'POST',
|
|
112605
|
-
Data:{ VariantName:jobItem.VariantName, symbol: this.Symbol, daterange:dateRange, period:this.Period }
|
|
112670
|
+
Data:{ VariantName:jobItem.VariantName, symbol: this.Symbol, daterange:dateRange, period:this.Period, right:this.Right }
|
|
112606
112671
|
},
|
|
112607
112672
|
Self:this,
|
|
112608
112673
|
VariantInfo:variantInfo,
|
|
@@ -112645,7 +112710,61 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
112645
112710
|
{
|
|
112646
112711
|
FunctionName:jobItem.FunctionName,
|
|
112647
112712
|
symbol: this.Symbol, daterange:dateRange,
|
|
112648
|
-
JobItem:jobItem //函数编译信息
|
|
112713
|
+
JobItem:jobItem, //函数编译信息
|
|
112714
|
+
period:this.Period,
|
|
112715
|
+
right:this.Right,
|
|
112716
|
+
}
|
|
112717
|
+
},
|
|
112718
|
+
Self:this,
|
|
112719
|
+
FunctionInfo:functionInfo,
|
|
112720
|
+
PreventDefault:false
|
|
112721
|
+
};
|
|
112722
|
+
this.NetworkFilter(obj, function(recvData)
|
|
112723
|
+
{
|
|
112724
|
+
if (recvData.Error) self.AddStockValueError(key,recvData.Error);
|
|
112725
|
+
else self.RecvStockValue(recvData.Data,jobItem,key,recvData.DataType);
|
|
112726
|
+
self.Execute.RunNextJob();
|
|
112727
|
+
});
|
|
112728
|
+
}
|
|
112729
|
+
else
|
|
112730
|
+
{
|
|
112731
|
+
this.AddStockValueError(key, `自定义函数${key}下载失败`);
|
|
112732
|
+
this.Execute.RunNextJob();
|
|
112733
|
+
}
|
|
112734
|
+
}
|
|
112735
|
+
|
|
112736
|
+
|
|
112737
|
+
this.GetCustomFunctionDataV2=function(jobItem)
|
|
112738
|
+
{
|
|
112739
|
+
var funcName=jobItem.FunctionName;
|
|
112740
|
+
var functionInfo=g_JSComplierResource.CustomDataFunction.Data.get(funcName);
|
|
112741
|
+
if (!functionInfo) return;
|
|
112742
|
+
|
|
112743
|
+
var aryArgs=this.JobArgumentsToArray(jobItem, functionInfo.ArgCount);
|
|
112744
|
+
var key=this.GetStockDataKey(jobItem,aryArgs);
|
|
112745
|
+
|
|
112746
|
+
if (this.StockData.has(key)) return this.Execute.RunNextJob(); //一个函数只能缓存一个数据, 保存多个外部自己保存
|
|
112747
|
+
|
|
112748
|
+
var self=this;
|
|
112749
|
+
if (this.NetworkFilter)
|
|
112750
|
+
{
|
|
112751
|
+
var dateRange=this.Data.GetDateRange();
|
|
112752
|
+
var obj=
|
|
112753
|
+
{
|
|
112754
|
+
Name:'JSSymbolData::GetCustomFunctionData', //类名::函数名
|
|
112755
|
+
Explain:'自定义函数数据下载',
|
|
112756
|
+
JobID:jobItem.ID,
|
|
112757
|
+
Request:
|
|
112758
|
+
{
|
|
112759
|
+
Url:"数据地址", Type:'POST',
|
|
112760
|
+
Data:
|
|
112761
|
+
{
|
|
112762
|
+
FunctionName:jobItem.FunctionName,
|
|
112763
|
+
symbol: this.Symbol, daterange:dateRange,
|
|
112764
|
+
JobItem:jobItem, //函数编译信息
|
|
112765
|
+
Key:key,
|
|
112766
|
+
period:this.Period,
|
|
112767
|
+
right:this.Right,
|
|
112649
112768
|
}
|
|
112650
112769
|
},
|
|
112651
112770
|
Self:this,
|
|
@@ -114462,6 +114581,7 @@ var JS_EXECUTE_JOB_ID=
|
|
|
114462
114581
|
|
|
114463
114582
|
JOB_CUSTOM_FUNCTION_DATA:6000, //自定义函数
|
|
114464
114583
|
JOB_CUSTOM_VARIANT_DATA:6001, //自定义变量
|
|
114584
|
+
JOB_CUSTOM_DATA_FUNCTION:6002, //自定义数据函数
|
|
114465
114585
|
//截面数据
|
|
114466
114586
|
//财务数据 SF(公告期,数据名称) 如: SF(201901,"流动资产");
|
|
114467
114587
|
JOB_DOWNLOAD_SECTION_SF:20000,
|
|
@@ -114702,8 +114822,26 @@ function JSExecute(ast,option)
|
|
|
114702
114822
|
["MACHINEDATE",null],["MACHINETIME",null],["MACHINEWEEK",null],
|
|
114703
114823
|
|
|
114704
114824
|
["TR", null], //真实波幅
|
|
114705
|
-
["AUTOFILTER", null]
|
|
114706
|
-
|
|
114825
|
+
["AUTOFILTER", null],
|
|
114826
|
+
|
|
114827
|
+
['LARGEINTRDVOL', null], //逐笔买入大单成交量,相当于L2_VOL(0,0)+L2_VOL(1,0),沪深京品种的资金流向,仅日线以上周期,用于特定版本
|
|
114828
|
+
['LARGEOUTTRDVOL', null], //逐笔卖出大单成交量,相当于L2_VOL(0,1)+L2_VOL(1,1),沪深京品种的资金流向,仅日线以上周期,用于特定版本
|
|
114829
|
+
["TRADENUM", null], //逐笔成交总单数,沪深京品种的资金流向,仅日线以上周期,用于特定版本
|
|
114830
|
+
["TRADEINNUM", null], //逐笔买入成交单数,相当于L2_VOLNUM(0,0)+L2_VOLNUM(1,0),沪深京品种的资金流向,仅日线以上周期,用于特定版本
|
|
114831
|
+
["TRADEOUTNUM", null], //逐笔卖出成交单数,相当于L2_VOLNUM(0,1)+L2_VOLNUM(1,1),沪深京品种的资金流向,仅日线以上周期,用于特定版本
|
|
114832
|
+
["LARGETRDINNUM", null], //逐笔买入大单成交单数,相当于L2_VOLNUM(0,0),沪深京品种的资金流向,仅日线以上周期,用于特定版本
|
|
114833
|
+
["LARGETRDOUTNUM", null], //逐笔卖出大单成交单数,相当于L2_VOLNUM(0,1),沪深京品种的资金流向,仅日线以上周期,用于特定版本
|
|
114834
|
+
["CUR_BUYORDER", null], //总委买量,序列数据,专业版等(资金流向功能)沪深京品种行情专用
|
|
114835
|
+
["CUR_SELLORDER", null], //总委卖量,序列数据,专业版等(资金流向功能)沪深京品种行情专用
|
|
114836
|
+
["ACTINVOL", null], //主动买成交量,相当于L2_VOL(0,2)+L2_VOL(1,2)+L2_VOL(2,2)+L2_VOL(3,2),沪深京品种的资金流向,仅日线以上周期,用于特定版本
|
|
114837
|
+
["ACTOUTVOL", null], //主动卖成交量,相当于L2_VOL(0,3)+L2_VOL(1,3)+L2_VOL(2,3)+L2_VOL(3,3),沪深京品种的资金流向,仅日线以上周期,用于特定版本
|
|
114838
|
+
["BIDORDERVOL", null], //累计总有效委买量,专业版等(资金流向功能)沪深京品种行情专用 累计总有效委买量-累计总有效撤买量=总买+总成交量
|
|
114839
|
+
["BIDCANCELVOL", null], //累计总有效撤买量,专业版等(资金流向功能)沪深京品种行情专用 累计总有效委买量-累计总有效撤买量=总买+总成交量
|
|
114840
|
+
["AVGBIDPX", null], //专业版等(资金流向功能)沪深京品种行情专用:最新委买均价
|
|
114841
|
+
["OFFERORDERVOL", null], //累计总有效委卖量,专业版等(资金流向功能)沪深京品种行情专用 累计总有效委卖量-累计总有效撤卖量=总卖+总成交量
|
|
114842
|
+
["OFFERCANCELVOL", null], //累计总有效撤卖量,专业版等(资金流向功能)沪深京品种行情专用 累计总有效委卖量-累计总有效撤卖量=总卖+总成交量
|
|
114843
|
+
["AVGOFFERPX", null], //专业版等(资金流向功能)沪深京品种行情专用:最新委卖均价
|
|
114844
|
+
//["", null],
|
|
114707
114845
|
]);
|
|
114708
114846
|
|
|
114709
114847
|
this.SymbolData=new JSSymbolData(this.AST,option,this);
|
|
@@ -114828,6 +114966,9 @@ function JSExecute(ast,option)
|
|
|
114828
114966
|
case JS_EXECUTE_JOB_ID.JOB_CUSTOM_FUNCTION_DATA:
|
|
114829
114967
|
return this.SymbolData.GetCustomFunctionData(jobItem);
|
|
114830
114968
|
|
|
114969
|
+
case JS_EXECUTE_JOB_ID.JOB_CUSTOM_DATA_FUNCTION:
|
|
114970
|
+
return this.SymbolData.GetCustomFunctionDataV2(jobItem);
|
|
114971
|
+
|
|
114831
114972
|
|
|
114832
114973
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_CUSTOM_API_DATA:
|
|
114833
114974
|
return this.SymbolData.DownloadCustomAPIData(jobItem);
|
|
@@ -114920,6 +115061,24 @@ function JSExecute(ast,option)
|
|
|
114920
115061
|
case "HYSJL":
|
|
114921
115062
|
|
|
114922
115063
|
case 'FROMOPEN':
|
|
115064
|
+
|
|
115065
|
+
case "LARGEINTRDVOL":
|
|
115066
|
+
case "LARGEOUTTRDVOL":
|
|
115067
|
+
case "TRADENUM":
|
|
115068
|
+
case "TRADEINNUM":
|
|
115069
|
+
case "TRADEOUTNUM":
|
|
115070
|
+
case "LARGETRDINNUM":
|
|
115071
|
+
case "LARGETRDOUTNUM":
|
|
115072
|
+
case "CUR_BUYORDER":
|
|
115073
|
+
case "CUR_SELLORDER":
|
|
115074
|
+
case "ACTINVOL":
|
|
115075
|
+
case "ACTOUTVOL":
|
|
115076
|
+
case "BIDORDERVOL":
|
|
115077
|
+
case "BIDCANCELVOL":
|
|
115078
|
+
case "AVGBIDPX":
|
|
115079
|
+
case "OFFERORDERVOL":
|
|
115080
|
+
case "OFFERCANCELVOL":
|
|
115081
|
+
case "AVGOFFERPX":
|
|
114923
115082
|
return this.SymbolData.GetStockCacheData({ VariantName:name, Node:node });
|
|
114924
115083
|
case 'SETCODE':
|
|
114925
115084
|
return this.SymbolData.SETCODE();
|
|
@@ -114983,8 +115142,9 @@ function JSExecute(ast,option)
|
|
|
114983
115142
|
return this.SymbolData.WEEKOFYEAR();
|
|
114984
115143
|
case "DAYSTOTODAY":
|
|
114985
115144
|
return this.SymbolData.DAYSTOTODAY();
|
|
114986
|
-
|
|
114987
115145
|
}
|
|
115146
|
+
|
|
115147
|
+
this.ThrowUnexpectedNode(node, '变量'+name+'不存在', name);
|
|
114988
115148
|
}
|
|
114989
115149
|
|
|
114990
115150
|
this.ReadCustomVariant=function(name,node)
|
|
@@ -115935,6 +116095,15 @@ function JSExecute(ast,option)
|
|
|
115935
116095
|
return node.Out;
|
|
115936
116096
|
}
|
|
115937
116097
|
|
|
116098
|
+
if (g_JSComplierResource.IsCustomDataFunction(funcName))
|
|
116099
|
+
{
|
|
116100
|
+
var functionInfo=g_JSComplierResource.CustomDataFunction.Data.get(funcName);
|
|
116101
|
+
node.Out=this.SymbolData.GetStockCacheData( {FunctionName:funcName, Args:args, ArgCount:functionInfo.ArgCount, Node:node } );
|
|
116102
|
+
node.Draw=null;
|
|
116103
|
+
|
|
116104
|
+
return node.Out;
|
|
116105
|
+
}
|
|
116106
|
+
|
|
115938
116107
|
switch(funcName)
|
|
115939
116108
|
{
|
|
115940
116109
|
case 'DYNAINFO': //行情最新数据
|
|
@@ -116504,6 +116673,24 @@ function JSExplainer(ast,option)
|
|
|
116504
116673
|
['DRAWNULL',"无效数据"],
|
|
116505
116674
|
["TR", "求真实波幅"],
|
|
116506
116675
|
|
|
116676
|
+
["LARGEINTRDVOL","逐笔买入大单成交量"],
|
|
116677
|
+
["LARGEOUTTRDVOL","逐笔卖出大单成交量"],
|
|
116678
|
+
["TRADENUM", "逐笔成交总单数"],
|
|
116679
|
+
["TRADEINNUM", "逐笔买入成交单数"],
|
|
116680
|
+
["TRADEOUTNUM", "逐笔卖出成交单数"],
|
|
116681
|
+
["LARGETRDINNUM", "逐笔买入大单成交单数"],
|
|
116682
|
+
["LARGETRDOUTNUM", "逐笔卖出大单成交单数"],
|
|
116683
|
+
["CUR_BUYORDER", "总委买量"],
|
|
116684
|
+
["CUR_SELLORDER", "总委卖量"],
|
|
116685
|
+
["ACTINVOL", "主动买成交量"],
|
|
116686
|
+
["ACTOUTVOL", "主动卖成交量"],
|
|
116687
|
+
["BIDORDERVOL", "累计总有效委买量"],
|
|
116688
|
+
["BIDCANCELVOL", "累计总有效撤买量"],
|
|
116689
|
+
["AVGBIDPX", "最新委买均价"],
|
|
116690
|
+
["OFFERORDERVOL", "累计总有效委卖量"],
|
|
116691
|
+
["OFFERCANCELVOL", "累计总有效撤卖量"],
|
|
116692
|
+
["AVGOFFERPX", "最新委卖均价"],
|
|
116693
|
+
|
|
116507
116694
|
]);
|
|
116508
116695
|
|
|
116509
116696
|
if (option)
|
|
@@ -117095,7 +117282,9 @@ function JSExplainer(ast,option)
|
|
|
117095
117282
|
}
|
|
117096
117283
|
],
|
|
117097
117284
|
|
|
117098
|
-
|
|
117285
|
+
["L2_VOLNUM", { Name:"L2_VOLNUM", Param:{ Count:2 }, ToString:function(args) { return `单数分档`; } }],
|
|
117286
|
+
["L2_VOL", { Name:"L2_VOL", Param:{ Count:2 }, ToString:function(args) { return `成交量分档`; } }],
|
|
117287
|
+
["L2_AMO", { Name:"L2_AMO", Param:{ Count:2 }, ToString:function(args) { return `成交额分档`; } }],
|
|
117099
117288
|
|
|
117100
117289
|
]
|
|
117101
117290
|
);
|
|
@@ -134037,7 +134226,7 @@ function ChartVScrollbar()
|
|
|
134037
134226
|
this.ChartBorder; //边框信息
|
|
134038
134227
|
this.ChartFrame; //框架画法
|
|
134039
134228
|
this.Name; //名称
|
|
134040
|
-
this.ClassName='
|
|
134229
|
+
this.ClassName='ChartVScrollbar'; //类名
|
|
134041
134230
|
this.IsDrawFirst=false;
|
|
134042
134231
|
this.GetEventCallback; //获取事件
|
|
134043
134232
|
this.Report;
|
|
@@ -137020,6 +137209,7 @@ function JSKeyboardChartContainer(uielement)
|
|
|
137020
137209
|
|
|
137021
137210
|
//拖拽滚动条
|
|
137022
137211
|
this.DragYScroll=null; //{Start:{x,y}, End:{x, y}}
|
|
137212
|
+
|
|
137023
137213
|
this.IsDestroy=false; //是否已经销毁了
|
|
137024
137214
|
|
|
137025
137215
|
this.ChartDestory=function() //销毁
|
|
@@ -137060,6 +137250,7 @@ function JSKeyboardChartContainer(uielement)
|
|
|
137060
137250
|
this.Data.Data=aryExactQuery.concat(aryFuzzyQuery);
|
|
137061
137251
|
|
|
137062
137252
|
this.ChartPaint[0].SelectedRow=0;
|
|
137253
|
+
this.ChartPaint[0].SizeChange=true;
|
|
137063
137254
|
|
|
137064
137255
|
JSConsole.Chart.Log(`[JSKeyboardChart:Search] search=${strSearch}, source=${this.SourceData.Data.length} match=${this.Data.Data.length}`);
|
|
137065
137256
|
|
|
@@ -137136,6 +137327,12 @@ function JSKeyboardChartContainer(uielement)
|
|
|
137136
137327
|
chart.Data=this.Data;
|
|
137137
137328
|
this.ChartPaint[0]=chart;
|
|
137138
137329
|
|
|
137330
|
+
chart.VScrollbar=new ChartKeyboardVScrollbar();
|
|
137331
|
+
chart.VScrollbar.Frame=this.Frame;
|
|
137332
|
+
chart.VScrollbar.Canvas=this.Canvas;
|
|
137333
|
+
chart.VScrollbar.ChartBorder=this.Frame.ChartBorder;
|
|
137334
|
+
chart.VScrollbar.Report=chart;
|
|
137335
|
+
|
|
137139
137336
|
if (option)
|
|
137140
137337
|
{
|
|
137141
137338
|
|
|
@@ -137387,7 +137584,7 @@ function JSKeyboardChartContainer(uielement)
|
|
|
137387
137584
|
|
|
137388
137585
|
this.UIOnMouseDown=function(e)
|
|
137389
137586
|
{
|
|
137390
|
-
this.
|
|
137587
|
+
this.DragYScroll=null;
|
|
137391
137588
|
this.DragMove={ Click:{ X:e.clientX, Y:e.clientY }, Move:{X:e.clientX, Y:e.clientY}, PreMove:{X:e.clientX, Y:e.clientY } };
|
|
137392
137589
|
|
|
137393
137590
|
var pixelTatio = GetDevicePixelRatio();
|
|
@@ -137406,6 +137603,29 @@ function JSKeyboardChartContainer(uielement)
|
|
|
137406
137603
|
if (clickData.Redraw==true)
|
|
137407
137604
|
this.Draw();
|
|
137408
137605
|
}
|
|
137606
|
+
else if (clickData.Type==5 && e.button==0) //右侧滚动条
|
|
137607
|
+
{
|
|
137608
|
+
var scroll=clickData.VScrollbar;
|
|
137609
|
+
if (scroll.Type==1) //顶部按钮
|
|
137610
|
+
{
|
|
137611
|
+
if (this.MoveYOffset(-1))
|
|
137612
|
+
this.Draw();
|
|
137613
|
+
}
|
|
137614
|
+
else if (scroll.Type==2) //底部按钮
|
|
137615
|
+
{
|
|
137616
|
+
if (this.MoveYOffset(1))
|
|
137617
|
+
this.Draw();
|
|
137618
|
+
}
|
|
137619
|
+
else if (scroll.Type==3) //滚动条
|
|
137620
|
+
{
|
|
137621
|
+
this.DragYScroll={ Click:{X:x, Y:y}, LastMove:{X:x, Y:y} };
|
|
137622
|
+
}
|
|
137623
|
+
else if (scroll.Type==4) //滚动条内部
|
|
137624
|
+
{
|
|
137625
|
+
if (this.SetYOffset(scroll.Pos))
|
|
137626
|
+
this.Draw();
|
|
137627
|
+
}
|
|
137628
|
+
}
|
|
137409
137629
|
}
|
|
137410
137630
|
|
|
137411
137631
|
document.onmousemove=(e)=>{ this.DocOnMouseMove(e); }
|
|
@@ -137451,68 +137671,17 @@ function JSKeyboardChartContainer(uielement)
|
|
|
137451
137671
|
var x = (e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;
|
|
137452
137672
|
var y = (e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
|
|
137453
137673
|
|
|
137454
|
-
|
|
137455
|
-
|
|
137456
|
-
if (this.DragRow)
|
|
137457
|
-
{
|
|
137458
|
-
var drag=this.DragRow;
|
|
137459
|
-
var moveSetpY=drag.LastMove.Y-e.clientY;
|
|
137460
|
-
if (Math.abs(moveSetpY)<2) return;
|
|
137461
|
-
var reportChart=this.GetReportChart();
|
|
137462
|
-
drag.LastMove.X=e.clientX;
|
|
137463
|
-
drag.LastMove.Y=e.clientY;
|
|
137464
|
-
drag.Inside={X:x, Y:y};
|
|
137465
|
-
|
|
137466
|
-
if (reportChart)
|
|
137467
|
-
{
|
|
137468
|
-
var moveRow=reportChart.OnDrawgRow(x,y,e);
|
|
137469
|
-
if (moveRow )
|
|
137470
|
-
{
|
|
137471
|
-
if (moveRow.Type==2)
|
|
137472
|
-
{
|
|
137473
|
-
if (moveRow.Data.DataIndex!=drag.Data.Row.DataIndex)
|
|
137474
|
-
{
|
|
137475
|
-
drag.MoveRow=moveRow;
|
|
137476
|
-
}
|
|
137477
|
-
}
|
|
137478
|
-
else if (moveRow.Type==7)
|
|
137479
|
-
{
|
|
137480
|
-
var pageStatus=reportChart.GetCurrentPageStatus();
|
|
137481
|
-
if (!pageStatus.IsEnd)
|
|
137482
|
-
{
|
|
137483
|
-
this.MoveYOffset(1, false);
|
|
137484
|
-
drag.MoveRow=null;
|
|
137485
|
-
|
|
137486
|
-
this.EnablePageScroll=true;
|
|
137487
|
-
this.AutoScrollPage(2);
|
|
137488
|
-
}
|
|
137489
|
-
}
|
|
137490
|
-
else if (moveRow.Type==5)
|
|
137491
|
-
{
|
|
137492
|
-
if (this.Data.YOffset>0)
|
|
137493
|
-
{
|
|
137494
|
-
this.MoveYOffset(-1, false);
|
|
137495
|
-
drag.MoveRow=null;
|
|
137496
|
-
|
|
137497
|
-
this.EnablePageScroll=true;
|
|
137498
|
-
this.AutoScrollPage(-2);
|
|
137499
|
-
}
|
|
137500
|
-
}
|
|
137501
|
-
}
|
|
137502
|
-
reportChart.DragRow=drag;
|
|
137503
|
-
}
|
|
137504
|
-
|
|
137505
|
-
this.Draw();
|
|
137506
|
-
}
|
|
137507
|
-
else if (this.DragXScroll)
|
|
137674
|
+
if (this.DragYScroll)
|
|
137508
137675
|
{
|
|
137509
137676
|
var chart=this.ChartPaint[0];
|
|
137510
|
-
if (!chart || !chart.
|
|
137677
|
+
if (!chart || !chart.VScrollbar) return;
|
|
137511
137678
|
|
|
137512
|
-
this.
|
|
137513
|
-
this.
|
|
137514
|
-
|
|
137515
|
-
|
|
137679
|
+
this.DragYScroll.LastMove.X=x;
|
|
137680
|
+
this.DragYScroll.LastMove.Y=y;
|
|
137681
|
+
|
|
137682
|
+
var pos=chart.VScrollbar.GetScrollPostionByPoint(x,y);
|
|
137683
|
+
if (this.SetYOffset(pos))
|
|
137684
|
+
this.Draw();
|
|
137516
137685
|
}
|
|
137517
137686
|
}
|
|
137518
137687
|
|
|
@@ -137522,6 +137691,8 @@ function JSKeyboardChartContainer(uielement)
|
|
|
137522
137691
|
document.onmousemove=null;
|
|
137523
137692
|
document.onmouseup=null;
|
|
137524
137693
|
|
|
137694
|
+
this.DragYScroll=null;
|
|
137695
|
+
|
|
137525
137696
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_KEYBOARD_MOUSEUP)
|
|
137526
137697
|
if (event && event.Callback)
|
|
137527
137698
|
{
|
|
@@ -137828,6 +137999,21 @@ function JSKeyboardChartContainer(uielement)
|
|
|
137828
137999
|
return result;
|
|
137829
138000
|
}
|
|
137830
138001
|
}
|
|
138002
|
+
|
|
138003
|
+
this.SetYOffset=function(pos)
|
|
138004
|
+
{
|
|
138005
|
+
if (!IFrameSplitOperator.IsNumber(pos)) return false;
|
|
138006
|
+
var chart=this.ChartPaint[0];
|
|
138007
|
+
if (!chart) return false;
|
|
138008
|
+
|
|
138009
|
+
var maxOffset=chart.GetYScrollRange();
|
|
138010
|
+
if (pos<0) pos=0;
|
|
138011
|
+
if (pos>maxOffset) pos=maxOffset;
|
|
138012
|
+
|
|
138013
|
+
this.Data.YOffset=pos;
|
|
138014
|
+
|
|
138015
|
+
return true;
|
|
138016
|
+
}
|
|
137831
138017
|
}
|
|
137832
138018
|
|
|
137833
138019
|
function JSKeyboardFrame()
|
|
@@ -137837,14 +138023,14 @@ function JSKeyboardFrame()
|
|
|
137837
138023
|
|
|
137838
138024
|
this.BorderLine=null; //1=上 2=下 4=左 8=右
|
|
137839
138025
|
|
|
137840
|
-
this.BorderColor=g_JSChartResource.
|
|
138026
|
+
this.BorderColor=g_JSChartResource.Keyboard.BorderColor; //边框线
|
|
137841
138027
|
|
|
137842
138028
|
this.LogoTextColor=g_JSChartResource.FrameLogo.TextColor;
|
|
137843
138029
|
this.LogoTextFont=g_JSChartResource.FrameLogo.Font;
|
|
137844
138030
|
|
|
137845
|
-
this.ReloadResource=function(
|
|
138031
|
+
this.ReloadResource=function(option)
|
|
137846
138032
|
{
|
|
137847
|
-
this.BorderColor=g_JSChartResource.
|
|
138033
|
+
this.BorderColor=g_JSChartResource.Keyboard.BorderColor; //边框线
|
|
137848
138034
|
this.LogoTextColor=g_JSChartResource.FrameLogo.TextColor;
|
|
137849
138035
|
this.LogoTextFont=g_JSChartResource.FrameLogo.Font;
|
|
137850
138036
|
}
|
|
@@ -137941,10 +138127,12 @@ function ChartSymbolList()
|
|
|
137941
138127
|
this.IsDrawBorder=false; //是否绘制单元格边框
|
|
137942
138128
|
|
|
137943
138129
|
this.ShowSymbol=[]; //显示的股票列表 { Index:序号(排序用), Symbol:股票代码 }
|
|
138130
|
+
|
|
138131
|
+
this.VScrollbar; //竖向滚动条
|
|
137944
138132
|
|
|
137945
138133
|
this.BorderColor=g_JSChartResource.Keyboard.BorderColor; //边框线
|
|
137946
138134
|
this.SelectedColor=g_JSChartResource.Keyboard.SelectedColor; //选中行
|
|
137947
|
-
this.TextColor=g_JSChartResource.Keyboard.TextColor;
|
|
138135
|
+
this.TextColor=g_JSChartResource.Keyboard.TextColor; //文字颜色
|
|
137948
138136
|
|
|
137949
138137
|
//表格内容配置
|
|
137950
138138
|
this.ItemFontConfig={ Size:g_JSChartResource.Keyboard.Item.Font.Size, Name:g_JSChartResource.Keyboard.Item.Font.Name };
|
|
@@ -137977,7 +138165,11 @@ function ChartSymbolList()
|
|
|
137977
138165
|
|
|
137978
138166
|
this.ReloadResource=function(resource)
|
|
137979
138167
|
{
|
|
137980
|
-
|
|
138168
|
+
this.BorderColor=g_JSChartResource.Keyboard.BorderColor; //边框线
|
|
138169
|
+
this.SelectedColor=g_JSChartResource.Keyboard.SelectedColor; //选中行
|
|
138170
|
+
this.TextColor=g_JSChartResource.Keyboard.TextColor; //文字颜色
|
|
138171
|
+
|
|
138172
|
+
if (this.VScrollbar) this.VScrollbar.ReloadResource(resource);
|
|
137981
138173
|
}
|
|
137982
138174
|
|
|
137983
138175
|
this.SetColumn=function(aryColumn)
|
|
@@ -137992,6 +138184,7 @@ function ChartSymbolList()
|
|
|
137992
138184
|
if (this.SizeChange) this.CalculateSize();
|
|
137993
138185
|
else this.UpdateCacheData();
|
|
137994
138186
|
|
|
138187
|
+
var bShowVScrollbar=this.IsShowVScrollbar();
|
|
137995
138188
|
this.Canvas.save();
|
|
137996
138189
|
|
|
137997
138190
|
this.Canvas.beginPath();
|
|
@@ -138004,6 +138197,12 @@ function ChartSymbolList()
|
|
|
138004
138197
|
|
|
138005
138198
|
this.DrawBorder();
|
|
138006
138199
|
|
|
138200
|
+
if (this.VScrollbar && bShowVScrollbar)
|
|
138201
|
+
{
|
|
138202
|
+
var bottom=this.ChartBorder.GetBottom();
|
|
138203
|
+
this.VScrollbar.DrawScrollbar(this.RectClient.Left,this.RectClient.Top+2, this.RectClient.Right+this.VScrollbar.ButtonSize+2, bottom-2);
|
|
138204
|
+
}
|
|
138205
|
+
|
|
138007
138206
|
this.SizeChange=false;
|
|
138008
138207
|
}
|
|
138009
138208
|
|
|
@@ -138014,6 +138213,12 @@ function ChartSymbolList()
|
|
|
138014
138213
|
this.RectClient.Right=this.ChartBorder.GetRight();
|
|
138015
138214
|
this.RectClient.Top=this.ChartBorder.GetTop();
|
|
138016
138215
|
this.RectClient.Bottom=this.ChartBorder.GetBottom();
|
|
138216
|
+
|
|
138217
|
+
var bShowVScrollbar=this.IsShowVScrollbar();
|
|
138218
|
+
if (bShowVScrollbar && this.VScrollbar && this.VScrollbar.Enable)
|
|
138219
|
+
{
|
|
138220
|
+
this.RectClient.Right-=(this.VScrollbar.ButtonSize+2);
|
|
138221
|
+
}
|
|
138017
138222
|
}
|
|
138018
138223
|
|
|
138019
138224
|
this.GetPageSize=function(recalculate) //recalculate 是否重新计算
|
|
@@ -138047,6 +138252,8 @@ function ChartSymbolList()
|
|
|
138047
138252
|
|
|
138048
138253
|
this.CalculateSize=function() //计算大小
|
|
138049
138254
|
{
|
|
138255
|
+
if (this.VScrollbar && this.VScrollbar.Enable) this.VScrollbar.CalculateSize();
|
|
138256
|
+
|
|
138050
138257
|
this.UpdateCacheData();
|
|
138051
138258
|
|
|
138052
138259
|
var pixelRatio=GetDevicePixelRatio();
|
|
@@ -138241,6 +138448,7 @@ function ChartSymbolList()
|
|
|
138241
138448
|
else if (textAlign=='right')
|
|
138242
138449
|
{
|
|
138243
138450
|
x=left+width-2;
|
|
138451
|
+
if (left+width-2>this.RectClient.Right) x=this.RectClient.Right-2;
|
|
138244
138452
|
this.Canvas.textAlign="right";
|
|
138245
138453
|
}
|
|
138246
138454
|
else
|
|
@@ -138295,6 +138503,12 @@ function ChartSymbolList()
|
|
|
138295
138503
|
else
|
|
138296
138504
|
var uiElement={Left:null, Top:null};
|
|
138297
138505
|
|
|
138506
|
+
if (this.VScrollbar)
|
|
138507
|
+
{
|
|
138508
|
+
var item=this.VScrollbar.OnMouseDown(x,y,e);
|
|
138509
|
+
if (item) return { Type:5, VScrollbar:item }; //右侧滚动条
|
|
138510
|
+
}
|
|
138511
|
+
|
|
138298
138512
|
var row=this.PtInBody(x,y);
|
|
138299
138513
|
if (row)
|
|
138300
138514
|
{
|
|
@@ -138455,6 +138669,57 @@ function ChartSymbolList()
|
|
|
138455
138669
|
event.Callback(event,data,this);
|
|
138456
138670
|
}
|
|
138457
138671
|
}
|
|
138672
|
+
|
|
138673
|
+
this.GetYScrollRange=function()
|
|
138674
|
+
{
|
|
138675
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return 0;
|
|
138676
|
+
|
|
138677
|
+
var maxOffset=this.Data.Data.length-this.RowCount;
|
|
138678
|
+
|
|
138679
|
+
return maxOffset;
|
|
138680
|
+
}
|
|
138681
|
+
|
|
138682
|
+
//大于1屏数据 显示滚动条
|
|
138683
|
+
this.IsShowVScrollbar=function()
|
|
138684
|
+
{
|
|
138685
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return false;
|
|
138686
|
+
|
|
138687
|
+
return this.Data.Data.length>this.RowCount;
|
|
138688
|
+
}
|
|
138689
|
+
}
|
|
138690
|
+
|
|
138691
|
+
//纵向滚动条
|
|
138692
|
+
function ChartKeyboardVScrollbar()
|
|
138693
|
+
{
|
|
138694
|
+
this.newMethod=ChartVScrollbar; //派生
|
|
138695
|
+
this.newMethod();
|
|
138696
|
+
delete this.newMethod;
|
|
138697
|
+
|
|
138698
|
+
this.ClassName='ChartKeyboardVScrollbar';
|
|
138699
|
+
this.Enable=true;
|
|
138700
|
+
|
|
138701
|
+
this.ScrollBarHeight=g_JSChartResource.Keyboard.VScrollbar.ScrollBarHeight;
|
|
138702
|
+
this.ButtonColor=g_JSChartResource.Keyboard.VScrollbar.ButtonColor;
|
|
138703
|
+
this.BarColor=g_JSChartResource.Keyboard.VScrollbar.BarColor;
|
|
138704
|
+
this.BorderColor=g_JSChartResource.Keyboard.VScrollbar.BorderColor;
|
|
138705
|
+
this.BGColor=g_JSChartResource.Keyboard.VScrollbar.BGColor;
|
|
138706
|
+
this.Mergin={ Left:2, Right:2, Top:2, Bottom:2 };
|
|
138707
|
+
this.BarWithConfig={ Size:g_JSChartResource.Keyboard.VScrollbar.BarWidth.Size };
|
|
138708
|
+
|
|
138709
|
+
this.ReloadResource=function(resource)
|
|
138710
|
+
{
|
|
138711
|
+
this.ScrollBarHeight=g_JSChartResource.Keyboard.VScrollbar.ScrollBarHeight;
|
|
138712
|
+
this.ButtonColor=g_JSChartResource.Keyboard.VScrollbar.ButtonColor;
|
|
138713
|
+
this.BarColor=g_JSChartResource.Keyboard.VScrollbar.BarColor;
|
|
138714
|
+
this.BorderColor=g_JSChartResource.Keyboard.VScrollbar.BorderColor;
|
|
138715
|
+
this.BGColor=g_JSChartResource.Keyboard.VScrollbar.BGColor;
|
|
138716
|
+
this.BarWithConfig={ Size:g_JSChartResource.Keyboard.VScrollbar.BarWidth.Size };
|
|
138717
|
+
}
|
|
138718
|
+
|
|
138719
|
+
this.IsShowCallback=function()
|
|
138720
|
+
{
|
|
138721
|
+
return true;
|
|
138722
|
+
}
|
|
138458
138723
|
}
|
|
138459
138724
|
|
|
138460
138725
|
/*
|
|
@@ -142001,7 +142266,7 @@ function HQChartScriptWorker()
|
|
|
142001
142266
|
|
|
142002
142267
|
|
|
142003
142268
|
|
|
142004
|
-
var HQCHART_VERSION="1.1.
|
|
142269
|
+
var HQCHART_VERSION="1.1.13688";
|
|
142005
142270
|
|
|
142006
142271
|
function PrintHQChartVersion()
|
|
142007
142272
|
{
|