hqchart 1.1.14432 → 1.1.14441
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/umychart.vue.js +16 -15
- package/package.json +1 -1
- package/src/jscommon/umychart.js +10 -15
- package/src/jscommon/umychart.report.js +56 -5
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +67 -21
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +67 -21
package/lib/umychart.vue.js
CHANGED
|
@@ -1132,8 +1132,7 @@ TBP:REF(REF(C,1)+IF(DIRECT0>50,MIN(MF0,MF1),MAX(MF0,MF1)),1);\n\
|
|
|
1132
1132
|
*///日志输出类
|
|
1133
1133
|
if(!JSConsole){var JSConsole={Chart:{Log:console.log,Warn:console.warn},//图形日志
|
|
1134
1134
|
Complier:{Log:console.log,Warn:console.warn//编译器日志
|
|
1135
|
-
}};}function JSChart(divElement,bOffscreen,bCacheCanvas){this.DivElement=divElement;this.
|
|
1136
|
-
this.JSChartContainer;//画图控件
|
|
1135
|
+
}};}function JSChart(divElement,bOffscreen,bCacheCanvas){this.DivElement=divElement;this.JSChartContainer;//画图控件
|
|
1137
1136
|
this.ResizeListener;//h5 canvas
|
|
1138
1137
|
this.CanvasElement=document.createElement("canvas");this.CanvasElement.className='jschart-drawing';this.CanvasElement.id=Guid();this.CanvasElement.setAttribute("tabindex",0);if(this.CanvasElement.style){this.CanvasElement.style.outline='none';//this.CanvasElement.style.position="absolute"; //外部自己设置
|
|
1139
1138
|
}if(divElement.hasChildNodes()){JSConsole.Chart.Log("[JSChart::JSChart] divElement hasChildNodes",divElement.childNodes);}divElement.appendChild(this.CanvasElement);//离屏
|
|
@@ -1144,10 +1143,9 @@ this.CreateExtraCanvasElement=function(name,option){if(this.MapExtraCanvasElemen
|
|
|
1144
1143
|
{ Type: 1=K线柱子宽度不变 2=K线全部显示
|
|
1145
1144
|
Redraw:是否重绘, XYSplit:是否重新计算分割线 }
|
|
1146
1145
|
*/this.OnSize=function(option){//画布大小通过div获取 如果有style里的大小 使用style里的
|
|
1147
|
-
var height=this.DivElement.offsetHeight;var width=this.DivElement.offsetWidth;
|
|
1148
|
-
height
|
|
1149
|
-
|
|
1150
|
-
this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;if(this.OffscreenCanvasElement){this.OffscreenCanvasElement.height=this.CanvasElement.height;this.OffscreenCanvasElement.width=this.CanvasElement.width;}if(this.CacheCanvasElement){this.CacheCanvasElement.height=this.CanvasElement.height;this.CacheCanvasElement.width=this.CanvasElement.width;}var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=(0,_getIterator3.default)(this.MapExtraCanvasElement),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var mapItem=_step.value;var item=mapItem[1];var element=item.Element;if(!element)continue;element.height=this.CanvasElement.height;element.width=this.CanvasElement.width;element.style.width=this.CanvasElement.style.width;element.style.height=this.CanvasElement.style.height;}}catch(err){_didIteratorError=true;_iteratorError=err;}finally{try{if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return();}}finally{if(_didIteratorError){throw _iteratorError;}}}JSConsole.Chart.Log('[JSChart::OnSize] devicePixelRatio='+window.devicePixelRatio+', height='+this.CanvasElement.height+', width='+this.CanvasElement.width);if(option&&option.Redraw==false)return;if(this.JSChartContainer){if(option&&option.XYSplit===true)this.JSChartContainer.ResetFrameXYSplit();if(this.JSChartContainer.OnSize&&option&&option.Type==1)//K线宽度不变
|
|
1146
|
+
var height=this.DivElement.offsetHeight;var width=this.DivElement.offsetWidth;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率s
|
|
1147
|
+
if(this.DivElement.style.height&&this.DivElement.style.width){if(this.DivElement.style.height.includes("px"))height=parseInt(this.DivElement.style.height.replace("px",""));if(this.DivElement.style.width.includes("px"))width=parseInt(this.DivElement.style.width.replace("px",""));}this.CanvasElement.style.width=width+'px';this.CanvasElement.style.height=height+'px';this.CanvasElement.height=parseInt(pixelTatio*height);//根据分辨率缩放
|
|
1148
|
+
this.CanvasElement.width=parseInt(pixelTatio*width);if(this.OffscreenCanvasElement){this.OffscreenCanvasElement.height=this.CanvasElement.height;this.OffscreenCanvasElement.width=this.CanvasElement.width;}if(this.CacheCanvasElement){this.CacheCanvasElement.height=this.CanvasElement.height;this.CacheCanvasElement.width=this.CanvasElement.width;}var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=(0,_getIterator3.default)(this.MapExtraCanvasElement),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var mapItem=_step.value;var item=mapItem[1];var element=item.Element;if(!element)continue;element.height=this.CanvasElement.height;element.width=this.CanvasElement.width;element.style.width=this.CanvasElement.style.width;element.style.height=this.CanvasElement.style.height;}}catch(err){_didIteratorError=true;_iteratorError=err;}finally{try{if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return();}}finally{if(_didIteratorError){throw _iteratorError;}}}JSConsole.Chart.Log('[JSChart::OnSize] devicePixelRatio='+window.devicePixelRatio+', height='+this.CanvasElement.height+', width='+this.CanvasElement.width);if(option&&option.Redraw==false)return;if(this.JSChartContainer){if(option&&option.XYSplit===true)this.JSChartContainer.ResetFrameXYSplit();if(this.JSChartContainer.OnSize&&option&&option.Type==1)//K线宽度不变
|
|
1151
1149
|
{this.JSChartContainer.OnSize();}else if(this.JSChartContainer.ShowAllKLine&&option&&option.Type==2){this.JSChartContainer.ShowAllKLine();}else{if(this.JSChartContainer.Frame)this.JSChartContainer.Frame.SetSizeChage(true);this.JSChartContainer.Draw();}}};//手机屏需要调整 间距
|
|
1152
1150
|
this.AdjustChartBorder=function(chart){var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
1153
1151
|
chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;if(chart.Frame.AutoLeftBorder){var item=chart.Frame.AutoLeftBorder;if(IFrameSplitOperator.IsNumber(item.MinWidth))item.MinWidth*=pixelTatio;if(IFrameSplitOperator.IsNumber(item.Blank))item.Blank*=pixelTatio;}if(chart.Frame.AutoRightBorder){var item=chart.Frame.AutoRightBorder;if(IFrameSplitOperator.IsNumber(item.MinWidth))item.MinWidth*=pixelTatio;if(IFrameSplitOperator.IsNumber(item.Blank))item.Blank*=pixelTatio;}};this.AdjustTitleHeight=function(chart){var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
@@ -1492,7 +1490,8 @@ ON_CLICK_TREPORT_HEADER:124,//单击T型报价表头
|
|
|
1492
1490
|
ON_RCLICK_TREPORT_HEADER:125,//右键点击T型报价表头
|
|
1493
1491
|
ON_TREPORT_LOCAL_SORT:126,//T型报价列表本地排序
|
|
1494
1492
|
ON_CLICK_TREPORT_ROW:127,//左键点击点击T型报价列表
|
|
1495
|
-
ON_MOVE_SELECTED_TREPORT_ROW:128
|
|
1493
|
+
ON_MOVE_SELECTED_TREPORT_ROW:128,//T型报价 选中行变动
|
|
1494
|
+
ON_MOVE_SELECTED_REPORT_ROW:129,//报价列表 选中行变动
|
|
1496
1495
|
ON_DRAW_REPORT_ROW_BG:140,//报价列表整行背景
|
|
1497
1496
|
ON_CLICK_REPORT_CHECKBOX:141,//报价列表checkbox
|
|
1498
1497
|
ON_CLICK_REPORT_BUTTON:142,//报价列表按钮
|
|
@@ -7766,7 +7765,7 @@ chart.SetOption(option);this.ExtendChartPaint.push(chart);this.Frame.ChartBorder
|
|
|
7766
7765
|
this.GlobalOption.RightHorizontal.Show=false;return chart;};this.CreateExtendChart=function(name,option)//创建扩展图形
|
|
7767
7766
|
{var chart;switch(name){case'筹码分布':case"StockChip":chart=new StockChip();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.Left=this.Frame.ChartBorder.Right;//左边间距使用当前框架间距
|
|
7768
7767
|
chart.SetOption(option);this.ExtendChartPaint.push(chart);this.Frame.ChartBorder.Right+=chart.Width;//创建筹码需要增加右边的间距
|
|
7769
|
-
return chart;case"StockChipPhone":return this.CreateStockChipPhone(option);case'KLineTooltip':if(option.Create&&typeof option.Create=='function')chart=option.Create();else chart=new KLineTooltipPaint();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;option.LanguageID=this.LanguageID;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;case"深度图":chart=new DepthMapPaint();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;case"K线Y轴背景图":chart=new KLineYAxisBGPaint();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;case'背景图':chart=new BackgroundPaint();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;case"FrameSplitPaint"://框架分割
|
|
7768
|
+
return chart;case"StockChipPhone":return this.CreateStockChipPhone(option);case'KLineTooltip':if(option.Create&&typeof option.Create=='function')chart=option.Create();else chart=new KLineTooltipPaint();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;option.LanguageID=this.LanguageID;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;case"深度图":chart=new DepthMapPaint();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;case"K线Y轴背景图":chart=new KLineYAxisBGPaint();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;case"BackgroundPaint":case'背景图':chart=new BackgroundPaint();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;case"FrameSplitPaint"://框架分割
|
|
7770
7769
|
chart=new FrameSplitPaint();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;default:chart=g_ExtendChartPaintFactory.Create(name);if(!chart)return null;chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;}};this.OnTouchFinished=function(){if(this.DragMode==JSCHART_DRAG_ID.CLICK_TOUCH_MODE_ID){if(this.TouchStatus.CorssCursorShow==true&&this.TouchDrawCount>0)return;this.TouchStatus.CorssCursorShow=false;this.DrawDynamicInfo();return;}if(this.EnableClickModel===true){if(this.ClickModel.IsShowCorssCursor==true&&this.TouchDrawCount>0)return;this.ClickModel.IsShowCorssCursor=false;this.DrawDynamicInfo();return;}if(this.CorssCursorTouchEnd===true)//手势离开十字光标消失
|
|
7771
7770
|
{if(this.TouchDrawCount>0)this.DrawDynamicInfo();return;}for(var i in this.ExtendChartPaint){var item=this.ExtendChartPaint[i];if(item.ClassName==='KLineTooltipPaint'){this.DrawDynamicInfo();}}};//锁|解锁指标 { Index:指标名字,IsLocked:是否要锁上,Callback:回调 }
|
|
7772
7771
|
this.LockIndex=function(lockData){if(!lockData)return;if(!lockData.IndexName)return;for(var _i12 in this.WindowIndex){var _item4=this.WindowIndex[_i12];if(!_item4)conintue;if(_item4.Name==lockData.IndexName){_item4.SetLock(lockData);this.Update();break;}}};this.TryClickLock=function(x,y){for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];if(!item.Frame.IsLocked)continue;if(!item.Frame.LockPaint)continue;var tooltip=new TooltipData();if(!item.Frame.LockPaint.GetTooltipData(x,y,tooltip))continue;tooltip.HQChart=this;if(tooltip.Data.Callback)tooltip.Data.Callback(tooltip);return true;}return false;};this.TryClickIndexTitle=function(x,y){for(var i in this.TitlePaint){var item=this.TitlePaint[i];if(!item.IsClickTitle)continue;if(!item.IsClickTitle(x,y))continue;var data={Point:{X:x,Y:y},Title:item.Title,FrameID:item.Frame.Identify};JSConsole.Chart.Log('[KLineChartContainer::TryClickIndexTitle] click title ',data);var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_INDEXTITLE);if(event&&event.Callback)event.Callback(event,data,this);return true;}return false;};this.SetSizeChange=function(bChanged){this.Frame.SetSizeChage(bChanged);for(var i in this.ExtendChartPaint){var item=this.ExtendChartPaint[i];item.SizeChange=bChanged;}};this.SetSizeChage=this.SetSizeChange;//单词拼错了, 还没替换完
|
|
@@ -8605,7 +8604,7 @@ this.CreateWindowIndex=function(windowIndex){this.WindowIndex[windowIndex].Creat
|
|
|
8605
8604
|
}
|
|
8606
8605
|
}
|
|
8607
8606
|
*/};this.CreateExtendChart=function(name,option)//创建扩展图形
|
|
8608
|
-
{var chart;switch(name){case'MinuteTooltip':if(option.Create&&typeof option.Create=='function')chart=option.Create();else chart=new MinuteTooltipPaint();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;option.LanguageID=this.LanguageID;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;case"MinutePCTooltip":if(option.Create&&typeof option.Create=="function")chart=option.Create();else chart=new MinuteLeftTooltipPaint();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;option.LanguageID=this.LanguageID;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;case"MinuteBackgroundPaint":chart=new MinuteBackgroundPaint();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;option.LanguageID=this.LanguageID;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;case"背景图":chart=new BackgroundPaint();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;default:chart=g_ExtendChartPaintFactory.Create(name);if(!chart)return null;chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;}};this.SetMinuteInfo=function(aryInfo,bUpdate){this.ChartInfo=[];//先清空
|
|
8607
|
+
{var chart;switch(name){case'MinuteTooltip':if(option.Create&&typeof option.Create=='function')chart=option.Create();else chart=new MinuteTooltipPaint();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;option.LanguageID=this.LanguageID;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;case"MinutePCTooltip":if(option.Create&&typeof option.Create=="function")chart=option.Create();else chart=new MinuteLeftTooltipPaint();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;option.LanguageID=this.LanguageID;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;case"MinuteBackgroundPaint":chart=new MinuteBackgroundPaint();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;option.LanguageID=this.LanguageID;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;case"BackgroundPaint":case"背景图":chart=new BackgroundPaint();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;default:chart=g_ExtendChartPaintFactory.Create(name);if(!chart)return null;chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.SetOption(option);this.ExtendChartPaint.push(chart);return chart;}};this.SetMinuteInfo=function(aryInfo,bUpdate){this.ChartInfo=[];//先清空
|
|
8609
8608
|
for(var i in aryInfo){var infoItem=JSMinuteInfoMap.Get(aryInfo[i]);if(!infoItem)continue;var item=infoItem.Create();this.ChartInfo.push(item);}if(bUpdate==true)this.RequestMinuteInfoData();};this.GetChartMinuteInfo=function(){return this.ChartInfoPaint;};this.CreateMinuteInfo=function(option)//在Create()以后 在调用
|
|
8610
8609
|
{var chart=new ChartMinuteInfo();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.SubFrame[0].Frame.ChartBorder;chart.ChartFrame=this.Frame.SubFrame[0].Frame;chart.HQChartBorder=this.Frame.ChartBorder;chart.ChartMinutePrice=this.ChartPaint[0];if(option&&chart.SetOption)chart.SetOption(option);this.ChartInfoPaint=chart;return chart;};//信息地雷数据请求
|
|
8611
8610
|
this.RequestMinuteInfoData=function(){if(this.ChartInfo.length<=0)return;var chart=this.GetChartMinuteInfo();if(!chart)chart=this.CreateMinuteInfo(null);//不存在就创建
|
|
@@ -12718,8 +12717,8 @@ this.AddEventCallback=function(object){if(!object||!object.event||!object.callba
|
|
|
12718
12717
|
this.HideMinuteChartTooltip();this.HideFloatTooltip();switch(keyID){case 33://page up
|
|
12719
12718
|
if(this.GotoPreviousPage(this.PageUpDownCycle)){this.Draw();this.DelayUpdateStockData();}break;case 34://page down
|
|
12720
12719
|
if(this.GotoNextPage(this.PageUpDownCycle)){this.Draw();this.DelayUpdateStockData();}break;case 38://up
|
|
12721
|
-
var result=this.MoveSelectedRow(-1);if(result){if(result.Redraw)this.Draw();if(result.Update)this.DelayUpdateStockData();}break;case 40://down
|
|
12722
|
-
var result=this.MoveSelectedRow(1);if(result){if(result.Redraw)this.Draw();if(result.Update)this.DelayUpdateStockData();}break;case 37://left
|
|
12720
|
+
var result=this.MoveSelectedRow(-1,{EnablePageCycle:this.PageUpDownCycle});if(result){if(result.Redraw)this.Draw();if(result.Update)this.DelayUpdateStockData();this.MoveSelectedRowEvent(result.OldIndex,result.NewIndex);}break;case 40://down
|
|
12721
|
+
var result=this.MoveSelectedRow(1,{EnablePageCycle:this.PageUpDownCycle});if(result){if(result.Redraw)this.Draw();if(result.Update)this.DelayUpdateStockData();this.MoveSelectedRowEvent(result.OldIndex,result.NewIndex);}break;case 37://left
|
|
12723
12722
|
if(this.MoveXOffset(-1))this.Draw();break;case 39://right
|
|
12724
12723
|
if(this.MoveXOffset(1))this.Draw();break;}//不让滚动条滚动
|
|
12725
12724
|
if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.UIOnDblClick=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart)chart.OnDblClick(x,y,e);};this.UIOnMouseDown=function(e){var _this58=this;this.DragXScroll=null;this.DragYScroll=null;this.DragHeader=null;this.DragColumnWidth=null;this.DragMove={Click:{X:e.clientX,Y:e.clientY},Move:{X:e.clientX,Y:e.clientY},PreMove:{X:e.clientX,Y:e.clientY}};var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart){var dragColumnWidth=chart.PtInHeaderDragBorder(x,y);if(dragColumnWidth){this.DragColumnWidth={ClickPoint:{X:x,Y:y},LastPoint:{X:x,Y:y},//Click:{ X:e.clientX, Y:e.clientY },
|
|
@@ -12787,10 +12786,12 @@ return true;}else{return false;}}this.Data.YOffset+=pageSize;var showDataCount=d
|
|
|
12787
12786
|
return true;}else{return false;}}var offset=this.Data.YOffset;offset-=pageSize;if(offset<0)offset=0;this.Data.YOffset=offset;return true;};this.MoveYOffset=function(setp,bCycle)//bCycle 是否循环
|
|
12788
12787
|
{if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return false;var chart=this.ChartPaint[0];if(!chart)return false;var pageStatus=chart.GetCurrentPageStatus();if(pageStatus.IsSinglePage)return false;if(setp>0)//向上
|
|
12789
12788
|
{var count=this.Data.Data.length;var pageSize=pageStatus.PageSize;var offset=this.Data.YOffset;if(bCycle){for(var i=0;i<setp;++i){++offset;if(offset+pageSize>count)offset=0;}}else{if(offset+pageSize>=count)return false;for(var i=0;i<setp;++i){if(offset+pageSize+1>count)break;++offset;}}this.Data.YOffset=offset;return true;}else if(setp<0)//向下
|
|
12790
|
-
{setp=Math.abs(setp);var offset=this.Data.YOffset;if(bCycle){var pageSize=pageStatus.PageSize;for(var i=0;i<setp;++i){--offset;if(offset<0)offset=this.Data.Data.length-pageSize;}}else{if(this.Data.YOffset<=0)return false;for(var i=0;i<setp;++i){if(offset-1<0)break;--offset;}}this.Data.YOffset=offset;return true;}return false;}
|
|
12789
|
+
{setp=Math.abs(setp);var offset=this.Data.YOffset;if(bCycle){var pageSize=pageStatus.PageSize;for(var i=0;i<setp;++i){--offset;if(offset<0)offset=this.Data.Data.length-pageSize;}}else{if(this.Data.YOffset<=0)return false;for(var i=0;i<setp;++i){if(offset-1<0)break;--offset;}}this.Data.YOffset=offset;return true;}return false;};// option={ EnablePageCycle: true/false(是否循环翻页) }
|
|
12790
|
+
this.MoveSelectedRow=function(step,option){var chart=this.ChartPaint[0];if(!chart)return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;var bPageCycle=false;if(option){if(IFrameSplitOperator.IsBool(option.EnablePageCycle))bPageCycle=option.EnablePageCycle;}var result={Redraw:false,Update:false,OldIndex:-1,NewIndex:-1};//Redraw=重绘, Update=更新数据
|
|
12791
12791
|
if(chart.MultiSelectModel==1){var pageStatus=chart.GetCurrentPageStatus();if(IFrameSplitOperator.IsNonEmptyArray(pageStatus.MultiSelectedRow)){var selected=pageStatus.MultiSelectedRow[0];if(step>0){if(selected==this.Data.Data.length-1)return result;if(selected<0||selected<pageStatus.Start||selected>pageStatus.End){chart.MultiSelectedRow=[pageStatus.Start];result.Redraw=true;return result;}var offset=this.Data.YOffset;for(var i=0;i<step;++i){++selected;if(selected>pageStatus.End)++offset;if(selected>=this.Data.Data.length){selected=0;offset=0;}}result.Redraw=true;result.Update=offset!=this.Data.YOffset;chart.MultiSelectedRow=[selected];this.Data.YOffset=offset;return result;}else if(step<0){if(selected==0)return result;if(selected<0||selected<pageStatus.Start||selected>pageStatus.End){chart.MultiSelectedRow=[pageStatus.End];result.Redraw=true;return result;}step=Math.abs(step);var offset=this.Data.YOffset;for(var i=0;i<step;++i){--selected;if(selected<pageStatus.Start)--offset;if(selected<0){selected=this.Data.Data.length-1;offset=this.Data.Data.length-pageSize;if(offset<0)offset=0;}}result.Redraw=true;result.Update=offset!=this.Data.YOffset;chart.MultiSelectedRow=[selected];this.Data.YOffset=offset;return result;}else{return null;}return result;}else{var selected=-1;if(step>0)selected=pageStatus.Start;else if(step<0)selected=pageStatus.End;else return null;chart.MultiSelectedRow=[selected];result.Redraw=true;}return result;}if(chart.SelectedModel==0)//不可翻页模式, 只能在当前页移动
|
|
12792
|
-
{var pageStatus=chart.GetCurrentPageStatus();var pageSize=pageStatus.End-pageStatus.Start+1;var selected=pageStatus.SelectedRow;if(step>0){selected+=step;selected=selected%pageSize;chart.SelectedRow=selected;chart.SelectedFixedRow=-1;result.Redraw=true;return result;}else if(step<0){selected+=step;if(selected<0){selected=selected%pageSize;selected=pageSize+selected;}chart.SelectedRow=selected;chart.SelectedFixedRow=-1;result.Redraw=true;return result;}}else if(chart.SelectedModel==1)//可翻页模式
|
|
12793
|
-
{var pageStatus=chart.GetCurrentPageStatus();var pageSize=pageStatus.PageSize;var selected=pageStatus.SelectedRow;if(step>0){if(selected<0||selected<pageStatus.Start||selected>pageStatus.End){chart.SelectedRow=pageStatus.Start;result.Redraw=true;return result;}var offset=this.Data.YOffset;for(var i=0;i<step;++i){
|
|
12792
|
+
{var pageStatus=chart.GetCurrentPageStatus();var pageSize=pageStatus.End-pageStatus.Start+1;var selected=pageStatus.SelectedRow;result.OldIndex=this.Data.YOffset+selected;if(step>0){selected+=step;selected=selected%pageSize;chart.SelectedRow=selected;chart.SelectedFixedRow=-1;result.Redraw=true;result.NewIndex=this.Data.YOffset+selected;return result;}else if(step<0){selected+=step;if(selected<0){selected=selected%pageSize;selected=pageSize+selected;}chart.SelectedRow=selected;chart.SelectedFixedRow=-1;result.NewIndex=this.Data.YOffset+selected;result.Redraw=true;return result;}}else if(chart.SelectedModel==1)//可翻页模式
|
|
12793
|
+
{var pageStatus=chart.GetCurrentPageStatus();var pageSize=pageStatus.PageSize;var selected=pageStatus.SelectedRow;result.OldIndex=pageStatus.SelectedRow;if(step>0){if(selected<0||selected<pageStatus.Start||selected>pageStatus.End){chart.SelectedRow=pageStatus.Start;result.Redraw=true;result.NewIndex=pageStatus.Start;return result;}var offset=this.Data.YOffset;for(var i=0;i<step;++i){if(selected+1>=this.Data.Data.length&&!bPageCycle)break;++selected;if(selected>pageStatus.End)++offset;if(selected>=this.Data.Data.length){selected=0;offset=0;}}result.Redraw=true;result.Update=offset!=this.Data.YOffset;chart.SelectedRow=selected;this.Data.YOffset=offset;result.NewIndex=selected;return result;}else if(step<0){if(selected<0||selected<pageStatus.Start||selected>pageStatus.End){chart.SelectedRow=pageStatus.End;result.Redraw=true;result.NewIndex=pageStatus.End;return result;}step=Math.abs(step);var offset=this.Data.YOffset;for(var i=0;i<step;++i){if(selected<=0&&!bPageCycle)//不能循环翻页
|
|
12794
|
+
break;--selected;if(selected<pageStatus.Start)--offset;if(selected<0){selected=this.Data.Data.length-1;offset=this.Data.Data.length-pageSize;if(offset<0)offset=0;}}result.Redraw=true;result.Update=offset!=this.Data.YOffset;chart.SelectedRow=selected;this.Data.YOffset=offset;result.NewIndex=selected;return result;}}return null;};this.MoveSelectedRowEvent=function(oldIndex,newIndex){var chart=this.ChartPaint[0];if(!chart)return null;if(oldIndex==newIndex)return;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOVE_SELECTED_REPORT_ROW);if(!event||!event.Callback)return;if(!IFrameSplitOperator.IsNonEmptyArray(chart.Data.Data))return;var arySymbol=chart.Data.Data;var oldData=null,newData=null;if(oldIndex>=0&&oldIndex<arySymbol.length){var symbol=arySymbol[oldIndex];oldData={Symbol:symbol,Index:oldIndex};}if(newIndex>=0&&newIndex<arySymbol.length){var symbol=arySymbol[newIndex];newData={Symbol:symbol,Index:newIndex};}var endData={Old:oldData,Now:newData};event.Callback(event,endData,this);};//左右移动
|
|
12794
12795
|
this.MoveXOffset=function(step){var chart=this.ChartPaint[0];if(!chart)return false;var maxOffset=chart.GetXScrollRange();if(maxOffset<=0)return false;if(step>0){if(this.Data.XOffset>=maxOffset)return false;for(var i=0;i<step;++i){if(this.Data.XOffset>=maxOffset)break;++this.Data.XOffset;}return true;}else if(step<0){if(this.Data.XOffset<=0)return false;step=Math.abs(step);for(var i=0;i<step;++i){if(this.Data.XOffset-1<0)break;--this.Data.XOffset;}return true;}return false;};this.SetXOffset=function(pos){if(!IFrameSplitOperator.IsNumber(pos))return false;var chart=this.ChartPaint[0];if(!chart)return false;var maxOffset=chart.GetXScrollRange();if(pos<0)pos=0;if(pos>maxOffset)pos=maxOffset;this.Data.XOffset=pos;return true;};this.SetYOffset=function(pos){if(!IFrameSplitOperator.IsNumber(pos))return false;var chart=this.ChartPaint[0];if(!chart)return false;var maxOffset=chart.GetYScrollRange();if(pos<0)pos=0;if(pos>maxOffset)pos=maxOffset;this.Data.YOffset=pos;return true;};this.GotoLastPage=function(){var chart=this.ChartPaint[0];if(!chart)return;//显示最后一屏
|
|
12795
12796
|
var pageSize=chart.GetPageSize(true);var offset=this.Data.Data.length-pageSize;if(offset<0)offset=0;this.Data.DataOffset=offset;};this.SetColumn=function(aryColunm,option){var chart=this.ChartPaint[0];if(!chart)return;chart.SetColumn(aryColunm);chart.SizeChange=true;if(option&&option.Redraw)this.Draw();};this.SetTab=function(aryTab,option){var chart=this.ChartPaint[0];;if(!chart)return;var chartTab=chart.Tab;if(!chartTab)return;chartTab.SetTabList(aryTab);if(option&&option.Redraw)this.Draw();};this.SetVScrollbar=function(option){var chart=this.GetReportChart();if(!chart)return;var scrollbar=chart.VScrollbar;if(!scrollbar)return;scrollbar.SetOption(option);};this.SetSelectedTab=function(index,opiton){var chart=this.ChartPaint[0];;if(!chart)return;var chartTab=chart.Tab;if(!chartTab)return;chartTab.SelectedTabIndex=index;};this.ReloadResource=function(option){this.Frame.ReloadResource(option);for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.ReloadResource)item.ReloadResource(option);}if(option&&option.Redraw){this.SetSizeChange(true);this.Draw();}if(this.MinuteChartTooltip)this.MinuteChartTooltip.ReloadResource(option);};//列排序
|
|
12796
12797
|
this.SortColumn=function(index,sortType){var _this60=this;if(index<0)return false;var reportChart=this.GetReportChart();if(!reportChart)return false;var column=reportChart.Column[index];if(!column)return false;if(column.Sort!=1&&column.Sort!=2)return false;var sortInfo={Field:index,Sort:sortType};if(this.Data.Virtual&&this.Data.Virtual.Enable){this.SortInfo.Field=sortInfo.Field;this.SortInfo.Sort=sortInfo.Sort;this.Data.YOffset=0;this.ResetReportSelectStatus();this.RequestVirtualStockData();//虚拟表格
|
|
@@ -14329,7 +14330,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
14329
14330
|
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);};}/********************************************************************************
|
|
14330
14331
|
* 版本信息输出
|
|
14331
14332
|
*
|
|
14332
|
-
*/var HQCHART_VERSION="1.1.
|
|
14333
|
+
*/var HQCHART_VERSION="1.1.14440";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();//把给外界调用的方法暴露出来
|
|
14333
14334
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
14334
14335
|
// BaseIndex:BaseIndex,
|
|
14335
14336
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -25,7 +25,6 @@ if (!JSConsole)
|
|
|
25
25
|
function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
26
26
|
{
|
|
27
27
|
this.DivElement=divElement;
|
|
28
|
-
this.DivToolElement=null; //工具条
|
|
29
28
|
this.JSChartContainer; //画图控件
|
|
30
29
|
this.ResizeListener;
|
|
31
30
|
|
|
@@ -121,6 +120,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
121
120
|
//画布大小通过div获取 如果有style里的大小 使用style里的
|
|
122
121
|
var height=this.DivElement.offsetHeight;
|
|
123
122
|
var width=this.DivElement.offsetWidth;
|
|
123
|
+
var pixelTatio = GetDevicePixelRatio(); //获取设备的分辨率s
|
|
124
124
|
if (this.DivElement.style.height && this.DivElement.style.width)
|
|
125
125
|
{
|
|
126
126
|
if (this.DivElement.style.height.includes("px"))
|
|
@@ -128,21 +128,12 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
128
128
|
if (this.DivElement.style.width.includes("px"))
|
|
129
129
|
width=parseInt(this.DivElement.style.width.replace("px",""));
|
|
130
130
|
}
|
|
131
|
-
|
|
132
|
-
if (this.ToolElement)
|
|
133
|
-
{
|
|
134
|
-
//TODO调整工具条大小
|
|
135
|
-
height-=this.ToolElement.style.height.replace("px",""); //减去工具条的高度
|
|
136
|
-
}
|
|
137
131
|
|
|
138
|
-
this.CanvasElement.
|
|
139
|
-
this.CanvasElement.
|
|
140
|
-
this.CanvasElement.style.width=this.CanvasElement.width+'px';
|
|
141
|
-
this.CanvasElement.style.height=this.CanvasElement.height+'px';
|
|
132
|
+
this.CanvasElement.style.width=`${width}px`;
|
|
133
|
+
this.CanvasElement.style.height=`${height}px`;
|
|
142
134
|
|
|
143
|
-
|
|
144
|
-
this.CanvasElement.
|
|
145
|
-
this.CanvasElement.width*=pixelTatio;
|
|
135
|
+
this.CanvasElement.height=parseInt(pixelTatio*height); //根据分辨率缩放
|
|
136
|
+
this.CanvasElement.width=parseInt(pixelTatio*width);
|
|
146
137
|
|
|
147
138
|
if (this.OffscreenCanvasElement)
|
|
148
139
|
{
|
|
@@ -2665,7 +2656,9 @@ var JSCHART_EVENT_ID=
|
|
|
2665
2656
|
ON_RCLICK_TREPORT_HEADER:125, //右键点击T型报价表头
|
|
2666
2657
|
ON_TREPORT_LOCAL_SORT:126, //T型报价列表本地排序
|
|
2667
2658
|
ON_CLICK_TREPORT_ROW:127, //左键点击点击T型报价列表
|
|
2668
|
-
ON_MOVE_SELECTED_TREPORT_ROW:128,
|
|
2659
|
+
ON_MOVE_SELECTED_TREPORT_ROW:128, //T型报价 选中行变动
|
|
2660
|
+
|
|
2661
|
+
ON_MOVE_SELECTED_REPORT_ROW:129, //报价列表 选中行变动
|
|
2669
2662
|
|
|
2670
2663
|
ON_DRAW_REPORT_ROW_BG:140, //报价列表整行背景
|
|
2671
2664
|
ON_CLICK_REPORT_CHECKBOX:141, //报价列表checkbox
|
|
@@ -79712,6 +79705,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
79712
79705
|
chart.SetOption(option);
|
|
79713
79706
|
this.ExtendChartPaint.push(chart);
|
|
79714
79707
|
return chart;
|
|
79708
|
+
case "BackgroundPaint":
|
|
79715
79709
|
case '背景图':
|
|
79716
79710
|
chart=new BackgroundPaint();
|
|
79717
79711
|
chart.Canvas=this.Canvas;
|
|
@@ -88312,6 +88306,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
88312
88306
|
chart.SetOption(option);
|
|
88313
88307
|
this.ExtendChartPaint.push(chart);
|
|
88314
88308
|
return chart;
|
|
88309
|
+
case "BackgroundPaint":
|
|
88315
88310
|
case "背景图":
|
|
88316
88311
|
chart=new BackgroundPaint();
|
|
88317
88312
|
chart.Canvas=this.Canvas;
|
|
@@ -1842,19 +1842,21 @@ function JSReportChartContainer(uielement)
|
|
|
1842
1842
|
}
|
|
1843
1843
|
break;
|
|
1844
1844
|
case 38: //up
|
|
1845
|
-
var result=this.MoveSelectedRow(-1);
|
|
1845
|
+
var result=this.MoveSelectedRow(-1, {EnablePageCycle: this.PageUpDownCycle});
|
|
1846
1846
|
if (result)
|
|
1847
1847
|
{
|
|
1848
1848
|
if (result.Redraw) this.Draw();
|
|
1849
1849
|
if (result.Update) this.DelayUpdateStockData();
|
|
1850
|
+
this.MoveSelectedRowEvent(result.OldIndex, result.NewIndex);
|
|
1850
1851
|
}
|
|
1851
1852
|
break;
|
|
1852
1853
|
case 40: //down
|
|
1853
|
-
var result=this.MoveSelectedRow(1)
|
|
1854
|
+
var result=this.MoveSelectedRow(1, {EnablePageCycle: this.PageUpDownCycle})
|
|
1854
1855
|
if (result)
|
|
1855
1856
|
{
|
|
1856
1857
|
if (result.Redraw) this.Draw();
|
|
1857
1858
|
if (result.Update) this.DelayUpdateStockData();
|
|
1859
|
+
this.MoveSelectedRowEvent(result.OldIndex, result.NewIndex);
|
|
1858
1860
|
}
|
|
1859
1861
|
break;
|
|
1860
1862
|
case 37: //left
|
|
@@ -3015,13 +3017,19 @@ function JSReportChartContainer(uielement)
|
|
|
3015
3017
|
return false;
|
|
3016
3018
|
}
|
|
3017
3019
|
|
|
3018
|
-
|
|
3020
|
+
// option={ EnablePageCycle: true/false(是否循环翻页) }
|
|
3021
|
+
this.MoveSelectedRow=function(step, option)
|
|
3019
3022
|
{
|
|
3020
3023
|
var chart=this.ChartPaint[0];
|
|
3021
3024
|
if (!chart) return null;
|
|
3022
3025
|
if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return null;
|
|
3026
|
+
var bPageCycle=false;
|
|
3027
|
+
if (option)
|
|
3028
|
+
{
|
|
3029
|
+
if (IFrameSplitOperator.IsBool(option.EnablePageCycle)) bPageCycle=option.EnablePageCycle;
|
|
3030
|
+
}
|
|
3023
3031
|
|
|
3024
|
-
var result={ Redraw:false, Update:false }; //Redraw=重绘, Update=更新数据
|
|
3032
|
+
var result={ Redraw:false, Update:false, OldIndex:-1, NewIndex:-1 }; //Redraw=重绘, Update=更新数据
|
|
3025
3033
|
|
|
3026
3034
|
if (chart.MultiSelectModel==1)
|
|
3027
3035
|
{
|
|
@@ -3123,6 +3131,7 @@ function JSReportChartContainer(uielement)
|
|
|
3123
3131
|
var pageStatus=chart.GetCurrentPageStatus();
|
|
3124
3132
|
var pageSize=pageStatus.End-pageStatus.Start+1;
|
|
3125
3133
|
var selected=pageStatus.SelectedRow;
|
|
3134
|
+
result.OldIndex=this.Data.YOffset+selected;
|
|
3126
3135
|
if (step>0)
|
|
3127
3136
|
{
|
|
3128
3137
|
selected+=step;
|
|
@@ -3130,6 +3139,7 @@ function JSReportChartContainer(uielement)
|
|
|
3130
3139
|
chart.SelectedRow=selected;
|
|
3131
3140
|
chart.SelectedFixedRow=-1;
|
|
3132
3141
|
result.Redraw=true;
|
|
3142
|
+
result.NewIndex=this.Data.YOffset+selected;
|
|
3133
3143
|
return result;
|
|
3134
3144
|
}
|
|
3135
3145
|
else if (step<0)
|
|
@@ -3143,6 +3153,7 @@ function JSReportChartContainer(uielement)
|
|
|
3143
3153
|
|
|
3144
3154
|
chart.SelectedRow=selected;
|
|
3145
3155
|
chart.SelectedFixedRow=-1;
|
|
3156
|
+
result.NewIndex=this.Data.YOffset+selected;
|
|
3146
3157
|
result.Redraw=true;
|
|
3147
3158
|
return result;
|
|
3148
3159
|
}
|
|
@@ -3152,18 +3163,23 @@ function JSReportChartContainer(uielement)
|
|
|
3152
3163
|
var pageStatus=chart.GetCurrentPageStatus();
|
|
3153
3164
|
var pageSize=pageStatus.PageSize;
|
|
3154
3165
|
var selected=pageStatus.SelectedRow;
|
|
3166
|
+
result.OldIndex=pageStatus.SelectedRow;
|
|
3155
3167
|
if (step>0)
|
|
3156
3168
|
{
|
|
3157
3169
|
if (selected<0 || selected<pageStatus.Start || selected>pageStatus.End)
|
|
3158
3170
|
{
|
|
3159
3171
|
chart.SelectedRow=pageStatus.Start;
|
|
3160
3172
|
result.Redraw=true;
|
|
3173
|
+
result.NewIndex=pageStatus.Start;
|
|
3161
3174
|
return result;
|
|
3162
3175
|
}
|
|
3163
3176
|
|
|
3164
3177
|
var offset=this.Data.YOffset;
|
|
3165
3178
|
for(var i=0;i<step;++i)
|
|
3166
3179
|
{
|
|
3180
|
+
if (selected+1>=this.Data.Data.length && !bPageCycle)
|
|
3181
|
+
break;
|
|
3182
|
+
|
|
3167
3183
|
++selected;
|
|
3168
3184
|
if (selected>pageStatus.End) ++offset;
|
|
3169
3185
|
|
|
@@ -3179,7 +3195,7 @@ function JSReportChartContainer(uielement)
|
|
|
3179
3195
|
|
|
3180
3196
|
chart.SelectedRow=selected;
|
|
3181
3197
|
this.Data.YOffset=offset;
|
|
3182
|
-
|
|
3198
|
+
result.NewIndex=selected;
|
|
3183
3199
|
return result;
|
|
3184
3200
|
}
|
|
3185
3201
|
else if (step<0)
|
|
@@ -3188,6 +3204,7 @@ function JSReportChartContainer(uielement)
|
|
|
3188
3204
|
{
|
|
3189
3205
|
chart.SelectedRow=pageStatus.End;
|
|
3190
3206
|
result.Redraw=true;
|
|
3207
|
+
result.NewIndex=pageStatus.End;
|
|
3191
3208
|
return result;
|
|
3192
3209
|
}
|
|
3193
3210
|
|
|
@@ -3195,6 +3212,9 @@ function JSReportChartContainer(uielement)
|
|
|
3195
3212
|
var offset=this.Data.YOffset;
|
|
3196
3213
|
for(var i=0;i<step;++i)
|
|
3197
3214
|
{
|
|
3215
|
+
if (selected<=0 && !bPageCycle) //不能循环翻页
|
|
3216
|
+
break;
|
|
3217
|
+
|
|
3198
3218
|
--selected;
|
|
3199
3219
|
if (selected<pageStatus.Start) --offset;
|
|
3200
3220
|
|
|
@@ -3211,6 +3231,7 @@ function JSReportChartContainer(uielement)
|
|
|
3211
3231
|
|
|
3212
3232
|
chart.SelectedRow=selected;
|
|
3213
3233
|
this.Data.YOffset=offset;
|
|
3234
|
+
result.NewIndex=selected;
|
|
3214
3235
|
|
|
3215
3236
|
return result;
|
|
3216
3237
|
}
|
|
@@ -3219,6 +3240,36 @@ function JSReportChartContainer(uielement)
|
|
|
3219
3240
|
return null;
|
|
3220
3241
|
}
|
|
3221
3242
|
|
|
3243
|
+
this.MoveSelectedRowEvent=function(oldIndex, newIndex)
|
|
3244
|
+
{
|
|
3245
|
+
var chart=this.ChartPaint[0];
|
|
3246
|
+
if (!chart) return null;
|
|
3247
|
+
|
|
3248
|
+
if (oldIndex==newIndex) return;
|
|
3249
|
+
|
|
3250
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOVE_SELECTED_REPORT_ROW);
|
|
3251
|
+
if (!event || !event.Callback) return;
|
|
3252
|
+
|
|
3253
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(chart.Data.Data)) return;
|
|
3254
|
+
var arySymbol=chart.Data.Data;
|
|
3255
|
+
|
|
3256
|
+
var oldData=null, newData=null;
|
|
3257
|
+
if (oldIndex>=0 && oldIndex<arySymbol.length)
|
|
3258
|
+
{
|
|
3259
|
+
var symbol=arySymbol[oldIndex];
|
|
3260
|
+
oldData={ Symbol:symbol, Index:oldIndex };
|
|
3261
|
+
}
|
|
3262
|
+
|
|
3263
|
+
if (newIndex>=0 && newIndex<arySymbol.length)
|
|
3264
|
+
{
|
|
3265
|
+
var symbol=arySymbol[newIndex];
|
|
3266
|
+
newData={ Symbol:symbol, Index:newIndex };
|
|
3267
|
+
}
|
|
3268
|
+
|
|
3269
|
+
var endData={ Old:oldData, Now:newData };
|
|
3270
|
+
event.Callback(event, endData, this);
|
|
3271
|
+
}
|
|
3272
|
+
|
|
3222
3273
|
//左右移动
|
|
3223
3274
|
this.MoveXOffset=function(step)
|
|
3224
3275
|
{
|
|
@@ -3950,7 +3950,6 @@ if (!JSConsole)
|
|
|
3950
3950
|
function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
3951
3951
|
{
|
|
3952
3952
|
this.DivElement=divElement;
|
|
3953
|
-
this.DivToolElement=null; //工具条
|
|
3954
3953
|
this.JSChartContainer; //画图控件
|
|
3955
3954
|
this.ResizeListener;
|
|
3956
3955
|
|
|
@@ -4046,6 +4045,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4046
4045
|
//画布大小通过div获取 如果有style里的大小 使用style里的
|
|
4047
4046
|
var height=this.DivElement.offsetHeight;
|
|
4048
4047
|
var width=this.DivElement.offsetWidth;
|
|
4048
|
+
var pixelTatio = GetDevicePixelRatio(); //获取设备的分辨率s
|
|
4049
4049
|
if (this.DivElement.style.height && this.DivElement.style.width)
|
|
4050
4050
|
{
|
|
4051
4051
|
if (this.DivElement.style.height.includes("px"))
|
|
@@ -4053,21 +4053,12 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4053
4053
|
if (this.DivElement.style.width.includes("px"))
|
|
4054
4054
|
width=parseInt(this.DivElement.style.width.replace("px",""));
|
|
4055
4055
|
}
|
|
4056
|
-
|
|
4057
|
-
if (this.ToolElement)
|
|
4058
|
-
{
|
|
4059
|
-
//TODO调整工具条大小
|
|
4060
|
-
height-=this.ToolElement.style.height.replace("px",""); //减去工具条的高度
|
|
4061
|
-
}
|
|
4062
4056
|
|
|
4063
|
-
this.CanvasElement.
|
|
4064
|
-
this.CanvasElement.
|
|
4065
|
-
this.CanvasElement.style.width=this.CanvasElement.width+'px';
|
|
4066
|
-
this.CanvasElement.style.height=this.CanvasElement.height+'px';
|
|
4057
|
+
this.CanvasElement.style.width=`${width}px`;
|
|
4058
|
+
this.CanvasElement.style.height=`${height}px`;
|
|
4067
4059
|
|
|
4068
|
-
|
|
4069
|
-
this.CanvasElement.
|
|
4070
|
-
this.CanvasElement.width*=pixelTatio;
|
|
4060
|
+
this.CanvasElement.height=parseInt(pixelTatio*height); //根据分辨率缩放
|
|
4061
|
+
this.CanvasElement.width=parseInt(pixelTatio*width);
|
|
4071
4062
|
|
|
4072
4063
|
if (this.OffscreenCanvasElement)
|
|
4073
4064
|
{
|
|
@@ -6590,7 +6581,9 @@ var JSCHART_EVENT_ID=
|
|
|
6590
6581
|
ON_RCLICK_TREPORT_HEADER:125, //右键点击T型报价表头
|
|
6591
6582
|
ON_TREPORT_LOCAL_SORT:126, //T型报价列表本地排序
|
|
6592
6583
|
ON_CLICK_TREPORT_ROW:127, //左键点击点击T型报价列表
|
|
6593
|
-
ON_MOVE_SELECTED_TREPORT_ROW:128,
|
|
6584
|
+
ON_MOVE_SELECTED_TREPORT_ROW:128, //T型报价 选中行变动
|
|
6585
|
+
|
|
6586
|
+
ON_MOVE_SELECTED_REPORT_ROW:129, //报价列表 选中行变动
|
|
6594
6587
|
|
|
6595
6588
|
ON_DRAW_REPORT_ROW_BG:140, //报价列表整行背景
|
|
6596
6589
|
ON_CLICK_REPORT_CHECKBOX:141, //报价列表checkbox
|
|
@@ -83637,6 +83630,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
83637
83630
|
chart.SetOption(option);
|
|
83638
83631
|
this.ExtendChartPaint.push(chart);
|
|
83639
83632
|
return chart;
|
|
83633
|
+
case "BackgroundPaint":
|
|
83640
83634
|
case '背景图':
|
|
83641
83635
|
chart=new BackgroundPaint();
|
|
83642
83636
|
chart.Canvas=this.Canvas;
|
|
@@ -92237,6 +92231,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
92237
92231
|
chart.SetOption(option);
|
|
92238
92232
|
this.ExtendChartPaint.push(chart);
|
|
92239
92233
|
return chart;
|
|
92234
|
+
case "BackgroundPaint":
|
|
92240
92235
|
case "背景图":
|
|
92241
92236
|
chart=new BackgroundPaint();
|
|
92242
92237
|
chart.Canvas=this.Canvas;
|
|
@@ -132496,19 +132491,21 @@ function JSReportChartContainer(uielement)
|
|
|
132496
132491
|
}
|
|
132497
132492
|
break;
|
|
132498
132493
|
case 38: //up
|
|
132499
|
-
var result=this.MoveSelectedRow(-1);
|
|
132494
|
+
var result=this.MoveSelectedRow(-1, {EnablePageCycle: this.PageUpDownCycle});
|
|
132500
132495
|
if (result)
|
|
132501
132496
|
{
|
|
132502
132497
|
if (result.Redraw) this.Draw();
|
|
132503
132498
|
if (result.Update) this.DelayUpdateStockData();
|
|
132499
|
+
this.MoveSelectedRowEvent(result.OldIndex, result.NewIndex);
|
|
132504
132500
|
}
|
|
132505
132501
|
break;
|
|
132506
132502
|
case 40: //down
|
|
132507
|
-
var result=this.MoveSelectedRow(1)
|
|
132503
|
+
var result=this.MoveSelectedRow(1, {EnablePageCycle: this.PageUpDownCycle})
|
|
132508
132504
|
if (result)
|
|
132509
132505
|
{
|
|
132510
132506
|
if (result.Redraw) this.Draw();
|
|
132511
132507
|
if (result.Update) this.DelayUpdateStockData();
|
|
132508
|
+
this.MoveSelectedRowEvent(result.OldIndex, result.NewIndex);
|
|
132512
132509
|
}
|
|
132513
132510
|
break;
|
|
132514
132511
|
case 37: //left
|
|
@@ -133669,13 +133666,19 @@ function JSReportChartContainer(uielement)
|
|
|
133669
133666
|
return false;
|
|
133670
133667
|
}
|
|
133671
133668
|
|
|
133672
|
-
|
|
133669
|
+
// option={ EnablePageCycle: true/false(是否循环翻页) }
|
|
133670
|
+
this.MoveSelectedRow=function(step, option)
|
|
133673
133671
|
{
|
|
133674
133672
|
var chart=this.ChartPaint[0];
|
|
133675
133673
|
if (!chart) return null;
|
|
133676
133674
|
if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return null;
|
|
133675
|
+
var bPageCycle=false;
|
|
133676
|
+
if (option)
|
|
133677
|
+
{
|
|
133678
|
+
if (IFrameSplitOperator.IsBool(option.EnablePageCycle)) bPageCycle=option.EnablePageCycle;
|
|
133679
|
+
}
|
|
133677
133680
|
|
|
133678
|
-
var result={ Redraw:false, Update:false }; //Redraw=重绘, Update=更新数据
|
|
133681
|
+
var result={ Redraw:false, Update:false, OldIndex:-1, NewIndex:-1 }; //Redraw=重绘, Update=更新数据
|
|
133679
133682
|
|
|
133680
133683
|
if (chart.MultiSelectModel==1)
|
|
133681
133684
|
{
|
|
@@ -133777,6 +133780,7 @@ function JSReportChartContainer(uielement)
|
|
|
133777
133780
|
var pageStatus=chart.GetCurrentPageStatus();
|
|
133778
133781
|
var pageSize=pageStatus.End-pageStatus.Start+1;
|
|
133779
133782
|
var selected=pageStatus.SelectedRow;
|
|
133783
|
+
result.OldIndex=this.Data.YOffset+selected;
|
|
133780
133784
|
if (step>0)
|
|
133781
133785
|
{
|
|
133782
133786
|
selected+=step;
|
|
@@ -133784,6 +133788,7 @@ function JSReportChartContainer(uielement)
|
|
|
133784
133788
|
chart.SelectedRow=selected;
|
|
133785
133789
|
chart.SelectedFixedRow=-1;
|
|
133786
133790
|
result.Redraw=true;
|
|
133791
|
+
result.NewIndex=this.Data.YOffset+selected;
|
|
133787
133792
|
return result;
|
|
133788
133793
|
}
|
|
133789
133794
|
else if (step<0)
|
|
@@ -133797,6 +133802,7 @@ function JSReportChartContainer(uielement)
|
|
|
133797
133802
|
|
|
133798
133803
|
chart.SelectedRow=selected;
|
|
133799
133804
|
chart.SelectedFixedRow=-1;
|
|
133805
|
+
result.NewIndex=this.Data.YOffset+selected;
|
|
133800
133806
|
result.Redraw=true;
|
|
133801
133807
|
return result;
|
|
133802
133808
|
}
|
|
@@ -133806,18 +133812,23 @@ function JSReportChartContainer(uielement)
|
|
|
133806
133812
|
var pageStatus=chart.GetCurrentPageStatus();
|
|
133807
133813
|
var pageSize=pageStatus.PageSize;
|
|
133808
133814
|
var selected=pageStatus.SelectedRow;
|
|
133815
|
+
result.OldIndex=pageStatus.SelectedRow;
|
|
133809
133816
|
if (step>0)
|
|
133810
133817
|
{
|
|
133811
133818
|
if (selected<0 || selected<pageStatus.Start || selected>pageStatus.End)
|
|
133812
133819
|
{
|
|
133813
133820
|
chart.SelectedRow=pageStatus.Start;
|
|
133814
133821
|
result.Redraw=true;
|
|
133822
|
+
result.NewIndex=pageStatus.Start;
|
|
133815
133823
|
return result;
|
|
133816
133824
|
}
|
|
133817
133825
|
|
|
133818
133826
|
var offset=this.Data.YOffset;
|
|
133819
133827
|
for(var i=0;i<step;++i)
|
|
133820
133828
|
{
|
|
133829
|
+
if (selected+1>=this.Data.Data.length && !bPageCycle)
|
|
133830
|
+
break;
|
|
133831
|
+
|
|
133821
133832
|
++selected;
|
|
133822
133833
|
if (selected>pageStatus.End) ++offset;
|
|
133823
133834
|
|
|
@@ -133833,7 +133844,7 @@ function JSReportChartContainer(uielement)
|
|
|
133833
133844
|
|
|
133834
133845
|
chart.SelectedRow=selected;
|
|
133835
133846
|
this.Data.YOffset=offset;
|
|
133836
|
-
|
|
133847
|
+
result.NewIndex=selected;
|
|
133837
133848
|
return result;
|
|
133838
133849
|
}
|
|
133839
133850
|
else if (step<0)
|
|
@@ -133842,6 +133853,7 @@ function JSReportChartContainer(uielement)
|
|
|
133842
133853
|
{
|
|
133843
133854
|
chart.SelectedRow=pageStatus.End;
|
|
133844
133855
|
result.Redraw=true;
|
|
133856
|
+
result.NewIndex=pageStatus.End;
|
|
133845
133857
|
return result;
|
|
133846
133858
|
}
|
|
133847
133859
|
|
|
@@ -133849,6 +133861,9 @@ function JSReportChartContainer(uielement)
|
|
|
133849
133861
|
var offset=this.Data.YOffset;
|
|
133850
133862
|
for(var i=0;i<step;++i)
|
|
133851
133863
|
{
|
|
133864
|
+
if (selected<=0 && !bPageCycle) //不能循环翻页
|
|
133865
|
+
break;
|
|
133866
|
+
|
|
133852
133867
|
--selected;
|
|
133853
133868
|
if (selected<pageStatus.Start) --offset;
|
|
133854
133869
|
|
|
@@ -133865,6 +133880,7 @@ function JSReportChartContainer(uielement)
|
|
|
133865
133880
|
|
|
133866
133881
|
chart.SelectedRow=selected;
|
|
133867
133882
|
this.Data.YOffset=offset;
|
|
133883
|
+
result.NewIndex=selected;
|
|
133868
133884
|
|
|
133869
133885
|
return result;
|
|
133870
133886
|
}
|
|
@@ -133873,6 +133889,36 @@ function JSReportChartContainer(uielement)
|
|
|
133873
133889
|
return null;
|
|
133874
133890
|
}
|
|
133875
133891
|
|
|
133892
|
+
this.MoveSelectedRowEvent=function(oldIndex, newIndex)
|
|
133893
|
+
{
|
|
133894
|
+
var chart=this.ChartPaint[0];
|
|
133895
|
+
if (!chart) return null;
|
|
133896
|
+
|
|
133897
|
+
if (oldIndex==newIndex) return;
|
|
133898
|
+
|
|
133899
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOVE_SELECTED_REPORT_ROW);
|
|
133900
|
+
if (!event || !event.Callback) return;
|
|
133901
|
+
|
|
133902
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(chart.Data.Data)) return;
|
|
133903
|
+
var arySymbol=chart.Data.Data;
|
|
133904
|
+
|
|
133905
|
+
var oldData=null, newData=null;
|
|
133906
|
+
if (oldIndex>=0 && oldIndex<arySymbol.length)
|
|
133907
|
+
{
|
|
133908
|
+
var symbol=arySymbol[oldIndex];
|
|
133909
|
+
oldData={ Symbol:symbol, Index:oldIndex };
|
|
133910
|
+
}
|
|
133911
|
+
|
|
133912
|
+
if (newIndex>=0 && newIndex<arySymbol.length)
|
|
133913
|
+
{
|
|
133914
|
+
var symbol=arySymbol[newIndex];
|
|
133915
|
+
newData={ Symbol:symbol, Index:newIndex };
|
|
133916
|
+
}
|
|
133917
|
+
|
|
133918
|
+
var endData={ Old:oldData, Now:newData };
|
|
133919
|
+
event.Callback(event, endData, this);
|
|
133920
|
+
}
|
|
133921
|
+
|
|
133876
133922
|
//左右移动
|
|
133877
133923
|
this.MoveXOffset=function(step)
|
|
133878
133924
|
{
|
|
@@ -143353,7 +143399,7 @@ function ScrollBarBGChart()
|
|
|
143353
143399
|
|
|
143354
143400
|
|
|
143355
143401
|
|
|
143356
|
-
var HQCHART_VERSION="1.1.
|
|
143402
|
+
var HQCHART_VERSION="1.1.14440";
|
|
143357
143403
|
|
|
143358
143404
|
function PrintHQChartVersion()
|
|
143359
143405
|
{
|
|
@@ -3994,7 +3994,6 @@ if (!JSConsole)
|
|
|
3994
3994
|
function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
3995
3995
|
{
|
|
3996
3996
|
this.DivElement=divElement;
|
|
3997
|
-
this.DivToolElement=null; //工具条
|
|
3998
3997
|
this.JSChartContainer; //画图控件
|
|
3999
3998
|
this.ResizeListener;
|
|
4000
3999
|
|
|
@@ -4090,6 +4089,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4090
4089
|
//画布大小通过div获取 如果有style里的大小 使用style里的
|
|
4091
4090
|
var height=this.DivElement.offsetHeight;
|
|
4092
4091
|
var width=this.DivElement.offsetWidth;
|
|
4092
|
+
var pixelTatio = GetDevicePixelRatio(); //获取设备的分辨率s
|
|
4093
4093
|
if (this.DivElement.style.height && this.DivElement.style.width)
|
|
4094
4094
|
{
|
|
4095
4095
|
if (this.DivElement.style.height.includes("px"))
|
|
@@ -4097,21 +4097,12 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4097
4097
|
if (this.DivElement.style.width.includes("px"))
|
|
4098
4098
|
width=parseInt(this.DivElement.style.width.replace("px",""));
|
|
4099
4099
|
}
|
|
4100
|
-
|
|
4101
|
-
if (this.ToolElement)
|
|
4102
|
-
{
|
|
4103
|
-
//TODO调整工具条大小
|
|
4104
|
-
height-=this.ToolElement.style.height.replace("px",""); //减去工具条的高度
|
|
4105
|
-
}
|
|
4106
4100
|
|
|
4107
|
-
this.CanvasElement.
|
|
4108
|
-
this.CanvasElement.
|
|
4109
|
-
this.CanvasElement.style.width=this.CanvasElement.width+'px';
|
|
4110
|
-
this.CanvasElement.style.height=this.CanvasElement.height+'px';
|
|
4101
|
+
this.CanvasElement.style.width=`${width}px`;
|
|
4102
|
+
this.CanvasElement.style.height=`${height}px`;
|
|
4111
4103
|
|
|
4112
|
-
|
|
4113
|
-
this.CanvasElement.
|
|
4114
|
-
this.CanvasElement.width*=pixelTatio;
|
|
4104
|
+
this.CanvasElement.height=parseInt(pixelTatio*height); //根据分辨率缩放
|
|
4105
|
+
this.CanvasElement.width=parseInt(pixelTatio*width);
|
|
4115
4106
|
|
|
4116
4107
|
if (this.OffscreenCanvasElement)
|
|
4117
4108
|
{
|
|
@@ -6634,7 +6625,9 @@ var JSCHART_EVENT_ID=
|
|
|
6634
6625
|
ON_RCLICK_TREPORT_HEADER:125, //右键点击T型报价表头
|
|
6635
6626
|
ON_TREPORT_LOCAL_SORT:126, //T型报价列表本地排序
|
|
6636
6627
|
ON_CLICK_TREPORT_ROW:127, //左键点击点击T型报价列表
|
|
6637
|
-
ON_MOVE_SELECTED_TREPORT_ROW:128,
|
|
6628
|
+
ON_MOVE_SELECTED_TREPORT_ROW:128, //T型报价 选中行变动
|
|
6629
|
+
|
|
6630
|
+
ON_MOVE_SELECTED_REPORT_ROW:129, //报价列表 选中行变动
|
|
6638
6631
|
|
|
6639
6632
|
ON_DRAW_REPORT_ROW_BG:140, //报价列表整行背景
|
|
6640
6633
|
ON_CLICK_REPORT_CHECKBOX:141, //报价列表checkbox
|
|
@@ -83681,6 +83674,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
83681
83674
|
chart.SetOption(option);
|
|
83682
83675
|
this.ExtendChartPaint.push(chart);
|
|
83683
83676
|
return chart;
|
|
83677
|
+
case "BackgroundPaint":
|
|
83684
83678
|
case '背景图':
|
|
83685
83679
|
chart=new BackgroundPaint();
|
|
83686
83680
|
chart.Canvas=this.Canvas;
|
|
@@ -92281,6 +92275,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
92281
92275
|
chart.SetOption(option);
|
|
92282
92276
|
this.ExtendChartPaint.push(chart);
|
|
92283
92277
|
return chart;
|
|
92278
|
+
case "BackgroundPaint":
|
|
92284
92279
|
case "背景图":
|
|
92285
92280
|
chart=new BackgroundPaint();
|
|
92286
92281
|
chart.Canvas=this.Canvas;
|
|
@@ -132540,19 +132535,21 @@ function JSReportChartContainer(uielement)
|
|
|
132540
132535
|
}
|
|
132541
132536
|
break;
|
|
132542
132537
|
case 38: //up
|
|
132543
|
-
var result=this.MoveSelectedRow(-1);
|
|
132538
|
+
var result=this.MoveSelectedRow(-1, {EnablePageCycle: this.PageUpDownCycle});
|
|
132544
132539
|
if (result)
|
|
132545
132540
|
{
|
|
132546
132541
|
if (result.Redraw) this.Draw();
|
|
132547
132542
|
if (result.Update) this.DelayUpdateStockData();
|
|
132543
|
+
this.MoveSelectedRowEvent(result.OldIndex, result.NewIndex);
|
|
132548
132544
|
}
|
|
132549
132545
|
break;
|
|
132550
132546
|
case 40: //down
|
|
132551
|
-
var result=this.MoveSelectedRow(1)
|
|
132547
|
+
var result=this.MoveSelectedRow(1, {EnablePageCycle: this.PageUpDownCycle})
|
|
132552
132548
|
if (result)
|
|
132553
132549
|
{
|
|
132554
132550
|
if (result.Redraw) this.Draw();
|
|
132555
132551
|
if (result.Update) this.DelayUpdateStockData();
|
|
132552
|
+
this.MoveSelectedRowEvent(result.OldIndex, result.NewIndex);
|
|
132556
132553
|
}
|
|
132557
132554
|
break;
|
|
132558
132555
|
case 37: //left
|
|
@@ -133713,13 +133710,19 @@ function JSReportChartContainer(uielement)
|
|
|
133713
133710
|
return false;
|
|
133714
133711
|
}
|
|
133715
133712
|
|
|
133716
|
-
|
|
133713
|
+
// option={ EnablePageCycle: true/false(是否循环翻页) }
|
|
133714
|
+
this.MoveSelectedRow=function(step, option)
|
|
133717
133715
|
{
|
|
133718
133716
|
var chart=this.ChartPaint[0];
|
|
133719
133717
|
if (!chart) return null;
|
|
133720
133718
|
if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return null;
|
|
133719
|
+
var bPageCycle=false;
|
|
133720
|
+
if (option)
|
|
133721
|
+
{
|
|
133722
|
+
if (IFrameSplitOperator.IsBool(option.EnablePageCycle)) bPageCycle=option.EnablePageCycle;
|
|
133723
|
+
}
|
|
133721
133724
|
|
|
133722
|
-
var result={ Redraw:false, Update:false }; //Redraw=重绘, Update=更新数据
|
|
133725
|
+
var result={ Redraw:false, Update:false, OldIndex:-1, NewIndex:-1 }; //Redraw=重绘, Update=更新数据
|
|
133723
133726
|
|
|
133724
133727
|
if (chart.MultiSelectModel==1)
|
|
133725
133728
|
{
|
|
@@ -133821,6 +133824,7 @@ function JSReportChartContainer(uielement)
|
|
|
133821
133824
|
var pageStatus=chart.GetCurrentPageStatus();
|
|
133822
133825
|
var pageSize=pageStatus.End-pageStatus.Start+1;
|
|
133823
133826
|
var selected=pageStatus.SelectedRow;
|
|
133827
|
+
result.OldIndex=this.Data.YOffset+selected;
|
|
133824
133828
|
if (step>0)
|
|
133825
133829
|
{
|
|
133826
133830
|
selected+=step;
|
|
@@ -133828,6 +133832,7 @@ function JSReportChartContainer(uielement)
|
|
|
133828
133832
|
chart.SelectedRow=selected;
|
|
133829
133833
|
chart.SelectedFixedRow=-1;
|
|
133830
133834
|
result.Redraw=true;
|
|
133835
|
+
result.NewIndex=this.Data.YOffset+selected;
|
|
133831
133836
|
return result;
|
|
133832
133837
|
}
|
|
133833
133838
|
else if (step<0)
|
|
@@ -133841,6 +133846,7 @@ function JSReportChartContainer(uielement)
|
|
|
133841
133846
|
|
|
133842
133847
|
chart.SelectedRow=selected;
|
|
133843
133848
|
chart.SelectedFixedRow=-1;
|
|
133849
|
+
result.NewIndex=this.Data.YOffset+selected;
|
|
133844
133850
|
result.Redraw=true;
|
|
133845
133851
|
return result;
|
|
133846
133852
|
}
|
|
@@ -133850,18 +133856,23 @@ function JSReportChartContainer(uielement)
|
|
|
133850
133856
|
var pageStatus=chart.GetCurrentPageStatus();
|
|
133851
133857
|
var pageSize=pageStatus.PageSize;
|
|
133852
133858
|
var selected=pageStatus.SelectedRow;
|
|
133859
|
+
result.OldIndex=pageStatus.SelectedRow;
|
|
133853
133860
|
if (step>0)
|
|
133854
133861
|
{
|
|
133855
133862
|
if (selected<0 || selected<pageStatus.Start || selected>pageStatus.End)
|
|
133856
133863
|
{
|
|
133857
133864
|
chart.SelectedRow=pageStatus.Start;
|
|
133858
133865
|
result.Redraw=true;
|
|
133866
|
+
result.NewIndex=pageStatus.Start;
|
|
133859
133867
|
return result;
|
|
133860
133868
|
}
|
|
133861
133869
|
|
|
133862
133870
|
var offset=this.Data.YOffset;
|
|
133863
133871
|
for(var i=0;i<step;++i)
|
|
133864
133872
|
{
|
|
133873
|
+
if (selected+1>=this.Data.Data.length && !bPageCycle)
|
|
133874
|
+
break;
|
|
133875
|
+
|
|
133865
133876
|
++selected;
|
|
133866
133877
|
if (selected>pageStatus.End) ++offset;
|
|
133867
133878
|
|
|
@@ -133877,7 +133888,7 @@ function JSReportChartContainer(uielement)
|
|
|
133877
133888
|
|
|
133878
133889
|
chart.SelectedRow=selected;
|
|
133879
133890
|
this.Data.YOffset=offset;
|
|
133880
|
-
|
|
133891
|
+
result.NewIndex=selected;
|
|
133881
133892
|
return result;
|
|
133882
133893
|
}
|
|
133883
133894
|
else if (step<0)
|
|
@@ -133886,6 +133897,7 @@ function JSReportChartContainer(uielement)
|
|
|
133886
133897
|
{
|
|
133887
133898
|
chart.SelectedRow=pageStatus.End;
|
|
133888
133899
|
result.Redraw=true;
|
|
133900
|
+
result.NewIndex=pageStatus.End;
|
|
133889
133901
|
return result;
|
|
133890
133902
|
}
|
|
133891
133903
|
|
|
@@ -133893,6 +133905,9 @@ function JSReportChartContainer(uielement)
|
|
|
133893
133905
|
var offset=this.Data.YOffset;
|
|
133894
133906
|
for(var i=0;i<step;++i)
|
|
133895
133907
|
{
|
|
133908
|
+
if (selected<=0 && !bPageCycle) //不能循环翻页
|
|
133909
|
+
break;
|
|
133910
|
+
|
|
133896
133911
|
--selected;
|
|
133897
133912
|
if (selected<pageStatus.Start) --offset;
|
|
133898
133913
|
|
|
@@ -133909,6 +133924,7 @@ function JSReportChartContainer(uielement)
|
|
|
133909
133924
|
|
|
133910
133925
|
chart.SelectedRow=selected;
|
|
133911
133926
|
this.Data.YOffset=offset;
|
|
133927
|
+
result.NewIndex=selected;
|
|
133912
133928
|
|
|
133913
133929
|
return result;
|
|
133914
133930
|
}
|
|
@@ -133917,6 +133933,36 @@ function JSReportChartContainer(uielement)
|
|
|
133917
133933
|
return null;
|
|
133918
133934
|
}
|
|
133919
133935
|
|
|
133936
|
+
this.MoveSelectedRowEvent=function(oldIndex, newIndex)
|
|
133937
|
+
{
|
|
133938
|
+
var chart=this.ChartPaint[0];
|
|
133939
|
+
if (!chart) return null;
|
|
133940
|
+
|
|
133941
|
+
if (oldIndex==newIndex) return;
|
|
133942
|
+
|
|
133943
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOVE_SELECTED_REPORT_ROW);
|
|
133944
|
+
if (!event || !event.Callback) return;
|
|
133945
|
+
|
|
133946
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(chart.Data.Data)) return;
|
|
133947
|
+
var arySymbol=chart.Data.Data;
|
|
133948
|
+
|
|
133949
|
+
var oldData=null, newData=null;
|
|
133950
|
+
if (oldIndex>=0 && oldIndex<arySymbol.length)
|
|
133951
|
+
{
|
|
133952
|
+
var symbol=arySymbol[oldIndex];
|
|
133953
|
+
oldData={ Symbol:symbol, Index:oldIndex };
|
|
133954
|
+
}
|
|
133955
|
+
|
|
133956
|
+
if (newIndex>=0 && newIndex<arySymbol.length)
|
|
133957
|
+
{
|
|
133958
|
+
var symbol=arySymbol[newIndex];
|
|
133959
|
+
newData={ Symbol:symbol, Index:newIndex };
|
|
133960
|
+
}
|
|
133961
|
+
|
|
133962
|
+
var endData={ Old:oldData, Now:newData };
|
|
133963
|
+
event.Callback(event, endData, this);
|
|
133964
|
+
}
|
|
133965
|
+
|
|
133920
133966
|
//左右移动
|
|
133921
133967
|
this.MoveXOffset=function(step)
|
|
133922
133968
|
{
|
|
@@ -153165,7 +153211,7 @@ function HQChartScriptWorker()
|
|
|
153165
153211
|
|
|
153166
153212
|
|
|
153167
153213
|
|
|
153168
|
-
var HQCHART_VERSION="1.1.
|
|
153214
|
+
var HQCHART_VERSION="1.1.14440";
|
|
153169
153215
|
|
|
153170
153216
|
function PrintHQChartVersion()
|
|
153171
153217
|
{
|