hqchart 1.1.14773 → 1.1.14778

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.
@@ -12916,9 +12916,10 @@ Explain:'成交明细',Request:{Data:{symbol:self.Symbol,tradeDate:self.TradeDat
12916
12916
  this.Draw();};this.SetLastPageDataOffset=function(){var chart=this.ChartPaint[0];var dataCount=0;if(IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data))dataCount=this.SourceData.Data.length;var pageSize=chart.GetPageSize(true);var offset=dataCount-pageSize;if(offset<0)offset=0;this.Data.DataOffset=offset;};//增量数据下载
12917
12917
  this.RequestDealUpdateData=function(){var self=this;if(this.NetworkFilter){var obj={Name:'JSDealChartContainer::RequestDealUpdateData',//类名::函数名
12918
12918
  Explain:'增量成交明细',Request:{Data:{symbol:self.Symbol}},Self:this,PreventDefault:false};if(this.Data&&IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)){var lastItem=this.Data.Data[this.Data.Data.length-1];//最后一条数据
12919
- obj.LastItem=lastItem;}this.NetworkFilter(obj,function(data){self.RecvDealUpdateData(data);self.AutoUpdate();});if(obj.PreventDefault==true)return;}};this.RecvDealUpdateData=function(data){var aryDeal=JSDealChartContainer.JsonDataToDealData(data);if(!IFrameSplitOperator.IsNonEmptyArray(aryDeal))return;if(data.UpdateType===1)//全量更新
12920
- {this.SourceData.Data=aryDeal;this.Data.Data=this.FilterData(this.CloneArray(aryDeal));if(this.Data.DataOffset>=this.Data.Data.length)this.Data.DataOffset=0;if(this.IsShowLastPage)this.SetLastPageDataOffset();//显示最后一屏
12921
- }else{this.AddDealData(this.SourceData,aryDeal);this.AddDealData(this.Data,this.FilterData(aryDeal));}this.Draw();};this.AddDealData=function(dealData,aryNewData){if(!dealData.Data)//原来是空的
12919
+ obj.LastItem=lastItem;}this.NetworkFilter(obj,function(data){self.RecvDealUpdateData(data);self.AutoUpdate();});if(obj.PreventDefault==true)return;}};this.RecvDealUpdateData=function(data){var aryDeal=JSDealChartContainer.JsonDataToDealData(data);if(!IFrameSplitOperator.IsNonEmptyArray(aryDeal))return;var chart=this.ChartPaint[0];if(!chart)return;if(data.UpdateType===1)//全量更新
12920
+ {this.SourceData.Data=aryDeal;var oldCount=0,newCount=0;if(IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))oldCount=this.Data.Data.length;this.Data.Data=this.FilterData(this.CloneArray(aryDeal));if(IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))newCount=this.Data.Data.length;if(oldCount==0){if(this.IsShowLastPage)this.SetLastPageDataOffset();//显示最后一屏
12921
+ }else if(newCount>oldCount)//增长 偏移增加
12922
+ {var pageSize=chart.GetPageSize();var count=newCount-oldCount;for(var i=0;i<count;++i){if(this.Data.DataOffset+pageSize<this.Data.Data.length)++this.Data.DataOffset;}}else{if(this.Data.DataOffset>=this.Data.Data.length)this.Data.DataOffset=0;}}else{this.AddDealData(this.SourceData,aryDeal);this.AddDealData(this.Data,this.FilterData(aryDeal));}if(data.IsShowLastPage===true)this.SetLastPageDataOffset();this.Draw();};this.AddDealData=function(dealData,aryNewData){if(!dealData.Data)//原来是空的
12922
12923
  {dealData.Data=aryNewData;}else{var pageSize=0;var chart=this.ChartPaint[0];if(chart)pageSize=chart.GetPageSize();for(var i=0;i<aryNewData.length;++i){dealData.Data.push(aryNewData[i]);if(dealData.DataOffset+pageSize<dealData.Data.length)++dealData.DataOffset;}}};this.AutoUpdate=function(waitTime)//waitTime 更新时间
