hqchart 1.1.13555 → 1.1.13558

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.
@@ -5325,17 +5325,17 @@ if(IFrameSplitOperator.IsNumber(value)){this.RText=this.Text=IFrameSplitOperator
5325
5325
  if(IFrameSplitOperator.IsNumber(value)){this.RText=this.Text=IFrameSplitOperator.FormatValueString(value,defaultfloatPrecision,this.LanguageID);}};this.Operator=function(){this.RText=null;this.RComplexText=null;this.RExtendText=[];if(IFrameSplitOperator.IsString(this.RValue))this.RText=this.RValue;if(!this.Value)return false;this.PercentageText=null;var defaultfloatPrecision=2;//价格小数位数
5326
5326
  if(this.FrameID==0)//第1个窗口显示原始价格
5327
5327
  {var defaultfloatPrecision=GetfloatPrecision(this.Symbol);if(this.PriceFormatType==1)this.Text=IFrameSplitOperator.FormatValueThousandsString(this.Value,defaultfloatPrecision);else this.Text=this.Value.toFixed(defaultfloatPrecision);if(this.YClose>0)this.PercentageText=((this.Value-this.YClose)*100/this.YClose).toFixed(2);//走势图右边坐标显示百分比
5328
- this.GetExtendPaintData(defaultfloatPrecision);}else if(this.FrameID==1){if(this.DataFormatType==1){this.Text=IFrameSplitOperator.FormatValueThousandsString(this.Value,defaultfloatPrecision);if(IFrameSplitOperator.IsNumber(this.RValue))this.RText=IFrameSplitOperator.FormatValueString(this.RValue,defaultfloatPrecision,this.LanguageID);}else{this.Text=IFrameSplitOperator.FormatValueString(this.Value,defaultfloatPrecision,this.LanguageID);if(IFrameSplitOperator.IsNumber(this.RValue))this.RText=IFrameSplitOperator.FormatValueString(this.RValue,defaultfloatPrecision,this.LanguageID);}if(this.ClientPos==2){this.GetBeforeOpen();}else if(this.ClientPos==3){if(this.ShareAfterVol==0||this.ShareAfterVol==2)this.GetAfterClose();}else if(this.ClientPos>=200&&this.ClientPos<=299){this.GetMultiDayBeforeOpen();}else if(this.ClientPos>=300&&this.ClientPos<=399){if(this.ShareAfterVol==0||this.ShareAfterVol==2)this.GetMultiDayAfterClose();}}else{if(this.DataFormatType==1)this.Text=IFrameSplitOperator.FormatValueThousandsString(this.Value,defaultfloatPrecision);else this.Text=IFrameSplitOperator.FormatValueString(this.Value,defaultfloatPrecision,this.LanguageID);if(IFrameSplitOperator.IsNumber(this.RValue))this.RText=IFrameSplitOperator.FormatValueString(this.RValue,defaultfloatPrecision,this.LanguageID);}if(this.GetEventCallback){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CORSSCURSOR_Y_TEXT);if(event){var data={Value:this.Value,FrameID:this.FrameID};event.Callback(event,data,this);}}return true;};//深度图刻度
5328
+ this.GetExtendPaintData(defaultfloatPrecision);}else if(this.FrameID==1){if(this.DataFormatType==1){this.Text=IFrameSplitOperator.FormatValueThousandsString(this.Value,defaultfloatPrecision);if(IFrameSplitOperator.IsNumber(this.RValue))this.RText=IFrameSplitOperator.FormatValueString(this.RValue,defaultfloatPrecision,this.LanguageID);}else{this.Text=IFrameSplitOperator.FormatValueString(this.Value,defaultfloatPrecision,this.LanguageID);if(IFrameSplitOperator.IsNumber(this.RValue))this.RText=IFrameSplitOperator.FormatValueString(this.RValue,defaultfloatPrecision,this.LanguageID);}if(this.ClientPos==2){this.GetBeforeOpen();}else if(this.ClientPos==3){if(this.ShareAfterVol==0||this.ShareAfterVol==2)this.GetAfterClose();}else if(this.ClientPos>=200&&this.ClientPos<=299){this.GetMultiDayBeforeOpen();}else if(this.ClientPos>=300&&this.ClientPos<=399){if(this.ShareAfterVol==0||this.ShareAfterVol==2)this.GetMultiDayAfterClose();}}else{if(this.DataFormatType==1)this.Text=IFrameSplitOperator.FormatValueThousandsString(this.Value,defaultfloatPrecision);else this.Text=IFrameSplitOperator.FormatValueString(this.Value,defaultfloatPrecision,this.LanguageID);if(IFrameSplitOperator.IsNumber(this.RValue))this.RText=IFrameSplitOperator.FormatValueString(this.RValue,defaultfloatPrecision,this.LanguageID);}if(this.GetEventCallback){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CORSSCURSOR_Y_TEXT);if(event){var data={Value:this.Value,FrameID:this.FrameID,PreventDefault:false};event.Callback(event,data,this);if(data.PreventDefault==true)return false;}}return true;};//深度图刻度
5329
5329
  this.GetExtendPaintData=function(floatPrecision){var value=parseInt(this.Value*ZOOM_VALUE[floatPrecision]);for(var i in this.ExtendChartPaint){var item=this.ExtendChartPaint[i];if(item.ClassName=='DepthMapPaint'&&item.FrameID==this.FrameID){var aryData=item.GetYValueByXValue(value,floatPrecision);for(var j in aryData){this.RExtendText.push(aryData[j]);}}}};}function HQDateStringFormat(){this.newMethod=IChangeStringFormat;//派生
5330
5330
  this.newMethod();delete this.newMethod;this.DateFormatType=0;//0=YYYY-MM-DD 1=YYYY/MM/DD 2=YYYY/MM/DD/W 3=DD/MM/YYYY
5331
5331
  this.LanguageID=0;this.Operator=function(){if(!IFrameSplitOperator.IsNumber(this.Value))return false;if(!this.Data)return false;var index=this.Value;index=parseInt(index.toFixed(0));if(this.Data.DataOffset+index>=this.Data.Data.length)return false;var currentData=this.Data.Data[this.Data.DataOffset+index];var dateFormatString="YYYY-MM-DD";if(this.DateFormatType==1)dateFormatString="YYYY/MM/DD";else if(this.DateFormatType==2)dateFormatString="YYYY/MM/DD/W";else if(this.DateFormatType==3)dateFormatString="DD/MM/YYYY";this.Text=IFrameSplitOperator.FormatDateString(currentData.Date,dateFormatString,this.LanguageID);if(ChartData.IsMinutePeriod(this.Data.Period,true))// 分钟周期
5332
5332
  {var time=IFrameSplitOperator.FormatTimeString(currentData.Time);this.Text=this.Text+" "+time;}else if(ChartData.IsSecondPeriod(this.Data.Period)){var time=IFrameSplitOperator.FormatTimeString(currentData.Time,'HH:MM:SS');this.Text=this.Text+" "+time;}else if(ChartData.IsMilliSecondPeriod(this.Data.Period)){var time=IFrameSplitOperator.FormatTimeString(currentData.Time,'HH:MM:SS.fff');this.Text=this.Text+" "+time;}else if(ChartData.IsTickPeriod(this.Data.Period))//分笔
5333
- {var time=IFrameSplitOperator.FormatTimeString(currentData.Time);this.Text=this.Text+" "+time;}if(this.GetEventCallback){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CORSSCURSOR_X_TEXT);if(event){var data={Item:currentData,Period:this.Data.Period,Date:currentData.Date,Time:currentData.Time,Index:this.Data.DataOffset+index};event.Callback(event,data,this);}}return true;};}function HQMinuteTimeStringFormat(){this.newMethod=IChangeStringFormat;//派生
5333
+ {var time=IFrameSplitOperator.FormatTimeString(currentData.Time);this.Text=this.Text+" "+time;}if(this.GetEventCallback){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CORSSCURSOR_X_TEXT);if(event){var data={Item:currentData,Period:this.Data.Period,Date:currentData.Date,Time:currentData.Time,Index:this.Data.DataOffset+index,PreventDefault:false};event.Callback(event,data,this);if(data.PreventDefault==true)return false;}}return true;};}function HQMinuteTimeStringFormat(){this.newMethod=IChangeStringFormat;//派生
5334
5334
  this.newMethod();delete this.newMethod;this.ClassName="HQMinuteTimeStringFormat";this.Frame;this.Symbol;this.Point;this.ClientPos=-1;this.BeforeOpenData;//单日分时图 盘前数据
5335
5335
  this.AfterCloseData;//单日分时图 收盘数据
5336
5336
  this.MultiDayBeforeOpenData;//多日分时图 盘前数据
5337
5337
  this.MultiDayAfterCloseData;//多日分时图 收盘数据
5338
- this.GetEventCallback;this.GetBeforeOpen=function(){if(!this.BeforeOpenData||!this.BeforeOpenData.Data)return false;var x=this.Frame.IsHScreen==true?this.Point.Y:this.Point.X;var index=this.Frame.GetLeftExtendXData(x,this.BeforeOpenData);index=parseInt(index.toFixed(0));if(index>=this.BeforeOpenData.Data.length)return false;var item=this.BeforeOpenData.Data[index];this.Text=this.FormatCallAcutionDateTime(item,this.BeforeOpenData);return true;};this.GetAfterClose=function(){if(!this.AfterCloseData||!this.AfterCloseData.Data)return false;var x=this.Frame.IsHScreen==true?this.Point.Y:this.Point.X;var index=this.Frame.GetRightExtendXData(x,this.AfterCloseData);index=parseInt(index.toFixed(0));if(index>=this.AfterCloseData.Data.length)return false;var item=this.AfterCloseData.Data[index];this.Text=this.FormatCallAcutionDateTime(item,this.AfterCloseData);return true;};this.GetMultiDayBeforeOpen=function(){var multiDayBeforeOpenData=this.GetMultiDayBeforeOpenData();if(!multiDayBeforeOpenData)return false;if(this.Frame.ChartBorder.MultiDayMinute.Count<=1||this.Frame.ChartBorder.MultiDayMinute.Left<=0)return false;var x=this.Frame.IsHScreen==true?this.Point.Y:this.Point.X;var index=this.Frame.GetLeftExtendXData(x,multiDayBeforeOpenData);if(!index)return false;if(index.DayIndex>=multiDayBeforeOpenData.length)return false;var dayItem=multiDayBeforeOpenData[index.DayIndex];index.DataIndex=parseInt(index.DataIndex.toFixed(0));if(index.DataIndex>=dayItem.Data.length||index.DataIndex<0)return false;var item=dayItem.Data[index.DataIndex];this.Text=this.FormatCallAcutionDateTime(item,dayItem);return true;};this.GetMultiDayAfterClose=function(){var multiDayAfterCloseData=this.GetMultiDayAfterCloseData();if(!multiDayAfterCloseData)return false;if(this.Frame.ChartBorder.MultiDayMinute.Count<=1||this.Frame.ChartBorder.MultiDayMinute.Right<=0)return false;var x=this.Frame.IsHScreen==true?this.Point.Y:this.Point.X;var index=this.Frame.GetRightExtendXData(x,multiDayAfterCloseData);if(!index)return false;if(index.DayIndex>=multiDayAfterCloseData.length)return false;var dayItem=multiDayAfterCloseData[index.DayIndex];index.DataIndex=parseInt(index.DataIndex.toFixed(0));if(index.DataIndex>=dayItem.Data.length)return false;var item=dayItem.Data[index.DataIndex];this.Text=this.FormatCallAcutionDateTime(item,dayItem);return true;};this.FormatCallAcutionDateTime=function(item,callAcutionData){var time=item.Time;if(callAcutionData.Ver==1.0)return IFrameSplitOperator.FormatTimeString(time,"HH:MM");else return IFrameSplitOperator.FormatTimeString(time,"HH:MM:SS");};this.Operator=function(){if(this.ClientPos==2)return this.GetBeforeOpen();else if(this.ClientPos==3)return this.GetAfterClose();else if(this.ClientPos>=200&&this.ClientPos<=299)return this.GetMultiDayBeforeOpen();else if(this.ClientPos>=300&&this.ClientPos<=399)return this.GetMultiDayAfterClose();if(!IFrameSplitOperator.IsNumber(this.Value))return false;var index=Math.abs(this.Value);index=parseInt(index.toFixed(0));var showIndex=index;if(this.Frame&&this.Frame.MinuteCount)showIndex=index%this.Frame.MinuteCount;var timeStringData=g_MinuteTimeStringData;var timeData=timeStringData.GetTimeData(this.Symbol);if(!timeData)return false;if(showIndex<0)showIndex=0;else if(showIndex>timeData.length)showIndex=timeData.length-1;if(this.Frame&&index>=this.Frame.XPointCount)showIndex=timeData.length-1;var time=timeData[showIndex];this.Text=IFrameSplitOperator.FormatTimeString(time);if(this.GetEventCallback){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CORSSCURSOR_X_TEXT);if(event){var data={Time:time,Index:showIndex};event.Callback(event,data,this);}}return true;};this.GetMinuteCloseYPoint=function(cursorIndexData){var type=cursorIndexData.Type;if(type==1||type==2||type==3)//单日 1=主图 2=盘前 3=盘后
5338
+ this.GetEventCallback;this.GetBeforeOpen=function(){if(!this.BeforeOpenData||!this.BeforeOpenData.Data)return false;var x=this.Frame.IsHScreen==true?this.Point.Y:this.Point.X;var index=this.Frame.GetLeftExtendXData(x,this.BeforeOpenData);index=parseInt(index.toFixed(0));if(index>=this.BeforeOpenData.Data.length)return false;var item=this.BeforeOpenData.Data[index];this.Text=this.FormatCallAcutionDateTime(item,this.BeforeOpenData);return true;};this.GetAfterClose=function(){if(!this.AfterCloseData||!this.AfterCloseData.Data)return false;var x=this.Frame.IsHScreen==true?this.Point.Y:this.Point.X;var index=this.Frame.GetRightExtendXData(x,this.AfterCloseData);index=parseInt(index.toFixed(0));if(index>=this.AfterCloseData.Data.length)return false;var item=this.AfterCloseData.Data[index];this.Text=this.FormatCallAcutionDateTime(item,this.AfterCloseData);return true;};this.GetMultiDayBeforeOpen=function(){var multiDayBeforeOpenData=this.GetMultiDayBeforeOpenData();if(!multiDayBeforeOpenData)return false;if(this.Frame.ChartBorder.MultiDayMinute.Count<=1||this.Frame.ChartBorder.MultiDayMinute.Left<=0)return false;var x=this.Frame.IsHScreen==true?this.Point.Y:this.Point.X;var index=this.Frame.GetLeftExtendXData(x,multiDayBeforeOpenData);if(!index)return false;if(index.DayIndex>=multiDayBeforeOpenData.length)return false;var dayItem=multiDayBeforeOpenData[index.DayIndex];index.DataIndex=parseInt(index.DataIndex.toFixed(0));if(index.DataIndex>=dayItem.Data.length||index.DataIndex<0)return false;var item=dayItem.Data[index.DataIndex];this.Text=this.FormatCallAcutionDateTime(item,dayItem);return true;};this.GetMultiDayAfterClose=function(){var multiDayAfterCloseData=this.GetMultiDayAfterCloseData();if(!multiDayAfterCloseData)return false;if(this.Frame.ChartBorder.MultiDayMinute.Count<=1||this.Frame.ChartBorder.MultiDayMinute.Right<=0)return false;var x=this.Frame.IsHScreen==true?this.Point.Y:this.Point.X;var index=this.Frame.GetRightExtendXData(x,multiDayAfterCloseData);if(!index)return false;if(index.DayIndex>=multiDayAfterCloseData.length)return false;var dayItem=multiDayAfterCloseData[index.DayIndex];index.DataIndex=parseInt(index.DataIndex.toFixed(0));if(index.DataIndex>=dayItem.Data.length)return false;var item=dayItem.Data[index.DataIndex];this.Text=this.FormatCallAcutionDateTime(item,dayItem);return true;};this.FormatCallAcutionDateTime=function(item,callAcutionData){var time=item.Time;if(callAcutionData.Ver==1.0)return IFrameSplitOperator.FormatTimeString(time,"HH:MM");else return IFrameSplitOperator.FormatTimeString(time,"HH:MM:SS");};this.Operator=function(){if(this.ClientPos==2)return this.GetBeforeOpen();else if(this.ClientPos==3)return this.GetAfterClose();else if(this.ClientPos>=200&&this.ClientPos<=299)return this.GetMultiDayBeforeOpen();else if(this.ClientPos>=300&&this.ClientPos<=399)return this.GetMultiDayAfterClose();if(!IFrameSplitOperator.IsNumber(this.Value))return false;var index=Math.abs(this.Value);index=parseInt(index.toFixed(0));var showIndex=index;if(this.Frame&&this.Frame.MinuteCount)showIndex=index%this.Frame.MinuteCount;var timeStringData=g_MinuteTimeStringData;var timeData=timeStringData.GetTimeData(this.Symbol);if(!timeData)return false;if(showIndex<0)showIndex=0;else if(showIndex>timeData.length)showIndex=timeData.length-1;if(this.Frame&&index>=this.Frame.XPointCount)showIndex=timeData.length-1;var time=timeData[showIndex];this.Text=IFrameSplitOperator.FormatTimeString(time);if(this.GetEventCallback){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CORSSCURSOR_X_TEXT);if(event){var data={Time:time,Index:showIndex,PreventDefault:false};event.Callback(event,data,this);if(data.PreventDefault==true)return false;}}return true;};this.GetMinuteCloseYPoint=function(cursorIndexData){var type=cursorIndexData.Type;if(type==1||type==2||type==3)//单日 1=主图 2=盘前 3=盘后
5339
5339
  {if(type==1){if(!this.Data||this.Data.Data.length<=0)return null;var index=cursorIndexData.DataIndex;if(index<0||index>=this.Data.Data.length)index=this.Data.Data.length-1;var close=this.Data.Data[index];var yPoint=this.Frame.GetYFromData(close);return{Price:close,Y:yPoint};}else if(type==2){if(!this.BeforeOpenData||!this.BeforeOpenData.Data)return false;if(cursorIndexData.DataIndex<0||cursorIndexData.DataIndex>=this.BeforeOpenData.Data.length)return null;var item=this.BeforeOpenData.Data[cursorIndexData.DataIndex];var close=item.Price;var yPoint=this.Frame.GetYFromData(close);return{Price:close,Y:yPoint};}else if(type==3){if(!this.AfterCloseData||!this.AfterCloseData.Data)return false;if(cursorIndexData.DataIndex<0||cursorIndexData.DataIndex>=this.AfterCloseData.Data.length)return null;var item=this.AfterCloseData.Data[cursorIndexData.DataIndex];var close=item.Price;var yPoint=this.Frame.GetYFromData(close);return{Price:close,Y:yPoint};}}else if(type==10||type==20||type==30)//多日 10=主图 20=盘前 30=盘后
5340
5340
  {if(type==10){if(!this.Data||this.Data.Data.length<=0)return null;var index=this.Frame.MinuteCount*cursorIndexData.DayIndex+cursorIndexData.DataIndex;if(index<0||index>=this.Data.Data.length)index=this.Data.Data.length-1;var close=this.Data.Data[index];var yPoint=this.Frame.GetYFromData(close);return{Price:close,Y:yPoint};}else if(type==20){var multiDayBeforeOpenData=this.GetMultiDayBeforeOpenData();if(!multiDayBeforeOpenData)return null;if(cursorIndexData.DayIndex<0||cursorIndexData.DayIndex>=multiDayBeforeOpenData.length)return null;var dayItem=multiDayBeforeOpenData[cursorIndexData.DayIndex];if(cursorIndexData.DataIndex<0||cursorIndexData.DataIndex>=dayItem.Data.length)return null;var item=dayItem.Data[cursorIndexData.DataIndex];var close=item.Price;var yPoint=this.Frame.GetYFromData(close);return{Price:close,Y:yPoint};}else if(type==30){var multiDayAfterCloseData=this.GetMultiDayAfterCloseData();if(!multiDayAfterCloseData)return null;if(cursorIndexData.DayIndex<0||cursorIndexData.DayIndex>=multiDayAfterCloseData.length)return null;var dayItem=multiDayAfterCloseData[cursorIndexData.DayIndex];if(cursorIndexData.DataIndex<0||cursorIndexData.DataIndex>=dayItem.Data.length)return null;var item=dayItem.Data[cursorIndexData.DataIndex];var close=item.Price;var yPoint=this.Frame.GetYFromData(close);return{Price:close,Y:yPoint};}}return null;};}//行情tooltip提示信息格式
