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.
@@ -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};
@@ -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
- };this.mapEvent=new _map2.default();//通知外部调用 key:JSCHART_EVENT_ID value:{Callback:回调,}
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.Search=function(strText){var aryExactQuery=[];//精确查询
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
- this.MapSymbol.clear();this.Data.Data=[];this.Data.XOffset=0;this.Data.YOffset=0;var strSearch=strText.trim();if(strSearch.length>0){for(var i=0;i<this.SourceData.Data.length;++i){var item=this.SourceData.Data[i];if(this.SearchSymbol(item,strSearch,aryExactQuery,aryFuzzyQuery))continue;else if(this.SearchSpell(item,strSearch,aryExactQuery,aryFuzzyQuery))continue;}}if(IFrameSplitOperator.IsNonEmptyArray(aryExactQuery)||IFrameSplitOperator.IsNonEmptyArray(aryFuzzyQuery))this.Data.Data=aryExactQuery.concat(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){var find=item.Symbol.indexOf(strText);if(find<0)return false;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=arySymbol;/*
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};return option;};///////////////////////////////////////////////////////////////////////////////////
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.13710";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();//把给外界调用的方法暴露出来
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.13711",
3
+ "version": "1.1.13717",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -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:[] } //码表数据 Data:[ { Symbol:, Spell, Name:, Color:}]
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 (find==0) aryExactQuery.push(item.Symbol);
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=arySymbol;
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()
@@ -1553,8 +1553,8 @@ input[type="color"] {
1553
1553
  .jchart_pop_keyboard_dailog
1554
1554
  {
1555
1555
  position: absolute;
1556
- width: 230px;
1557
- height:360px;
1556
+ width: 300px;
1557
+ height:440px;
1558
1558
  left: 1px;
1559
1559
  top: 1px;
1560
1560
  z-index: 999;
@@ -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:[] } //码表数据 Data:[ { Symbol:, Spell, Name:, Color:}]
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 (find==0) aryExactQuery.push(item.Symbol);
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=arySymbol;
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.13710";
138228
+ var HQCHART_VERSION="1.1.13716";
138142
138229
 
138143
138230
  function PrintHQChartVersion()
138144
138231
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.13710";
8
+ var HQCHART_VERSION="1.1.13716";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -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:[] } //码表数据 Data:[ { Symbol:, Spell, Name:, Color:}]
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 (find==0) aryExactQuery.push(item.Symbol);
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=arySymbol;
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.13710";
142752
+ var HQCHART_VERSION="1.1.13716";
142658
142753
 
142659
142754
  function PrintHQChartVersion()
142660
142755
  {