12923
12924
  {this.CancelAutoUpdate();if(!this.IsAutoUpdate)return;if(!this.Symbol)return;var self=this;var marketStatus=MARKET_SUFFIX_NAME.GetMarketStatus(this.Symbol);if(marketStatus==0||marketStatus==3)return;//闭市,盘后
12924
12925
  var frequency=this.AutoUpdateFrequency;if(marketStatus==1)//盘前
@@ -13377,11 +13378,11 @@ case REPORT_COLUMN_ID.FUTURES_POSITION_ID:case REPORT_COLUMN_ID.FUTURES_CLOSE_ID
13377
13378
  return this.LoacCustomNumberSort(left,right,column,sortType);case REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID://自定义字符串字段
13378
13379
  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
13380
  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;//更新股票数据
13381
+ };this.RecvStockSortData=function(data){var chart=this.ChartPaint[0];if(!chart)return;var selectedSymbol=chart.GetSelectedSingleSymbol();//更新股票数据
13381
13382
  var arySymbol=[];if(IFrameSplitOperator.IsNonEmptyArray(data.data)){for(var i=0;i<data.data.length;++i){var item=data.data[i];//数据
13382
13383
  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
13384
  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});}//更新的股票在当前页面,需要重绘
13385
+ if(data.SelectedRow){var item=data.SelectedRow;if(item.Symbol)chart.SetSelectedRow({Symbol:item.Symbol});}else{if(selectedSymbol)chart.SetSelectedRow({Symbol:selectedSymbol});}//更新的股票在当前页面,需要重绘
13385
13386
  var bUpdate=true;if(bUpdate)this.Draw();};//虚拟表格 请求序号 所有数据后台返回
13386
13387
  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
13388
  {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 +13584,10 @@ var textTop=top;this.Canvas.font=this.ItemFixedFont;for(var i=0;i<this.FixedRowC
13583
13584
  }else{if(i==this.SelectedRow)bFillRow=true;//选中行
13584
13585
  }}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
13586
  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];}};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