5341
5341
  var WEEK_NAME=["日","一","二","三","四","五","六"];function HistoryDataStringFormat(){this.newMethod=IChangeStringFormat;//派生
@@ -12493,11 +12493,12 @@ CLOSE_LINE_ID:28,//收盘价线
12493
12493
  KLINE_ID:29,//K线
12494
12494
  TIME_ID:31,//时间 hhmmss / hhmm / hhmmss.fff
12495
12495
  DATE_ID:32,//日期
12496
- CHECKBOX_ID:33,//单选框
12497
- CHECKBOX2_ID:34,CHECKBOX3_ID:35,CHECKBOX4_ID:36,CHECKBOX5_ID:37,CHECKBOX6_ID:38,SYMBOL_NAME_ID:99,CUSTOM_STRING_TEXT_ID:100,//自定义字符串文本
12496
+ CHECKBOX_ID:33,//单选框
12497
+ SYMBOL_NAME_ID:99,CUSTOM_STRING_TEXT_ID:100,//自定义字符串文本
12498
12498
  CUSTOM_NUMBER_TEXT_ID:101,//自定义数值型
12499
12499
  CUSTOM_DATETIME_TEXT_ID:102,//自定义日期类型
12500
- CUSTOM_ICON_ID:103//自定义图标
12500
+ CUSTOM_ICON_ID:103,//自定义图标
12501
+ CUSTOM_CHECKBOX_ID:104//自定义checkbox
12501
12502
  };var MAP_COLUMN_FIELD=new _map2.default([[REPORT_COLUMN_ID.SYMBOL_ID,"Symbol"],[REPORT_COLUMN_ID.NAME_ID,"Name"],[REPORT_COLUMN_ID.PRICE_ID,"Price"],[REPORT_COLUMN_ID.INCREASE_ID,"Increase"],[REPORT_COLUMN_ID.UPDOWN_ID,"UpDown"],[REPORT_COLUMN_ID.VOL_ID,"Vol"],[REPORT_COLUMN_ID.BUY_PRICE_ID,"BuyPrice"],[REPORT_COLUMN_ID.SELL_PRICE_ID,"SellPrice"],[REPORT_COLUMN_ID.AMOUNT_ID,"Amount"],[REPORT_COLUMN_ID.BUY_VOL_ID,"BuyVol"],[REPORT_COLUMN_ID.SELL_VOL_ID,"SellVol"],[REPORT_COLUMN_ID.YCLOSE_ID,"YClose"],[REPORT_COLUMN_ID.OPEN_ID,"Open"],[REPORT_COLUMN_ID.HIGH_ID,"High"],[REPORT_COLUMN_ID.LOW_ID,"Low"],[REPORT_COLUMN_ID.AVERAGE_PRICE_ID,"AvPrice"],[REPORT_COLUMN_ID.OUTSTANDING_SHARES_ID,"OutShares"],[REPORT_COLUMN_ID.TOTAL_SHARES_ID,"TotalShares"],[REPORT_COLUMN_ID.CIRC_MARKET_VALUE_ID,"CircMarketValue"],[REPORT_COLUMN_ID.MARKET_VALUE_ID,"MarketValue"],[REPORT_COLUMN_ID.EXCHANGE_RATE_ID,"Exchange"],[REPORT_COLUMN_ID.AMPLITUDE_ID,"Amplitude"],[REPORT_COLUMN_ID.LIMIT_HIGH_ID,"LimitHigh"],[REPORT_COLUMN_ID.LIMIT_LOW_ID,"LimitLow"],[REPORT_COLUMN_ID.VOL_IN_ID,"VolIn"],[REPORT_COLUMN_ID.VOL_OUT_ID,"VolOut"],[REPORT_COLUMN_ID.NAME_EX_ID,"NameEx"],[REPORT_COLUMN_ID.DATE_ID,"Date"]]);function ChartReport(){this.Canvas;//画布
12502
12503
  this.ChartBorder;//边框信息
12503
12504
  this.ChartFrame;//框架画法
@@ -12573,9 +12574,10 @@ if(IFrameSplitOperator.IsNumber(item.BlockIndex))colItem.BlockIndex=item.BlockIn
12573
12574
  colItem.ValueType=0;//0=yyyymmdd 1=hhmmss
12574
12575
  if(IFrameSplitOperator.IsNumber(item.FormatType))colItem.FormatType=item.FormatType;//输出样式
12575
12576
  if(IFrameSplitOperator.IsNumber(item.ValueType))colItem.FormatType=item.ValueType;//输出样式
12576
- }else if(item.Type==REPORT_COLUMN_ID.CUSTOM_ICON_ID){}else if(item.Type==REPORT_COLUMN_ID.CLOSE_LINE_ID){if(IFrameSplitOperator.IsBool(item.IsDrawArea))colItem.IsDrawArea=item.IsDrawArea;}else if(item.Type==REPORT_COLUMN_ID.TIME_ID){if(IFrameSplitOperator.IsNumber(item.ValueType))colItem.ValueType=item.ValueType;}else if(item.Type==REPORT_COLUMN_ID.DATE_ID){if(IFrameSplitOperator.IsNumber(item.FormatType))colItem.FormatType=item.FormatType;}this.Column.push(colItem);}};this.SwapColumn=function(leftIndex,rightIndex){if(!IFrameSplitOperator.IsNumber(leftIndex)||!IFrameSplitOperator.IsNumber(rightIndex))return false;var count=this.Column.length;if(leftIndex<0||leftIndex>=count)return false;if(rightIndex<0||rightIndex>=count)return false;if(leftIndex==rightIndex)return;var tempItem=this.Column[leftIndex];this.Column[leftIndex]=this.Column[rightIndex];this.Column[rightIndex]=tempItem;return true;};this.GetXScrollPos=function(){return this.Data.XOffset;};this.GetXScrollRange=function(){var maxOffset=this.Column.length-this.FixedColumn-3;if(maxOffset<0)return 0;return maxOffset;};this.GetYScrollRange=function(){if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return 0;var maxOffset=this.Data.Data.length-this.RowCount;return maxOffset;};this.GetDefaultColunm=function(id){var DEFAULT_COLUMN=[{Type:REPORT_COLUMN_ID.INDEX_ID,Title:"序号",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Index,MaxText:"8888"},{Type:REPORT_COLUMN_ID.SYMBOL_ID,Title:"代码",TextAlign:"left",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Symbol,MaxText:"888888"},{Type:REPORT_COLUMN_ID.NAME_ID,Title:"名称",TextAlign:"left",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Name,MaxText:"擎擎擎擎0"},{Type:REPORT_COLUMN_ID.NAME_EX_ID,Title:"名称",TextAlign:"left",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Name,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.SYMBOL_NAME_ID,Title:"股票名称",TextAlign:"left",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Name,MaxText:"擎擎擎擎0"},{Type:REPORT_COLUMN_ID.INCREASE_ID,Title:"涨幅%",TextAlign:"right",Width:null,MaxText:"-888.88"},{Type:REPORT_COLUMN_ID.PRICE_ID,Title:"现价",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.UPDOWN_ID,Title:"涨跌",TextAlign:"right",Width:null,MaxText:"-888.88"},{Type:REPORT_COLUMN_ID.AMPLITUDE_ID,Title:"振幅%",TextAlign:"right",Width:null,MaxText:"888.88"},{Type:REPORT_COLUMN_ID.BUY_PRICE_ID,Title:"买价",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.SELL_PRICE_ID,Title:"卖价",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.AVERAGE_PRICE_ID,Title:"均价",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.OPEN_ID,Title:"今开",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.HIGH_ID,Title:"最高",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.LOW_ID,Title:"最低",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.YCLOSE_ID,Title:"昨收",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.VOL_ID,Title:"总量",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Vol,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.AMOUNT_ID,Title:"总金额",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Amount,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.EXCHANGE_RATE_ID,Title:"换手%",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"88.88"},{Type:REPORT_COLUMN_ID.OUTSTANDING_SHARES_ID,Title:"流通股本",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.TOTAL_SHARES_ID,Title:"总股本",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.CIRC_MARKET_VALUE_ID,Title:"流通市值",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.MARKET_VALUE_ID,Title:"总市值",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.VOL_IN_ID,Title:"内盘",TextAlign:"right",TextColor:g_JSChartResource.Report.DownTextColor,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.VOL_OUT_ID,Title:"外盘",TextAlign:"right",TextColor:g_JSChartResource.Report.UpTextColor,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.CLOSE_LINE_ID,Title:"走势",TextAlign:"center",TextColor:g_JSChartResource.Report.CloseLineColor,Width:null,MaxText:"88888.88888"},{Type:REPORT_COLUMN_ID.BUY_VOL_ID,Title:"买量",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Vol,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.SELL_VOL_ID,Title:"卖量",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Vol,Width:null,MaxText:"8888.8擎"},//{ Type:REPORT_COLUMN_ID.MULTI_BAR_ID, Title:"柱子", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.BarTitle, MaxText:"888888" },
12577
+ }else if(item.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID){if(!IFrameSplitOperator.IsNumber(item.DataIndex)&&!IFrameSplitOperator.IsNumber(item.BlockIndex))continue;if(IFrameSplitOperator.IsNumber(item.DataIndex))colItem.DataIndex=item.DataIndex;//数据在扩展数据索引列
12578
+ if(IFrameSplitOperator.IsNumber(item.BlockIndex))colItem.BlockIndex=item.BlockIndex;if(item.CheckBox)colItem.CheckBox=CloneData(item.CheckBox);else colItem.CheckBox=CloneData(g_JSChartResource.Report.CheckBox);}else if(item.Type==REPORT_COLUMN_ID.CUSTOM_ICON_ID){}else if(item.Type==REPORT_COLUMN_ID.CLOSE_LINE_ID){if(IFrameSplitOperator.IsBool(item.IsDrawArea))colItem.IsDrawArea=item.IsDrawArea;}else if(item.Type==REPORT_COLUMN_ID.TIME_ID){if(IFrameSplitOperator.IsNumber(item.ValueType))colItem.ValueType=item.ValueType;}else if(item.Type==REPORT_COLUMN_ID.DATE_ID){if(IFrameSplitOperator.IsNumber(item.FormatType))colItem.FormatType=item.FormatType;}this.Column.push(colItem);}};this.SwapColumn=function(leftIndex,rightIndex){if(!IFrameSplitOperator.IsNumber(leftIndex)||!IFrameSplitOperator.IsNumber(rightIndex))return false;var count=this.Column.length;if(leftIndex<0||leftIndex>=count)return false;if(rightIndex<0||rightIndex>=count)return false;if(leftIndex==rightIndex)return;var tempItem=this.Column[leftIndex];this.Column[leftIndex]=this.Column[rightIndex];this.Column[rightIndex]=tempItem;return true;};this.GetXScrollPos=function(){return this.Data.XOffset;};this.GetXScrollRange=function(){var maxOffset=this.Column.length-this.FixedColumn-3;if(maxOffset<0)return 0;return maxOffset;};this.GetYScrollRange=function(){if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return 0;var maxOffset=this.Data.Data.length-this.RowCount;return maxOffset;};this.GetDefaultColunm=function(id){var DEFAULT_COLUMN=[{Type:REPORT_COLUMN_ID.INDEX_ID,Title:"序号",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Index,MaxText:"8888"},{Type:REPORT_COLUMN_ID.SYMBOL_ID,Title:"代码",TextAlign:"left",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Symbol,MaxText:"888888"},{Type:REPORT_COLUMN_ID.NAME_ID,Title:"名称",TextAlign:"left",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Name,MaxText:"擎擎擎擎0"},{Type:REPORT_COLUMN_ID.NAME_EX_ID,Title:"名称",TextAlign:"left",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Name,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.SYMBOL_NAME_ID,Title:"股票名称",TextAlign:"left",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Name,MaxText:"擎擎擎擎0"},{Type:REPORT_COLUMN_ID.INCREASE_ID,Title:"涨幅%",TextAlign:"right",Width:null,MaxText:"-888.88"},{Type:REPORT_COLUMN_ID.PRICE_ID,Title:"现价",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.UPDOWN_ID,Title:"涨跌",TextAlign:"right",Width:null,MaxText:"-888.88"},{Type:REPORT_COLUMN_ID.AMPLITUDE_ID,Title:"振幅%",TextAlign:"right",Width:null,MaxText:"888.88"},{Type:REPORT_COLUMN_ID.BUY_PRICE_ID,Title:"买价",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.SELL_PRICE_ID,Title:"卖价",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.AVERAGE_PRICE_ID,Title:"均价",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.OPEN_ID,Title:"今开",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.HIGH_ID,Title:"最高",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.LOW_ID,Title:"最低",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.YCLOSE_ID,Title:"昨收",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.VOL_ID,Title:"总量",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Vol,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.AMOUNT_ID,Title:"总金额",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Amount,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.EXCHANGE_RATE_ID,Title:"换手%",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"88.88"},{Type:REPORT_COLUMN_ID.OUTSTANDING_SHARES_ID,Title:"流通股本",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.TOTAL_SHARES_ID,Title:"总股本",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.CIRC_MARKET_VALUE_ID,Title:"流通市值",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.MARKET_VALUE_ID,Title:"总市值",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.VOL_IN_ID,Title:"内盘",TextAlign:"right",TextColor:g_JSChartResource.Report.DownTextColor,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.VOL_OUT_ID,Title:"外盘",TextAlign:"right",TextColor:g_JSChartResource.Report.UpTextColor,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.CLOSE_LINE_ID,Title:"走势",TextAlign:"center",TextColor:g_JSChartResource.Report.CloseLineColor,Width:null,MaxText:"88888.88888"},{Type:REPORT_COLUMN_ID.BUY_VOL_ID,Title:"买量",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Vol,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.SELL_VOL_ID,Title:"卖量",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Vol,Width:null,MaxText:"8888.8擎"},//{ Type:REPORT_COLUMN_ID.MULTI_BAR_ID, Title:"柱子", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.BarTitle, MaxText:"888888" },
12577
12579
  //{ Type:REPORT_COLUMN_ID.CENTER_BAR_ID, Title:"柱子2", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.BarTitle, MaxText:"888888" },
12578
- {Type:REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID,Title:"自定义",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.CUSTOM_NUMBER_TEXT_ID,Title:"自定义",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.CUSTOM_DATETIME_TEXT_ID,Title:"自定义",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99"},{Type:REPORT_COLUMN_ID.CUSTOM_ICON_ID,Title:" ",TextAlign:"left",FixedWidth:20,TextColor:g_JSChartResource.Report.FieldColor.Text},{Type:REPORT_COLUMN_ID.KLINE_ID,Title:"K线",TextAlign:"left",FixedWidth:50,TextColor:g_JSChartResource.Report.FieldColor.Text},{Type:REPORT_COLUMN_ID.TIME_ID,Title:"时间",TextAlign:"left",ValueType:0,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"99:99:99.999"},{Type:REPORT_COLUMN_ID.DATE_ID,Title:"日期",TextAlign:"left",FormatType:0,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99"},{Type:REPORT_COLUMN_ID.CHECKBOX_ID,Title:"",TextAlign:"center",FixedWidth:20*GetDevicePixelRatio()}];for(var i=0;i<DEFAULT_COLUMN.length;++i){var item=DEFAULT_COLUMN[i];if(item.Type==id)return item;}return null;};this.ClipClient=function(){this.Canvas.save();this.Canvas.beginPath();this.Canvas.rect(this.RectClient.Left,this.RectClient.Top,this.RectClient.Right-this.RectClient.Left,this.RectClient.Bottom-this.RectClient.Top);//this.Canvas.stroke(); //调试用
12580
+ {Type:REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID,Title:"自定义",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.CUSTOM_NUMBER_TEXT_ID,Title:"自定义",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.CUSTOM_DATETIME_TEXT_ID,Title:"自定义",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99"},{Type:REPORT_COLUMN_ID.CUSTOM_ICON_ID,Title:" ",TextAlign:"left",FixedWidth:20,TextColor:g_JSChartResource.Report.FieldColor.Text},{Type:REPORT_COLUMN_ID.KLINE_ID,Title:"K线",TextAlign:"left",FixedWidth:50,TextColor:g_JSChartResource.Report.FieldColor.Text},{Type:REPORT_COLUMN_ID.TIME_ID,Title:"时间",TextAlign:"left",ValueType:0,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"99:99:99.999"},{Type:REPORT_COLUMN_ID.DATE_ID,Title:"日期",TextAlign:"left",FormatType:0,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99"},{Type:REPORT_COLUMN_ID.CHECKBOX_ID,Title:"",TextAlign:"center",FixedWidth:20*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID,Title:"",TextAlign:"center",FixedWidth:20*GetDevicePixelRatio()}];for(var i=0;i<DEFAULT_COLUMN.length;++i){var item=DEFAULT_COLUMN[i];if(item.Type==id)return item;}return null;};this.ClipClient=function(){this.Canvas.save();this.Canvas.beginPath();this.Canvas.rect(this.RectClient.Left,this.RectClient.Top,this.RectClient.Right-this.RectClient.Left,this.RectClient.Bottom-this.RectClient.Top);//this.Canvas.stroke(); //调试用
12579
12581
  this.Canvas.clip();};this.Draw=function(){this.ShowSymbol=[];this.TooltipRect=[];this.ButtonRect=[];this.DevicePixelRatio=GetDevicePixelRatio();if(this.GlobalOption)this.GlobalOption.FlashBGCount=0;if(this.SizeChange)this.CalculateSize();else this.UpdateCacheData();this.ClipClient();this.DrawHeader();this.DrawBody();this.Canvas.restore();if(this.Tab&&this.BottomToolbarHeight>0){var bottom=this.ChartBorder.GetBottom();this.Tab.DrawTab(this.RectClient.Left,bottom-this.BottomToolbarHeight,this.RectClient.Right,bottom);this.Tab.DrawScrollbar(this.RectClient.Left,bottom-this.BottomToolbarHeight,this.RectClient.Right,bottom);}this.ClipClient();this.DrawBorder();this.Canvas.restore();this.DrawDragRow();if(this.VScrollbar){var bottom=this.ChartBorder.GetBottom();this.VScrollbar.DrawScrollbar(this.RectClient.Left,this.RectClient.Top+this.HeaderHeight,this.RectClient.Right,bottom-this.BottomToolbarHeight-4);}this.SizeChange=false;};//更新缓存变量
