hqchart 1.1.13588 → 1.1.13595
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 +74 -60
- package/package.json +1 -1
- package/src/jscommon/umychart.js +47 -4
- package/src/jscommon/umychart.report.js +173 -2
- package/src/jscommon/umychart.resource/font/drawtool/demo_index.html +49 -3
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.css +11 -3
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.js +1 -1
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.json +14 -0
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.ttf +0 -0
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.woff +0 -0
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.woff2 +0 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +221 -7
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +221 -7
|
@@ -6527,6 +6527,7 @@ var JSCHART_EVENT_ID=
|
|
|
6527
6527
|
ON_CLICK_REPORT_CHECKBOX:141, //报价列表checkbox
|
|
6528
6528
|
ON_CLICK_REPORT_BUTTON:142, //报价列表按钮
|
|
6529
6529
|
ON_CLICK_REPORT_LINK:143, //报价列表 链接
|
|
6530
|
+
ON_CREATE_REPORT_HEADER_MENU:144, //报价列表 表头菜单
|
|
6530
6531
|
|
|
6531
6532
|
|
|
6532
6533
|
ON_CHANGE_INDEX:150, //切换指标
|
|
@@ -6703,8 +6704,10 @@ var JSCHART_MENU_ID=
|
|
|
6703
6704
|
|
|
6704
6705
|
|
|
6705
6706
|
CMD_REPORT_CHANGE_BLOCK_ID:60, //报价列表 切换板块ID
|
|
6706
|
-
|
|
6707
|
-
|
|
6707
|
+
CMD_REPORT_COLUMN_SORT_ID:61, //报价列表 表头排序 Arg[列序号, 排序方向]
|
|
6708
|
+
CMD_REPORT_COLUMN_DEL_ID:62, //报价列表 删除列
|
|
6709
|
+
CMD_REPORT_COLUMN_MOVE_ID:63, //报价列表 列移动
|
|
6710
|
+
CMD_REPORT_COLUMN_FILTER_ID:64, //报价列表 筛选
|
|
6708
6711
|
}
|
|
6709
6712
|
|
|
6710
6713
|
|
|
@@ -60881,6 +60884,16 @@ function ChartArrowMarker()
|
|
|
60881
60884
|
this.OnlyMoveXIndex=true;
|
|
60882
60885
|
this.IsSupportMagnet=true;
|
|
60883
60886
|
|
|
60887
|
+
this.Super_SetOption=this.SetOption; //父类函数
|
|
60888
|
+
|
|
60889
|
+
this.SetOption=function(option)
|
|
60890
|
+
{
|
|
60891
|
+
this.Super_SetOption(option);
|
|
60892
|
+
|
|
60893
|
+
if (option.AreaColor) this.AreaColor=option.AreaColor;
|
|
60894
|
+
else this.AreaColor=IChartDrawPicture.ColorToRGBA(this.LineColor, 0.6);
|
|
60895
|
+
}
|
|
60896
|
+
|
|
60884
60897
|
this.CalculatePoint=function(angle, ptStart, ptEnd, lineWidth)
|
|
60885
60898
|
{
|
|
60886
60899
|
var theta=angle; //三角斜边一直线夹角
|
|
@@ -60924,9 +60937,12 @@ function ChartArrowMarker()
|
|
|
60924
60937
|
this.Canvas.lineTo(outArrow.Bottom.X,outArrow.Bottom.Y);
|
|
60925
60938
|
this.Canvas.lineTo(insideArrow.Bottom.X,insideArrow.Bottom.Y);
|
|
60926
60939
|
this.Canvas.lineTo(ptStart.X,ptStart.Y);
|
|
60927
|
-
this.Canvas.closePath();
|
|
60928
60940
|
|
|
60929
|
-
this.Canvas.
|
|
60941
|
+
this.Canvas.strokeStyle=this.LineColor;
|
|
60942
|
+
this.Canvas.stroke();
|
|
60943
|
+
|
|
60944
|
+
this.Canvas.closePath();
|
|
60945
|
+
this.Canvas.fillStyle=this.AreaColor;
|
|
60930
60946
|
this.Canvas.fill();
|
|
60931
60947
|
|
|
60932
60948
|
/*
|
|
@@ -69717,6 +69733,9 @@ function ChartPriceRange()
|
|
|
69717
69733
|
|
|
69718
69734
|
this.DrawArrow({X:ToFixedPoint(xCenter), Y:ptStart.Y}, {X:ToFixedPoint(xCenter), Y:ptEnd.Y});
|
|
69719
69735
|
|
|
69736
|
+
var bottom=this.Frame.ChartBorder.GetBottomEx();
|
|
69737
|
+
var top=this.Frame.ChartBorder.GetTopEx();
|
|
69738
|
+
|
|
69720
69739
|
//文字输出
|
|
69721
69740
|
var startValue=this.Frame.GetYData(ptStart.Y,false);
|
|
69722
69741
|
var endValue=this.Frame.GetYData(ptEnd.Y,false);
|
|
@@ -69732,6 +69751,23 @@ function ChartPriceRange()
|
|
|
69732
69751
|
else rtTextBG.Top=ptEnd.Y+4;
|
|
69733
69752
|
rtTextBG.Bottom=rtTextBG.Top+rtTextBG.Height;
|
|
69734
69753
|
|
|
69754
|
+
if (diffValue>0)
|
|
69755
|
+
{
|
|
69756
|
+
if (rtTextBG.Top<=top)
|
|
69757
|
+
{
|
|
69758
|
+
rtTextBG.Top=top;
|
|
69759
|
+
rtTextBG.Bottom=rtTextBG.Top+rtTextBG.Height;
|
|
69760
|
+
}
|
|
69761
|
+
}
|
|
69762
|
+
else
|
|
69763
|
+
{
|
|
69764
|
+
if (rtTextBG.Bottom>=bottom)
|
|
69765
|
+
{
|
|
69766
|
+
rtTextBG.Bottom=bottom;
|
|
69767
|
+
rtTextBG.Top=rtTextBG.Bottom-rtTextBG.Height;
|
|
69768
|
+
}
|
|
69769
|
+
}
|
|
69770
|
+
|
|
69735
69771
|
if (this.Label.EnableBGColor)
|
|
69736
69772
|
{
|
|
69737
69773
|
var path=new Path2D();
|
|
@@ -69838,6 +69874,7 @@ function ChartDateRange()
|
|
|
69838
69874
|
|
|
69839
69875
|
|
|
69840
69876
|
//文字输出
|
|
69877
|
+
var bottom=this.Frame.ChartBorder.GetBottomEx();
|
|
69841
69878
|
var startIndex=this.Frame.GetXData(ptStart.X,false);
|
|
69842
69879
|
var endIndex=this.Frame.GetXData(ptEnd.X,false);
|
|
69843
69880
|
var barCount=endIndex-startIndex+1;
|
|
@@ -69849,6 +69886,12 @@ function ChartDateRange()
|
|
|
69849
69886
|
var rtTextBG={ Left:xCenter-textWidth/2, Top:ptEnd.Y+4, Width:textWidth, Height:textHeight+2 };
|
|
69850
69887
|
rtTextBG.Bottom=rtTextBG.Top+rtTextBG.Height;
|
|
69851
69888
|
|
|
69889
|
+
if (rtTextBG.Bottom>=bottom)
|
|
69890
|
+
{
|
|
69891
|
+
rtTextBG.Bottom=bottom;
|
|
69892
|
+
rtTextBG.Top=rtTextBG.Bottom-rtTextBG.Height;
|
|
69893
|
+
}
|
|
69894
|
+
|
|
69852
69895
|
if (this.Label.EnableBGColor)
|
|
69853
69896
|
{
|
|
69854
69897
|
var path=new Path2D();
|
|
@@ -126472,7 +126515,7 @@ function JSReportChartContainer(uielement)
|
|
|
126472
126515
|
//更新数据
|
|
126473
126516
|
this.UpdateFullData=function(data)
|
|
126474
126517
|
{
|
|
126475
|
-
var arySymbol=[];
|
|
126518
|
+
var arySymbol=[];
|
|
126476
126519
|
if (IFrameSplitOperator.IsNonEmptyArray(data.data))
|
|
126477
126520
|
{
|
|
126478
126521
|
//0=证券代码 1=股票名称
|
|
@@ -126490,17 +126533,19 @@ function JSReportChartContainer(uielement)
|
|
|
126490
126533
|
stock=new HQReportItem();
|
|
126491
126534
|
stock.OriginalSymbol=symbol;
|
|
126492
126535
|
this.MapStockData.set(symbol, stock);
|
|
126536
|
+
|
|
126493
126537
|
}
|
|
126494
126538
|
|
|
126495
126539
|
stock.Symbol=this.GetSymbolNoSuffix(symbol);
|
|
126496
126540
|
stock.Name=item[1];
|
|
126497
126541
|
this.ReadStockJsonData(stock, item);
|
|
126498
|
-
|
|
126499
126542
|
arySymbol.push(symbol);
|
|
126500
126543
|
}
|
|
126501
126544
|
}
|
|
126502
126545
|
|
|
126503
126546
|
//设置显示数据
|
|
126547
|
+
this.Data.Data=[];
|
|
126548
|
+
this.SourceData.Data=[];
|
|
126504
126549
|
if (IFrameSplitOperator.IsNonEmptyArray(arySymbol))
|
|
126505
126550
|
{
|
|
126506
126551
|
for(var i=0;i<arySymbol.length;++i)
|
|
@@ -128623,10 +128668,73 @@ function JSReportChartContainer(uielement)
|
|
|
128623
128668
|
}
|
|
128624
128669
|
}
|
|
128625
128670
|
|
|
128671
|
+
//列排序
|
|
128672
|
+
this.SortColumn=function(index, sortType)
|
|
128673
|
+
{
|
|
128674
|
+
if (index<0) return false;
|
|
128675
|
+
var reportChart=this.GetReportChart();
|
|
128676
|
+
if (!reportChart) return false;
|
|
128677
|
+
|
|
128678
|
+
var column=reportChart.Column[index];
|
|
128679
|
+
|
|
128680
|
+
if (!column) return false;
|
|
128681
|
+
if (column.Sort!=1 && column.Sort!=2) return false;
|
|
128682
|
+
|
|
128683
|
+
var sortInfo={ Field:index, Sort:sortType };
|
|
128684
|
+
if (sortInfo.Sort==0) //不排序还原
|
|
128685
|
+
{
|
|
128686
|
+
this.Data.Data=[];
|
|
128687
|
+
if (IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data))
|
|
128688
|
+
this.Data.Data=this.SourceData.Data.slice();
|
|
128689
|
+
}
|
|
128690
|
+
else if (sortInfo.Sort==1 || sortInfo.Sort==2)
|
|
128691
|
+
{
|
|
128692
|
+
if (column.Sort==1) //本地排序
|
|
128693
|
+
{
|
|
128694
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_LOCAL_SORT);
|
|
128695
|
+
if (event && event.Callback)
|
|
128696
|
+
{
|
|
128697
|
+
var sendData={ Column:column, SortInfo:sortInfo, SymbolList:this.Data.Data, Result:null };
|
|
128698
|
+
event.Callback (event, sendData, this);
|
|
128699
|
+
if (Array.isArray(sendData.Result)) this.Data.Data=sendData.Result;
|
|
128700
|
+
}
|
|
128701
|
+
else
|
|
128702
|
+
{
|
|
128703
|
+
this.Data.Data.sort((left, right)=> { return this.LocalSort(left, right, column, sortInfo.Sort); });
|
|
128704
|
+
}
|
|
128705
|
+
}
|
|
128706
|
+
else if (column.Sort==2) //远程排序
|
|
128707
|
+
{
|
|
128708
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
|
|
128709
|
+
|
|
128710
|
+
this.SortInfo.Field=sortInfo.Field;
|
|
128711
|
+
this.SortInfo.Sort=sortInfo.Sort;
|
|
128712
|
+
this.Data.YOffset=0;
|
|
128713
|
+
this.ResetReportSelectStatus();
|
|
128714
|
+
this.RequestStockSortData(column, sortInfo.Field, sortInfo.Sort); //远程排序
|
|
128715
|
+
return true;
|
|
128716
|
+
}
|
|
128717
|
+
}
|
|
128718
|
+
|
|
128719
|
+
this.Data.YOffset=0;
|
|
128720
|
+
this.ResetReportSelectStatus();
|
|
128721
|
+
this.SortInfo.Field=sortInfo.Field;
|
|
128722
|
+
this.SortInfo.Sort=sortInfo.Sort;
|
|
128723
|
+
this.Draw();
|
|
128724
|
+
this.DelayUpdateStockData();
|
|
128725
|
+
return true;
|
|
128726
|
+
}
|
|
128727
|
+
|
|
128626
128728
|
//点表头
|
|
128627
128729
|
this.OnClickHeader=function(clickData, e)
|
|
128628
128730
|
{
|
|
128629
128731
|
var header=clickData.Header;
|
|
128732
|
+
if (header.Column && header.Column.EnablePopupHeaderMenu)
|
|
128733
|
+
{
|
|
128734
|
+
this.PopupHeaderMenu(clickData, e);
|
|
128735
|
+
return;
|
|
128736
|
+
}
|
|
128737
|
+
|
|
128630
128738
|
if (header.Column && (header.Column.Sort==1 || header.Column.Sort==2))
|
|
128631
128739
|
{
|
|
128632
128740
|
var index=header.Index;
|
|
@@ -128705,6 +128813,52 @@ function JSReportChartContainer(uielement)
|
|
|
128705
128813
|
}
|
|
128706
128814
|
}
|
|
128707
128815
|
|
|
128816
|
+
this.PopupHeaderMenu=function(clickData, e)
|
|
128817
|
+
{
|
|
128818
|
+
if (!this.JSPopMenu) return;
|
|
128819
|
+
if (!this.GetEventCallback) return;
|
|
128820
|
+
|
|
128821
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_REPORT_HEADER_MENU);
|
|
128822
|
+
if (!event || !event.Callback) return;
|
|
128823
|
+
|
|
128824
|
+
var header=clickData.Header;
|
|
128825
|
+
var column=header.Column;
|
|
128826
|
+
var menuData={ Menu:null, Position:JSPopMenu.POSITION_ID.DROPDOWN_MENU_ID };
|
|
128827
|
+
menuData.ClickCallback=(data)=>{ this.OnClickHeaderMenu(column, data); }
|
|
128828
|
+
|
|
128829
|
+
var sendData={ MenuData:menuData, Column:column, Index:header.Index, PreventDefault:false, e:e };
|
|
128830
|
+
event.Callback(event, sendData, this);
|
|
128831
|
+
if (sendData.PreventDefault==true) return;
|
|
128832
|
+
|
|
128833
|
+
if (!menuData.Menu) return;
|
|
128834
|
+
|
|
128835
|
+
this.PopupMenuByDrapdown(menuData, header.Rect);
|
|
128836
|
+
}
|
|
128837
|
+
|
|
128838
|
+
//下拉菜单
|
|
128839
|
+
this.PopupMenuByDrapdown=function(menuData, rtButton)
|
|
128840
|
+
{
|
|
128841
|
+
if (!this.JSPopMenu) return;
|
|
128842
|
+
|
|
128843
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
128844
|
+
var rtCell={ Left:rtButton.Left/pixelRatio, Right:rtButton.Right/pixelRatio, Bottom:rtButton.Bottom/pixelRatio, Top:rtButton.Top/pixelRatio };
|
|
128845
|
+
rtCell.Width=rtCell.Right-rtCell.Left;
|
|
128846
|
+
rtCell.Height=rtCell.Bottom-rtCell.Top;
|
|
128847
|
+
|
|
128848
|
+
var rtClient=this.UIElement.getBoundingClientRect();
|
|
128849
|
+
var rtScroll=GetScrollPosition();
|
|
128850
|
+
|
|
128851
|
+
var offsetLeft=rtClient.left+rtScroll.Left;
|
|
128852
|
+
var offsetTop=rtClient.top+rtScroll.Top;
|
|
128853
|
+
rtCell.Left+=offsetLeft;
|
|
128854
|
+
rtCell.Right+=offsetLeft;
|
|
128855
|
+
rtCell.Top+=offsetTop;
|
|
128856
|
+
rtCell.Bottom+=offsetTop;
|
|
128857
|
+
|
|
128858
|
+
this.JSPopMenu.CreatePopMenu(menuData);
|
|
128859
|
+
this.JSPopMenu.PopupMenuByDrapdown(rtCell);
|
|
128860
|
+
}
|
|
128861
|
+
|
|
128708
128862
|
this.GetTabPopMenu=function(tabItem)
|
|
128709
128863
|
{
|
|
128710
128864
|
var aryMenu=[ ];
|
|
@@ -128820,6 +128974,24 @@ function JSReportChartContainer(uielement)
|
|
|
128820
128974
|
this.Draw();
|
|
128821
128975
|
}
|
|
128822
128976
|
|
|
128977
|
+
this.OnClickHeaderMenu=function(menuData, data)
|
|
128978
|
+
{
|
|
128979
|
+
JSConsole.Chart.Log('[JSReportChartContainer::OnClickHeaderMenu] ',menuData, data);
|
|
128980
|
+
|
|
128981
|
+
var cmdID=data.Data.ID;
|
|
128982
|
+
var aryArgs=data.Data.Args;
|
|
128983
|
+
|
|
128984
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MENU_COMMAND); //回调通知外部
|
|
128985
|
+
if (event && event.Callback)
|
|
128986
|
+
{
|
|
128987
|
+
var data={ PreventDefault:false, CommandID:cmdID, Args:aryArgs, SrcData:data, MenuData:menuData };
|
|
128988
|
+
event.Callback(event,data,this);
|
|
128989
|
+
if (data.PreventDefault) return;
|
|
128990
|
+
}
|
|
128991
|
+
|
|
128992
|
+
this.ExecuteMenuCommand(cmdID,aryArgs);
|
|
128993
|
+
}
|
|
128994
|
+
|
|
128823
128995
|
this.ExecuteMenuCommand=function(cmdID, aryArgs)
|
|
128824
128996
|
{
|
|
128825
128997
|
JSConsole.Chart.Log('[JSReportChartContainer::ExecuteMenuCommand] cmdID=, aryArgs=', cmdID,aryArgs);
|
|
@@ -128836,6 +129008,22 @@ function JSReportChartContainer(uielement)
|
|
|
128836
129008
|
case JSCHART_MENU_ID.CMD_REPORT_CHANGE_BLOCK_ID:
|
|
128837
129009
|
if (srcParam) this.ChangeSymbol(srcParam);
|
|
128838
129010
|
break;
|
|
129011
|
+
case JSCHART_MENU_ID.CMD_REPORT_COLUMN_SORT_ID:
|
|
129012
|
+
if (IFrameSplitOperator.IsNumber(param) && IFrameSplitOperator.IsNumber(aryArgs[1]))
|
|
129013
|
+
this.SortColumn(param, aryArgs[1]);
|
|
129014
|
+
break;
|
|
129015
|
+
case JSCHART_MENU_ID.CMD_REPORT_COLUMN_MOVE_ID:
|
|
129016
|
+
if (IFrameSplitOperator.IsNumber(param) && IFrameSplitOperator.IsNumber(aryArgs[1]))
|
|
129017
|
+
{
|
|
129018
|
+
var leftIndex=param;
|
|
129019
|
+
var rightIndex=param+aryArgs[1];
|
|
129020
|
+
this.SwapColumn(leftIndex, rightIndex, {Redraw:true});
|
|
129021
|
+
}
|
|
129022
|
+
break;
|
|
129023
|
+
case JSCHART_MENU_ID.CMD_REPORT_COLUMN_DEL_ID:
|
|
129024
|
+
if (IFrameSplitOperator.IsNumber(param))
|
|
129025
|
+
this.DeleteColumn(param, {Redraw:true});
|
|
129026
|
+
break;
|
|
128839
129027
|
}
|
|
128840
129028
|
}
|
|
128841
129029
|
|
|
@@ -128853,6 +129041,20 @@ function JSReportChartContainer(uielement)
|
|
|
128853
129041
|
}
|
|
128854
129042
|
}
|
|
128855
129043
|
|
|
129044
|
+
this.DeleteColumn=function(index, option)
|
|
129045
|
+
{
|
|
129046
|
+
var reportChart=this.GetReportChart();
|
|
129047
|
+
if (!reportChart) return;
|
|
129048
|
+
|
|
129049
|
+
if (!reportChart.DeleteColumn(index)) return;
|
|
129050
|
+
|
|
129051
|
+
if (option && option.Redraw)
|
|
129052
|
+
{
|
|
129053
|
+
this.SetSizeChange(true);
|
|
129054
|
+
this.Draw();
|
|
129055
|
+
}
|
|
129056
|
+
}
|
|
129057
|
+
|
|
128856
129058
|
//本地排序
|
|
128857
129059
|
this.LocalSort=function(left, right, column, sortType)
|
|
128858
129060
|
{
|
|
@@ -129707,6 +129909,9 @@ function ChartReport()
|
|
|
129707
129909
|
else colItem.IsDrawCallback=false;
|
|
129708
129910
|
if (item.Icon) colItem.Icon=item.Icon;
|
|
129709
129911
|
|
|
129912
|
+
//点击表头弹出菜单
|
|
129913
|
+
if (IFrameSplitOperator.IsBool(item.EnablePopupHeaderMenu)) colItem.EnablePopupHeaderMenu=item.EnablePopupHeaderMenu;
|
|
129914
|
+
|
|
129710
129915
|
if (item.Sort==1 || item.Sort==2) //1本地排序 2=远程排序
|
|
129711
129916
|
{
|
|
129712
129917
|
colItem.SortType=[1,2]; //默认 降序 ,升序
|
|
@@ -129814,6 +130019,15 @@ function ChartReport()
|
|
|
129814
130019
|
return true;
|
|
129815
130020
|
}
|
|
129816
130021
|
|
|
130022
|
+
this.DeleteColumn=function(index)
|
|
130023
|
+
{
|
|
130024
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Column)) return false;
|
|
130025
|
+
if (index<0 || index>=this.Column.length) return false;
|
|
130026
|
+
|
|
130027
|
+
this.Column.splice(index,1);
|
|
130028
|
+
return true;
|
|
130029
|
+
}
|
|
130030
|
+
|
|
129817
130031
|
this.GetXScrollPos=function()
|
|
129818
130032
|
{
|
|
129819
130033
|
return this.Data.XOffset;
|
|
@@ -136646,7 +136860,7 @@ function ScrollBarBGChart()
|
|
|
136646
136860
|
|
|
136647
136861
|
|
|
136648
136862
|
|
|
136649
|
-
var HQCHART_VERSION="1.1.
|
|
136863
|
+
var HQCHART_VERSION="1.1.13594";
|
|
136650
136864
|
|
|
136651
136865
|
function PrintHQChartVersion()
|
|
136652
136866
|
{
|