+ index=this.Data.YOffset+this.SelectedRow;var symbol=this.Data.Data[index];return[symbol];}};//单行选中模式选中股票
13588
+ this.GetSelectedSingleSymbol=function(){if(this.MultiSelectModel==1)return null;//多选
13589
+ if(this.SelectedModel==0)return null;//当前屏选中
13590
+ 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
13591
  {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
13592
  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
13593
  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'}, ...] } ]}
@@ -14971,7 +14975,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
14971
14975
  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
14976
  * 版本信息输出
14973
14977
  *
14974
- */var HQCHART_VERSION="1.1.14772";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();//把给外界调用的方法暴露出来
14978
+ */var HQCHART_VERSION="1.1.14777";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
14979
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
14976
14980
  // BaseIndex:BaseIndex,
14977
14981
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.14773",
3
+ "version": "1.1.14778",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -589,12 +589,35 @@ function JSDealChartContainer(uielement)
589
589
  var aryDeal=JSDealChartContainer.JsonDataToDealData(data);
590
590
  if (!IFrameSplitOperator.IsNonEmptyArray(aryDeal)) return;
591
591
 
592
+ var chart=this.ChartPaint[0];
593
+ if (!chart) return;
594
+
592
595
  if (data.UpdateType===1) //全量更新
593
596
  {
594
597
  this.SourceData.Data=aryDeal;
598
+ var oldCount=0, newCount=0;
599
+ if (IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) oldCount=this.Data.Data.length;
595
600
  this.Data.Data=this.FilterData(this.CloneArray(aryDeal));
596
- if (this.Data.DataOffset>= this.Data.Data.length) this.Data.DataOffset=0;
597
- if (this.IsShowLastPage) this.SetLastPageDataOffset(); //显示最后一屏
601
+ if (IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) newCount=this.Data.Data.length;
602
+
603
+ if (oldCount==0)
604
+ {
605
+ if (this.IsShowLastPage) this.SetLastPageDataOffset(); //显示最后一屏
606
+ }
607
+ else if (newCount>oldCount) //增长 偏移增加
608
+ {
609
+ var pageSize=chart.GetPageSize();
610
+ var count=newCount-oldCount;
611
+ for(var i=0;i<count;++i)
612
+ {
613
+ if (this.Data.DataOffset+pageSize<this.Data.Data.length)
614
+ ++this.Data.DataOffset;
615
+ }
616
+ }
617
+ else
618
+ {
619
+ if (this.Data.DataOffset>= this.Data.Data.length) this.Data.DataOffset=0;
620
+ }
598
621
  }
599
622
  else
600
623
  {
@@ -602,6 +625,8 @@ function JSDealChartContainer(uielement)
602
625
  this.AddDealData(this.Data,this.FilterData(aryDeal));
603
626
  }
604
627
 
628
+ if (data.IsShowLastPage===true) this.SetLastPageDataOffset();
629
+
605
630
  this.Draw();
606
631
  }
607
632
 
@@ -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
  {
@@ -134397,12 +134397,35 @@ function JSDealChartContainer(uielement)
134397
134397
  var aryDeal=JSDealChartContainer.JsonDataToDealData(data);
134398
134398
  if (!IFrameSplitOperator.IsNonEmptyArray(aryDeal)) return;
134399
134399
 
134400
+ var chart=this.ChartPaint[0];
134401
+ if (!chart) return;
134402
+
134400
134403
  if (data.UpdateType===1) //全量更新
134401
134404
  {
134402
134405
  this.SourceData.Data=aryDeal;
134406
+ var oldCount=0, newCount=0;
134407
+ if (IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) oldCount=this.Data.Data.length;
134403
134408
  this.Data.Data=this.FilterData(this.CloneArray(aryDeal));
134404
- if (this.Data.DataOffset>= this.Data.Data.length) this.Data.DataOffset=0;
134405
- if (this.IsShowLastPage) this.SetLastPageDataOffset(); //显示最后一屏
134409
+ if (IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) newCount=this.Data.Data.length;
134410
+
134411
+ if (oldCount==0)
134412
+ {
134413
+ if (this.IsShowLastPage) this.SetLastPageDataOffset(); //显示最后一屏
134414
+ }
134415
+ else if (newCount>oldCount) //增长 偏移增加
134416
+ {
134417
+ var pageSize=chart.GetPageSize();
134418
+ var count=newCount-oldCount;
134419
+ for(var i=0;i<count;++i)
134420
+ {
134421
+ if (this.Data.DataOffset+pageSize<this.Data.Data.length)
134422
+ ++this.Data.DataOffset;
134423
+ }
134424
+ }
134425
+ else
134426
+ {
134427
+ if (this.Data.DataOffset>= this.Data.Data.length) this.Data.DataOffset=0;
134428
+ }
134406
134429
  }
134407
134430
  else
134408
134431
  {
@@ -134410,6 +134433,8 @@ function JSDealChartContainer(uielement)
134410
134433
  this.AddDealData(this.Data,this.FilterData(aryDeal));
134411
134434
  }
134412
134435
 
134436
+ if (data.IsShowLastPage===true) this.SetLastPageDataOffset();
134437
+
134413
134438
  this.Draw();
134414
134439
  }
134415
134440
 
@@ -140110,6 +140135,8 @@ function JSReportChartContainer(uielement)
140110
140135
  var chart=this.ChartPaint[0];
140111
140136
  if (!chart) return;
140112
140137
 
140138
+ var selectedSymbol=chart.GetSelectedSingleSymbol();
140139
+
140113
140140
  //更新股票数据
140114
140141
  var arySymbol=[];
140115
140142
  if (IFrameSplitOperator.IsNonEmptyArray(data.data))
@@ -140161,7 +140188,11 @@ function JSReportChartContainer(uielement)
140161
140188
  if (data.SelectedRow)
140162
140189
  {
140163
140190
  var item=data.SelectedRow;
140164
- chart.SetSelectedRow({Symbol:item.Symbol});
140191
+ if (item.Symbol) chart.SetSelectedRow({Symbol:item.Symbol});
140192
+ }
140193
+ else
140194
+ {
140195
+ if (selectedSymbol) chart.SetSelectedRow({Symbol:selectedSymbol});
140165
140196
  }
140166
140197
 
140167
140198
  //更新的股票在当前页面,需要重绘
@@ -141952,6 +141983,17 @@ function ChartReport()
141952
141983
  }
141953
141984
  }
141954
141985
 
141986
+ //单行选中模式选中股票
141987
+ this.GetSelectedSingleSymbol=function()
141988
+ {
141989
+ if (this.MultiSelectModel==1) return null; //多选
141990
+ if (this.SelectedModel==0) return null; //当前屏选中
141991
+ if (this.SelectedRow<0) return null;
141992
+
141993
+ var symbol=this.Data.Data[this.SelectedRow];
141994
+ return symbol;
141995
+ }
141996
+
141955
141997
 
141956
141998
  this.DrawFixedSymbolRow=function(top, dataIndex)