12580
12582
  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()-this.BottomToolbarHeight;};this.GetPageSize=function(recalculate)//recalculate 是否重新计算
12581
12583
  {if(recalculate)this.CalculateSize();var size=this.RowCount;return size;};this.GetCurrentPageStatus=function()//{ Start:起始索引, End:结束索引(数据), PageSize:页面可以显示几条记录, IsEnd:是否是最后一页, IsSinglePage:是否只有一页数据}
@@ -12597,10 +12599,10 @@ drawInfo.Text=(index+1).toString();}else if(column.Type==REPORT_COLUMN_ID.SYMBOL
12597
12599
  if(stock&&stock.NameEx){var nameEx=stock.NameEx;drawInfo.Text=this.TextEllipsis(nameEx.Text,textWidth,column.MaxText);drawInfo.TextColor=this.GetNameColor(column,data.Symbol,rowType);if(nameEx.Symbol)drawInfo.Symbol=nameEx.Symbol;}}else if(column.Type==REPORT_COLUMN_ID.PRICE_ID){if(stock)this.GetPriceDrawInfo(stock.Price,stock,data,drawInfo,{LimitBG:true});this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.OPEN_ID){//如果行情开盘价为涨停价或跌停价,则对内容加灰框
12598
12600
  if(stock){this.DrawLimitPriceBorder(stock.Open,stock,left,top,column.Width);this.GetPriceDrawInfo(stock.Open,stock,data,drawInfo,{LimitBG:true});}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.HIGH_ID){//如果行情最高价为涨停价,则对内容加灰框
12599
12601
  if(stock){this.DrawLimitPriceBorder(stock.High,stock,left,top,column.Width);this.GetPriceDrawInfo(stock.High,stock,data,drawInfo,{LimitBG:true});}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.LOW_ID){//如果行情最低价为跌停价,则对内容加灰框
12600
- if(stock){this.DrawLimitPriceBorder(stock.Low,stock,left,top,column.Width);this.GetPriceDrawInfo(stock.Low,stock,data,drawInfo,{LimitBG:true});}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.YCLOSE_ID){if(stock)this.GetPriceDrawInfo(stock.YClose,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.BUY_PRICE_ID){if(stock)this.GetPriceDrawInfo(stock.BuyPrice,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.SELL_PRICE_ID){if(stock)this.GetPriceDrawInfo(stock.SellPrice,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.AVERAGE_PRICE_ID){if(stock)this.GetPriceDrawInfo(stock.AvPrice,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.EXCHANGE_RATE_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.Exchange))drawInfo.Text=stock.Exchange.toFixed(2);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.BUY_VOL_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.BuyVol))drawInfo.Text=this.FormatVolString(stock.BuyVol);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.SELL_VOL_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.SellVol))drawInfo.Text=this.FormatVolString(stock.SellVol);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.VOL_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.Vol))drawInfo.Text=this.FormatVolString(stock.Vol);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.VOL_IN_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.VolIn))drawInfo.Text=this.FormatVolString(stock.VolIn);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.VOL_OUT_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.VolOut))drawInfo.Text=this.FormatVolString(stock.VolOut);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.TOTAL_SHARES_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.TotalShares))drawInfo.Text=this.FormatVolString(stock.TotalShares);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.OUTSTANDING_SHARES_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.OutShares))drawInfo.Text=this.FormatVolString(stock.OutShares);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.CIRC_MARKET_VALUE_ID||column.Type==REPORT_COLUMN_ID.MARKET_VALUE_ID||column.Type==REPORT_COLUMN_ID.AMOUNT_ID){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(stock&&IFrameSplitOperator.IsNumber(stock[fieldName]))drawInfo.Text=this.FormatVolString(stock[fieldName]);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.INCREASE_ID||column.Type==REPORT_COLUMN_ID.AMPLITUDE_ID||column.Type==REPORT_COLUMN_ID.UPDOWN_ID){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(stock&&IFrameSplitOperator.IsNumber(stock[fieldName])){var value=stock[fieldName];drawInfo.Text=value.toFixed(2);drawInfo.TextColor=this.GetUpDownColor(value,0);}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID){this.GetCustomStringDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_NUMBER_TEXT_ID){this.GetCustomNumberDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_DATETIME_TEXT_ID){this.GetCustomDateTimeDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_ICON_ID){this.GetCustomIconDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CLOSE_LINE_ID){var rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;if(stock)this.DrawLine(stock.CloseLine,column,rtItem);}else if(column.Type==REPORT_COLUMN_ID.KLINE_ID){var rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;this.DrawKLine(stock.KLine,column,rtItem,data);}else if(column.Type==REPORT_COLUMN_ID.TIME_ID){this.FormaTimeDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.DATE_ID){this.FormaDateDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.CHECKBOX_ID){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;drawInfo.Checked=false;drawInfo.Font=this.CheckBoxConfig.Size*this.DevicePixelRatio+'px '+this.CheckBoxConfig.Family;if(stock&&IFrameSplitOperator.IsBool(stock.Checked))drawInfo.Checked=stock.Checked;}//拖拽行颜色
12601
- if(rowType==3)drawInfo.TextColor=this.DragRowTextColor;if(drawInfo.Symbol){this.DrawItemTextEx(drawInfo,x,top,textWidth);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_ICON_ID){this.DrawIconItem(drawInfo,x,top,textWidth);}else if(column.Type==REPORT_COLUMN_ID.CHECKBOX_ID){this.DrawCheckbox(drawInfo,left,top,itemWidth);}else{if(data.FlashBG&&data.FlashBG.Data&&column.ID!=undefined){if(data.FlashBG.Data.has(column.ID)){var flashItem=data.FlashBG.Data.get(column.ID);var drawBG={Rect:drawInfo.Rect,BGColor:flashItem.Color};--flashItem.Count;this.DrawItemBG(drawBG);if(this.GlobalOption)++this.GlobalOption.FlashBGCount;}}this.DrawItemBG(drawInfo);if(column.Type==REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID)this.DrawCustomText(drawInfo,column,x,top,textWidth);else this.DrawItemText(drawInfo.Text,drawInfo.TextColor,drawInfo.TextAlign,x,top,textWidth,drawInfo.BGColor);}//tooltip提示
12602
+ if(stock){this.DrawLimitPriceBorder(stock.Low,stock,left,top,column.Width);this.GetPriceDrawInfo(stock.Low,stock,data,drawInfo,{LimitBG:true});}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.YCLOSE_ID){if(stock)this.GetPriceDrawInfo(stock.YClose,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.BUY_PRICE_ID){if(stock)this.GetPriceDrawInfo(stock.BuyPrice,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.SELL_PRICE_ID){if(stock)this.GetPriceDrawInfo(stock.SellPrice,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.AVERAGE_PRICE_ID){if(stock)this.GetPriceDrawInfo(stock.AvPrice,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.EXCHANGE_RATE_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.Exchange))drawInfo.Text=stock.Exchange.toFixed(2);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.BUY_VOL_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.BuyVol))drawInfo.Text=this.FormatVolString(stock.BuyVol);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.SELL_VOL_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.SellVol))drawInfo.Text=this.FormatVolString(stock.SellVol);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.VOL_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.Vol))drawInfo.Text=this.FormatVolString(stock.Vol);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.VOL_IN_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.VolIn))drawInfo.Text=this.FormatVolString(stock.VolIn);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.VOL_OUT_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.VolOut))drawInfo.Text=this.FormatVolString(stock.VolOut);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.TOTAL_SHARES_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.TotalShares))drawInfo.Text=this.FormatVolString(stock.TotalShares);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.OUTSTANDING_SHARES_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.OutShares))drawInfo.Text=this.FormatVolString(stock.OutShares);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.CIRC_MARKET_VALUE_ID||column.Type==REPORT_COLUMN_ID.MARKET_VALUE_ID||column.Type==REPORT_COLUMN_ID.AMOUNT_ID){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(stock&&IFrameSplitOperator.IsNumber(stock[fieldName]))drawInfo.Text=this.FormatVolString(stock[fieldName]);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.INCREASE_ID||column.Type==REPORT_COLUMN_ID.AMPLITUDE_ID||column.Type==REPORT_COLUMN_ID.UPDOWN_ID){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(stock&&IFrameSplitOperator.IsNumber(stock[fieldName])){var value=stock[fieldName];drawInfo.Text=value.toFixed(2);drawInfo.TextColor=this.GetUpDownColor(value,0);}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID){this.GetCustomStringDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_NUMBER_TEXT_ID){this.GetCustomNumberDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_DATETIME_TEXT_ID){this.GetCustomDateTimeDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_ICON_ID){this.GetCustomIconDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CLOSE_LINE_ID){var rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;if(stock)this.DrawLine(stock.CloseLine,column,rtItem);}else if(column.Type==REPORT_COLUMN_ID.KLINE_ID){var rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;this.DrawKLine(stock.KLine,column,rtItem,data);}else if(column.Type==REPORT_COLUMN_ID.TIME_ID){this.FormaTimeDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.DATE_ID){this.FormaDateDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.CHECKBOX_ID){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;drawInfo.Checked=false;drawInfo.Enable=true;drawInfo.CheckBox=this.CheckBoxConfig;drawInfo.Data=stock;if(stock&&IFrameSplitOperator.IsBool(stock.Checked))drawInfo.Checked=stock.Checked;}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID){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;this.GetCustomCheckBoxDrawInfo(data,column,drawInfo);}//拖拽行颜色
12603
+ if(rowType==3)drawInfo.TextColor=this.DragRowTextColor;if(drawInfo.Symbol){this.DrawItemTextEx(drawInfo,x,top,textWidth);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_ICON_ID){this.DrawIconItem(drawInfo,x,top,textWidth);}else if(column.Type==REPORT_COLUMN_ID.CHECKBOX_ID||column.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID){this.DrawCheckbox(drawInfo,left,top,itemWidth);}else{if(data.FlashBG&&data.FlashBG.Data&&column.ID!=undefined){if(data.FlashBG.Data.has(column.ID)){var flashItem=data.FlashBG.Data.get(column.ID);var drawBG={Rect:drawInfo.Rect,BGColor:flashItem.Color};--flashItem.Count;this.DrawItemBG(drawBG);if(this.GlobalOption)++this.GlobalOption.FlashBGCount;}}this.DrawItemBG(drawInfo);if(column.Type==REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID)this.DrawCustomText(drawInfo,column,x,top,textWidth);else this.DrawItemText(drawInfo.Text,drawInfo.TextColor,drawInfo.TextAlign,x,top,textWidth,drawInfo.BGColor);}//tooltip提示
12602
12604
  if(drawInfo.Tooltip){//Type:1=数据截断
12603
- var tooltipData={Rect:rtItem,Stock:stock,Index:index,Column:column,RowType:rowType,Type:drawInfo.Tooltip.Type,Data:drawInfo.Tooltip.Data};this.TooltipRect.push(tooltipData);}if(drawInfo.Botton){var buttonData={Stock:stock,Index:index,Column:column,Rect:drawInfo.Botton.Rect,Type:drawInfo.Botton.Type};this.ButtonRect.push(buttonData);}};this.DrawCustomText=function(drawInfo,column,left,top,cellWidth){if(!drawInfo.Text)return;var text=drawInfo.Text;var x=left;if(drawInfo.TextAlign=='center'){x=left+cellWidth/2;this.Canvas.textAlign="center";}else if(drawInfo.TextAlign=='right'){x=left+cellWidth-2;this.Canvas.textAlign="right";}else{x+=2;this.Canvas.textAlign="left";}var textWidth=this.Canvas.measureText(text).width+1;var bClip=false;if(textWidth>=cellWidth)//长度超过单元格 裁剪
12605
+ var tooltipData={Rect:rtItem,Stock:stock,Index:index,Column:column,RowType:rowType,Type:drawInfo.Tooltip.Type,Data:drawInfo.Tooltip.Data};this.TooltipRect.push(tooltipData);}if(drawInfo.Botton){var buttonData={Stock:stock,Index:index,Column:column,Rect:drawInfo.Botton.Rect,Type:drawInfo.Botton.Type,Data:drawInfo.Data};this.ButtonRect.push(buttonData);}};this.DrawCustomText=function(drawInfo,column,left,top,cellWidth){if(!drawInfo.Text)return;var text=drawInfo.Text;var x=left;if(drawInfo.TextAlign=='center'){x=left+cellWidth/2;this.Canvas.textAlign="center";}else if(drawInfo.TextAlign=='right'){x=left+cellWidth-2;this.Canvas.textAlign="right";}else{x+=2;this.Canvas.textAlign="left";}var textWidth=this.Canvas.measureText(text).width+1;var bClip=false;if(textWidth>=cellWidth)//长度超过单元格 裁剪
12604
12606
  {if(column.FormatType==2){var count=text.length+5;text="";for(var i=0;i<count;++i){text+="#";}}else if(column.FormatType==1){text=this.TextEllipsis(text,cellWidth,column.MaxText);}this.Canvas.save();bClip=true;var rtCell={Left:left,Top:top+this.ItemMergin.Top,Width:cellWidth,Height:this.RowHeight};this.Canvas.beginPath();this.Canvas.rect(rtCell.Left,rtCell.Top,rtCell.Width,rtCell.Height);//this.Canvas.stroke(); //调试用
12605
12607
  this.Canvas.clip();//数据截断提示信息
12606
12608
  drawInfo.Tooltip={Type:1,Data:{AryText:[{Text:drawInfo.Text}]}};}this.Canvas.textBaseline="middle";this.Canvas.fillStyle=drawInfo.TextColor;this.Canvas.fillText(text,x,top+this.ItemMergin.Top+this.RowHeight/2);if(bClip)this.Canvas.restore();};this.DrawSymbolName=function(data,column,left,top,rowType){var stock=data.Stock;var symbol=data.Symbol;var name;if(stock){symbol=stock.Symbol;name=stock.Name;}if(!symbol&&!name)return;var y=top+this.ItemMergin.Top+this.ItemNameHeight;var textLeft=left+this.ItemMergin.Left;var x=textLeft;var width=column.Width-this.ItemMergin.Left-this.ItemMergin.Right;var textAlign=column.TextAlign;if(textAlign=='center'){x=textLeft+width/2;this.Canvas.textAlign="center";}else if(textAlign=='right'){x=textLeft+width-2;this.Canvas.textAlign="right";}else{x+=2;this.Canvas.textAlign="left";}var textColor=this.GetNameColor(column,symbol,rowType);var text=name;if(text){this.Canvas.textBaseline="ideographic";this.Canvas.fillStyle=textColor;this.Canvas.font=this.ItemNameFont;text=this.TextEllipsis(text,width,column.MaxText);if(text)this.Canvas.fillText(text,x,y);}text=symbol;if(text){this.Canvas.textBaseline="top";this.Canvas.font=this.ItemSymbolFont;this.Canvas.fillStyle=textColor;this.Canvas.fillText(text,x,y);}this.Canvas.font=this.ItemFont;//还原字体
@@ -12610,7 +12612,7 @@ drawInfo.Tooltip={Type:1,Data:{AryText:[{Text:drawInfo.Text}]}};}this.Canvas.tex
12610
12612
  switch(column.FormatType){case 1:drawInfo.Text=value.toFixed(column.Decimal);break;case 2:drawInfo.Text=IFrameSplitOperator.FormatValueThousandsString(value,column.Decimal);break;case 3:drawInfo.Text=this.FormatVolString(value);break;default:drawInfo.Text=IFrameSplitOperator.FormatValueString(value,column.Decimal);break;}//颜色
