hqchart 1.1.14771 → 1.1.14775
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/umychart.vue.js
CHANGED
|
@@ -13377,11 +13377,11 @@ case REPORT_COLUMN_ID.FUTURES_POSITION_ID:case REPORT_COLUMN_ID.FUTURES_CLOSE_ID
|
|
|
13377
13377
|
return this.LoacCustomNumberSort(left,right,column,sortType);case REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID://自定义字符串字段
|
|
13378
13378
|
return this.LoacCustomStringSort(left,right,column,sortType);case REPORT_COLUMN_ID.CUSTOM_DATETIME_TEXT_ID:return this.LoacCustomDateTimeSort(left,right,column,sortType);default:return 0;}};this.GetStockExtendData=function(symbol,column){if(IFrameSplitOperator.IsNumber(column.DataIndex)){if(column.DataIndex<0)return null;var stock=this.GetStockData(symbol);if(!stock||!stock.ExtendData)return null;return stock.ExtendData[column.DataIndex];}if(IFrameSplitOperator.IsNumber(column.BlockIndex)){if(column.BlockIndex<0)return null;var stock=this.GetBlockData(symbol);if(!stock)return null;return stock[column.BlockIndex];}return null;};this.LocalNameExSort=function(left,right,column,sortType){var leftStock=this.GetStockData(left);var rightStock=this.GetStockData(right);var leftValue="",rightValue="";if(sortType==2){leftValue="啊啊啊啊啊";rightValue="啊啊啊啊啊";}if(leftStock&&leftStock.Name)leftValue=leftStock.Name;if(rightStock&&rightStock.Name)rightValue=rightStock.Name;if(sortType==1){if(rightValue<leftValue)return-1;else if(rightValue<leftValue)return 1;else return 0;}else{if(leftValue<rightValue)return-1;else if(leftValue>rightValue)return 1;else return 0;}};this.LocalStringSort=function(left,right,column,sortType){var leftStock=this.GetStockData(left);var rightStock=this.GetStockData(right);var leftValue="",rightValue="";if(sortType==2){leftValue="啊啊啊啊啊";rightValue="啊啊啊啊啊";}var filedName=MAP_COLUMN_FIELD.get(column.Type);if(leftStock&&leftStock[filedName])leftValue=leftStock[filedName];if(rightStock&&rightStock[filedName])rightValue=rightStock[filedName];if(sortType==1){if(rightValue<leftValue)return-1;else if(rightValue<leftValue)return 1;else return 0;}else{if(leftValue<rightValue)return-1;else if(leftValue>rightValue)return 1;else return 0;}};this.LocalNumberSort=function(left,right,column,sortType){var leftStock=this.GetStockData(left);var rightStock=this.GetStockData(right);var leftValue=-99999999999999,rightValue=-99999999999999;if(sortType==2)leftValue=rightValue=99999999999999;var filedName=MAP_COLUMN_FIELD.get(column.Type);if(leftStock&&IFrameSplitOperator.IsNumber(leftStock[filedName]))leftValue=leftStock[filedName];if(rightStock&&IFrameSplitOperator.IsNumber(rightStock[filedName]))rightValue=rightStock[filedName];if(sortType==1){if(rightValue<leftValue)return-1;else if(rightValue<leftValue)return 1;else return 0;}else{if(leftValue<rightValue)return-1;else if(leftValue>rightValue)return 1;else return 0;}};this.LoacCustomNumberSort=function(left,right,column,sortType){var leftValue=-99999999999999,rightValue=-99999999999999;if(sortType==2)leftValue=rightValue=99999999999999;var value=this.GetStockExtendData(left,column);if(IFrameSplitOperator.IsNumber(value))leftValue=value;var value=this.GetStockExtendData(right,column);if(IFrameSplitOperator.IsNumber(value))rightValue=value;if(sortType==1){if(rightValue<leftValue)return-1;else if(rightValue<leftValue)return 1;else return 0;}else{if(leftValue<rightValue)return-1;else if(leftValue>rightValue)return 1;else return 0;}};this.LoacCustomDateTimeSort=function(left,right,column,sortType){var leftValue=-99999999999999,rightValue=-99999999999999;if(sortType==2)leftValue=rightValue=99999999999999;var value=this.GetStockExtendData(left,column);if(IFrameSplitOperator.IsNumber(value))leftValue=value;var value=this.GetStockExtendData(right,column);if(IFrameSplitOperator.IsNumber(value))rightValue=value;if(sortType==1){if(rightValue<leftValue)return-1;else if(rightValue<leftValue)return 1;else return 0;}else{if(leftValue<rightValue)return-1;else if(leftValue>rightValue)return 1;else return 0;}};this.LoacCustomStringSort=function(left,right,column,sortType){var leftValue="",rightValue="";if(sortType==2)rightValue=leftValue="啊啊啊啊啊";var value=this.GetStockExtendData(left,column);if(IFrameSplitOperator.IsString(value))leftValue=value;var value=this.GetStockExtendData(right,column);if(IFrameSplitOperator.IsString(value))rightValue=value;if(sortType==1){if(rightValue<leftValue)return-1;else if(rightValue<leftValue)return 1;else return 0;}else{if(leftValue<rightValue)return-1;else if(leftValue>rightValue)return 1;else return 0;}};this.RequestStockSortData=function(column,filedid,sortType){var chart=this.ChartPaint[0];if(!chart)return;var self=this;var startIndex=this.Data.YOffset;var pageSize=chart.GetPageSize();var endIndex=startIndex+pageSize;if(endIndex>=this.Data.Data.length)endIndex=this.Data.Data.length-1;if(this.NetworkFilter){var obj={Name:'JSDealChartContainer::RequestStockSortData',//类名::函数名
|
|
13379
13379
|
Explain:'报价列表股票排序数据',Request:{Data:{range:{start:startIndex,end:endIndex,count:this.Data.Data.length},column:{name:column.Title,type:column.Type,index:filedid,ID:column.ID},sort:sortType,symbol:this.Symbol,name:this.Name,pageSize:pageSize}},Self:this,PreventDefault:false};if(chart.FixedRowCount>0&&chart.FixedRowData.Type==1){var arySymbol=[];for(var i=0;i<chart.FixedRowData.Symbol.length;++i){var item=chart.FixedRowData.Symbol[i];if(item)arySymbol.push(item);}obj.Request.FixedSymbol=arySymbol;}this.NetworkFilter(obj,function(data){self.RecvStockSortData(data);self.AutoUpdate();});if(obj.PreventDefault==true)return;}//throw { Name:'JSReportChartContainer::RequestStockSortData', Error:'(报价列表股票排序数据)不提供内置测试数据' };
|
|
13380
|
-
};this.RecvStockSortData=function(data){var chart=this.ChartPaint[0];if(!chart)return;//更新股票数据
|
|
13380
|
+
};this.RecvStockSortData=function(data){var chart=this.ChartPaint[0];if(!chart)return;var selectedSymbol=chart.GetSelectedSingleSymbol();//更新股票数据
|
|
13381
13381
|
var arySymbol=[];if(IFrameSplitOperator.IsNonEmptyArray(data.data)){for(var i=0;i<data.data.length;++i){var item=data.data[i];//数据
|
|
13382
13382
|
var symbol=item[0];if(!symbol)continue;var stock=null;if(this.MapStockData.has(symbol)){stock=this.MapStockData.get(symbol);}else{stock=new HQReportItem();stock.OriginalSymbol=symbol;stock.Symbol=this.GetSymbolNoSuffix(symbol);this.MapStockData.set(symbol,stock);}this.ReadStockJsonData(stock,item);arySymbol.push(symbol);}}//更新股票顺序
|
|
13383
13383
|
if(IFrameSplitOperator.IsNonEmptyArray(data.index)){for(var i=0;i<data.index.length;++i){var index=data.index[i];var newSymbol=arySymbol[i];var oldSymbol=this.Data.Data[index];if(newSymbol==oldSymbol)continue;this.Data.Data[index]=newSymbol;}}if(data.Virtual){var item=data.Virtual;if(IFrameSplitOperator.IsNumber(item.Count))this.Data.Virtual.Count=item.Count;}//更新选中行
|
|
13384
|
-
if(data.SelectedRow){var item=data.SelectedRow;chart.SetSelectedRow({Symbol:item.Symbol});}//更新的股票在当前页面,需要重绘
|
|
13384
|
+
if(data.SelectedRow){var item=data.SelectedRow;if(item.Symbol)chart.SetSelectedRow({Symbol:item.Symbol});}else{if(selectedSymbol)chart.SetSelectedRow({Symbol:selectedSymbol});}//更新的股票在当前页面,需要重绘
|
|
13385
13385
|
var bUpdate=true;if(bUpdate)this.Draw();};//虚拟表格 请求序号 所有数据后台返回
|
|
13386
13386
|
this.RequestVirtualStockData=function(){var chart=this.ChartPaint[0];if(!chart)return;var self=this;var startIndex=this.Data.YOffset;var pageSize=chart.GetPageSize();var endIndex=startIndex+pageSize;var dataCount=chart.GetAllRowCount();if(endIndex>=dataCount)endIndex=dataCount-1;if(!this.NetworkFilter)return;var requestData={range:{start:startIndex,end:endIndex,count:chart.GetAllRowCount()},column:null,sort:0,symbol:this.Symbol,name:this.Name,pageSize:pageSize};if(this.SortInfo&&this.SortInfo.Field>=0&&this.SortInfo.Sort>0)//排序
|
|
13387
13387
|
{var column=chart.Column[this.SortInfo.Field];requestData.column={name:column.Title,type:column.Type,index:this.SortInfo.Field,ID:column.ID};requestData.sort=this.SortInfo.Sort;}var obj={Name:'JSDealChartContainer::RequestVirtualStockData',//类名::函数名
|
|
@@ -13583,7 +13583,10 @@ var textTop=top;this.Canvas.font=this.ItemFixedFont;for(var i=0;i<this.FixedRowC
|
|
|
13583
13583
|
}else{if(i==this.SelectedRow)bFillRow=true;//选中行
|
|
13584
13584
|
}}if(this.DragRow){if(this.DragRow.Data){var dataIndex=this.DragRow.Data.Row.DataIndex;if(dataIndex==i){this.Canvas.fillStyle=this.DragSrcRowColor;this.Canvas.fillRect(left,textTop,rowWidth,this.RowHeight);}}if(this.DragRow.MoveRow){var dataIndex=this.DragRow.MoveRow.Data.DataIndex;if(dataIndex==i){this.Canvas.fillStyle=this.DragMoveRowColor;this.Canvas.fillRect(left,textTop,rowWidth,this.RowHeight);}}bFillRow=false;}if(eventDrawBG&&eventDrawBG.Callback){//Out:{ BGColor: }
|
|
13585
13585
|
var sendData={RowIndex:i,Symbol:symbol,Out:null,Selected:selectedSymbol,MultiSelectModel:this.MultiSelectModel};eventDrawBG.Callback(eventDrawBG,sendData,this);if(sendData.Out&&sendData.Out.BGColor){this.Canvas.fillStyle=sendData.Out.BGColor;this.Canvas.fillRect(left,textTop,rowWidth,this.RowHeight);}}if(bFillRow){var rtRowBG={Left:left,Top:textTop,Width:rowWidth,Height:this.RowHeight};rtRowBG.Right=rtRowBG.Left+rtRowBG.Width;rtRowBG.Bottom=rtRowBG.Top+rtRowBG.Height;this.AryFullSelectedRow.push(rtRowBG);if(this.SelectedStyle===1){this.Canvas.fillStyle=this.SelectedColor;this.Canvas.fillRect(rtRowBG.Left,rtRowBG.Top,rtRowBG.Width,rtRowBG.Height);}}this.DrawRow(symbol,textTop,i);this.ShowSymbol.push({Index:i,Symbol:symbol});textTop+=this.RowHeight;}};this.DrawSelectedRow=function(){if(this.SelectedStyle===2&&IFrameSplitOperator.IsNonEmptyArray(this.AryFullSelectedRow)){this.Canvas.fillStyle=this.SelectedLineConfig.Color;var lineWidth=this.SelectedLineConfig.Width;for(var i=0;i<this.AryFullSelectedRow.length;++i){var rtBG=this.AryFullSelectedRow[i];this.Canvas.fillRect(rtBG.Left,rtBG.Bottom-lineWidth,rtBG.Width,lineWidth);}}};this.GetSelectedSymbol=function(){if(this.MultiSelectModel==1){if(!IFrameSplitOperator.IsNonEmptyArray(this.MultiSelectedRow))return null;var aryData=[];for(var i=0;i<this.MultiSelectedRow.length;++i){var item=this.Data.Data[this.MultiSelectedRow[i]];if(!item)continue;aryData.push(item);}return aryData;}else{if(this.SelectedRow<0)return null;var index=this.SelectedRow;if(this.SelectedModel==0)//当前屏选中
|
|
13586
|
-
index=this.Data.YOffset+this.SelectedRow;var symbol=this.Data.Data[index];return[symbol];}}
|
|
13586
|
+
index=this.Data.YOffset+this.SelectedRow;var symbol=this.Data.Data[index];return[symbol];}};//单行选中模式选中股票
|
|
13587
|
+
this.GetSelectedSingleSymbol=function(){if(this.MultiSelectModel==1)return null;//多选
|
|
13588
|
+
if(this.SelectedModel==0)return null;//当前屏选中
|
|
13589
|
+
if(this.SelectedRow<0)return null;var symbol=this.Data.Data[this.SelectedRow];return symbol;};this.DrawFixedSymbolRow=function(top,dataIndex){var left=this.RectClient.Left;var chartRight=this.RectClient.Right;if(!this.FixedRowData||!IFrameSplitOperator.IsNonEmptyArray(this.FixedRowData.Symbol))return;var symbol=this.FixedRowData.Symbol[dataIndex];if(!symbol)return;this.DrawRow(symbol,top,dataIndex,1);this.ShowSymbol.push({Index:dataIndex,Symbol:symbol,RowType:1});};this.DrawFixedRow=function(top,dataIndex){var left=this.RectClient.Left;var chartRight=this.RectClient.Right;for(var i=0;i<this.FixedColumn&&i<this.Column.length;++i){var item=this.Column[i];this.DrawFixedItem(dataIndex,i,item,left,top);left+=item.Width;if(left>=chartRight)break;}for(var i=this.FixedColumn+this.Data.XOffset;i<this.Column.length;++i){var item=this.Column[i];this.DrawFixedItem(dataIndex,i,item,left,top);left+=item.Width;if(left>=chartRight)break;}};this.DrawFixedItem=function(dataIndex,colIndex,column,left,top){var x=left+this.ItemMergin.Left;var textWidth=column.Width-this.ItemMergin.Left-this.ItemMergin.Right;var drawInfo={Text:null,TextColor:column.TextColor,TextAlign:column.TextAlign};if(this.GetFixedRowTextDrawInfo(dataIndex,colIndex,column,drawInfo)){this.DrawItemText(drawInfo.Text,drawInfo.TextColor,drawInfo.TextAlign,x,top,textWidth);return;}if(!this.FixedRowData||!IFrameSplitOperator.IsNonEmptyArray(this.FixedRowData.Data))return;var data=this.FixedRowData.Data;var rowData=data[dataIndex];if(!IFrameSplitOperator.IsNonEmptyArray(rowData))return;var itemData=rowData[colIndex];if(!itemData||!itemData.Text)return;drawInfo.Text=itemData.Text;if(itemData.Color)drawInfo.TextColor=itemData.Color;if(itemData.TextAlign)drawInfo.TextAlign=itemData.TextAlign;this.DrawItemText(drawInfo.Text,drawInfo.TextColor,drawInfo.TextAlign,x,top,textWidth);};this.DrawRow=function(symbol,top,dataIndex,rowType)//rowType 0=表格行 1=顶部固定行 2=拖拽行
|
|
13587
13590
|
{var left=this.RectClient.Left;var chartRight=this.RectClient.Right;var data={Symbol:symbol,Stock:null,Block:null};if(this.GetStockDataCallback)data.Stock=this.GetStockDataCallback(symbol);if(this.GetBlockDataCallback)data.Block=this.GetBlockDataCallback(symbol);if(this.GetFlashBGDataCallback)data.FlashBG=this.GetFlashBGDataCallback(symbol,Date.now());data.Decimal=GetfloatPrecision(symbol);//小数位数
|
|
13588
13591
|
for(var i=0;i<this.FixedColumn&&i<this.Column.length;++i){var item=this.Column[i];this.DrawItem(dataIndex,data,item,left,top,rowType,i);left+=item.Width;if(left>=chartRight)break;}for(var i=this.FixedColumn+this.Data.XOffset;i<this.Column.length;++i){var item=this.Column[i];this.DrawItem(dataIndex,data,item,left,top,rowType,i);left+=item.Width;if(left>=chartRight)break;}};this.BuildSubCellTextData=function(subItem,column,stock,drawInfo,data,option){switch(subItem.Type){case REPORT_COLUMN_ID.NAME_ID:if(stock&&stock.Name)drawInfo.Text=stock.Name;else drawInfo.Text=data.Name;break;case REPORT_COLUMN_ID.SYMBOL_ID:if(stock&&stock.Symbol)drawInfo.Text=stock.Symbol;else drawInfo.Text=data.Symbol;break;case REPORT_COLUMN_ID.PRICE_ID:case REPORT_COLUMN_ID.OPEN_ID:case REPORT_COLUMN_ID.HIGH_ID:case REPORT_COLUMN_ID.LOW_ID:case REPORT_COLUMN_ID.YCLOSE_ID:case REPORT_COLUMN_ID.BUY_PRICE_ID:case REPORT_COLUMN_ID.SELL_PRICE_ID:case REPORT_COLUMN_ID.AVERAGE_PRICE_ID:case REPORT_COLUMN_ID.FUTURES_CLOSE_ID:case REPORT_COLUMN_ID.FUTURES_YCLOSE_ID:var fieldName=MAP_COLUMN_FIELD.get(subItem.Type);if(stock&&IFrameSplitOperator.IsNumber(stock[fieldName]))this.GetPriceDrawInfo(stock[fieldName],stock,data,drawInfo,option);break;case REPORT_COLUMN_ID.INCREASE_ID:case REPORT_COLUMN_ID.AMPLITUDE_ID:case REPORT_COLUMN_ID.UPDOWN_ID:case REPORT_COLUMN_ID.RISING_SPEED_1M_ID:case REPORT_COLUMN_ID.RISING_SPEED_3M_ID:case REPORT_COLUMN_ID.RISING_SPEED_5M_ID:case REPORT_COLUMN_ID.RISING_SPEED_10M_ID:case REPORT_COLUMN_ID.RISING_SPEED_15M_ID:var fieldName=MAP_COLUMN_FIELD.get(subItem.Type);if(stock&&IFrameSplitOperator.IsNumber(stock[fieldName])){var value=stock[fieldName];var text=value.toFixed(2);if(subItem.DynamicFormat)text=subItem.DynamicFormat.replace('{Value}',text);drawInfo.Text=text;drawInfo.TextColor=this.GetUpDownColor(value,0);}break;}};this.DrawSubCellText=function(drawInfo,column,rtText){if(!drawInfo.Text)return;var text=drawInfo.Text;var x=rtText.Left;if(drawInfo.TextAlign=='center'){x=rtText.Left+rtText.Width/2;this.Canvas.textAlign="center";}else if(drawInfo.TextAlign=='right'){x=rtText.Left+rtText.Width-2;this.Canvas.textAlign="right";}else{x+=2;this.Canvas.textAlign="left";}var bClip=false;this.Canvas.textBaseline="bottom";this.Canvas.fillStyle=drawInfo.TextColor;this.Canvas.fillText(text,x,rtText.Bottom);if(bClip)this.Canvas.restore();};this.DrawItem=function(index,data,column,left,top,rowType,columnIndex){var itemWidth=column.Width;var x=left+this.ItemMergin.Left;var textWidth=column.Width-this.ItemMergin.Left-this.ItemMergin.Right;var stock=data.Stock;var drawInfo={Text:null,TextColor:column.TextColor,TextAlign:column.TextAlign,Tooltip:null,Index:index,ColumnIndex:columnIndex};var rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;drawInfo.Rect=rtItem;if(column.FullColBGColor){this.DrawItemBG({Rect:rtItem,BGColor:column.FullColBGColor});}if(column.Type==REPORT_COLUMN_ID.INDEX_ID){if(rowType==1)return;//固定行序号空
|
|
13589
13592
|
drawInfo.Text=(index+1).toString();}else if(column.Type==REPORT_COLUMN_ID.SYMBOL_ID){if(stock&&stock.Symbol)drawInfo.Text=stock.Symbol;else drawInfo.Text=data.Symbol;this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.SYMBOL_NAME_ID){this.DrawSymbolName(data,column,left,top,rowType);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.SYMBOL_NAME_V2_ID){this.DrawSymbolNameV2(data,column,left,top,rowType);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.NAME_ID){if(stock&&stock.Name){if(IFrameSplitOperator.IsString(stock.Name)){drawInfo.Text=this.TextEllipsis(stock.Name,textWidth,column.MaxText);drawInfo.TextColor=this.GetNameColor(column,data.Symbol,rowType);}}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.NAME_EX_ID){//复杂格式 { Text:, Symbol:{ Family:'iconfont', Size:, Data:[ { Text:'\ue631', Color:'#1c65db'}, ...] } ]}
|
|
@@ -13662,7 +13665,7 @@ this.Canvas.fillStyle=this.DragRowColor;this.Canvas.fillRect(rtRow.Left,rtRow.To
|
|
|
13662
13665
|
var cellHeader={Left:rtRow.Left,Top:rtRow.Top,Right:rtRow.Right,Width:rtRow.Width,Height:this.HeaderHeight};cellHeader.Bottom=cellHeader.Top+cellHeader.Height;this.DrawHeaderItem(clickData.Header.Column,cellHeader,clickData.Header.Index,{HeaderColor:this.DragRowTextColor});var textTop=cellHeader.Bottom+this.FixedRowHeight*this.FixedRowCount;this.Canvas.font=this.ItemFont;var dataCount=this.GetAllRowCount();for(var i=this.Data.YOffset,j=0;i<dataCount&&j<this.RowCount;++i,++j){var symbol=this.Data.Data[i];var data={Symbol:symbol,Stock:null,Block:null};if(this.GetStockDataCallback)data.Stock=this.GetStockDataCallback(symbol);if(this.GetBlockDataCallback)data.Block=this.GetBlockDataCallback(symbol);if(this.GetFlashBGDataCallback)data.FlashBG=this.GetFlashBGDataCallback(symbol,Date.now());data.Decimal=GetfloatPrecision(symbol);//小数位数
|
|
13663
13666
|
var item=this.Column[clickData.Header.Index];this.DrawItem(i,data,item,cellHeader.Left,textTop,3);textTop+=this.RowHeight;}};this.GetTooltipData=function(x,y){if(!IFrameSplitOperator.IsNonEmptyArray(this.TooltipRect))return null;for(var i=0;i<this.TooltipRect.length;++i){var item=this.TooltipRect[i];var rt=item.Rect;if(!rt)continue;if(x>=rt.Left&&x<=rt.Right&&y>=rt.Top&&y<=rt.Bottom){return{Rect:item.Rect,Stock:item.Stock,Column:item.Column,Index:item.Index,Type:item.Type,Data:item.Data};}}return null;};this.GetButtonData=function(x,y){if(!IFrameSplitOperator.IsNonEmptyArray(this.ButtonRect))return null;for(var i=0;i<this.ButtonRect.length;++i){var item=this.ButtonRect[i];var rt=item.Rect;if(!rt)continue;if(x>=rt.Left&&x<=rt.Right&&y>=rt.Top&&y<=rt.Bottom){return{Rect:item.Rect,Stock:item.Stock,Column:item.Column,Index:item.Index,Type:item.Type,Data:item.Data,ColumnIndex:item.ColumnIndex};}}};this.PtInHeaderDragBorder=function(x,y){if(!this.IsShowHeader)return null;var left=this.RectClient.Left;var right=this.RectClient.Right;var top=this.RectClient.Top;var bottom=top+this.HeaderHeight;if(!(x>=left&&x<=right&&y>=top&&y<=bottom))return null;var textLeft=left;var dragBarWidth=5*GetDevicePixelRatio();//固定列
|
|
13664
13667
|
for(var i=0;i<this.FixedColumn&&i<this.Column.length;++i){var item=this.Column[i];if(item.EnableDragWidth===true){var header={Right:textLeft+item.Width,Top:top,Bottom:bottom};header.Left=header.Right-dragBarWidth;if(x>=header.Left&&x<=header.Right&&y>=header.Top&&y<=header.Bottom){return{Rect:header,Column:item,Index:i,IsFixed:true};}}textLeft+=item.Width;}for(var i=this.FixedColumn+this.Data.XOffset;i<this.Column.length;++i){var item=this.Column[i];if(textLeft>=right)break;if(item.EnableDragWidth===true){var header={Right:textLeft+item.Width,Top:top,Bottom:bottom};header.Left=header.Right-dragBarWidth;if(x>=header.Left&&x<=header.Right&&y>=header.Top&&y<=header.Bottom){return{Rect:header,Column:item,Index:i,IsFixed:false};}}textLeft+=item.Width;}return null;};//设置选中行 option={ Symbol:, AutoYScroll:true/false Y滚动条自定定位 }
|
|
13665
|
-
this.SetSelectedRow=function(option){if(!option)return false;if(this.SelectedModel===0)return false;if(option.Symbol){var symbol=option.Symbol;var bFinder=false;for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];if(symbol==item){this.SelectedRow=i;bFinder=true;break;}}if(!bFinder)return false;if(option.AutoYScroll===true){this.UpdatePageYOffset({SelectedRow:this.SelectedRow});}return bFinder;}return false;};this.UpdatePageYOffset=function(option){if(!option)return;var selectedRow=option.SelectedRow;if(selectedRow<0)return;var pageStatus=this.GetCurrentPageStatus();if(pageStatus.IsSinglePage)return;if(selectedRow>=pageStatus.Start&&selectedRow<=pageStatus.End)return;this.Data.YOffset=selectedRow;//选中行不在当前屏 设置为第1行
|
|
13668
|
+
this.SetSelectedRow=function(option){if(!option)return false;if(this.SelectedModel===0)return false;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return false;if(option.Symbol){var symbol=option.Symbol;var bFinder=false;if(this.SelectedRow>=0){var item=this.Data.Data[this.SelectedRow];if(symbol==item)bFinder=true;}if(!bFinder){for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];if(symbol==item){this.SelectedRow=i;bFinder=true;break;}}}if(!bFinder)return false;if(option.AutoYScroll===true){this.UpdatePageYOffset({SelectedRow:this.SelectedRow});}return bFinder;}return false;};this.UpdatePageYOffset=function(option){if(!option)return;var selectedRow=option.SelectedRow;if(selectedRow<0)return;var pageStatus=this.GetCurrentPageStatus();if(pageStatus.IsSinglePage)return;if(selectedRow>=pageStatus.Start&&selectedRow<=pageStatus.End)return;this.Data.YOffset=selectedRow;//选中行不在当前屏 设置为第1行
|
|
13666
13669
|
};}//报价列表底部tab和横向滚动条
|
|
13667
13670
|
function ChartReportTab(){this.Canvas;//画布
|
|
13668
13671
|
this.ChartBorder;//边框信息
|
|
@@ -14971,7 +14974,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
14971
14974
|
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);};}/********************************************************************************
|
|
14972
14975
|
* 版本信息输出
|
|
14973
14976
|
*
|
|
14974
|
-
*/var HQCHART_VERSION="1.1.
|
|
14977
|
+
*/var HQCHART_VERSION="1.1.14774";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();//把给外界调用的方法暴露出来
|
|
14975
14978
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
14976
14979
|
// BaseIndex:BaseIndex,
|
|
14977
14980
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -4276,6 +4276,8 @@ function JSReportChartContainer(uielement)
|
|
|
4276
4276
|
var chart=this.ChartPaint[0];
|
|
4277
4277
|
if (!chart) return;
|
|
4278
4278
|
|
|
4279
|
+
var selectedSymbol=chart.GetSelectedSingleSymbol();
|
|
4280
|
+
|
|
4279
4281
|
//更新股票数据
|
|
4280
4282
|
var arySymbol=[];
|
|
4281
4283
|
if (IFrameSplitOperator.IsNonEmptyArray(data.data))
|
|
@@ -4327,7 +4329,11 @@ function JSReportChartContainer(uielement)
|
|
|
4327
4329
|
if (data.SelectedRow)
|
|
4328
4330
|
{
|
|
4329
4331
|
var item=data.SelectedRow;
|
|
4330
|
-
chart.SetSelectedRow({Symbol:item.Symbol});
|
|
4332
|
+
if (item.Symbol) chart.SetSelectedRow({Symbol:item.Symbol});
|
|
4333
|
+
}
|
|
4334
|
+
else
|
|
4335
|
+
{
|
|
4336
|
+
if (selectedSymbol) chart.SetSelectedRow({Symbol:selectedSymbol});
|
|
4331
4337
|
}
|
|
4332
4338
|
|
|
4333
4339
|
//更新的股票在当前页面,需要重绘
|
|
@@ -6118,6 +6124,17 @@ function ChartReport()
|
|
|
6118
6124
|
}
|
|
6119
6125
|
}
|
|
6120
6126
|
|
|
6127
|
+
//单行选中模式选中股票
|
|
6128
|
+
this.GetSelectedSingleSymbol=function()
|
|
6129
|
+
{
|
|
6130
|
+
if (this.MultiSelectModel==1) return null; //多选
|
|
6131
|
+
if (this.SelectedModel==0) return null; //当前屏选中
|
|
6132
|
+
if (this.SelectedRow<0) return null;
|
|
6133
|
+
|
|
6134
|
+
var symbol=this.Data.Data[this.SelectedRow];
|
|
6135
|
+
return symbol;
|
|
6136
|
+
}
|
|
6137
|
+
|
|
6121
6138
|
|
|
6122
6139
|
this.DrawFixedSymbolRow=function(top, dataIndex)
|
|
6123
6140
|
{
|
|
@@ -8887,19 +8904,30 @@ function ChartReport()
|
|
|
8887
8904
|
{
|
|
8888
8905
|
if (!option) return false;
|
|
8889
8906
|
if (this.SelectedModel===0) return false;
|
|
8907
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return false;
|
|
8890
8908
|
|
|
8891
8909
|
if (option.Symbol)
|
|
8892
8910
|
{
|
|
8893
8911
|
var symbol=option.Symbol;
|
|
8894
8912
|
var bFinder=false;
|
|
8895
|
-
|
|
8913
|
+
|
|
8914
|
+
if (this.SelectedRow>=0)
|
|
8896
8915
|
{
|
|
8897
|
-
var item=this.Data.Data[
|
|
8898
|
-
if (symbol==item)
|
|
8916
|
+
var item=this.Data.Data[this.SelectedRow];
|
|
8917
|
+
if (symbol==item) bFinder=true;
|
|
8918
|
+
}
|
|
8919
|
+
|
|
8920
|
+
if (!bFinder)
|
|
8921
|
+
{
|
|
8922
|
+
for(var i=0;i<this.Data.Data.length;++i)
|
|
8899
8923
|
{
|
|
8900
|
-
this.
|
|
8901
|
-
|
|
8902
|
-
|
|
8924
|
+
var item=this.Data.Data[i];
|
|
8925
|
+
if (symbol==item)
|
|
8926
|
+
{
|
|
8927
|
+
this.SelectedRow=i;
|
|
8928
|
+
bFinder=true;
|
|
8929
|
+
break;
|
|
8930
|
+
}
|
|
8903
8931
|
}
|
|
8904
8932
|
}
|
|
8905
8933
|
|
|
@@ -140110,6 +140110,8 @@ function JSReportChartContainer(uielement)
|
|
|
140110
140110
|
var chart=this.ChartPaint[0];
|
|
140111
140111
|
if (!chart) return;
|
|
140112
140112
|
|
|
140113
|
+
var selectedSymbol=chart.GetSelectedSingleSymbol();
|
|
140114
|
+
|
|
140113
140115
|
//更新股票数据
|
|
140114
140116
|
var arySymbol=[];
|
|
140115
140117
|
if (IFrameSplitOperator.IsNonEmptyArray(data.data))
|
|
@@ -140161,7 +140163,11 @@ function JSReportChartContainer(uielement)
|
|
|
140161
140163
|
if (data.SelectedRow)
|
|
140162
140164
|
{
|
|
140163
140165
|
var item=data.SelectedRow;
|
|
140164
|
-
chart.SetSelectedRow({Symbol:item.Symbol});
|
|
140166
|
+
if (item.Symbol) chart.SetSelectedRow({Symbol:item.Symbol});
|
|
140167
|
+
}
|
|
140168
|
+
else
|
|
140169
|
+
{
|
|
140170
|
+
if (selectedSymbol) chart.SetSelectedRow({Symbol:selectedSymbol});
|
|
140165
140171
|
}
|
|
140166
140172
|
|
|
140167
140173
|
//更新的股票在当前页面,需要重绘
|
|
@@ -141952,6 +141958,17 @@ function ChartReport()
|
|
|
141952
141958
|
}
|
|
141953
141959
|
}
|
|
141954
141960
|
|
|
141961
|
+
//单行选中模式选中股票
|
|
141962
|
+
this.GetSelectedSingleSymbol=function()
|
|
141963
|
+
{
|
|
141964
|
+
if (this.MultiSelectModel==1) return null; //多选
|
|
141965
|
+
if (this.SelectedModel==0) return null; //当前屏选中
|
|
141966
|
+
if (this.SelectedRow<0) return null;
|
|
141967
|
+
|
|
141968
|
+
var symbol=this.Data.Data[this.SelectedRow];
|
|
141969
|
+
return symbol;
|
|
141970
|
+
}
|
|
141971
|
+
|
|
141955
141972
|
|
|
141956
141973
|
this.DrawFixedSymbolRow=function(top, dataIndex)
|
|
141957
141974
|
{
|
|
@@ -144721,19 +144738,30 @@ function ChartReport()
|
|
|
144721
144738
|
{
|
|
144722
144739
|
if (!option) return false;
|
|
144723
144740
|
if (this.SelectedModel===0) return false;
|
|
144741
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return false;
|
|
144724
144742
|
|
|
144725
144743
|
if (option.Symbol)
|
|
144726
144744
|
{
|
|
144727
144745
|
var symbol=option.Symbol;
|
|
144728
144746
|
var bFinder=false;
|
|
144729
|
-
|
|
144747
|
+
|
|
144748
|
+
if (this.SelectedRow>=0)
|
|
144730
144749
|
{
|
|
144731
|
-
var item=this.Data.Data[
|
|
144732
|
-
if (symbol==item)
|
|
144750
|
+
var item=this.Data.Data[this.SelectedRow];
|
|
144751
|
+
if (symbol==item) bFinder=true;
|
|
144752
|
+
}
|
|
144753
|
+
|
|
144754
|
+
if (!bFinder)
|
|
144755
|
+
{
|
|
144756
|
+
for(var i=0;i<this.Data.Data.length;++i)
|
|
144733
144757
|
{
|
|
144734
|
-
this.
|
|
144735
|
-
|
|
144736
|
-
|
|
144758
|
+
var item=this.Data.Data[i];
|
|
144759
|
+
if (symbol==item)
|
|
144760
|
+
{
|
|
144761
|
+
this.SelectedRow=i;
|
|
144762
|
+
bFinder=true;
|
|
144763
|
+
break;
|
|
144764
|
+
}
|
|
144737
144765
|
}
|
|
144738
144766
|
}
|
|
144739
144767
|
|
|
@@ -148888,7 +148916,7 @@ function ScrollBarBGChart()
|
|
|
148888
148916
|
|
|
148889
148917
|
|
|
148890
148918
|
|
|
148891
|
-
var HQCHART_VERSION="1.1.
|
|
148919
|
+
var HQCHART_VERSION="1.1.14774";
|
|
148892
148920
|
|
|
148893
148921
|
function PrintHQChartVersion()
|
|
148894
148922
|
{
|
|
@@ -140154,6 +140154,8 @@ function JSReportChartContainer(uielement)
|
|
|
140154
140154
|
var chart=this.ChartPaint[0];
|
|
140155
140155
|
if (!chart) return;
|
|
140156
140156
|
|
|
140157
|
+
var selectedSymbol=chart.GetSelectedSingleSymbol();
|
|
140158
|
+
|
|
140157
140159
|
//更新股票数据
|
|
140158
140160
|
var arySymbol=[];
|
|
140159
140161
|
if (IFrameSplitOperator.IsNonEmptyArray(data.data))
|
|
@@ -140205,7 +140207,11 @@ function JSReportChartContainer(uielement)
|
|
|
140205
140207
|
if (data.SelectedRow)
|
|
140206
140208
|
{
|
|
140207
140209
|
var item=data.SelectedRow;
|
|
140208
|
-
chart.SetSelectedRow({Symbol:item.Symbol});
|
|
140210
|
+
if (item.Symbol) chart.SetSelectedRow({Symbol:item.Symbol});
|
|
140211
|
+
}
|
|
140212
|
+
else
|
|
140213
|
+
{
|
|
140214
|
+
if (selectedSymbol) chart.SetSelectedRow({Symbol:selectedSymbol});
|
|
140209
140215
|
}
|
|
140210
140216
|
|
|
140211
140217
|
//更新的股票在当前页面,需要重绘
|
|
@@ -141996,6 +142002,17 @@ function ChartReport()
|
|
|
141996
142002
|
}
|
|
141997
142003
|
}
|
|
141998
142004
|
|
|
142005
|
+
//单行选中模式选中股票
|
|
142006
|
+
this.GetSelectedSingleSymbol=function()
|
|
142007
|
+
{
|
|
142008
|
+
if (this.MultiSelectModel==1) return null; //多选
|
|
142009
|
+
if (this.SelectedModel==0) return null; //当前屏选中
|
|
142010
|
+
if (this.SelectedRow<0) return null;
|
|
142011
|
+
|
|
142012
|
+
var symbol=this.Data.Data[this.SelectedRow];
|
|
142013
|
+
return symbol;
|
|
142014
|
+
}
|
|
142015
|
+
|
|
141999
142016
|
|
|
142000
142017
|
this.DrawFixedSymbolRow=function(top, dataIndex)
|
|
142001
142018
|
{
|
|
@@ -144765,19 +144782,30 @@ function ChartReport()
|
|
|
144765
144782
|
{
|
|
144766
144783
|
if (!option) return false;
|
|
144767
144784
|
if (this.SelectedModel===0) return false;
|
|
144785
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return false;
|
|
144768
144786
|
|
|
144769
144787
|
if (option.Symbol)
|
|
144770
144788
|
{
|
|
144771
144789
|
var symbol=option.Symbol;
|
|
144772
144790
|
var bFinder=false;
|
|
144773
|
-
|
|
144791
|
+
|
|
144792
|
+
if (this.SelectedRow>=0)
|
|
144774
144793
|
{
|
|
144775
|
-
var item=this.Data.Data[
|
|
144776
|
-
if (symbol==item)
|
|
144794
|
+
var item=this.Data.Data[this.SelectedRow];
|
|
144795
|
+
if (symbol==item) bFinder=true;
|
|
144796
|
+
}
|
|
144797
|
+
|
|
144798
|
+
if (!bFinder)
|
|
144799
|
+
{
|
|
144800
|
+
for(var i=0;i<this.Data.Data.length;++i)
|
|
144777
144801
|
{
|
|
144778
|
-
this.
|
|
144779
|
-
|
|
144780
|
-
|
|
144802
|
+
var item=this.Data.Data[i];
|
|
144803
|
+
if (symbol==item)
|
|
144804
|
+
{
|
|
144805
|
+
this.SelectedRow=i;
|
|
144806
|
+
bFinder=true;
|
|
144807
|
+
break;
|
|
144808
|
+
}
|
|
144781
144809
|
}
|
|
144782
144810
|
}
|
|
144783
144811
|
|
|
@@ -159835,7 +159863,7 @@ function HQChartScriptWorker()
|
|
|
159835
159863
|
|
|
159836
159864
|
|
|
159837
159865
|
|
|
159838
|
-
var HQCHART_VERSION="1.1.
|
|
159866
|
+
var HQCHART_VERSION="1.1.14774";
|
|
159839
159867
|
|
|
159840
159868
|
function PrintHQChartVersion()
|
|
159841
159869
|
{
|