141957
141999
  {
@@ -148899,7 +148941,7 @@ function ScrollBarBGChart()
148899
148941
 
148900
148942
 
148901
148943
 
148902
- var HQCHART_VERSION="1.1.14772";
148944
+ var HQCHART_VERSION="1.1.14777";
148903
148945
 
148904
148946
  function PrintHQChartVersion()
148905
148947
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.14772";
8
+ var HQCHART_VERSION="1.1.14777";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -134441,12 +134441,35 @@ function JSDealChartContainer(uielement)
134441
134441
  var aryDeal=JSDealChartContainer.JsonDataToDealData(data);
134442
134442
  if (!IFrameSplitOperator.IsNonEmptyArray(aryDeal)) return;
134443
134443
 
134444
+ var chart=this.ChartPaint[0];
134445
+ if (!chart) return;
134446
+
134444
134447
  if (data.UpdateType===1) //全量更新
134445
134448
  {
134446
134449
  this.SourceData.Data=aryDeal;
134450
+ var oldCount=0, newCount=0;
134451
+ if (IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) oldCount=this.Data.Data.length;
134447
134452
  this.Data.Data=this.FilterData(this.CloneArray(aryDeal));
134448
- if (this.Data.DataOffset>= this.Data.Data.length) this.Data.DataOffset=0;
134449
- if (this.IsShowLastPage) this.SetLastPageDataOffset(); //显示最后一屏
134453
+ if (IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) newCount=this.Data.Data.length;
134454
+
134455
+ if (oldCount==0)
134456
+ {
134457
+ if (this.IsShowLastPage) this.SetLastPageDataOffset(); //显示最后一屏
134458
+ }
134459
+ else if (newCount>oldCount) //增长 偏移增加
134460
+ {
134461
+ var pageSize=chart.GetPageSize();
134462
+ var count=newCount-oldCount;
134463
+ for(var i=0;i<count;++i)
134464
+ {
134465
+ if (this.Data.DataOffset+pageSize<this.Data.Data.length)
134466
+ ++this.Data.DataOffset;
134467
+ }
134468
+ }
134469
+ else
134470
+ {
134471
+ if (this.Data.DataOffset>= this.Data.Data.length) this.Data.DataOffset=0;
134472
+ }
134450
134473
  }
134451
134474
  else
134452
134475
  {
@@ -134454,6 +134477,8 @@ function JSDealChartContainer(uielement)
134454
134477
  this.AddDealData(this.Data,this.FilterData(aryDeal));
134455
134478
  }
134456
134479
 
134480
+ if (data.IsShowLastPage===true) this.SetLastPageDataOffset();
134481
+
134457
134482
  this.Draw();
134458
134483
  }
134459
134484
 
@@ -140154,6 +140179,8 @@ function JSReportChartContainer(uielement)
140154
140179
  var chart=this.ChartPaint[0];
140155
140180
  if (!chart) return;
140156
140181
 
140182
+ var selectedSymbol=chart.GetSelectedSingleSymbol();
140183
+
140157
140184
  //更新股票数据
140158
140185
  var arySymbol=[];
140159
140186
  if (IFrameSplitOperator.IsNonEmptyArray(data.data))
@@ -140205,7 +140232,11 @@ function JSReportChartContainer(uielement)
140205
140232
  if (data.SelectedRow)
140206
140233
  {
140207
140234
  var item=data.SelectedRow;
140208
- chart.SetSelectedRow({Symbol:item.Symbol});
140235
+ if (item.Symbol) chart.SetSelectedRow({Symbol:item.Symbol});
140236
+ }
140237
+ else
140238
+ {
140239
+ if (selectedSymbol) chart.SetSelectedRow({Symbol:selectedSymbol});
140209
140240
  }
140210
140241
 
140211
140242
  //更新的股票在当前页面,需要重绘
@@ -141996,6 +142027,17 @@ function ChartReport()
141996
142027
  }
141997
142028
  }
141998
142029
 
142030
+ //单行选中模式选中股票
142031
+ this.GetSelectedSingleSymbol=function()
142032
+ {
142033
+ if (this.MultiSelectModel==1) return null; //多选
142034
+ if (this.SelectedModel==0) return null; //当前屏选中
142035
+ if (this.SelectedRow<0) return null;
142036
+
142037
+ var symbol=this.Data.Data[this.SelectedRow];
142038
+ return symbol;
142039
+ }
142040
+
141999
142041
 
142000
142042
  this.DrawFixedSymbolRow=function(top, dataIndex)
142001
142043
  {
@@ -159846,7 +159888,7 @@ function HQChartScriptWorker()
159846
159888
 
159847
159889
 
159848
159890
 
159849
- var HQCHART_VERSION="1.1.14772";
159891
+ var HQCHART_VERSION="1.1.14777";
159850
159892
 
159851
159893
  function PrintHQChartVersion()
159852
159894
  {