12611
12613
  switch(column.ColorType){case 1:drawInfo.TextColor=this.GetUpDownColor(value,0);break;case 2:if(!IFrameSplitOperator.IsNumber(data.Stock.YClose))drawInfo.TextColor=this.UnchagneColor;else drawInfo.TextColor=this.GetUpDownColor(value,data.Stock.YClose);break;default:break;}};this.GetCustomDateTimeDrawInfo=function(data,column,drawInfo){var value=this.GetExtendData(data,column);if(!IFrameSplitOperator.IsNumber(value))return;if(column.IsDrawCallback)//外部处理输出格式
12612
12614
  {this.GetCustomTextDrawInfo(column,data.Symbol,value,drawInfo,data);return;}if(column.ValueType==0){if(column.FormatType==1)drawInfo.Text=IFrameSplitOperator.FormatDateString(value,"YYYY/MM/DD");else drawInfo.Text=IFrameSplitOperator.FormatDateString(value);}};this.GetCustomIconDrawInfo=function(data,column,drawInfo){if(column.IsDrawCallback)//外部处理输出格式
12613
- {this.GetCustomIconData(column,data.Symbol,drawInfo,data);return;}};this.FormaTimeDrawInfo=function(column,stock,drawInfo,data){if(!IFrameSplitOperator.IsNumber(stock.Time))return;if(column.ValueType==0)//0=hhmm 1=hhmmss 2=hhmmss.fff
12615
+ {this.GetCustomIconData(column,data.Symbol,drawInfo,data);return;}};this.GetCustomCheckBoxDrawInfo=function(data,column,drawInfo){var checkData=this.GetExtendData(data,column);if(!checkData)return;if(!IFrameSplitOperator.IsBool(checkData.Checked))return;drawInfo.Checked=checkData.Checked;drawInfo.Enable=true;drawInfo.Data=checkData;if(IFrameSplitOperator.IsBool(checkData.DisableCheckBox))drawInfo.Enable=!checkData.DisableCheckBox;drawInfo.CheckBox=column.CheckBox;};this.FormaTimeDrawInfo=function(column,stock,drawInfo,data){if(!IFrameSplitOperator.IsNumber(stock.Time))return;if(column.ValueType==0)//0=hhmm 1=hhmmss 2=hhmmss.fff
12614
12616
  {drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM");}else if(column.ValueType==1){drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM:SS");}else if(column.ValueType==2){drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM:SS.fff");}};this.FormaDateDrawInfo=function(column,stock,drawInfo,data){if(!IFrameSplitOperator.IsNumber(stock.Date))return;if(column.FormatType==0)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY-MM-DD");else if(column.FormatType==1)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY/MM/DD");else if(column.FormatType==2)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY/MM/DD/W");else if(column.FormatType==3)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY-MM");else if(column.FormatType==4)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"MM/DD");else if(column.FormatType==4)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"MM-DD");};//自定义图标
12615
12617
  this.GetCustomIconData=function(columnInfo,symbol,drawInfo,data){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_DRAW_CUSTOM_ICON);if(!event||!event.Callback)return false;var sendData={Symbol:symbol,Column:columnInfo,Data:data,Out:{Text:null,TextColor:null,TextAlign:null,Font:null}};event.Callback(event,sendData,this);if(sendData.Out.Text)drawInfo.Text=sendData.Out.Text;if(sendData.Out.TextColor)drawInfo.TextColor=sendData.Out.TextColor;if(sendData.Out.TextAlign)drawInfo.TextAlign=sendData.Out.TextAlign;if(sendData.Out.BGColor)drawInfo.BGColor=sendData.Out.BGColor;if(sendData.Out.Font)drawInfo.Font=sendData.Out.Font;return true;};this.GetPriceDrawInfo=function(price,stock,data,drawInfo,option){if(!IFrameSplitOperator.IsNumber(price))return false;drawInfo.Text=price.toFixed(data.Decimal);if(!IFrameSplitOperator.IsNumber(stock.YClose))drawInfo.TextColor=this.UnchagneColor;else drawInfo.TextColor=this.GetUpDownColor(price,stock.YClose);if(option&&option.LimitBG){if(IFrameSplitOperator.IsNumber(stock.LimitHigh)){if(price>=stock.LimitHigh){drawInfo.BGColor=this.LimitUpBGColor;drawInfo.TextColor=this.LimitTextColor;}}if(IFrameSplitOperator.IsNumber(stock.LimitLow)){if(price<=stock.LimitLow){drawInfo.BGColor=this.LimitDownBGColor;drawInfo.TextColor=this.LimitTextColor;}}}};this.GetUpDownColor=function(price,price2){if(price>price2)return this.UpColor;else if(price<price2)return this.DownColor;else return this.UnchagneColor;};//单独处理成交量显示
