hqchart 1.1.13711 → 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 +15 -9
- 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.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 +98 -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 +107 -12
|
@@ -113,4 +113,4 @@ extendData[0]="行业X";//地区
|
|
|
113
113
|
extendData[1]="地区X";//PE|PB
|
|
114
114
|
extendData[2]=Math.round(Math.random()*60)/100;extendData[3]=Math.round(Math.random()*60)/100;extendData[4]=Math.round(Math.random()*60)/100;extendData[5]=Math.round(Math.random()*60)/100;//周涨幅
|
|
115
115
|
extendData[6]=Math.round(Math.random()*60)/100;extendData[7]=Math.round(Math.random()*60)/100;extendData[8]=Math.round(Math.random()*60)/100;item.Data=newItem;}}var hqchartData={data:[],index:[],filedindex:column.index,sort:sortType,symbol:blockID};var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{for(var _iterator2=(0,_getIterator3.default)(mapStock),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){var mapItem=_step2.value;var item=mapItem[1];if(!item.Data)continue;hqchartData.data.push(item.Data);hqchartData.index.push(item.Index);}}catch(err){_didIteratorError2=true;_iteratorError2=err;}finally{try{if(!_iteratorNormalCompletion2&&_iterator2.return){_iterator2.return();}}finally{if(_didIteratorError2){throw _iteratorError2;}}}callback(hqchartData);};HQData.Keyboard_RequestSymbolList=function(data,callback){//加载数据
|
|
116
|
-
var recv={symbollist:SYMBOL_LIST};var arySymbol=[];for(var i=0;i<recv.symbollist.length;++i){var item=recv.symbollist[i];var shortSymbol=item[0];shortSymbol=shortSymbol.replace(".sh","");shortSymbol=shortSymbol.replace(".sz","");var symbolItem={Symbol:item[0],Name:item[1],ShortSymbol:shortSymbol,Spell:item[3],Type:item[2]};if(symbolItem.Type=="EQA"){symbolItem.TypeName="股票";}else if(symbolItem.Type=="IDX"){symbolItem.TypeName="指数";symbolItem.Color="rgb(30,144,255)";}arySymbol.push(symbolItem);}callback(arySymbol);};/*暴露外部用的方法*/exports.default={HQData:HQData};
|
|
116
|
+
var recv={symbollist:SYMBOL_LIST};var arySymbol=[];for(var i=0;i<recv.symbollist.length;++i){var item=recv.symbollist[i];var shortSymbol=item[0];shortSymbol=shortSymbol.replace(".sh","");shortSymbol=shortSymbol.replace(".sz","");var symbolItem={Symbol:item[0],Name:item[1],ShortSymbol:shortSymbol,Spell:item[3],Type:item[2],Data:{Symbol:item[0],Type:0}};if(symbolItem.Type=="EQA"){symbolItem.TypeName="股票";}else if(symbolItem.Type=="IDX"){symbolItem.TypeName="指数";symbolItem.Color="rgb(30,144,255)";}arySymbol.push(symbolItem);}arySymbol.push({Symbol:"01",Name:"分时成交明细",TypeName:"功能键",Priority:1,Color:"rgb(220,20,60)",Data:{PageName:"分时成交明细",Type:2}});arySymbol.push({Symbol:"02",Name:"分价表",TypeName:"功能键",Priority:1,Color:"rgb(220,20,60)",Data:{PageName:"分价表",Type:2}});arySymbol.push({Symbol:"06",Name:"自选股",TypeName:"功能键",Priority:1,Color:"rgb(220,20,60)",Data:{PageName:"自选股",Type:2}});arySymbol.push({Symbol:"MACD",Name:"平滑异同平均线",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"MACD",Type:1}});arySymbol.push({Symbol:"RSI",Name:"相对强弱指标",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"RSI",Type:1}});arySymbol.push({Symbol:"MA",Name:"均线",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"MA",Type:1}});arySymbol.push({Symbol:"BOLL",Name:"布林线",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"BOLL",Type:1}});callback(arySymbol);};/*暴露外部用的方法*/exports.default={HQData:HQData};
|
package/lib/umychart.vue.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';Object.defineProperty(exports,"__esModule",{value:true});var _promise=require('babel-runtime/core-js/promise');var _promise2=_interopRequireDefault(_promise);var _log=require('babel-runtime/core-js/math/log10');var _log2=_interopRequireDefault(_log);var _defineProperties=require('babel-runtime/core-js/object/define-properties');var _defineProperties2=_interopRequireDefault(_defineProperties);var _create=require('babel-runtime/core-js/object/create');var _create2=_interopRequireDefault(_create);var _from=require('babel-runtime/core-js/array/from');var _from2=_interopRequireDefault(_from);var _typeof2=require('babel-runtime/helpers/typeof');var _typeof3=_interopRequireDefault(_typeof2);var _set=require('babel-runtime/core-js/set');var _set2=_interopRequireDefault(_set);var _defineProperty2=require('babel-runtime/helpers/defineProperty');var _defineProperty3=_interopRequireDefault(_defineProperty2);var _stringify=require('babel-runtime/core-js/json/stringify');var _stringify2=_interopRequireDefault(_stringify);var _getIterator2=require('babel-runtime/core-js/get-iterator');var _getIterator3=_interopRequireDefault(_getIterator2);var _map=require('babel-runtime/core-js/map');var _map2=_interopRequireDefault(_map);var _jsChartInit$jsChartS;var _jquery=require('jquery');var _jquery2=_interopRequireDefault(_jquery);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}//日志输出类
|
|
1
|
+
'use strict';Object.defineProperty(exports,"__esModule",{value:true});var _toConsumableArray2=require('babel-runtime/helpers/toConsumableArray');var _toConsumableArray3=_interopRequireDefault(_toConsumableArray2);var _promise=require('babel-runtime/core-js/promise');var _promise2=_interopRequireDefault(_promise);var _log=require('babel-runtime/core-js/math/log10');var _log2=_interopRequireDefault(_log);var _defineProperties=require('babel-runtime/core-js/object/define-properties');var _defineProperties2=_interopRequireDefault(_defineProperties);var _create=require('babel-runtime/core-js/object/create');var _create2=_interopRequireDefault(_create);var _from=require('babel-runtime/core-js/array/from');var _from2=_interopRequireDefault(_from);var _typeof2=require('babel-runtime/helpers/typeof');var _typeof3=_interopRequireDefault(_typeof2);var _set=require('babel-runtime/core-js/set');var _set2=_interopRequireDefault(_set);var _defineProperty2=require('babel-runtime/helpers/defineProperty');var _defineProperty3=_interopRequireDefault(_defineProperty2);var _stringify=require('babel-runtime/core-js/json/stringify');var _stringify2=_interopRequireDefault(_stringify);var _getIterator2=require('babel-runtime/core-js/get-iterator');var _getIterator3=_interopRequireDefault(_getIterator2);var _map=require('babel-runtime/core-js/map');var _map2=_interopRequireDefault(_map);var _jsChartInit$jsChartS;var _jquery=require('jquery');var _jquery2=_interopRequireDefault(_jquery);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}//日志输出类
|
|
2
2
|
var JSConsole={Chart:{Log:console.log,Warn:console.warn},//图形日志
|
|
3
3
|
Complier:{Log:console.log,Warn:console.warn},//编译器日志
|
|
4
4
|
JSTable:{Log:console.log,Warn:console.warn//表格日志
|
|
@@ -13351,17 +13351,22 @@ this.ChartPaint=[];//图形画法
|
|
|
13351
13351
|
this.Canvas=uielement.getContext("2d");//画布
|
|
13352
13352
|
this.ShowCanvas=null;this.NetworkFilter;//数据回调接口
|
|
13353
13353
|
this.Data={XOffset:0,YOffset:0,Data:[]};//股票列表
|
|
13354
|
-
this.MapSymbol=new _map2.default();this.SourceData={Data:[]//码表数据 Data:[ { Symbol:, Spell, Name:, Color:}]
|
|
13354
|
+
this.MapSymbol=new _map2.default();this.SourceData={Data:[]//码表数据 Data:[ { Symbol:, Spell, Name:, Color: TypeName:, TypeID } ]
|
|
13355
|
+
};this.FunctionKeyData=[];//功能键 { Priority:, Data:[ { Symbol:, Spell, Name:, Color:, TypeName:, TypeID } ]
|
|
13355
13356
|
//事件回调
|
|
13356
|
-
|
|
13357
|
+
this.mapEvent=new _map2.default();//通知外部调用 key:JSCHART_EVENT_ID value:{Callback:回调,}
|
|
13357
13358
|
this.UIElement=uielement;this.LastPoint=new Point();//鼠标位置
|
|
13358
13359
|
//拖拽滚动条
|
|
13359
13360
|
this.DragYScroll=null;//{Start:{x,y}, End:{x, y}}
|
|
13360
13361
|
this.IsDestroy=false;//是否已经销毁了
|
|
13361
13362
|
this.ChartDestory=function()//销毁
|
|
13362
|
-
{this.IsDestroy=true;};this.ClearSearch=function(option){this.Data.Data=[];this.Data.XOffset=0;this.Data.YOffset=0;if(option&&option.Redraw==true)this.Draw();};this.
|
|
13363
|
+
{this.IsDestroy=true;};this.ClearSearch=function(option){this.Data.Data=[];this.Data.XOffset=0;this.Data.YOffset=0;if(option&&option.Redraw==true)this.Draw();};this.SearchFunctionKeyData=function(strSearch){if(strSearch.length<=0)return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.FunctionKeyData))return null;var aryData=[];for(var i=0;i<this.FunctionKeyData.length;++i){var groupData=this.FunctionKeyData[i];if(!groupData)continue;if(!IFrameSplitOperator.IsNonEmptyArray(groupData.Data))continue;var aryExactQuery=[];//精确查询
|
|
13364
|
+
var aryFuzzyQuery=[];//模糊查询
|
|
13365
|
+
var aryEqualQuery=[];//相等
|
|
13366
|
+
for(var j=0;j<groupData.Data.length;++j){var item=groupData.Data[j];if(this.SearchSymbol(item,strSearch,aryExactQuery,aryFuzzyQuery,aryEqualQuery))continue;}if(IFrameSplitOperator.IsNonEmptyArray(aryEqualQuery))aryData.push.apply(aryData,aryEqualQuery);if(IFrameSplitOperator.IsNonEmptyArray(aryExactQuery))aryData.push.apply(aryData,aryExactQuery);if(IFrameSplitOperator.IsNonEmptyArray(aryFuzzyQuery))aryData.push.apply(aryData,aryFuzzyQuery);}if(aryData.length>0)return aryData;return null;};this.Search=function(strText){var _Data$Data,_Data$Data2,_Data$Data3,_Data$Data4;var aryExactQuery=[];//精确查询
|
|
13363
13367
|
var aryFuzzyQuery=[];//模糊查询
|
|
13364
|
-
|
|
13368
|
+
var aryEqualQuery=[];//相等
|
|
13369
|
+
var aryFuncKeyQuery=null;this.MapSymbol.clear();this.Data.Data=[];this.Data.XOffset=0;this.Data.YOffset=0;var strSearch=strText.trim();if(strSearch.length>0){aryFuncKeyQuery=this.SearchFunctionKeyData(strSearch);for(var i=0;i<this.SourceData.Data.length;++i){var item=this.SourceData.Data[i];if(this.SearchSymbol(item,strSearch,aryExactQuery,aryFuzzyQuery,aryEqualQuery))continue;else if(this.SearchSpell(item,strSearch,aryExactQuery,aryFuzzyQuery))continue;}}if(IFrameSplitOperator.IsNonEmptyArray(aryFuncKeyQuery))(_Data$Data=this.Data.Data).push.apply(_Data$Data,(0,_toConsumableArray3.default)(aryFuncKeyQuery));if(IFrameSplitOperator.IsNonEmptyArray(aryEqualQuery))(_Data$Data2=this.Data.Data).push.apply(_Data$Data2,aryEqualQuery);if(IFrameSplitOperator.IsNonEmptyArray(aryExactQuery))(_Data$Data3=this.Data.Data).push.apply(_Data$Data3,aryExactQuery);if(IFrameSplitOperator.IsNonEmptyArray(aryFuzzyQuery))(_Data$Data4=this.Data.Data).push.apply(_Data$Data4,aryFuzzyQuery);this.ChartPaint[0].SelectedRow=0;this.ChartPaint[0].SizeChange=true;JSConsole.Chart.Log('[JSKeyboardChart:Search] search='+strSearch+', source='+this.SourceData.Data.length+' match='+this.Data.Data.length);this.Draw();};this.SearchSymbol=function(item,strText,aryExactQuery,aryFuzzyQuery,aryEqualQuery){var find=item.Symbol.indexOf(strText);if(find<0)return false;if(item.Symbol==strText)aryEqualQuery.push(item.Symbol);else if(find==0)aryExactQuery.push(item.Symbol);else aryFuzzyQuery.push(item.Symbol);this.MapSymbol.set(item.Symbol,item);return true;};this.SearchSpell=function(item,strText,aryExactQuery,aryFuzzyQuery){if(!IFrameSplitOperator.IsString(item.Spell))return false;var find=item.Spell.indexOf(strText);if(find!=0)return false;aryExactQuery.push(item.Symbol);this.MapSymbol.set(item.Symbol,item);return true;};this.SetSymbolData=function(arySymbol){this.SourceData.Data=[];for(var i=0;i<arySymbol.length;++i){var item=arySymbol[i];if(IFrameSplitOperator.IsNumber(item.Priority)){if(!this.FunctionKeyData[item.Priority])this.FunctionKeyData[item.Priority]={Priority:item.Priority,Data:[]};this.FunctionKeyData[item.Priority].Data.push(item);}else{this.SourceData.Data.push(item);}}/*
|
|
13365
13370
|
//测试
|
|
13366
13371
|
this.MapSymbol.clear();
|
|
13367
13372
|
for(var i=0;i<this.SourceData.Data.length && i<3050 ;++i)
|
|
@@ -13393,7 +13398,7 @@ var result=this.MoveSelectedRow(1);if(result){if(result.Redraw)this.Draw();}brea
|
|
|
13393
13398
|
if(this.MoveXOffset(-1))this.Draw();break;case 39://right
|
|
13394
13399
|
if(this.MoveXOffset(1))this.Draw();break;case 13://Enter
|
|
13395
13400
|
this.OnSelectedSymbol();break;}//不让滚动条滚动
|
|
13396
|
-
if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.OnSelectedSymbol=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return false;var chart=this.ChartPaint[0];if(!chart)return false;var data=chart.GetSelectedSymbol();var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_KEYBOARD_SELECTED);if(event&&event.Callback){event.Callback(event,{Data:data},this);}};this.UIOnDblClick=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart){if(chart.OnDblClick(x,y,e))this.OnSelectedSymbol();}};this.UIOnMouseDown=function(e){var _this70=this;this.DragYScroll=null;this.DragMove={Click:{X:e.clientX,Y:e.clientY},Move:{X:e.clientX,Y:e.clientY},PreMove:{X:e.clientX,Y:e.clientY}};var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart){var clickData=chart.OnMouseDown(x,y,e);if(!clickData)return;//if (e.button!=0) return;
|
|
13401
|
+
if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.OnSelectedSymbol=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return false;var chart=this.ChartPaint[0];if(!chart)return false;var data=chart.GetSelectedSymbol();var selItem=this.MapSymbol.get(data.Symbol);if(!selItem)return false;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_KEYBOARD_SELECTED);if(event&&event.Callback){event.Callback(event,{Data:data,RowData:selItem},this);}};this.UIOnDblClick=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart){if(chart.OnDblClick(x,y,e))this.OnSelectedSymbol();}};this.UIOnMouseDown=function(e){var _this70=this;this.DragYScroll=null;this.DragMove={Click:{X:e.clientX,Y:e.clientY},Move:{X:e.clientX,Y:e.clientY},PreMove:{X:e.clientX,Y:e.clientY}};var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart){var clickData=chart.OnMouseDown(x,y,e);if(!clickData)return;//if (e.button!=0) return;
|
|
13397
13402
|
if(clickData.Type==2&&(e.button==0||e.button==2))//点击行
|
|
13398
13403
|
{if(clickData.Redraw==true)this.Draw();}else if(clickData.Type==5&&e.button==0)//右侧滚动条
|
|
13399
13404
|
{var scroll=clickData.VScrollbar;if(scroll.Type==1)//顶部按钮
|
|
@@ -13453,7 +13458,7 @@ this.Column=//{ Type:列id, Title:标题, TextAlign:文字对齐方式, MaxText:
|
|
|
13453
13458
|
{Type:KEYBOARD_COLUMN_ID.TYPE_NAME_ID,Title:"类型",TextAlign:"right",Width:null,MaxText:"擎擎擎擎"}];this.RectClient={};this.ReloadResource=function(resource){this.BorderColor=g_JSChartResource.Keyboard.BorderColor;//边框线
|
|
13454
13459
|
this.SelectedColor=g_JSChartResource.Keyboard.SelectedColor;//选中行
|
|
13455
13460
|
this.TextColor=g_JSChartResource.Keyboard.TextColor;//文字颜色
|
|
13456
|
-
if(this.VScrollbar)this.VScrollbar.ReloadResource(resource);};this.SetColumn=function(aryColumn){if(!IFrameSplitOperator.IsNonEmptyArray(aryColumn))return;};this.Draw=function(){this.ShowSymbol=[];if(this.SizeChange)this.CalculateSize();else this.UpdateCacheData();var bShowVScrollbar=this.IsShowVScrollbar();this.Canvas.save();this.Canvas.beginPath();this.Canvas.rect(this.RectClient.Left,this.RectClient.Top+1,this.RectClient.Right-this.RectClient.Left,this.RectClient.Bottom-(this.RectClient.Top+1));//this.Canvas.stroke(); //调试用
|
|
13461
|
+
if(this.VScrollbar)this.VScrollbar.ReloadResource(resource);};this.SetColumn=function(aryColumn){if(!IFrameSplitOperator.IsNonEmptyArray(aryColumn))return;this.Column=[];for(var i=0;i<aryColumn.length;++i){var item=aryColumn[i];var colItem=this.GetDefaultColunm(item.Type);if(!colItem)continue;if(item.Title)colItem.Title=item.Title;if(item.TextAlign)colItem.TextAlign=item.TextAlign;if(item.MaxText)colItem.MaxText=item.MaxText;this.Column.push(colItem);}};this.GetDefaultColunm=function(id){var DEFAULT_COLUMN=[{Type:KEYBOARD_COLUMN_ID.SHORT_SYMBOL_ID,Title:"代码",TextAlign:"left",Width:null,MaxText:"888888"},{Type:KEYBOARD_COLUMN_ID.NAME_ID,Title:"名称",TextAlign:"left",Width:null,MaxText:"擎擎擎擎擎擎"},{Type:KEYBOARD_COLUMN_ID.TYPE_NAME_ID,Title:"类型",TextAlign:"right",Width:null,MaxText:"擎擎擎擎"}];for(var i=0;i<DEFAULT_COLUMN.length;++i){var item=DEFAULT_COLUMN[i];if(item.Type==id)return item;}return null;};this.Draw=function(){this.ShowSymbol=[];if(this.SizeChange)this.CalculateSize();else this.UpdateCacheData();var bShowVScrollbar=this.IsShowVScrollbar();this.Canvas.save();this.Canvas.beginPath();this.Canvas.rect(this.RectClient.Left,this.RectClient.Top+1,this.RectClient.Right-this.RectClient.Left,this.RectClient.Bottom-(this.RectClient.Top+1));//this.Canvas.stroke(); //调试用
|
|
13457
13462
|
this.Canvas.clip();this.DrawBody();this.Canvas.restore();this.DrawBorder();if(this.VScrollbar&&bShowVScrollbar){var bottom=this.ChartBorder.GetBottom();this.VScrollbar.DrawScrollbar(this.RectClient.Left,this.RectClient.Top+2,this.RectClient.Right+this.VScrollbar.ButtonSize+2,bottom-2);}this.SizeChange=false;};//更新缓存变量
|
|
13458
13463
|
this.UpdateCacheData=function(){this.RectClient.Left=this.ChartBorder.GetLeft();this.RectClient.Right=this.ChartBorder.GetRight();this.RectClient.Top=this.ChartBorder.GetTop();this.RectClient.Bottom=this.ChartBorder.GetBottom();var bShowVScrollbar=this.IsShowVScrollbar();if(bShowVScrollbar&&this.VScrollbar&&this.VScrollbar.Enable){this.RectClient.Right-=this.VScrollbar.ButtonSize+2;}};this.GetPageSize=function(recalculate)//recalculate 是否重新计算
|
|
13459
13464
|
{if(recalculate)this.CalculateSize();var size=this.RowCount;return size;};this.GetCurrentPageStatus=function()//{ Start:起始索引, End:结束索引(数据), PageSize:页面可以显示几条记录, IsEnd:是否是最后一页, IsSinglePage:是否只有一页数据}
|
|
@@ -13735,7 +13740,8 @@ Border://边框
|
|
|
13735
13740
|
Right:1,//右边间距
|
|
13736
13741
|
Bottom:1,//底部间距
|
|
13737
13742
|
Top:1//顶部间距
|
|
13738
|
-
},BorderLine:1|2|4|8,EnableResize:true
|
|
13743
|
+
},BorderLine:1|2|4|8,EnableResize:true,//{ Type:列id, Title:标题, TextAlign:文字对齐方式, MaxText:文字最大宽度 , TextColor:文字颜色, Sort:0=不支持排序 1=本地排序 0=远程排序 }
|
|
13744
|
+
Column:[{Type:KEYBOARD_COLUMN_ID.SHORT_SYMBOL_ID,Title:"代码",TextAlign:"left",Width:null,MaxText:"888888"},{Type:KEYBOARD_COLUMN_ID.NAME_ID,Title:"名称",TextAlign:"left",Width:null,MaxText:"擎擎擎擎擎擎擎擎"},{Type:KEYBOARD_COLUMN_ID.TYPE_NAME_ID,Title:"类型",TextAlign:"right",Width:null,MaxText:"擎擎擎擎擎"}]};return option;};///////////////////////////////////////////////////////////////////////////////////
|
|
13739
13745
|
// 工作线程计算指标示例
|
|
13740
13746
|
//
|
|
13741
13747
|
//
|
|
@@ -13747,7 +13753,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
13747
13753
|
this.ExecuteScript(item,data);}this.Status=0;}};this.OnExecuteFinish=function(data,indexInfo,jsExectute,jobInfo){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT,JobInfo:jobInfo};postMessage(message);};this.OnExecuteError=function(error,indexInfo,jobData){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
|
|
13748
13754
|
* 版本信息输出
|
|
13749
13755
|
*
|
|
13750
|
-
*/var HQCHART_VERSION="1.1.
|
|
13756
|
+
*/var HQCHART_VERSION="1.1.13716";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
13751
13757
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
13752
13758
|
// BaseIndex:BaseIndex,
|
|
13753
13759
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -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
|
|
|
@@ -269,7 +269,15 @@ JSPopKeyboard.GetOption=function()
|
|
|
269
269
|
},
|
|
270
270
|
|
|
271
271
|
BorderLine:1|2|4|8,
|
|
272
|
-
EnableResize:true
|
|
272
|
+
EnableResize:true,
|
|
273
|
+
|
|
274
|
+
//{ Type:列id, Title:标题, TextAlign:文字对齐方式, MaxText:文字最大宽度 , TextColor:文字颜色, Sort:0=不支持排序 1=本地排序 0=远程排序 }
|
|
275
|
+
Column:
|
|
276
|
+
[
|
|
277
|
+
{ Type:KEYBOARD_COLUMN_ID.SHORT_SYMBOL_ID, Title:"代码", TextAlign:"left", Width:null, MaxText:"888888" },
|
|
278
|
+
{ Type:KEYBOARD_COLUMN_ID.NAME_ID, Title:"名称", TextAlign:"left", Width:null, MaxText:"擎擎擎擎擎擎擎擎" },
|
|
279
|
+
{ Type:KEYBOARD_COLUMN_ID.TYPE_NAME_ID, Title:"类型", TextAlign:"right", Width:null, MaxText:"擎擎擎擎擎" },
|
|
280
|
+
]
|
|
273
281
|
};
|
|
274
282
|
|
|
275
283
|
return option;
|
|
@@ -247,7 +247,8 @@ function JSKeyboardChartContainer(uielement)
|
|
|
247
247
|
this.NetworkFilter; //数据回调接口
|
|
248
248
|
this.Data={ XOffset:0, YOffset:0, Data:[] }; //股票列表
|
|
249
249
|
this.MapSymbol=new Map();
|
|
250
|
-
this.SourceData={ Data:[] }
|
|
250
|
+
this.SourceData={ Data:[] } //码表数据 Data:[ { Symbol:, Spell, Name:, Color: TypeName:, TypeID } ]
|
|
251
|
+
this.FunctionKeyData=[]; //功能键 { Priority:, Data:[ { Symbol:, Spell, Name:, Color:, TypeName:, TypeID } ]
|
|
251
252
|
|
|
252
253
|
//事件回调
|
|
253
254
|
this.mapEvent=new Map(); //通知外部调用 key:JSCHART_EVENT_ID value:{Callback:回调,}
|
|
@@ -274,10 +275,44 @@ function JSKeyboardChartContainer(uielement)
|
|
|
274
275
|
if (option && option.Redraw==true) this.Draw();
|
|
275
276
|
}
|
|
276
277
|
|
|
278
|
+
this.SearchFunctionKeyData=function(strSearch)
|
|
279
|
+
{
|
|
280
|
+
if (strSearch.length<=0) return null;
|
|
281
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.FunctionKeyData)) return null;
|
|
282
|
+
|
|
283
|
+
var aryData=[];
|
|
284
|
+
for(var i=0; i<this.FunctionKeyData.length; ++i)
|
|
285
|
+
{
|
|
286
|
+
var groupData=this.FunctionKeyData[i];
|
|
287
|
+
if (!groupData) continue;
|
|
288
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(groupData.Data)) continue;
|
|
289
|
+
|
|
290
|
+
var aryExactQuery=[]; //精确查询
|
|
291
|
+
var aryFuzzyQuery=[]; //模糊查询
|
|
292
|
+
var aryEqualQuery=[]; //相等
|
|
293
|
+
|
|
294
|
+
for(var j=0;j<groupData.Data.length;++j)
|
|
295
|
+
{
|
|
296
|
+
var item=groupData.Data[j];
|
|
297
|
+
if (this.SearchSymbol(item, strSearch, aryExactQuery, aryFuzzyQuery,aryEqualQuery)) continue;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryEqualQuery)) aryData.push(...aryEqualQuery);
|
|
301
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryExactQuery)) aryData.push(...aryExactQuery);
|
|
302
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryFuzzyQuery)) aryData.push(...aryFuzzyQuery);
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
if (aryData.length>0) return aryData;
|
|
306
|
+
|
|
307
|
+
return null;
|
|
308
|
+
}
|
|
309
|
+
|
|
277
310
|
this.Search=function(strText)
|
|
278
311
|
{
|
|
279
312
|
var aryExactQuery=[]; //精确查询
|
|
280
313
|
var aryFuzzyQuery=[]; //模糊查询
|
|
314
|
+
var aryEqualQuery=[]; //相等
|
|
315
|
+
var aryFuncKeyQuery=null;
|
|
281
316
|
this.MapSymbol.clear();
|
|
282
317
|
this.Data.Data=[];
|
|
283
318
|
this.Data.XOffset=0;
|
|
@@ -286,17 +321,21 @@ function JSKeyboardChartContainer(uielement)
|
|
|
286
321
|
var strSearch=strText.trim();
|
|
287
322
|
if (strSearch.length>0)
|
|
288
323
|
{
|
|
324
|
+
aryFuncKeyQuery=this.SearchFunctionKeyData(strSearch);
|
|
325
|
+
|
|
289
326
|
for(var i=0;i<this.SourceData.Data.length;++i)
|
|
290
327
|
{
|
|
291
328
|
var item=this.SourceData.Data[i];
|
|
292
|
-
if (this.SearchSymbol(item, strSearch, aryExactQuery, aryFuzzyQuery)) continue;
|
|
329
|
+
if (this.SearchSymbol(item, strSearch, aryExactQuery, aryFuzzyQuery, aryEqualQuery)) continue;
|
|
293
330
|
else if (this.SearchSpell(item, strSearch, aryExactQuery, aryFuzzyQuery)) continue;
|
|
294
331
|
}
|
|
295
332
|
}
|
|
296
|
-
|
|
297
|
-
if (IFrameSplitOperator.IsNonEmptyArray(aryExactQuery) || IFrameSplitOperator.IsNonEmptyArray(aryFuzzyQuery))
|
|
298
|
-
this.Data.Data=aryExactQuery.concat(aryFuzzyQuery);
|
|
299
333
|
|
|
334
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryFuncKeyQuery)) this.Data.Data.push(...aryFuncKeyQuery);
|
|
335
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryEqualQuery)) this.Data.Data.push(...aryEqualQuery);
|
|
336
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryExactQuery)) this.Data.Data.push(...aryExactQuery);
|
|
337
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryFuzzyQuery)) this.Data.Data.push(...aryFuzzyQuery);
|
|
338
|
+
|
|
300
339
|
this.ChartPaint[0].SelectedRow=0;
|
|
301
340
|
this.ChartPaint[0].SizeChange=true;
|
|
302
341
|
|
|
@@ -305,12 +344,13 @@ function JSKeyboardChartContainer(uielement)
|
|
|
305
344
|
this.Draw();
|
|
306
345
|
}
|
|
307
346
|
|
|
308
|
-
this.SearchSymbol=function(item, strText, aryExactQuery, aryFuzzyQuery)
|
|
347
|
+
this.SearchSymbol=function(item, strText, aryExactQuery, aryFuzzyQuery, aryEqualQuery)
|
|
309
348
|
{
|
|
310
349
|
var find=item.Symbol.indexOf(strText);
|
|
311
350
|
if (find<0) return false;
|
|
312
351
|
|
|
313
|
-
if (
|
|
352
|
+
if (item.Symbol==strText) aryEqualQuery.push(item.Symbol);
|
|
353
|
+
else if (find==0) aryExactQuery.push(item.Symbol);
|
|
314
354
|
else aryFuzzyQuery.push(item.Symbol);
|
|
315
355
|
|
|
316
356
|
this.MapSymbol.set(item.Symbol, item);
|
|
@@ -335,8 +375,21 @@ function JSKeyboardChartContainer(uielement)
|
|
|
335
375
|
|
|
336
376
|
this.SetSymbolData=function(arySymbol)
|
|
337
377
|
{
|
|
338
|
-
this.SourceData.Data=
|
|
339
|
-
|
|
378
|
+
this.SourceData.Data=[];
|
|
379
|
+
for(var i=0;i<arySymbol.length;++i)
|
|
380
|
+
{
|
|
381
|
+
var item=arySymbol[i];
|
|
382
|
+
if (IFrameSplitOperator.IsNumber(item.Priority))
|
|
383
|
+
{
|
|
384
|
+
if (!this.FunctionKeyData[item.Priority]) this.FunctionKeyData[item.Priority]={ Priority:item.Priority, Data:[] };
|
|
385
|
+
this.FunctionKeyData[item.Priority].Data.push(item);
|
|
386
|
+
}
|
|
387
|
+
else
|
|
388
|
+
{
|
|
389
|
+
this.SourceData.Data.push(item);
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
|
|
340
393
|
/*
|
|
341
394
|
//测试
|
|
342
395
|
this.MapSymbol.clear();
|
|
@@ -609,11 +662,13 @@ function JSKeyboardChartContainer(uielement)
|
|
|
609
662
|
if (!chart) return false;
|
|
610
663
|
|
|
611
664
|
var data=chart.GetSelectedSymbol();
|
|
665
|
+
var selItem=this.MapSymbol.get(data.Symbol);
|
|
666
|
+
if (!selItem) return false;
|
|
612
667
|
|
|
613
668
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_KEYBOARD_SELECTED)
|
|
614
669
|
if (event && event.Callback)
|
|
615
670
|
{
|
|
616
|
-
event.Callback(event, { Data:data }, this);
|
|
671
|
+
event.Callback(event, { Data:data, RowData:selItem }, this);
|
|
617
672
|
}
|
|
618
673
|
}
|
|
619
674
|
|
|
@@ -1223,6 +1278,38 @@ function ChartSymbolList()
|
|
|
1223
1278
|
this.SetColumn=function(aryColumn)
|
|
1224
1279
|
{
|
|
1225
1280
|
if (!IFrameSplitOperator.IsNonEmptyArray(aryColumn)) return;
|
|
1281
|
+
|
|
1282
|
+
this.Column=[];
|
|
1283
|
+
for(var i=0;i<aryColumn.length;++i)
|
|
1284
|
+
{
|
|
1285
|
+
var item=aryColumn[i];
|
|
1286
|
+
var colItem=this.GetDefaultColunm(item.Type);
|
|
1287
|
+
if (!colItem) continue;
|
|
1288
|
+
|
|
1289
|
+
if (item.Title) colItem.Title=item.Title;
|
|
1290
|
+
if (item.TextAlign) colItem.TextAlign=item.TextAlign;
|
|
1291
|
+
if (item.MaxText) colItem.MaxText=item.MaxText;
|
|
1292
|
+
|
|
1293
|
+
this.Column.push(colItem);
|
|
1294
|
+
}
|
|
1295
|
+
}
|
|
1296
|
+
|
|
1297
|
+
this.GetDefaultColunm=function(id)
|
|
1298
|
+
{
|
|
1299
|
+
var DEFAULT_COLUMN=
|
|
1300
|
+
[
|
|
1301
|
+
{ Type:KEYBOARD_COLUMN_ID.SHORT_SYMBOL_ID, Title:"代码", TextAlign:"left", Width:null, MaxText:"888888" },
|
|
1302
|
+
{ Type:KEYBOARD_COLUMN_ID.NAME_ID, Title:"名称", TextAlign:"left", Width:null, MaxText:"擎擎擎擎擎擎" },
|
|
1303
|
+
{ Type:KEYBOARD_COLUMN_ID.TYPE_NAME_ID, Title:"类型", TextAlign:"right", Width:null, MaxText:"擎擎擎擎" },
|
|
1304
|
+
];
|
|
1305
|
+
|
|
1306
|
+
for(var i=0;i<DEFAULT_COLUMN.length;++i)
|
|
1307
|
+
{
|
|
1308
|
+
var item=DEFAULT_COLUMN[i];
|
|
1309
|
+
if (item.Type==id) return item;
|
|
1310
|
+
}
|
|
1311
|
+
|
|
1312
|
+
return null;
|
|
1226
1313
|
}
|
|
1227
1314
|
|
|
1228
1315
|
this.Draw=function()
|
|
@@ -1027,7 +1027,7 @@ HQData.Keyboard_RequestSymbolList=function(data, callback)
|
|
|
1027
1027
|
var shortSymbol=item[0];
|
|
1028
1028
|
shortSymbol=shortSymbol.replace(".sh", "");
|
|
1029
1029
|
shortSymbol=shortSymbol.replace(".sz", "");
|
|
1030
|
-
var symbolItem={ Symbol:item[0], Name:item[1], ShortSymbol:shortSymbol, Spell:item[3], Type:item[2] };
|
|
1030
|
+
var symbolItem={ Symbol:item[0], Name:item[1], ShortSymbol:shortSymbol, Spell:item[3], Type:item[2], Data:{ Symbol:item[0], Type:0 } };
|
|
1031
1031
|
if (symbolItem.Type=="EQA")
|
|
1032
1032
|
{
|
|
1033
1033
|
symbolItem.TypeName="股票";
|
|
@@ -1041,6 +1041,15 @@ HQData.Keyboard_RequestSymbolList=function(data, callback)
|
|
|
1041
1041
|
arySymbol.push(symbolItem);
|
|
1042
1042
|
}
|
|
1043
1043
|
|
|
1044
|
+
arySymbol.push( { Symbol:"01", Name:"分时成交明细", TypeName:"功能键", Priority:1, Color:"rgb(220,20,60)" , Data:{ PageName:"分时成交明细", Type:2 }} );
|
|
1045
|
+
arySymbol.push( { Symbol:"02", Name:"分价表", TypeName:"功能键", Priority:1, Color:"rgb(220,20,60)" ,Data:{ PageName:"分价表", Type:2 }} );
|
|
1046
|
+
arySymbol.push( { Symbol:"06", Name:"自选股", TypeName:"功能键", Priority:1 , Color:"rgb(220,20,60)", Data:{ PageName:"自选股", Type:2 }} );
|
|
1047
|
+
|
|
1048
|
+
arySymbol.push( { Symbol:"MACD", Name:"平滑异同平均线", TypeName:"指标", Priority:2 , Color:"rgb(0,0,255)", Data:{ Index:"MACD", Type:1 }} );
|
|
1049
|
+
arySymbol.push( { Symbol:"RSI", Name:"相对强弱指标", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)",Data:{ Index:"RSI", Type:1 }} );
|
|
1050
|
+
arySymbol.push( { Symbol:"MA", Name:"均线", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"MA", Type:1 } } );
|
|
1051
|
+
arySymbol.push( { Symbol:"BOLL", Name:"布林线", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"BOLL", Type:1 } } );
|
|
1052
|
+
|
|
1044
1053
|
callback(arySymbol);
|
|
1045
1054
|
}
|
|
1046
1055
|
|
|
@@ -135137,7 +135137,8 @@ function JSKeyboardChartContainer(uielement)
|
|
|
135137
135137
|
this.NetworkFilter; //数据回调接口
|
|
135138
135138
|
this.Data={ XOffset:0, YOffset:0, Data:[] }; //股票列表
|
|
135139
135139
|
this.MapSymbol=new Map();
|
|
135140
|
-
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 } ]
|
|
135141
135142
|
|
|
135142
135143
|
//事件回调
|
|
135143
135144
|
this.mapEvent=new Map(); //通知外部调用 key:JSCHART_EVENT_ID value:{Callback:回调,}
|
|
@@ -135164,10 +135165,44 @@ function JSKeyboardChartContainer(uielement)
|
|
|
135164
135165
|
if (option && option.Redraw==true) this.Draw();
|
|
135165
135166
|
}
|
|
135166
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
|
+
|
|
135167
135200
|
this.Search=function(strText)
|
|
135168
135201
|
{
|
|
135169
135202
|
var aryExactQuery=[]; //精确查询
|
|
135170
135203
|
var aryFuzzyQuery=[]; //模糊查询
|
|
135204
|
+
var aryEqualQuery=[]; //相等
|
|
135205
|
+
var aryFuncKeyQuery=null;
|
|
135171
135206
|
this.MapSymbol.clear();
|
|
135172
135207
|
this.Data.Data=[];
|
|
135173
135208
|
this.Data.XOffset=0;
|
|
@@ -135176,17 +135211,21 @@ function JSKeyboardChartContainer(uielement)
|
|
|
135176
135211
|
var strSearch=strText.trim();
|
|
135177
135212
|
if (strSearch.length>0)
|
|
135178
135213
|
{
|
|
135214
|
+
aryFuncKeyQuery=this.SearchFunctionKeyData(strSearch);
|
|
135215
|
+
|
|
135179
135216
|
for(var i=0;i<this.SourceData.Data.length;++i)
|
|
135180
135217
|
{
|
|
135181
135218
|
var item=this.SourceData.Data[i];
|
|
135182
|
-
if (this.SearchSymbol(item, strSearch, aryExactQuery, aryFuzzyQuery)) continue;
|
|
135219
|
+
if (this.SearchSymbol(item, strSearch, aryExactQuery, aryFuzzyQuery, aryEqualQuery)) continue;
|
|
135183
135220
|
else if (this.SearchSpell(item, strSearch, aryExactQuery, aryFuzzyQuery)) continue;
|
|
135184
135221
|
}
|
|
135185
135222
|
}
|
|
135186
|
-
|
|
135187
|
-
if (IFrameSplitOperator.IsNonEmptyArray(aryExactQuery) || IFrameSplitOperator.IsNonEmptyArray(aryFuzzyQuery))
|
|
135188
|
-
this.Data.Data=aryExactQuery.concat(aryFuzzyQuery);
|
|
135189
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
|
+
|
|
135190
135229
|
this.ChartPaint[0].SelectedRow=0;
|
|
135191
135230
|
this.ChartPaint[0].SizeChange=true;
|
|
135192
135231
|
|
|
@@ -135195,12 +135234,13 @@ function JSKeyboardChartContainer(uielement)
|
|
|
135195
135234
|
this.Draw();
|
|
135196
135235
|
}
|
|
135197
135236
|
|
|
135198
|
-
this.SearchSymbol=function(item, strText, aryExactQuery, aryFuzzyQuery)
|
|
135237
|
+
this.SearchSymbol=function(item, strText, aryExactQuery, aryFuzzyQuery, aryEqualQuery)
|
|
135199
135238
|
{
|
|
135200
135239
|
var find=item.Symbol.indexOf(strText);
|
|
135201
135240
|
if (find<0) return false;
|
|
135202
135241
|
|
|
135203
|
-
if (
|
|
135242
|
+
if (item.Symbol==strText) aryEqualQuery.push(item.Symbol);
|
|
135243
|
+
else if (find==0) aryExactQuery.push(item.Symbol);
|
|
135204
135244
|
else aryFuzzyQuery.push(item.Symbol);
|
|
135205
135245
|
|
|
135206
135246
|
this.MapSymbol.set(item.Symbol, item);
|
|
@@ -135225,8 +135265,21 @@ function JSKeyboardChartContainer(uielement)
|
|
|
135225
135265
|
|
|
135226
135266
|
this.SetSymbolData=function(arySymbol)
|
|
135227
135267
|
{
|
|
135228
|
-
this.SourceData.Data=
|
|
135229
|
-
|
|
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
|
+
|
|
135230
135283
|
/*
|
|
135231
135284
|
//测试
|
|
135232
135285
|
this.MapSymbol.clear();
|
|
@@ -135499,11 +135552,13 @@ function JSKeyboardChartContainer(uielement)
|
|
|
135499
135552
|
if (!chart) return false;
|
|
135500
135553
|
|
|
135501
135554
|
var data=chart.GetSelectedSymbol();
|
|
135555
|
+
var selItem=this.MapSymbol.get(data.Symbol);
|
|
135556
|
+
if (!selItem) return false;
|
|
135502
135557
|
|
|
135503
135558
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_KEYBOARD_SELECTED)
|
|
135504
135559
|
if (event && event.Callback)
|
|
135505
135560
|
{
|
|
135506
|
-
event.Callback(event, { Data:data }, this);
|
|
135561
|
+
event.Callback(event, { Data:data, RowData:selItem }, this);
|
|
135507
135562
|
}
|
|
135508
135563
|
}
|
|
135509
135564
|
|
|
@@ -136113,6 +136168,38 @@ function ChartSymbolList()
|
|
|
136113
136168
|
this.SetColumn=function(aryColumn)
|
|
136114
136169
|
{
|
|
136115
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;
|
|
136116
136203
|
}
|
|
136117
136204
|
|
|
136118
136205
|
this.Draw=function()
|
|
@@ -138138,7 +138225,7 @@ function ScrollBarBGChart()
|
|
|
138138
138225
|
|
|
138139
138226
|
|
|
138140
138227
|
|
|
138141
|
-
var HQCHART_VERSION="1.1.
|
|
138228
|
+
var HQCHART_VERSION="1.1.13716";
|
|
138142
138229
|
|
|
138143
138230
|
function PrintHQChartVersion()
|
|
138144
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
|
|
|
@@ -137587,7 +137587,8 @@ function JSKeyboardChartContainer(uielement)
|
|
|
137587
137587
|
this.NetworkFilter; //数据回调接口
|
|
137588
137588
|
this.Data={ XOffset:0, YOffset:0, Data:[] }; //股票列表
|
|
137589
137589
|
this.MapSymbol=new Map();
|
|
137590
|
-
this.SourceData={ Data:[] }
|
|
137590
|
+
this.SourceData={ Data:[] } //码表数据 Data:[ { Symbol:, Spell, Name:, Color: TypeName:, TypeID } ]
|
|
137591
|
+
this.FunctionKeyData=[]; //功能键 { Priority:, Data:[ { Symbol:, Spell, Name:, Color:, TypeName:, TypeID } ]
|
|
137591
137592
|
|
|
137592
137593
|
//事件回调
|
|
137593
137594
|
this.mapEvent=new Map(); //通知外部调用 key:JSCHART_EVENT_ID value:{Callback:回调,}
|
|
@@ -137614,10 +137615,44 @@ function JSKeyboardChartContainer(uielement)
|
|
|
137614
137615
|
if (option && option.Redraw==true) this.Draw();
|
|
137615
137616
|
}
|
|
137616
137617
|
|
|
137618
|
+
this.SearchFunctionKeyData=function(strSearch)
|
|
137619
|
+
{
|
|
137620
|
+
if (strSearch.length<=0) return null;
|
|
137621
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.FunctionKeyData)) return null;
|
|
137622
|
+
|
|
137623
|
+
var aryData=[];
|
|
137624
|
+
for(var i=0; i<this.FunctionKeyData.length; ++i)
|
|
137625
|
+
{
|
|
137626
|
+
var groupData=this.FunctionKeyData[i];
|
|
137627
|
+
if (!groupData) continue;
|
|
137628
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(groupData.Data)) continue;
|
|
137629
|
+
|
|
137630
|
+
var aryExactQuery=[]; //精确查询
|
|
137631
|
+
var aryFuzzyQuery=[]; //模糊查询
|
|
137632
|
+
var aryEqualQuery=[]; //相等
|
|
137633
|
+
|
|
137634
|
+
for(var j=0;j<groupData.Data.length;++j)
|
|
137635
|
+
{
|
|
137636
|
+
var item=groupData.Data[j];
|
|
137637
|
+
if (this.SearchSymbol(item, strSearch, aryExactQuery, aryFuzzyQuery,aryEqualQuery)) continue;
|
|
137638
|
+
}
|
|
137639
|
+
|
|
137640
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryEqualQuery)) aryData.push(...aryEqualQuery);
|
|
137641
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryExactQuery)) aryData.push(...aryExactQuery);
|
|
137642
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryFuzzyQuery)) aryData.push(...aryFuzzyQuery);
|
|
137643
|
+
}
|
|
137644
|
+
|
|
137645
|
+
if (aryData.length>0) return aryData;
|
|
137646
|
+
|
|
137647
|
+
return null;
|
|
137648
|
+
}
|
|
137649
|
+
|
|
137617
137650
|
this.Search=function(strText)
|
|
137618
137651
|
{
|
|
137619
137652
|
var aryExactQuery=[]; //精确查询
|
|
137620
137653
|
var aryFuzzyQuery=[]; //模糊查询
|
|
137654
|
+
var aryEqualQuery=[]; //相等
|
|
137655
|
+
var aryFuncKeyQuery=null;
|
|
137621
137656
|
this.MapSymbol.clear();
|
|
137622
137657
|
this.Data.Data=[];
|
|
137623
137658
|
this.Data.XOffset=0;
|
|
@@ -137626,17 +137661,21 @@ function JSKeyboardChartContainer(uielement)
|
|
|
137626
137661
|
var strSearch=strText.trim();
|
|
137627
137662
|
if (strSearch.length>0)
|
|
137628
137663
|
{
|
|
137664
|
+
aryFuncKeyQuery=this.SearchFunctionKeyData(strSearch);
|
|
137665
|
+
|
|
137629
137666
|
for(var i=0;i<this.SourceData.Data.length;++i)
|
|
137630
137667
|
{
|
|
137631
137668
|
var item=this.SourceData.Data[i];
|
|
137632
|
-
if (this.SearchSymbol(item, strSearch, aryExactQuery, aryFuzzyQuery)) continue;
|
|
137669
|
+
if (this.SearchSymbol(item, strSearch, aryExactQuery, aryFuzzyQuery, aryEqualQuery)) continue;
|
|
137633
137670
|
else if (this.SearchSpell(item, strSearch, aryExactQuery, aryFuzzyQuery)) continue;
|
|
137634
137671
|
}
|
|
137635
137672
|
}
|
|
137636
|
-
|
|
137637
|
-
if (IFrameSplitOperator.IsNonEmptyArray(aryExactQuery) || IFrameSplitOperator.IsNonEmptyArray(aryFuzzyQuery))
|
|
137638
|
-
this.Data.Data=aryExactQuery.concat(aryFuzzyQuery);
|
|
137639
137673
|
|
|
137674
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryFuncKeyQuery)) this.Data.Data.push(...aryFuncKeyQuery);
|
|
137675
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryEqualQuery)) this.Data.Data.push(...aryEqualQuery);
|
|
137676
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryExactQuery)) this.Data.Data.push(...aryExactQuery);
|
|
137677
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryFuzzyQuery)) this.Data.Data.push(...aryFuzzyQuery);
|
|
137678
|
+
|
|
137640
137679
|
this.ChartPaint[0].SelectedRow=0;
|
|
137641
137680
|
this.ChartPaint[0].SizeChange=true;
|
|
137642
137681
|
|
|
@@ -137645,12 +137684,13 @@ function JSKeyboardChartContainer(uielement)
|
|
|
137645
137684
|
this.Draw();
|
|
137646
137685
|
}
|
|
137647
137686
|
|
|
137648
|
-
this.SearchSymbol=function(item, strText, aryExactQuery, aryFuzzyQuery)
|
|
137687
|
+
this.SearchSymbol=function(item, strText, aryExactQuery, aryFuzzyQuery, aryEqualQuery)
|
|
137649
137688
|
{
|
|
137650
137689
|
var find=item.Symbol.indexOf(strText);
|
|
137651
137690
|
if (find<0) return false;
|
|
137652
137691
|
|
|
137653
|
-
if (
|
|
137692
|
+
if (item.Symbol==strText) aryEqualQuery.push(item.Symbol);
|
|
137693
|
+
else if (find==0) aryExactQuery.push(item.Symbol);
|
|
137654
137694
|
else aryFuzzyQuery.push(item.Symbol);
|
|
137655
137695
|
|
|
137656
137696
|
this.MapSymbol.set(item.Symbol, item);
|
|
@@ -137675,8 +137715,21 @@ function JSKeyboardChartContainer(uielement)
|
|
|
137675
137715
|
|
|
137676
137716
|
this.SetSymbolData=function(arySymbol)
|
|
137677
137717
|
{
|
|
137678
|
-
this.SourceData.Data=
|
|
137679
|
-
|
|
137718
|
+
this.SourceData.Data=[];
|
|
137719
|
+
for(var i=0;i<arySymbol.length;++i)
|
|
137720
|
+
{
|
|
137721
|
+
var item=arySymbol[i];
|
|
137722
|
+
if (IFrameSplitOperator.IsNumber(item.Priority))
|
|
137723
|
+
{
|
|
137724
|
+
if (!this.FunctionKeyData[item.Priority]) this.FunctionKeyData[item.Priority]={ Priority:item.Priority, Data:[] };
|
|
137725
|
+
this.FunctionKeyData[item.Priority].Data.push(item);
|
|
137726
|
+
}
|
|
137727
|
+
else
|
|
137728
|
+
{
|
|
137729
|
+
this.SourceData.Data.push(item);
|
|
137730
|
+
}
|
|
137731
|
+
}
|
|
137732
|
+
|
|
137680
137733
|
/*
|
|
137681
137734
|
//测试
|
|
137682
137735
|
this.MapSymbol.clear();
|
|
@@ -137949,11 +138002,13 @@ function JSKeyboardChartContainer(uielement)
|
|
|
137949
138002
|
if (!chart) return false;
|
|
137950
138003
|
|
|
137951
138004
|
var data=chart.GetSelectedSymbol();
|
|
138005
|
+
var selItem=this.MapSymbol.get(data.Symbol);
|
|
138006
|
+
if (!selItem) return false;
|
|
137952
138007
|
|
|
137953
138008
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_KEYBOARD_SELECTED)
|
|
137954
138009
|
if (event && event.Callback)
|
|
137955
138010
|
{
|
|
137956
|
-
event.Callback(event, { Data:data }, this);
|
|
138011
|
+
event.Callback(event, { Data:data, RowData:selItem }, this);
|
|
137957
138012
|
}
|
|
137958
138013
|
}
|
|
137959
138014
|
|
|
@@ -138563,6 +138618,38 @@ function ChartSymbolList()
|
|
|
138563
138618
|
this.SetColumn=function(aryColumn)
|
|
138564
138619
|
{
|
|
138565
138620
|
if (!IFrameSplitOperator.IsNonEmptyArray(aryColumn)) return;
|
|
138621
|
+
|
|
138622
|
+
this.Column=[];
|
|
138623
|
+
for(var i=0;i<aryColumn.length;++i)
|
|
138624
|
+
{
|
|
138625
|
+
var item=aryColumn[i];
|
|
138626
|
+
var colItem=this.GetDefaultColunm(item.Type);
|
|
138627
|
+
if (!colItem) continue;
|
|
138628
|
+
|
|
138629
|
+
if (item.Title) colItem.Title=item.Title;
|
|
138630
|
+
if (item.TextAlign) colItem.TextAlign=item.TextAlign;
|
|
138631
|
+
if (item.MaxText) colItem.MaxText=item.MaxText;
|
|
138632
|
+
|
|
138633
|
+
this.Column.push(colItem);
|
|
138634
|
+
}
|
|
138635
|
+
}
|
|
138636
|
+
|
|
138637
|
+
this.GetDefaultColunm=function(id)
|
|
138638
|
+
{
|
|
138639
|
+
var DEFAULT_COLUMN=
|
|
138640
|
+
[
|
|
138641
|
+
{ Type:KEYBOARD_COLUMN_ID.SHORT_SYMBOL_ID, Title:"代码", TextAlign:"left", Width:null, MaxText:"888888" },
|
|
138642
|
+
{ Type:KEYBOARD_COLUMN_ID.NAME_ID, Title:"名称", TextAlign:"left", Width:null, MaxText:"擎擎擎擎擎擎" },
|
|
138643
|
+
{ Type:KEYBOARD_COLUMN_ID.TYPE_NAME_ID, Title:"类型", TextAlign:"right", Width:null, MaxText:"擎擎擎擎" },
|
|
138644
|
+
];
|
|
138645
|
+
|
|
138646
|
+
for(var i=0;i<DEFAULT_COLUMN.length;++i)
|
|
138647
|
+
{
|
|
138648
|
+
var item=DEFAULT_COLUMN[i];
|
|
138649
|
+
if (item.Type==id) return item;
|
|
138650
|
+
}
|
|
138651
|
+
|
|
138652
|
+
return null;
|
|
138566
138653
|
}
|
|
138567
138654
|
|
|
138568
138655
|
this.Draw=function()
|
|
@@ -142525,7 +142612,15 @@ JSPopKeyboard.GetOption=function()
|
|
|
142525
142612
|
},
|
|
142526
142613
|
|
|
142527
142614
|
BorderLine:1|2|4|8,
|
|
142528
|
-
EnableResize:true
|
|
142615
|
+
EnableResize:true,
|
|
142616
|
+
|
|
142617
|
+
//{ Type:列id, Title:标题, TextAlign:文字对齐方式, MaxText:文字最大宽度 , TextColor:文字颜色, Sort:0=不支持排序 1=本地排序 0=远程排序 }
|
|
142618
|
+
Column:
|
|
142619
|
+
[
|
|
142620
|
+
{ Type:KEYBOARD_COLUMN_ID.SHORT_SYMBOL_ID, Title:"代码", TextAlign:"left", Width:null, MaxText:"888888" },
|
|
142621
|
+
{ Type:KEYBOARD_COLUMN_ID.NAME_ID, Title:"名称", TextAlign:"left", Width:null, MaxText:"擎擎擎擎擎擎擎擎" },
|
|
142622
|
+
{ Type:KEYBOARD_COLUMN_ID.TYPE_NAME_ID, Title:"类型", TextAlign:"right", Width:null, MaxText:"擎擎擎擎擎" },
|
|
142623
|
+
]
|
|
142529
142624
|
};
|
|
142530
142625
|
|
|
142531
142626
|
return option;
|
|
@@ -142654,7 +142749,7 @@ function HQChartScriptWorker()
|
|
|
142654
142749
|
|
|
142655
142750
|
|
|
142656
142751
|
|
|
142657
|
-
var HQCHART_VERSION="1.1.
|
|
142752
|
+
var HQCHART_VERSION="1.1.13716";
|
|
142658
142753
|
|
|
142659
142754
|
function PrintHQChartVersion()
|
|
142660
142755
|
{
|