12616
12618
  this.FormatVolString=function(value,languageID){return IFrameSplitOperator.FormatVolString(value,languageID);};this.DrawItemBG=function(drawInfo){if(drawInfo.BGColor&&drawInfo.Rect)//绘制背景色
@@ -12619,8 +12621,7 @@ this.FormatVolString=function(value,languageID){return IFrameSplitOperator.Forma
12619
12621
  {this.Canvas.save();bClip=true;var rtCell={Left:left,Top:top+this.ItemMergin.Top,Width:width,Height:this.RowHeight};this.Canvas.beginPath();this.Canvas.rect(rtCell.Left,rtCell.Top,rtCell.Width,rtCell.Height);//this.Canvas.stroke(); //调试用
12620
12622
  this.Canvas.clip();if(this.TextOverflowStyle==1){var count=text.length+5;text="";for(var i=0;i<count;++i){text+="#";}}}this.Canvas.textBaseline="middle";this.Canvas.fillStyle=textColor;this.Canvas.fillText(text,x,top+this.ItemMergin.Top+this.RowHeight/2);if(bClip)this.Canvas.restore();};//{ Text:, Symbol:{ Family:'iconfont', Size:, Data:[ { Text:'\ue631', Color:'#1c65db'}, ...] } ]}
12621
12623
  this.DrawItemTextEx=function(drawInfo,left,top,width){var text=drawInfo.Text;var clrText=drawInfo.TextColor;var symbol=drawInfo.Symbol;//符号
12622
- var textAlign=drawInfo.TextAlign;var textWidth=this.Canvas.measureText(text).width+1;;var totalWidth=textWidth;var font=symbol.Size*GetDevicePixelRatio()+'px '+symbol.Family;this.Canvas.font=font;var aryIconWidth=[];for(var i=0;i<symbol.Data.length;++i){var item=symbol.Data[i];var iconWidth=this.Canvas.measureText(item.Text).width+1;if(totalWidth+iconWidth>width)break;totalWidth+=iconWidth;aryIconWidth[i]=iconWidth;}var x=left;var y=top+this.ItemMergin.Top+this.RowHeight/2;if(textAlign=='center'){x=left+(width-totalWidth)/2;}else if(textAlign=='right'){x=left+(width-totalWidth);}else{x+=2;}this.Canvas.textBaseline="middle";this.Canvas.textAlign="left";this.Canvas.font=this.ItemFont;this.Canvas.fillStyle=clrText;this.Canvas.fillText(text,x,y);x+=textWidth;this.Canvas.font=font;for(var i=0;i<aryIconWidth.length;++i){var item=symbol.Data[i];this.Canvas.fillStyle=item.Color;this.Canvas.fillText(item.Text,x,y);x+=aryIconWidth[i];}this.Canvas.font=this.ItemFont;};this.DrawIconItem=function(drawInfo,left,top,width){if(!drawInfo||!drawInfo.Font||!drawInfo.Text)return;var text=drawInfo.Text;var clrText=drawInfo.TextColor;var textAlign=drawInfo.TextAlign;this.Canvas.font=drawInfo.Font;var textWidth=this.Canvas.measureText(text).width+1;;var x=left;var y=top+this.ItemMergin.Top+this.RowHeight/2;if(textAlign=='center'){x=left+(width-textWidth)/2;}else if(textAlign=='right'){x=left+(width-textWidth);}else{x+=2;}this.Canvas.textBaseline="middle";this.Canvas.textAlign="left";this.Canvas.fillStyle=clrText;this.Canvas.fillText(text,x,y);this.Canvas.font=this.ItemFont;};this.DrawCheckbox=function(drawInfo,left,top,width){var textAlign=drawInfo.TextAlign;var size=this.CheckBoxConfig.Size*this.DevicePixelRatio;//var boxWidth=size+this.CheckBoxConfig.Margin.Left+this.CheckBoxConfig.Margin.Right;
12623
- var x=left+this.CheckBoxConfig.Margin.Left;var y=top+this.RowHeight-this.CheckBoxConfig.Margin.Bottom;if(textAlign=='center')x=left+width/2-size/2;else if(textAlign=='right')x=left+width-this.CheckBoxConfig.Margin.Right;this.Canvas.font=drawInfo.Font;this.Canvas.textBaseline="bottom";this.Canvas.textAlign="left";if(drawInfo.Checked===true){this.Canvas.fillStyle=this.CheckBoxConfig.Checked.Color;this.Canvas.fillText(this.CheckBoxConfig.Checked.Symbol,x,y);}else if(drawInfo.Checked===false){this.Canvas.fillStyle=this.CheckBoxConfig.Unchecked.Color;this.Canvas.fillText(this.CheckBoxConfig.Unchecked.Symbol,x,y);}var rtBox={Left:x,Bottom:y,Width:size,Height:size};rtBox.Right=rtBox.Left+rtBox.Width;rtBox.Top=rtBox.Bottom-rtBox.Height;drawInfo.Botton={Rect:rtBox,Type:0};};//字体由外面设置
12624
+ var textAlign=drawInfo.TextAlign;var textWidth=this.Canvas.measureText(text).width+1;;var totalWidth=textWidth;var font=symbol.Size*GetDevicePixelRatio()+'px '+symbol.Family;this.Canvas.font=font;var aryIconWidth=[];for(var i=0;i<symbol.Data.length;++i){var item=symbol.Data[i];var iconWidth=this.Canvas.measureText(item.Text).width+1;if(totalWidth+iconWidth>width)break;totalWidth+=iconWidth;aryIconWidth[i]=iconWidth;}var x=left;var y=top+this.ItemMergin.Top+this.RowHeight/2;if(textAlign=='center'){x=left+(width-totalWidth)/2;}else if(textAlign=='right'){x=left+(width-totalWidth);}else{x+=2;}this.Canvas.textBaseline="middle";this.Canvas.textAlign="left";this.Canvas.font=this.ItemFont;this.Canvas.fillStyle=clrText;this.Canvas.fillText(text,x,y);x+=textWidth;this.Canvas.font=font;for(var i=0;i<aryIconWidth.length;++i){var item=symbol.Data[i];this.Canvas.fillStyle=item.Color;this.Canvas.fillText(item.Text,x,y);x+=aryIconWidth[i];}this.Canvas.font=this.ItemFont;};this.DrawIconItem=function(drawInfo,left,top,width){if(!drawInfo||!drawInfo.Font||!drawInfo.Text)return;var text=drawInfo.Text;var clrText=drawInfo.TextColor;var textAlign=drawInfo.TextAlign;this.Canvas.font=drawInfo.Font;var textWidth=this.Canvas.measureText(text).width+1;;var x=left;var y=top+this.ItemMergin.Top+this.RowHeight/2;if(textAlign=='center'){x=left+(width-textWidth)/2;}else if(textAlign=='right'){x=left+(width-textWidth);}else{x+=2;}this.Canvas.textBaseline="middle";this.Canvas.textAlign="left";this.Canvas.fillStyle=clrText;this.Canvas.fillText(text,x,y);this.Canvas.font=this.ItemFont;};this.DrawCheckbox=function(drawInfo,left,top,width){if(!IFrameSplitOperator.IsBool(drawInfo.Checked))return;if(!drawInfo.CheckBox)return;drawInfo.Font=drawInfo.CheckBox.Size*this.DevicePixelRatio+'px '+drawInfo.CheckBox.Family;var textAlign=drawInfo.TextAlign;var size=drawInfo.CheckBox.Size*this.DevicePixelRatio;var x=left+drawInfo.CheckBox.Margin.Left;var y=top+this.RowHeight-drawInfo.CheckBox.Margin.Bottom;if(textAlign=='center')x=left+width/2-size/2;else if(textAlign=='right')x=left+width-drawInfo.CheckBox.Margin.Right;this.Canvas.font=drawInfo.Font;this.Canvas.textBaseline="bottom";this.Canvas.textAlign="left";if(drawInfo.Checked===true){if(drawInfo.Enable===false)this.Canvas.fillStyle=drawInfo.CheckBox.Checked.DisableColor;else this.Canvas.fillStyle=drawInfo.CheckBox.Checked.Color;this.Canvas.fillText(drawInfo.CheckBox.Checked.Symbol,x,y);}else if(drawInfo.Checked===false){if(drawInfo.Enable===false)this.Canvas.fillStyle=drawInfo.CheckBox.Unchecked.DisableColor;else this.Canvas.fillStyle=drawInfo.CheckBox.Unchecked.Color;this.Canvas.fillText(drawInfo.CheckBox.Unchecked.Symbol,x,y);}if(drawInfo.Enable){var rtBox={Left:x,Bottom:y,Width:size,Height:size};rtBox.Right=rtBox.Left+rtBox.Width;rtBox.Top=rtBox.Bottom-rtBox.Height;drawInfo.Botton={Rect:rtBox,Type:0};}};//字体由外面设置
12624
12625
  this.TextEllipsis=function(text,maxWidth,maxText){if(!text)return null;if(text.length<maxText.length)return text;var start=maxText.length-3;if(start<0)return null;var newText=text.slice(0,start);for(var i=start;i<text.length;++i){var value=newText+text[i]+"...";var width=this.Canvas.measureText(value).width;if(width>maxWidth){newText+="...";break;}newText+=text[i];}return newText;};this.DrawMultiBar=function(colunmInfo,data,rtItem){if(!data.Source||!IFrameSplitOperator.IsNonEmptyArray(data.Source))return false;var barData=data.Source[colunmInfo.DataIndex];//{ Value:[0.4,0,2], Color:[0,1] };
12625
12626
  if(!barData)return false;if(!IFrameSplitOperator.IsNonEmptyArray(barData.Value))return false;var width=rtItem.Width-this.BarMergin.Left-this.BarMergin.Right;var left=rtItem.Left+this.BarMergin.Left;var top=rtItem.Top+this.RowMergin.Top+this.BarMergin.Top;var height=rtItem.Height-this.RowMergin.Top-this.RowMergin.Bottom-this.BarMergin.Top-this.BarMergin.Bottom;var right=left+width;for(var i=0;i<barData.Value.length;++i){var value=barData.Value[i];if(value<=0)continue;if(left>=right)break;var barWidth=width*value;if(barWidth<1)barWidth=1;if(left+barWidth>right)barWidth=right-left;var colorIndex=i;if(IFrameSplitOperator.IsNonEmptyArray(barData.Color)&&i<barData.Color.length)colorIndex=barData.Color[i];this.Canvas.fillStyle=g_JSChartResource.DealList.FieldColor.Bar[colorIndex];this.Canvas.fillRect(left,top,barWidth,height);left+=barWidth;}return true;};this.DrawCenterBar=function(colunmInfo,data,rtItem){if(!data.Source||!IFrameSplitOperator.IsNonEmptyArray(data.Source))return false;var barData=data.Source[colunmInfo.DataIndex];//{ Value:[0.4,0,2], Color:[0,1] };
12626
12627
  if(!barData)return false;if(!IFrameSplitOperator.IsNonEmptyArray(barData.Value))return false;var width=(rtItem.Width-this.BarMergin.Left-this.BarMergin.Right)/2;var left=rtItem.Left+this.BarMergin.Left;var center=left+width;var top=rtItem.Top+this.RowMergin.Top+this.BarMergin.Top;var height=rtItem.Height-this.RowMergin.Top-this.RowMergin.Bottom-this.BarMergin.Top-this.BarMergin.Bottom;var right=left+width;for(var i=0;i<barData.Value.length&&i<2;++i){var value=barData.Value[i];if(value<=0)continue;if(value>1)value=1;var barWidth=width*value;if(barWidth<1)barWidth=1;var colorIndex=i;if(IFrameSplitOperator.IsNonEmptyArray(barData.Color)&&i<barData.Color.length)colorIndex=barData.Color[i];this.Canvas.fillStyle=g_JSChartResource.DealList.FieldColor.Bar[colorIndex];if(i==0)//左边
@@ -12646,10 +12647,10 @@ this.GetNameColor=function(colunmInfo,symbol,rowType){var event=this.GetEventCal
12646
12647
  }var header=this.PtInHeader(x,y);if(header){var eventID=JSCHART_EVENT_ID.ON_CLICK_REPORT_HEADER;if(e.button==2){eventID=JSCHART_EVENT_ID.ON_RCLICK_REPORT_HEADER;}else if(e.button==0){eventID=JSCHART_EVENT_ID.ON_CLICK_REPORT_HEADER;}this.SendClickEvent(eventID,{Data:row,X:x,Y:y,e:e,Inside:insidePoint,UIElement:uiElement});return{Type:3,Redraw:bRedraw,Header:header};//表头
12647
12648
  }return null;};this.OnShiftClickRow=function(row){if(this.MultiSelectedRow.length<=0){this.MultiSelectedRow.push(row.DataIndex);return;}var max=null,min=null;for(var i=0;i<this.MultiSelectedRow.length;++i){var value=this.MultiSelectedRow[i];if(max==null||max<value)max=value;if(min==null||min>value)min=value;if(value==row.DataIndex)//移除
12648
12649
  {this.MultiSelectedRow.splice(i,1);return;}}if(max==min){var start=row.DataIndex,end=max;if(start>end){start=max;end=row.DataIndex;}this.MultiSelectedRow=[];for(var i=start;i<=end;++i){this.MultiSelectedRow.push(i);}}else{if(row.DataIndex<=max&&row.DataIndex>=min){this.MultiSelectedRow.push(row.DataIndex);}else{var start=Math.min(row.DataIndex,min);var end=Math.max(row.DataIndex,max);this.MultiSelectedRow=[];for(var i=start;i<=end;++i){this.MultiSelectedRow.push(i);}}}};this.OnDrawgRow=function(x,y,e)//Type: 5=顶部 6=空白行 2=行 7=底部
12649
- {if(!this.Data)return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;var topOffset=this.RowHeight/2;var top=this.RectClient.Top+this.HeaderHeight;var right=this.ChartBorder.GetChartWidth();var textTop=top+this.FixedRowHeight*this.FixedRowCount;if(y<textTop+topOffset)return{Type:5};for(var i=this.Data.YOffset,j=0;i<this.Data.Data.length&&j<this.RowCount;++i,++j){var symbol=this.Data.Data[i];var rtRow={Left:0,Top:textTop,Right:right,Bottom:textTop+this.RowHeight};rtRow.Top+=topOffset;rtRow.Bottom+=topOffset;if(x>=rtRow.Left&&x<=rtRow.Right&&y>=rtRow.Top&&y<=rtRow.Bottom){var data={DataIndex:i,Index:j,Symbol:symbol,Pos:0};if(j==0)data.Pos=1;else if(j==this.RowCount-1)data.Pos=2;return{Type:2,Data:data};}textTop+=this.RowHeight;}if(j<this.RowCount)return{Type:6};return{Type:7};};this.OnClickButton=function(x,y,e,status){if(e.button!=0)return false;var buttonData=this.GetButtonData(x,y);if(!buttonData)return true;if(buttonData.Type===0){var sendData={Column:buttonData.Column,Index:buttonData.Index,Stock:buttonData.Stock,PreventDefault:false};this.SendClickEvent(JSCHART_EVENT_ID.ON_CLICK_REPORT_CHECKBOX,sendData);if(!sendData.PreventDefault){if(IFrameSplitOperator.IsBool(buttonData.Stock.Checked))buttonData.Stock.Checked=!buttonData.Stock.Checked;else buttonData.Stock.Checked=true;}status.Redraw=true;return true;}return false;};this.OnDblClick=function(x,y,e){if(!this.Data)return false;var header=this.PtInHeaderDragBorder(x,y);if(header){this.SendClickEvent(JSCHART_EVENT_ID.ON_DBCLICK_REPORT_DRAG_COLUMN_WIDTH,{Data:header,X:x,Y:y});return true;}var row=this.PtInBody(x,y);if(row){this.SendClickEvent(JSCHART_EVENT_ID.ON_DBCLICK_REPORT_ROW,{Data:row,X:x,Y:y});return true;}return false;};this.PtInClient=function(x,y){if(x>this.RectClient.Left&&x<this.RectClient.Right&&y>this.RectClient.Top&&y<this.RectClient.Bottom)return true;return false;};this.PtInBody=function(x,y){if(!this.Data)return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;var top=this.RectClient.Top+this.HeaderHeight;var left=this.RectClient.Left;var right=this.RectClient.Right;var rowWidth=this.RectClient.Right-this.RectClient.Left;var textTop=top+this.FixedRowHeight*this.FixedRowCount;for(var i=this.Data.YOffset,j=0;i<this.Data.Data.length&&j<this.RowCount;++i,++j){var symbol=this.Data.Data[i];var rtRow={Left:left,Top:textTop,Right:right,Bottom:textTop+this.RowHeight};if(x>=rtRow.Left&&x<=rtRow.Right&&y>=rtRow.Top&&y<=rtRow.Bottom){var data={Rect:rtRow,DataIndex:i,Index:j,Symbol:symbol};data.Item=this.PtInItem(x,y,rtRow.Top,rtRow.Bottom);return data;}textTop+=this.RowHeight;}return null;};this.PtInFixedBody=function(x,y){if(this.FixedRowCount<=0)return null;var top=this.RectClient.Top+this.HeaderHeight;var left=this.RectClient.Left;var right=this.RectClient.Right;var rowWidth=this.RectClient.Right-this.RectClient.Left;var textTop=top;for(var i=0;i<this.FixedRowCount;++i){var rtRow={Left:left,Top:textTop,Right:right,Bottom:textTop+this.FixedRowHeight};if(x>=rtRow.Left&&x<=rtRow.Right&&y>=rtRow.Top&&y<=rtRow.Bottom){var data={Rect:rtRow,Index:i};data.Item=this.PtInItem(x,y,rtRow.Top,rtRow.Bottom);return data;}textTop+=this.FixedRowHeight;}return null;};this.PtInItem=function(x,y,top,bottom){var left=this.RectClient.Left;var right=this.RectClient.Right;var textLeft=left;//固定列
12650
+ {if(!this.Data)return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;var topOffset=this.RowHeight/2;var top=this.RectClient.Top+this.HeaderHeight;var right=this.ChartBorder.GetChartWidth();var textTop=top+this.FixedRowHeight*this.FixedRowCount;if(y<textTop+topOffset)return{Type:5};for(var i=this.Data.YOffset,j=0;i<this.Data.Data.length&&j<this.RowCount;++i,++j){var symbol=this.Data.Data[i];var rtRow={Left:0,Top:textTop,Right:right,Bottom:textTop+this.RowHeight};rtRow.Top+=topOffset;rtRow.Bottom+=topOffset;if(x>=rtRow.Left&&x<=rtRow.Right&&y>=rtRow.Top&&y<=rtRow.Bottom){var data={DataIndex:i,Index:j,Symbol:symbol,Pos:0};if(j==0)data.Pos=1;else if(j==this.RowCount-1)data.Pos=2;return{Type:2,Data:data};}textTop+=this.RowHeight;}if(j<this.RowCount)return{Type:6};return{Type:7};};this.OnClickButton=function(x,y,e,status){if(e.button!=0)return false;var buttonData=this.GetButtonData(x,y);if(!buttonData)return true;if(buttonData.Type===0){var sendData={Column:buttonData.Column,Index:buttonData.Index,Stock:buttonData.Stock,Data:buttonData.Data,PreventDefault:false};this.SendClickEvent(JSCHART_EVENT_ID.ON_CLICK_REPORT_CHECKBOX,sendData);if(!sendData.PreventDefault){if(IFrameSplitOperator.IsBool(buttonData.Data.Checked))buttonData.Data.Checked=!buttonData.Data.Checked;else buttonData.Data.Checked=true;}status.Redraw=true;return true;}return false;};this.OnDblClick=function(x,y,e){if(!this.Data)return false;var header=this.PtInHeaderDragBorder(x,y);if(header){this.SendClickEvent(JSCHART_EVENT_ID.ON_DBCLICK_REPORT_DRAG_COLUMN_WIDTH,{Data:header,X:x,Y:y});return true;}var row=this.PtInBody(x,y);if(row){this.SendClickEvent(JSCHART_EVENT_ID.ON_DBCLICK_REPORT_ROW,{Data:row,X:x,Y:y});return true;}return false;};this.PtInClient=function(x,y){if(x>this.RectClient.Left&&x<this.RectClient.Right&&y>this.RectClient.Top&&y<this.RectClient.Bottom)return true;return false;};this.PtInBody=function(x,y){if(!this.Data)return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;var top=this.RectClient.Top+this.HeaderHeight;var left=this.RectClient.Left;var right=this.RectClient.Right;var rowWidth=this.RectClient.Right-this.RectClient.Left;var textTop=top+this.FixedRowHeight*this.FixedRowCount;for(var i=this.Data.YOffset,j=0;i<this.Data.Data.length&&j<this.RowCount;++i,++j){var symbol=this.Data.Data[i];var rtRow={Left:left,Top:textTop,Right:right,Bottom:textTop+this.RowHeight};if(x>=rtRow.Left&&x<=rtRow.Right&&y>=rtRow.Top&&y<=rtRow.Bottom){var data={Rect:rtRow,DataIndex:i,Index:j,Symbol:symbol};data.Item=this.PtInItem(x,y,rtRow.Top,rtRow.Bottom);return data;}textTop+=this.RowHeight;}return null;};this.PtInFixedBody=function(x,y){if(this.FixedRowCount<=0)return null;var top=this.RectClient.Top+this.HeaderHeight;var left=this.RectClient.Left;var right=this.RectClient.Right;var rowWidth=this.RectClient.Right-this.RectClient.Left;var textTop=top;for(var i=0;i<this.FixedRowCount;++i){var rtRow={Left:left,Top:textTop,Right:right,Bottom:textTop+this.FixedRowHeight};if(x>=rtRow.Left&&x<=rtRow.Right&&y>=rtRow.Top&&y<=rtRow.Bottom){var data={Rect:rtRow,Index:i};data.Item=this.PtInItem(x,y,rtRow.Top,rtRow.Bottom);return data;}textTop+=this.FixedRowHeight;}return null;};this.PtInItem=function(x,y,top,bottom){var left=this.RectClient.Left;var right=this.RectClient.Right;var textLeft=left;//固定列
12650
12651
  for(var i=0;i<this.FixedColumn&&i<this.Column.length;++i){var item=this.Column[i];var header={Left:textLeft,Right:textLeft+item.Width,Top:top,Bottom:bottom};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;var header={Left:textLeft,Right:textLeft+item.Width,Top:top,Bottom:bottom};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;};this.PtInHeader=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;return this.PtInItem(x,y,top,bottom);};this.IsPtInBody=function(x,y){var top=this.RectClient.Top+this.HeaderHeight;var left=this.RectClient.Left;var right=this.RectClient.Right;var bottom=this.RectClient.Bottom;if(x>=left&&x<=right&&y>=top&&y<=bottom)return true;return false;};this.IsPtInHeader=function(x,y){if(!this.IsShowHeader)return false;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 true;return false;};this.SendClickEvent=function(id,data){var event=this.GetEventCallback(id);if(event&&event.Callback){event.Callback(event,data,this);}};this.DrawDragRow=function(){if(!this.DragRow)return;var drag=this.DragRow;if(!drag.Data||!drag.Inside||!drag.Data.Row)return;var dataIndex=drag.Data.Row.DataIndex;if(!IFrameSplitOperator.IsNumber(dataIndex)||dataIndex<0)return;var textTop=drag.Inside.Y-this.RowHeight/2;var top=textTop;var left=this.RectClient.Left;var rowWidth=this.RectClient.Right-this.RectClient.Left;//背景
12651
12652
  this.Canvas.fillStyle=this.DragRowColor;this.Canvas.fillRect(left,textTop,rowWidth,this.RowHeight);var symbol=this.Data.Data[dataIndex];var data={Symbol:symbol,Stock:null,Block:null};if(this.GetStockDataCallback)data.Stock=this.GetStockDataCallback(symbol);if(this.GetBlockDataCallback)data.Block=this.GetBlockDataCallback(symbol);data.Decimal=GetfloatPrecision(symbol);//小数位数
12652
- var chartRight=this.RectClient.Right;this.Canvas.font=this.ItemFont;for(var i=0;i<this.FixedColumn&&i<this.Column.length;++i){var item=this.Column[i];this.DrawItem(dataIndex,data,item,left,top,3);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,3);left+=item.Width;if(left>=chartRight)break;}};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};}}};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();//固定列
12653
+ var chartRight=this.RectClient.Right;this.Canvas.font=this.ItemFont;for(var i=0;i<this.FixedColumn&&i<this.Column.length;++i){var item=this.Column[i];this.DrawItem(dataIndex,data,item,left,top,3);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,3);left+=item.Width;if(left>=chartRight)break;}};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};}}};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();//固定列
12653
12654
  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;};}//报价列表底部tab和横向滚动条
12654
12655
  function ChartReportTab(){this.Canvas;//画布
12655
12656
  this.ChartBorder;//边框信息
@@ -13318,7 +13319,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
13318
13319
  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);};}/********************************************************************************
13319
13320
  * 版本信息输出
13320
13321
  *
13321
- */var HQCHART_VERSION="1.1.13554";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();//把给外界调用的方法暴露出来
13322
+ */var HQCHART_VERSION="1.1.13557";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();//把给外界调用的方法暴露出来
13322
13323
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
13323
13324
  // BaseIndex:BaseIndex,
13324
13325
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.13555",
3
+ "version": "1.1.13558",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -50889,8 +50889,9 @@ function HQPriceStringFormat()
50889
50889
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CORSSCURSOR_Y_TEXT);
50890
50890
  if (event)
50891
50891
  {
50892
- var data={ Value:this.Value, FrameID:this.FrameID };
50892
+ var data={ Value:this.Value, FrameID:this.FrameID, PreventDefault:false };
50893
50893
  event.Callback(event,data,this);
50894
+ if (data.PreventDefault==true) return false;
50894
50895
  }
50895
50896
  }
50896
50897
 
@@ -50965,8 +50966,10 @@ function HQDateStringFormat()
50965
50966
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CORSSCURSOR_X_TEXT);
50966
50967
  if (event)
50967
50968
  {
50968
- var data={ Item:currentData, Period:this.Data.Period, Date:currentData.Date, Time:currentData.Time,Index:this.Data.DataOffset+index };
50969
+ var data={ Item:currentData, Period:this.Data.Period, Date:currentData.Date, Time:currentData.Time,Index:this.Data.DataOffset+index, PreventDefault:false };
50969
50970
  event.Callback(event,data,this);
50971
+
50972
+ if (data.PreventDefault==true) return false;
50970
50973
  }
50971
50974
  }
50972
50975
 
@@ -51105,8 +51108,10 @@ function HQMinuteTimeStringFormat()
51105
51108
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CORSSCURSOR_X_TEXT);
51106
51109
  if (event)
51107
51110
  {
51108
- var data={ Time:time, Index:showIndex };
51111
+ var data={ Time:time, Index:showIndex, PreventDefault:false };
51109
51112
  event.Callback(event,data,this);
51113
+
51114
+ if (data.PreventDefault==true) return false;
51110
51115
  }
51111
51116
  }
51112
51117
 
@@ -3671,13 +3671,7 @@ var REPORT_COLUMN_ID=
3671
3671
  TIME_ID:31, //时间 hhmmss / hhmm / hhmmss.fff
3672
3672
  DATE_ID:32, //日期
3673
3673
 
3674
- CHECKBOX_ID:33, //单选框
3675
- CHECKBOX2_ID:34,
3676
- CHECKBOX3_ID:35,
3677
- CHECKBOX4_ID:36,
3678
- CHECKBOX5_ID:37,
3679
- CHECKBOX6_ID:38,
3680
-
3674
+ CHECKBOX_ID:33, //单选框
3681
3675
 
3682
3676
  SYMBOL_NAME_ID:99,
3683
3677
 
@@ -3685,6 +3679,7 @@ var REPORT_COLUMN_ID=
3685
3679
  CUSTOM_NUMBER_TEXT_ID:101, //自定义数值型
3686
3680
  CUSTOM_DATETIME_TEXT_ID:102, //自定义日期类型
3687
3681
  CUSTOM_ICON_ID:103, //自定义图标
3682
+ CUSTOM_CHECKBOX_ID:104, //自定义checkbox
3688
3683
  }
3689
3684
 
3690
3685
  var MAP_COLUMN_FIELD=new Map([
@@ -4053,6 +4048,14 @@ function ChartReport()
4053
4048
  if (IFrameSplitOperator.IsNumber(item.ValueType)) colItem.FormatType=item.ValueType; //输出样式
4054
4049
 
4055
4050
  }
4051
+ else if (item.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID)
4052
+ {
4053
+ if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) continue;
4054
+ if (IFrameSplitOperator.IsNumber(item.DataIndex)) colItem.DataIndex=item.DataIndex; //数据在扩展数据索引列
4055
+ if (IFrameSplitOperator.IsNumber(item.BlockIndex)) colItem.BlockIndex=item.BlockIndex;
4056
+ if (item.CheckBox) colItem.CheckBox=CloneData(item.CheckBox);
4057
+ else colItem.CheckBox=CloneData(g_JSChartResource.Report.CheckBox);
4058
+ }
4056
4059
  else if (item.Type==REPORT_COLUMN_ID.CUSTOM_ICON_ID)
4057
4060
  {
4058
4061
 
@@ -4069,6 +4072,7 @@ function ChartReport()
4069
4072
  {
4070
4073
  if (IFrameSplitOperator.IsNumber(item.FormatType)) colItem.FormatType=item.FormatType;
4071
4074
  }
4075
+
4072
4076
 
4073
4077
  this.Column.push(colItem);
4074
4078
  }
@@ -4165,7 +4169,9 @@ function ChartReport()
4165
4169
  { Type:REPORT_COLUMN_ID.TIME_ID, Title:"时间", TextAlign:"left", ValueType:0, TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"99:99:99.999" },
4166
4170
  { Type:REPORT_COLUMN_ID.DATE_ID, Title:"日期", TextAlign:"left", FormatType:0, TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99" },
4167
4171
 
4168
- { Type:REPORT_COLUMN_ID.CHECKBOX_ID, Title:"", TextAlign:"center", FixedWidth:20*GetDevicePixelRatio() }
4172
+ { Type:REPORT_COLUMN_ID.CHECKBOX_ID, Title:"", TextAlign:"center", FixedWidth:20*GetDevicePixelRatio() },
4173
+
4174
+ { Type:REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID, Title:"", TextAlign:"center", FixedWidth:20*GetDevicePixelRatio() },
4169
4175
 
4170
4176
 
4171
4177
  ];
@@ -5116,10 +5122,21 @@ function ChartReport()
5116
5122
  rtItem.Bottom=rtItem.Top+rtItem.Height;
5117
5123
  drawInfo.Rect=rtItem;
5118
5124
  drawInfo.Checked=false;
5119
- drawInfo.Font=`${this.CheckBoxConfig.Size*this.DevicePixelRatio}px ${this.CheckBoxConfig.Family}`;
5125
+ drawInfo.Enable=true;
5126
+ drawInfo.CheckBox=this.CheckBoxConfig;
5127
+ drawInfo.Data=stock;
5120
5128
  if (stock && IFrameSplitOperator.IsBool(stock.Checked))
5121
5129
  drawInfo.Checked=stock.Checked;
5122
5130
  }
5131
+ else if (column.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID)
5132
+ {
5133
+ rtItem={ Left:left, Top:top, Width:column.Width, Height:this.RowHeight };
5134
+ rtItem.Right=rtItem.Left+rtItem.Width;
5135
+ rtItem.Bottom=rtItem.Top+rtItem.Height;
5136
+ drawInfo.Rect=rtItem;
5137
+
5138
+ this.GetCustomCheckBoxDrawInfo(data, column, drawInfo);
5139
+ }
5123
5140
 
5124
5141
 
5125
5142
  //拖拽行颜色
@@ -5134,7 +5151,7 @@ function ChartReport()
5134
5151
  {
5135
5152
  this.DrawIconItem(drawInfo, x, top, textWidth);
5136
5153
  }
5137
- else if (column.Type==REPORT_COLUMN_ID.CHECKBOX_ID)
5154
+ else if (column.Type==REPORT_COLUMN_ID.CHECKBOX_ID || column.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID)
5138
5155
  {
5139
5156
  this.DrawCheckbox(drawInfo, left, top, itemWidth);
5140
5157
  }
@@ -5171,7 +5188,7 @@ function ChartReport()
5171
5188
 
5172
5189
  if (drawInfo.Botton)
5173
5190
  {
5174
- var buttonData={ Stock:stock, Index:index, Column:column, Rect:drawInfo.Botton.Rect, Type:drawInfo.Botton.Type };
5191
+ var buttonData={ Stock:stock, Index:index, Column:column, Rect:drawInfo.Botton.Rect, Type:drawInfo.Botton.Type, Data:drawInfo.Data };
5175
5192
  this.ButtonRect.push(buttonData);
5176
5193
  }
5177
5194
  }
@@ -5427,6 +5444,19 @@ function ChartReport()
5427
5444
  }
5428
5445
  }
5429
5446
 
5447
+ this.GetCustomCheckBoxDrawInfo=function(data, column, drawInfo)
5448
+ {
5449
+ var checkData=this.GetExtendData(data, column);
5450
+ if (!checkData) return;
5451
+ if (!IFrameSplitOperator.IsBool(checkData.Checked)) return;
5452
+
5453
+ drawInfo.Checked=checkData.Checked;
5454
+ drawInfo.Enable=true;
5455
+ drawInfo.Data=checkData;
5456
+ if (IFrameSplitOperator.IsBool(checkData.DisableCheckBox)) drawInfo.Enable=!checkData.DisableCheckBox;
5457
+ drawInfo.CheckBox=column.CheckBox;
5458
+ }
5459
+
5430
5460
  this.FormaTimeDrawInfo=function(column, stock, drawInfo, data)
5431
5461
  {
5432
5462
  if (!IFrameSplitOperator.IsNumber(stock.Time)) return;
@@ -5693,32 +5723,40 @@ function ChartReport()
5693
5723
 
5694
5724
  this.DrawCheckbox=function(drawInfo, left, top, width)
5695
5725
  {
5726
+ if (!IFrameSplitOperator.IsBool(drawInfo.Checked)) return;
5727
+ if (!drawInfo.CheckBox) return;
5728
+
5729
+ drawInfo.Font=`${drawInfo.CheckBox.Size*this.DevicePixelRatio}px ${drawInfo.CheckBox.Family}`;
5696
5730
  var textAlign=drawInfo.TextAlign;
5697
- var size=this.CheckBoxConfig.Size*this.DevicePixelRatio;
5698
- //var boxWidth=size+this.CheckBoxConfig.Margin.Left+this.CheckBoxConfig.Margin.Right;
5699
- var x=left+this.CheckBoxConfig.Margin.Left;
5700
- var y=top+this.RowHeight-this.CheckBoxConfig.Margin.Bottom;
5731
+ var size=drawInfo.CheckBox.Size*this.DevicePixelRatio;
5732
+ var x=left+drawInfo.CheckBox.Margin.Left;
5733
+ var y=top+this.RowHeight-drawInfo.CheckBox.Margin.Bottom;
5701
5734
  if (textAlign=='center') x=left+width/2-size/2;
5702
- else if (textAlign=='right') x=left+width-this.CheckBoxConfig.Margin.Right;
5735
+ else if (textAlign=='right') x=left+width-drawInfo.CheckBox.Margin.Right;
5703
5736
 
5704
5737
  this.Canvas.font=drawInfo.Font;
5705
5738
  this.Canvas.textBaseline="bottom";
5706
5739
  this.Canvas.textAlign="left";
5707
5740
  if (drawInfo.Checked===true)
5708
5741
  {
5709
- this.Canvas.fillStyle=this.CheckBoxConfig.Checked.Color;
5710
- this.Canvas.fillText(this.CheckBoxConfig.Checked.Symbol,x,y);
5742
+ if (drawInfo.Enable===false) this.Canvas.fillStyle=drawInfo.CheckBox.Checked.DisableColor;
5743
+ else this.Canvas.fillStyle=drawInfo.CheckBox.Checked.Color;
5744
+ this.Canvas.fillText(drawInfo.CheckBox.Checked.Symbol,x,y);
5711
5745
  }
5712
5746
  else if (drawInfo.Checked===false)
5713
5747
  {
5714
- this.Canvas.fillStyle=this.CheckBoxConfig.Unchecked.Color;
5715
- this.Canvas.fillText(this.CheckBoxConfig.Unchecked.Symbol,x,y);
5748
+ if (drawInfo.Enable===false) this.Canvas.fillStyle=drawInfo.CheckBox.Unchecked.DisableColor;
5749
+ else this.Canvas.fillStyle=drawInfo.CheckBox.Unchecked.Color;
5750
+ this.Canvas.fillText(drawInfo.CheckBox.Unchecked.Symbol,x,y);
5716
5751
  }
5717
5752
 
5718
- var rtBox={ Left:x, Bottom:y, Width:size, Height:size };
5719
- rtBox.Right=rtBox.Left+rtBox.Width;
5720
- rtBox.Top=rtBox.Bottom-rtBox.Height;
5721
- drawInfo.Botton={ Rect:rtBox, Type:0 };
5753
+ if (drawInfo.Enable)
5754
+ {
5755
+ var rtBox={ Left:x, Bottom:y, Width:size, Height:size };
5756
+ rtBox.Right=rtBox.Left+rtBox.Width;
5757
+ rtBox.Top=rtBox.Bottom-rtBox.Height;
5758
+ drawInfo.Botton={ Rect:rtBox, Type:0 };
5759
+ }
5722
5760
  }
5723
5761
 
5724
5762
  //字体由外面设置
@@ -6411,15 +6449,15 @@ function ChartReport()
6411
6449
 
6412
6450
  if (buttonData.Type===0)
6413
6451
  {
6414
- var sendData={ Column:buttonData.Column, Index:buttonData.Index, Stock:buttonData.Stock, PreventDefault: false };
6452
+ var sendData={ Column:buttonData.Column, Index:buttonData.Index, Stock:buttonData.Stock, Data:buttonData.Data, PreventDefault: false };
6415
6453
  this.SendClickEvent(JSCHART_EVENT_ID.ON_CLICK_REPORT_CHECKBOX, sendData)
6416
6454
 
6417
6455
  if (!sendData.PreventDefault)
6418
6456
  {
6419
- if (IFrameSplitOperator.IsBool(buttonData.Stock.Checked))
6420
- buttonData.Stock.Checked=!buttonData.Stock.Checked;
6457
+ if (IFrameSplitOperator.IsBool(buttonData.Data.Checked))
6458
+ buttonData.Data.Checked=!buttonData.Data.Checked;
6421
6459
  else
6422
- buttonData.Stock.Checked=true;
6460
+ buttonData.Data.Checked=true;
6423
6461
  }
6424
6462
 
6425
6463
  status.Redraw=true;
@@ -6679,7 +6717,7 @@ function ChartReport()
6679
6717
 
6680
6718
  if (x>=rt.Left && x<=rt.Right && y>=rt.Top && y<=rt.Bottom)
6681
6719
  {
6682
- return { Rect:item.Rect, Stock:item.Stock, Column:item.Column, Index:item.Index, Type:item.Type };
6720
+ return { Rect:item.Rect, Stock:item.Stock, Column:item.Column, Index:item.Index, Type:item.Type, Data:item.Data };
6683
6721
  }
6684
6722
  }
6685
6723
  }
@@ -54814,8 +54814,9 @@ function HQPriceStringFormat()
54814
54814
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CORSSCURSOR_Y_TEXT);
54815
54815
  if (event)
54816
54816
  {
54817
- var data={ Value:this.Value, FrameID:this.FrameID };
54817
+ var data={ Value:this.Value, FrameID:this.FrameID, PreventDefault:false };
54818
54818
  event.Callback(event,data,this);
54819
+ if (data.PreventDefault==true) return false;
54819
54820
  }
54820
54821
  }
54821
54822
 
@@ -54890,8 +54891,10 @@ function HQDateStringFormat()
54890
54891
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CORSSCURSOR_X_TEXT);
54891
54892
  if (event)
54892
54893
  {
54893
- var data={ Item:currentData, Period:this.Data.Period, Date:currentData.Date, Time:currentData.Time,Index:this.Data.DataOffset+index };
54894
+ var data={ Item:currentData, Period:this.Data.Period, Date:currentData.Date, Time:currentData.Time,Index:this.Data.DataOffset+index, PreventDefault:false };
54894
54895
  event.Callback(event,data,this);
54896
+
54897
+ if (data.PreventDefault==true) return false;
54895
54898
  }
54896
54899
  }
54897
54900
 
@@ -55030,8 +55033,10 @@ function HQMinuteTimeStringFormat()
55030
55033
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CORSSCURSOR_X_TEXT);
55031
55034
  if (event)
55032
55035
  {
55033
- var data={ Time:time, Index:showIndex };
55036
+ var data={ Time:time, Index:showIndex, PreventDefault:false };
55034
55037
  event.Callback(event,data,this);
55038
+
55039
+ if (data.PreventDefault==true) return false;
55035
55040
  }
55036
55041
  }
55037
55042
 
@@ -128877,13 +128882,7 @@ var REPORT_COLUMN_ID=
128877
128882
  TIME_ID:31, //时间 hhmmss / hhmm / hhmmss.fff
128878
128883
  DATE_ID:32, //日期
128879
128884
 
128880
- CHECKBOX_ID:33, //单选框
128881
- CHECKBOX2_ID:34,
128882
- CHECKBOX3_ID:35,
128883
- CHECKBOX4_ID:36,
128884
- CHECKBOX5_ID:37,
128885
- CHECKBOX6_ID:38,
128886
-
128885
+ CHECKBOX_ID:33, //单选框
128887
128886
 
128888
128887
  SYMBOL_NAME_ID:99,
128889
128888
 
@@ -128891,6 +128890,7 @@ var REPORT_COLUMN_ID=
128891
128890
  CUSTOM_NUMBER_TEXT_ID:101, //自定义数值型
128892
128891
  CUSTOM_DATETIME_TEXT_ID:102, //自定义日期类型
128893
128892
  CUSTOM_ICON_ID:103, //自定义图标
128893
+ CUSTOM_CHECKBOX_ID:104, //自定义checkbox
128894
128894
  }
128895
128895
 
128896
128896
  var MAP_COLUMN_FIELD=new Map([
@@ -129259,6 +129259,14 @@ function ChartReport()
129259
129259
  if (IFrameSplitOperator.IsNumber(item.ValueType)) colItem.FormatType=item.ValueType; //输出样式
129260
129260
 
129261
129261
  }
129262
+ else if (item.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID)
129263
+ {
129264
+ if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) continue;
129265
+ if (IFrameSplitOperator.IsNumber(item.DataIndex)) colItem.DataIndex=item.DataIndex; //数据在扩展数据索引列
129266
+ if (IFrameSplitOperator.IsNumber(item.BlockIndex)) colItem.BlockIndex=item.BlockIndex;
129267
+ if (item.CheckBox) colItem.CheckBox=CloneData(item.CheckBox);
129268
+ else colItem.CheckBox=CloneData(g_JSChartResource.Report.CheckBox);
129269
+ }
129262
129270
  else if (item.Type==REPORT_COLUMN_ID.CUSTOM_ICON_ID)
129263
129271
  {
129264
129272
 
@@ -129275,6 +129283,7 @@ function ChartReport()
129275
129283
  {
129276
129284
  if (IFrameSplitOperator.IsNumber(item.FormatType)) colItem.FormatType=item.FormatType;
129277
129285
  }
129286
+
129278
129287
 
129279
129288
  this.Column.push(colItem);
129280
129289
  }
@@ -129371,7 +129380,9 @@ function ChartReport()
129371
129380
  { Type:REPORT_COLUMN_ID.TIME_ID, Title:"时间", TextAlign:"left", ValueType:0, TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"99:99:99.999" },
129372
129381
  { Type:REPORT_COLUMN_ID.DATE_ID, Title:"日期", TextAlign:"left", FormatType:0, TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99" },
129373
129382
 
129374
- { Type:REPORT_COLUMN_ID.CHECKBOX_ID, Title:"", TextAlign:"center", FixedWidth:20*GetDevicePixelRatio() }
129383
+ { Type:REPORT_COLUMN_ID.CHECKBOX_ID, Title:"", TextAlign:"center", FixedWidth:20*GetDevicePixelRatio() },
129384
+
129385
+ { Type:REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID, Title:"", TextAlign:"center", FixedWidth:20*GetDevicePixelRatio() },
129375
129386
 
129376
129387
 
129377
129388
  ];
@@ -130322,10 +130333,21 @@ function ChartReport()
130322
130333
  rtItem.Bottom=rtItem.Top+rtItem.Height;
130323
130334
  drawInfo.Rect=rtItem;
130324
130335
  drawInfo.Checked=false;
130325
- drawInfo.Font=`${this.CheckBoxConfig.Size*this.DevicePixelRatio}px ${this.CheckBoxConfig.Family}`;
130336
+ drawInfo.Enable=true;
130337
+ drawInfo.CheckBox=this.CheckBoxConfig;
130338
+ drawInfo.Data=stock;
130326
130339
  if (stock && IFrameSplitOperator.IsBool(stock.Checked))
130327
130340
  drawInfo.Checked=stock.Checked;
130328
130341
  }
130342
+ else if (column.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID)
130343
+ {
130344
+ rtItem={ Left:left, Top:top, Width:column.Width, Height:this.RowHeight };
130345
+ rtItem.Right=rtItem.Left+rtItem.Width;
130346
+ rtItem.Bottom=rtItem.Top+rtItem.Height;
130347
+ drawInfo.Rect=rtItem;
130348
+
130349
+ this.GetCustomCheckBoxDrawInfo(data, column, drawInfo);
130350
+ }
130329
130351
 
130330
130352
 
130331
130353
  //拖拽行颜色
@@ -130340,7 +130362,7 @@ function ChartReport()
130340
130362
  {
130341
130363
  this.DrawIconItem(drawInfo, x, top, textWidth);
130342
130364
  }
130343
- else if (column.Type==REPORT_COLUMN_ID.CHECKBOX_ID)
130365
+ else if (column.Type==REPORT_COLUMN_ID.CHECKBOX_ID || column.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID)
130344
130366
  {
130345
130367
  this.DrawCheckbox(drawInfo, left, top, itemWidth);
130346
130368
  }
@@ -130377,7 +130399,7 @@ function ChartReport()
130377
130399
 
130378
130400
  if (drawInfo.Botton)
130379
130401
  {
130380
- var buttonData={ Stock:stock, Index:index, Column:column, Rect:drawInfo.Botton.Rect, Type:drawInfo.Botton.Type };
130402
+ var buttonData={ Stock:stock, Index:index, Column:column, Rect:drawInfo.Botton.Rect, Type:drawInfo.Botton.Type, Data:drawInfo.Data };
130381
130403
  this.ButtonRect.push(buttonData);
130382
130404
  }
130383
130405
  }
@@ -130633,6 +130655,19 @@ function ChartReport()
130633
130655
  }
130634
130656
  }
130635
130657
 
130658
+ this.GetCustomCheckBoxDrawInfo=function(data, column, drawInfo)
130659
+ {
130660
+ var checkData=this.GetExtendData(data, column);
130661
+ if (!checkData) return;
130662
+ if (!IFrameSplitOperator.IsBool(checkData.Checked)) return;
130663
+
130664
+ drawInfo.Checked=checkData.Checked;
130665
+ drawInfo.Enable=true;
130666
+ drawInfo.Data=checkData;
130667
+ if (IFrameSplitOperator.IsBool(checkData.DisableCheckBox)) drawInfo.Enable=!checkData.DisableCheckBox;
130668
+ drawInfo.CheckBox=column.CheckBox;
130669
+ }
130670
+
130636
130671
  this.FormaTimeDrawInfo=function(column, stock, drawInfo, data)
130637
130672
  {
130638
130673
  if (!IFrameSplitOperator.IsNumber(stock.Time)) return;
@@ -130899,32 +130934,40 @@ function ChartReport()
130899
130934
 
130900
130935
  this.DrawCheckbox=function(drawInfo, left, top, width)
130901
130936
  {
130937
+ if (!IFrameSplitOperator.IsBool(drawInfo.Checked)) return;
130938
+ if (!drawInfo.CheckBox) return;
130939
+
130940
+ drawInfo.Font=`${drawInfo.CheckBox.Size*this.DevicePixelRatio}px ${drawInfo.CheckBox.Family}`;
130902
130941
  var textAlign=drawInfo.TextAlign;
130903
- var size=this.CheckBoxConfig.Size*this.DevicePixelRatio;
130904
- //var boxWidth=size+this.CheckBoxConfig.Margin.Left+this.CheckBoxConfig.Margin.Right;
130905
- var x=left+this.CheckBoxConfig.Margin.Left;
130906
- var y=top+this.RowHeight-this.CheckBoxConfig.Margin.Bottom;
130942
+ var size=drawInfo.CheckBox.Size*this.DevicePixelRatio;
130943
+ var x=left+drawInfo.CheckBox.Margin.Left;
130944
+ var y=top+this.RowHeight-drawInfo.CheckBox.Margin.Bottom;
130907
130945
  if (textAlign=='center') x=left+width/2-size/2;
130908
- else if (textAlign=='right') x=left+width-this.CheckBoxConfig.Margin.Right;
130946
+ else if (textAlign=='right') x=left+width-drawInfo.CheckBox.Margin.Right;
130909
130947
 
130910
130948
  this.Canvas.font=drawInfo.Font;
130911
130949
  this.Canvas.textBaseline="bottom";
130912
130950
  this.Canvas.textAlign="left";
130913
130951
  if (drawInfo.Checked===true)
130914
130952
  {
130915
- this.Canvas.fillStyle=this.CheckBoxConfig.Checked.Color;
130916
- this.Canvas.fillText(this.CheckBoxConfig.Checked.Symbol,x,y);
130953
+ if (drawInfo.Enable===false) this.Canvas.fillStyle=drawInfo.CheckBox.Checked.DisableColor;
130954
+ else this.Canvas.fillStyle=drawInfo.CheckBox.Checked.Color;
130955
+ this.Canvas.fillText(drawInfo.CheckBox.Checked.Symbol,x,y);
130917
130956
  }
130918
130957
  else if (drawInfo.Checked===false)
130919
130958
  {
130920
- this.Canvas.fillStyle=this.CheckBoxConfig.Unchecked.Color;
130921
- this.Canvas.fillText(this.CheckBoxConfig.Unchecked.Symbol,x,y);
130959
+ if (drawInfo.Enable===false) this.Canvas.fillStyle=drawInfo.CheckBox.Unchecked.DisableColor;
130960
+ else this.Canvas.fillStyle=drawInfo.CheckBox.Unchecked.Color;
130961
+ this.Canvas.fillText(drawInfo.CheckBox.Unchecked.Symbol,x,y);
130922
130962
  }
130923
130963
 
130924
- var rtBox={ Left:x, Bottom:y, Width:size, Height:size };
130925
- rtBox.Right=rtBox.Left+rtBox.Width;
130926
- rtBox.Top=rtBox.Bottom-rtBox.Height;
130927
- drawInfo.Botton={ Rect:rtBox, Type:0 };
130964
+ if (drawInfo.Enable)
130965
+ {
130966
+ var rtBox={ Left:x, Bottom:y, Width:size, Height:size };
130967
+ rtBox.Right=rtBox.Left+rtBox.Width;
130968
+ rtBox.Top=rtBox.Bottom-rtBox.Height;
130969
+ drawInfo.Botton={ Rect:rtBox, Type:0 };
130970
+ }
130928
130971
  }
130929
130972
 
130930
130973
  //字体由外面设置
@@ -131617,15 +131660,15 @@ function ChartReport()
131617
131660
 
131618
131661
  if (buttonData.Type===0)
131619
131662
  {
131620
- var sendData={ Column:buttonData.Column, Index:buttonData.Index, Stock:buttonData.Stock, PreventDefault: false };
131663
+ var sendData={ Column:buttonData.Column, Index:buttonData.Index, Stock:buttonData.Stock, Data:buttonData.Data, PreventDefault: false };
131621
131664
  this.SendClickEvent(JSCHART_EVENT_ID.ON_CLICK_REPORT_CHECKBOX, sendData)
131622
131665
 
131623
131666
  if (!sendData.PreventDefault)
131624
131667
  {
131625
- if (IFrameSplitOperator.IsBool(buttonData.Stock.Checked))
131626
- buttonData.Stock.Checked=!buttonData.Stock.Checked;
131668
+ if (IFrameSplitOperator.IsBool(buttonData.Data.Checked))
131669
+ buttonData.Data.Checked=!buttonData.Data.Checked;
131627
131670
  else
131628
- buttonData.Stock.Checked=true;
131671
+ buttonData.Data.Checked=true;
131629
131672
  }
131630
131673
 
131631
131674
  status.Redraw=true;
@@ -131885,7 +131928,7 @@ function ChartReport()
131885
131928
 
131886
131929
  if (x>=rt.Left && x<=rt.Right && y>=rt.Top && y<=rt.Bottom)
131887
131930
  {
131888
- return { Rect:item.Rect, Stock:item.Stock, Column:item.Column, Index:item.Index, Type:item.Type };
131931
+ return { Rect:item.Rect, Stock:item.Stock, Column:item.Column, Index:item.Index, Type:item.Type, Data:item.Data };
131889
131932
  }
131890
131933
  }
131891
131934
  }
@@ -135720,7 +135763,7 @@ function ScrollBarBGChart()
135720
135763
 
135721
135764
 
135722
135765
 
135723
- var HQCHART_VERSION="1.1.13554";
135766
+ var HQCHART_VERSION="1.1.13557";
135724
135767
 
135725
135768
  function PrintHQChartVersion()
135726
135769
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.13554";
8
+ var HQCHART_VERSION="1.1.13557";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -54858,8 +54858,9 @@ function HQPriceStringFormat()
54858
54858
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CORSSCURSOR_Y_TEXT);
54859
54859
  if (event)
54860
54860
  {
54861
- var data={ Value:this.Value, FrameID:this.FrameID };
54861
+ var data={ Value:this.Value, FrameID:this.FrameID, PreventDefault:false };
54862
54862
  event.Callback(event,data,this);
54863
+ if (data.PreventDefault==true) return false;
54863
54864
  }
54864
54865
  }
54865
54866
 
@@ -54934,8 +54935,10 @@ function HQDateStringFormat()
54934
54935
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CORSSCURSOR_X_TEXT);
54935
54936
  if (event)
54936
54937
  {
54937
- var data={ Item:currentData, Period:this.Data.Period, Date:currentData.Date, Time:currentData.Time,Index:this.Data.DataOffset+index };
54938
+ var data={ Item:currentData, Period:this.Data.Period, Date:currentData.Date, Time:currentData.Time,Index:this.Data.DataOffset+index, PreventDefault:false };
54938
54939
  event.Callback(event,data,this);
54940
+
54941
+ if (data.PreventDefault==true) return false;
54939
54942
  }
54940
54943
  }
54941
54944
 
@@ -55074,8 +55077,10 @@ function HQMinuteTimeStringFormat()
55074
55077
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CORSSCURSOR_X_TEXT);
55075
55078
  if (event)
55076
55079
  {
55077
- var data={ Time:time, Index:showIndex };
55080
+ var data={ Time:time, Index:showIndex, PreventDefault:false };
55078
55081
  event.Callback(event,data,this);
55082
+
55083
+ if (data.PreventDefault==true) return false;
55079
55084
  }
55080
55085
  }
55081
55086
 
@@ -128921,13 +128926,7 @@ var REPORT_COLUMN_ID=
128921
128926
  TIME_ID:31, //时间 hhmmss / hhmm / hhmmss.fff
128922
128927
  DATE_ID:32, //日期
128923
128928
 
128924
- CHECKBOX_ID:33, //单选框
128925
- CHECKBOX2_ID:34,
128926
- CHECKBOX3_ID:35,
128927
- CHECKBOX4_ID:36,
128928
- CHECKBOX5_ID:37,
128929
- CHECKBOX6_ID:38,
128930
-
128929
+ CHECKBOX_ID:33, //单选框
128931
128930
 
128932
128931
  SYMBOL_NAME_ID:99,
128933
128932
 
@@ -128935,6 +128934,7 @@ var REPORT_COLUMN_ID=
128935
128934
  CUSTOM_NUMBER_TEXT_ID:101, //自定义数值型
128936
128935
  CUSTOM_DATETIME_TEXT_ID:102, //自定义日期类型
128937
128936
  CUSTOM_ICON_ID:103, //自定义图标
128937
+ CUSTOM_CHECKBOX_ID:104, //自定义checkbox
128938
128938
  }
128939
128939
 
128940
128940
  var MAP_COLUMN_FIELD=new Map([
@@ -129303,6 +129303,14 @@ function ChartReport()
129303
129303
  if (IFrameSplitOperator.IsNumber(item.ValueType)) colItem.FormatType=item.ValueType; //输出样式
129304
129304
 
129305
129305
  }
129306
+ else if (item.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID)
129307
+ {
129308
+ if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) continue;
129309
+ if (IFrameSplitOperator.IsNumber(item.DataIndex)) colItem.DataIndex=item.DataIndex; //数据在扩展数据索引列
129310
+ if (IFrameSplitOperator.IsNumber(item.BlockIndex)) colItem.BlockIndex=item.BlockIndex;
129311
+ if (item.CheckBox) colItem.CheckBox=CloneData(item.CheckBox);
129312
+ else colItem.CheckBox=CloneData(g_JSChartResource.Report.CheckBox);
129313
+ }
129306
129314
  else if (item.Type==REPORT_COLUMN_ID.CUSTOM_ICON_ID)
129307
129315
  {
129308
129316
 
@@ -129319,6 +129327,7 @@ function ChartReport()
129319
129327
  {
129320
129328
  if (IFrameSplitOperator.IsNumber(item.FormatType)) colItem.FormatType=item.FormatType;
129321
129329
  }
129330
+
129322
129331
 
129323
129332
  this.Column.push(colItem);
129324
129333
  }
@@ -129415,7 +129424,9 @@ function ChartReport()
129415
129424
  { Type:REPORT_COLUMN_ID.TIME_ID, Title:"时间", TextAlign:"left", ValueType:0, TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"99:99:99.999" },
129416
129425
  { Type:REPORT_COLUMN_ID.DATE_ID, Title:"日期", TextAlign:"left", FormatType:0, TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99" },
129417
129426
 
129418
- { Type:REPORT_COLUMN_ID.CHECKBOX_ID, Title:"", TextAlign:"center", FixedWidth:20*GetDevicePixelRatio() }
129427
+ { Type:REPORT_COLUMN_ID.CHECKBOX_ID, Title:"", TextAlign:"center", FixedWidth:20*GetDevicePixelRatio() },
129428
+
129429
+ { Type:REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID, Title:"", TextAlign:"center", FixedWidth:20*GetDevicePixelRatio() },
129419
129430
 
129420
129431
 
129421
129432
  ];
@@ -130366,10 +130377,21 @@ function ChartReport()
130366
130377
  rtItem.Bottom=rtItem.Top+rtItem.Height;
130367
130378
  drawInfo.Rect=rtItem;
130368
130379
  drawInfo.Checked=false;
130369
- drawInfo.Font=`${this.CheckBoxConfig.Size*this.DevicePixelRatio}px ${this.CheckBoxConfig.Family}`;
130380
+ drawInfo.Enable=true;
130381
+ drawInfo.CheckBox=this.CheckBoxConfig;
130382
+ drawInfo.Data=stock;
130370
130383
  if (stock && IFrameSplitOperator.IsBool(stock.Checked))
130371
130384
  drawInfo.Checked=stock.Checked;
130372
130385
  }
130386
+ else if (column.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID)
130387
+ {
130388
+ rtItem={ Left:left, Top:top, Width:column.Width, Height:this.RowHeight };
130389
+ rtItem.Right=rtItem.Left+rtItem.Width;
130390
+ rtItem.Bottom=rtItem.Top+rtItem.Height;
130391
+ drawInfo.Rect=rtItem;
130392
+
130393
+ this.GetCustomCheckBoxDrawInfo(data, column, drawInfo);
130394
+ }
130373
130395
 
130374
130396
 
130375
130397
  //拖拽行颜色
@@ -130384,7 +130406,7 @@ function ChartReport()
130384
130406
  {
130385
130407
  this.DrawIconItem(drawInfo, x, top, textWidth);
130386
130408
  }
130387
- else if (column.Type==REPORT_COLUMN_ID.CHECKBOX_ID)
130409
+ else if (column.Type==REPORT_COLUMN_ID.CHECKBOX_ID || column.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID)
130388
130410
  {
130389
130411
  this.DrawCheckbox(drawInfo, left, top, itemWidth);
130390
130412
  }
@@ -130421,7 +130443,7 @@ function ChartReport()
130421
130443
 
130422
130444
  if (drawInfo.Botton)
130423
130445
  {
130424
- var buttonData={ Stock:stock, Index:index, Column:column, Rect:drawInfo.Botton.Rect, Type:drawInfo.Botton.Type };
130446
+ var buttonData={ Stock:stock, Index:index, Column:column, Rect:drawInfo.Botton.Rect, Type:drawInfo.Botton.Type, Data:drawInfo.Data };
130425
130447
  this.ButtonRect.push(buttonData);
130426
130448
  }
130427
130449
  }
@@ -130677,6 +130699,19 @@ function ChartReport()
130677
130699
  }
130678
130700
  }
130679
130701
 
130702
+ this.GetCustomCheckBoxDrawInfo=function(data, column, drawInfo)
130703
+ {
130704
+ var checkData=this.GetExtendData(data, column);
130705
+ if (!checkData) return;
130706
+ if (!IFrameSplitOperator.IsBool(checkData.Checked)) return;
130707
+
130708
+ drawInfo.Checked=checkData.Checked;
130709
+ drawInfo.Enable=true;
130710
+ drawInfo.Data=checkData;
130711
+ if (IFrameSplitOperator.IsBool(checkData.DisableCheckBox)) drawInfo.Enable=!checkData.DisableCheckBox;
130712
+ drawInfo.CheckBox=column.CheckBox;
130713
+ }
130714
+
130680
130715
  this.FormaTimeDrawInfo=function(column, stock, drawInfo, data)
130681
130716
  {
130682
130717
  if (!IFrameSplitOperator.IsNumber(stock.Time)) return;
@@ -130943,32 +130978,40 @@ function ChartReport()
130943
130978
 
130944
130979
  this.DrawCheckbox=function(drawInfo, left, top, width)
130945
130980
  {
130981
+ if (!IFrameSplitOperator.IsBool(drawInfo.Checked)) return;
130982
+ if (!drawInfo.CheckBox) return;
130983
+
130984
+ drawInfo.Font=`${drawInfo.CheckBox.Size*this.DevicePixelRatio}px ${drawInfo.CheckBox.Family}`;
130946
130985
  var textAlign=drawInfo.TextAlign;
130947
- var size=this.CheckBoxConfig.Size*this.DevicePixelRatio;
130948
- //var boxWidth=size+this.CheckBoxConfig.Margin.Left+this.CheckBoxConfig.Margin.Right;
130949
- var x=left+this.CheckBoxConfig.Margin.Left;
130950
- var y=top+this.RowHeight-this.CheckBoxConfig.Margin.Bottom;
130986
+ var size=drawInfo.CheckBox.Size*this.DevicePixelRatio;
130987
+ var x=left+drawInfo.CheckBox.Margin.Left;
130988
+ var y=top+this.RowHeight-drawInfo.CheckBox.Margin.Bottom;
130951
130989
  if (textAlign=='center') x=left+width/2-size/2;
130952
- else if (textAlign=='right') x=left+width-this.CheckBoxConfig.Margin.Right;
130990
+ else if (textAlign=='right') x=left+width-drawInfo.CheckBox.Margin.Right;
130953
130991
 
130954
130992
  this.Canvas.font=drawInfo.Font;
130955
130993
  this.Canvas.textBaseline="bottom";
130956
130994
  this.Canvas.textAlign="left";
130957
130995
  if (drawInfo.Checked===true)
130958
130996
  {
130959
- this.Canvas.fillStyle=this.CheckBoxConfig.Checked.Color;
130960
- this.Canvas.fillText(this.CheckBoxConfig.Checked.Symbol,x,y);
130997
+ if (drawInfo.Enable===false) this.Canvas.fillStyle=drawInfo.CheckBox.Checked.DisableColor;
130998
+ else this.Canvas.fillStyle=drawInfo.CheckBox.Checked.Color;
130999
+ this.Canvas.fillText(drawInfo.CheckBox.Checked.Symbol,x,y);
130961
131000
  }
130962
131001
  else if (drawInfo.Checked===false)
130963
131002
  {
130964
- this.Canvas.fillStyle=this.CheckBoxConfig.Unchecked.Color;
130965
- this.Canvas.fillText(this.CheckBoxConfig.Unchecked.Symbol,x,y);
131003
+ if (drawInfo.Enable===false) this.Canvas.fillStyle=drawInfo.CheckBox.Unchecked.DisableColor;
131004
+ else this.Canvas.fillStyle=drawInfo.CheckBox.Unchecked.Color;
131005
+ this.Canvas.fillText(drawInfo.CheckBox.Unchecked.Symbol,x,y);
130966
131006
  }
130967
131007
 
130968
- var rtBox={ Left:x, Bottom:y, Width:size, Height:size };
130969
- rtBox.Right=rtBox.Left+rtBox.Width;
130970
- rtBox.Top=rtBox.Bottom-rtBox.Height;
130971
- drawInfo.Botton={ Rect:rtBox, Type:0 };
131008
+ if (drawInfo.Enable)
131009
+ {
131010
+ var rtBox={ Left:x, Bottom:y, Width:size, Height:size };
131011
+ rtBox.Right=rtBox.Left+rtBox.Width;
131012
+ rtBox.Top=rtBox.Bottom-rtBox.Height;
131013
+ drawInfo.Botton={ Rect:rtBox, Type:0 };
131014
+ }
130972
131015
  }
130973
131016
 
130974
131017
  //字体由外面设置
@@ -131661,15 +131704,15 @@ function ChartReport()
131661
131704
 
131662
131705
  if (buttonData.Type===0)
131663
131706
  {
131664
- var sendData={ Column:buttonData.Column, Index:buttonData.Index, Stock:buttonData.Stock, PreventDefault: false };
131707
+ var sendData={ Column:buttonData.Column, Index:buttonData.Index, Stock:buttonData.Stock, Data:buttonData.Data, PreventDefault: false };
131665
131708
  this.SendClickEvent(JSCHART_EVENT_ID.ON_CLICK_REPORT_CHECKBOX, sendData)
131666
131709
 
131667
131710
  if (!sendData.PreventDefault)
131668
131711
  {
131669
- if (IFrameSplitOperator.IsBool(buttonData.Stock.Checked))
131670
- buttonData.Stock.Checked=!buttonData.Stock.Checked;
131712
+ if (IFrameSplitOperator.IsBool(buttonData.Data.Checked))
131713
+ buttonData.Data.Checked=!buttonData.Data.Checked;
131671
131714
  else
131672
- buttonData.Stock.Checked=true;
131715
+ buttonData.Data.Checked=true;
131673
131716
  }
131674
131717
 
131675
131718
  status.Redraw=true;
@@ -131929,7 +131972,7 @@ function ChartReport()
131929
131972
 
131930
131973
  if (x>=rt.Left && x<=rt.Right && y>=rt.Top && y<=rt.Bottom)
131931
131974
  {
131932
- return { Rect:item.Rect, Stock:item.Stock, Column:item.Column, Index:item.Index, Type:item.Type };
131975
+ return { Rect:item.Rect, Stock:item.Stock, Column:item.Column, Index:item.Index, Type:item.Type, Data:item.Data };
131933
131976
  }
131934
131977
  }
131935
131978
  }
@@ -139674,7 +139717,7 @@ function HQChartScriptWorker()
139674
139717
 
139675
139718
 
139676
139719
 
139677
- var HQCHART_VERSION="1.1.13554";
139720
+ var HQCHART_VERSION="1.1.13557";
139678
139721
 
139679
139722
  function PrintHQChartVersion()
139680
139723
  {