hqchart 1.1.13672 → 1.1.13682

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.
@@ -72215,6 +72215,16 @@ function JSChartResource()
72215
72215
  NameFont:{ Size:14, Name:"微软雅黑" },
72216
72216
  SymbolFont:{ Size:12, Name:"微软雅黑" }
72217
72217
  },
72218
+
72219
+ VScrollbar:
72220
+ {
72221
+ ScrollBarHeight:50,
72222
+ ButtonColor:"rgba(252,252,252,0.8)",
72223
+ BarColor:"rgba(168,168,168,0.9)",
72224
+ BorderColor:'rgba(180,180,180,0.9)',
72225
+ BGColor:"rgba(234,239,248,0.9)",
72226
+ BarWidth:{ Size:8 }
72227
+ },
72218
72228
  },
72219
72229
 
72220
72230
  //滚动条
@@ -134037,7 +134047,7 @@ function ChartVScrollbar()
134037
134047
  this.ChartBorder; //边框信息
134038
134048
  this.ChartFrame; //框架画法
134039
134049
  this.Name; //名称
134040
- this.ClassName='ChartReportTab'; //类名
134050
+ this.ClassName='ChartVScrollbar'; //类名
134041
134051
  this.IsDrawFirst=false;
134042
134052
  this.GetEventCallback; //获取事件
134043
134053
  this.Report;
@@ -137020,6 +137030,7 @@ function JSKeyboardChartContainer(uielement)
137020
137030
 
137021
137031
  //拖拽滚动条
137022
137032
  this.DragYScroll=null; //{Start:{x,y}, End:{x, y}}
137033
+
137023
137034
  this.IsDestroy=false; //是否已经销毁了
137024
137035
 
137025
137036
  this.ChartDestory=function() //销毁
@@ -137060,6 +137071,7 @@ function JSKeyboardChartContainer(uielement)
137060
137071
  this.Data.Data=aryExactQuery.concat(aryFuzzyQuery);
137061
137072
 
137062
137073
  this.ChartPaint[0].SelectedRow=0;
137074
+ this.ChartPaint[0].SizeChange=true;
137063
137075
 
137064
137076
  JSConsole.Chart.Log(`[JSKeyboardChart:Search] search=${strSearch}, source=${this.SourceData.Data.length} match=${this.Data.Data.length}`);
137065
137077
 
@@ -137136,6 +137148,12 @@ function JSKeyboardChartContainer(uielement)
137136
137148
  chart.Data=this.Data;
137137
137149
  this.ChartPaint[0]=chart;
137138
137150
 
137151
+ chart.VScrollbar=new ChartKeyboardVScrollbar();
137152
+ chart.VScrollbar.Frame=this.Frame;
137153
+ chart.VScrollbar.Canvas=this.Canvas;
137154
+ chart.VScrollbar.ChartBorder=this.Frame.ChartBorder;
137155
+ chart.VScrollbar.Report=chart;
137156
+
137139
137157
  if (option)
137140
137158
  {
137141
137159
 
@@ -137387,7 +137405,7 @@ function JSKeyboardChartContainer(uielement)
137387
137405
 
137388
137406
  this.UIOnMouseDown=function(e)
137389
137407
  {
137390
- this.DragXScroll=null;
137408
+ this.DragYScroll=null;
137391
137409
  this.DragMove={ Click:{ X:e.clientX, Y:e.clientY }, Move:{X:e.clientX, Y:e.clientY}, PreMove:{X:e.clientX, Y:e.clientY } };
137392
137410
 
137393
137411
  var pixelTatio = GetDevicePixelRatio();
@@ -137406,6 +137424,29 @@ function JSKeyboardChartContainer(uielement)
137406
137424
  if (clickData.Redraw==true)
137407
137425
  this.Draw();
137408
137426
  }
137427
+ else if (clickData.Type==5 && e.button==0) //右侧滚动条
137428
+ {
137429
+ var scroll=clickData.VScrollbar;
137430
+ if (scroll.Type==1) //顶部按钮
137431
+ {
137432
+ if (this.MoveYOffset(-1))
137433
+ this.Draw();
137434
+ }
137435
+ else if (scroll.Type==2) //底部按钮
137436
+ {
137437
+ if (this.MoveYOffset(1))
137438
+ this.Draw();
137439
+ }
137440
+ else if (scroll.Type==3) //滚动条
137441
+ {
137442
+ this.DragYScroll={ Click:{X:x, Y:y}, LastMove:{X:x, Y:y} };
137443
+ }
137444
+ else if (scroll.Type==4) //滚动条内部
137445
+ {
137446
+ if (this.SetYOffset(scroll.Pos))
137447
+ this.Draw();
137448
+ }
137449
+ }
137409
137450
  }
137410
137451
 
137411
137452
  document.onmousemove=(e)=>{ this.DocOnMouseMove(e); }
@@ -137451,68 +137492,17 @@ function JSKeyboardChartContainer(uielement)
137451
137492
  var x = (e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;
137452
137493
  var y = (e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
137453
137494
 
137454
- //JSConsole.Chart.Log(`[JSReportChartContainer::DocOnMouseMove] x=${x}, y=${y}`);
137455
-
137456
- if (this.DragRow)
137457
- {
137458
- var drag=this.DragRow;
137459
- var moveSetpY=drag.LastMove.Y-e.clientY;
137460
- if (Math.abs(moveSetpY)<2) return;
137461
- var reportChart=this.GetReportChart();
137462
- drag.LastMove.X=e.clientX;
137463
- drag.LastMove.Y=e.clientY;
137464
- drag.Inside={X:x, Y:y};
137465
-
137466
- if (reportChart)
137467
- {
137468
- var moveRow=reportChart.OnDrawgRow(x,y,e);
137469
- if (moveRow )
137470
- {
137471
- if (moveRow.Type==2)
137472
- {
137473
- if (moveRow.Data.DataIndex!=drag.Data.Row.DataIndex)
137474
- {
137475
- drag.MoveRow=moveRow;
137476
- }
137477
- }
137478
- else if (moveRow.Type==7)
137479
- {
137480
- var pageStatus=reportChart.GetCurrentPageStatus();
137481
- if (!pageStatus.IsEnd)
137482
- {
137483
- this.MoveYOffset(1, false);
137484
- drag.MoveRow=null;
137485
-
137486
- this.EnablePageScroll=true;
137487
- this.AutoScrollPage(2);
137488
- }
137489
- }
137490
- else if (moveRow.Type==5)
137491
- {
137492
- if (this.Data.YOffset>0)
137493
- {
137494
- this.MoveYOffset(-1, false);
137495
- drag.MoveRow=null;
137496
-
137497
- this.EnablePageScroll=true;
137498
- this.AutoScrollPage(-2);
137499
- }
137500
- }
137501
- }
137502
- reportChart.DragRow=drag;
137503
- }
137504
-
137505
- this.Draw();
137506
- }
137507
- else if (this.DragXScroll)
137495
+ if (this.DragYScroll)
137508
137496
  {
137509
137497
  var chart=this.ChartPaint[0];
137510
- if (!chart || !chart.Tab) return;
137498
+ if (!chart || !chart.VScrollbar) return;
137511
137499
 
137512
- this.DragXScroll.LastMove.X=x;
137513
- this.DragXScroll.LastMove.Y=y;
137514
- var pos=chart.Tab.GetScrollPostionByPoint(x,y);
137515
- if (this.SetXOffset(pos)) this.Draw();
137500
+ this.DragYScroll.LastMove.X=x;
137501
+ this.DragYScroll.LastMove.Y=y;
137502
+
137503
+ var pos=chart.VScrollbar.GetScrollPostionByPoint(x,y);
137504
+ if (this.SetYOffset(pos))
137505
+ this.Draw();
137516
137506
  }
137517
137507
  }
137518
137508
 
@@ -137522,6 +137512,8 @@ function JSKeyboardChartContainer(uielement)
137522
137512
  document.onmousemove=null;
137523
137513
  document.onmouseup=null;
137524
137514
 
137515
+ this.DragYScroll=null;
137516
+
137525
137517
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_KEYBOARD_MOUSEUP)
137526
137518
  if (event && event.Callback)
137527
137519
  {
@@ -137828,6 +137820,21 @@ function JSKeyboardChartContainer(uielement)
137828
137820
  return result;
137829
137821
  }
137830
137822
  }
137823
+
137824
+ this.SetYOffset=function(pos)
137825
+ {
137826
+ if (!IFrameSplitOperator.IsNumber(pos)) return false;
137827
+ var chart=this.ChartPaint[0];
137828
+ if (!chart) return false;
137829
+
137830
+ var maxOffset=chart.GetYScrollRange();
137831
+ if (pos<0) pos=0;
137832
+ if (pos>maxOffset) pos=maxOffset;
137833
+
137834
+ this.Data.YOffset=pos;
137835
+
137836
+ return true;
137837
+ }
137831
137838
  }
137832
137839
 
137833
137840
  function JSKeyboardFrame()
@@ -137837,14 +137844,14 @@ function JSKeyboardFrame()
137837
137844
 
137838
137845
  this.BorderLine=null; //1=上 2=下 4=左 8=右
137839
137846
 
137840
- this.BorderColor=g_JSChartResource.Report.BorderColor; //边框线
137847
+ this.BorderColor=g_JSChartResource.Keyboard.BorderColor; //边框线
137841
137848
 
137842
137849
  this.LogoTextColor=g_JSChartResource.FrameLogo.TextColor;
137843
137850
  this.LogoTextFont=g_JSChartResource.FrameLogo.Font;
137844
137851
 
137845
- this.ReloadResource=function(resource)
137852
+ this.ReloadResource=function(option)
137846
137853
  {
137847
- this.BorderColor=g_JSChartResource.Report.BorderColor; //边框线
137854
+ this.BorderColor=g_JSChartResource.Keyboard.BorderColor; //边框线
137848
137855
  this.LogoTextColor=g_JSChartResource.FrameLogo.TextColor;
137849
137856
  this.LogoTextFont=g_JSChartResource.FrameLogo.Font;
137850
137857
  }
@@ -137919,7 +137926,8 @@ var KEYBOARD_COLUMN_ID=
137919
137926
  SHORT_SYMBOL_ID:0, //不带后缀代码
137920
137927
  SYMBOL_ID:1,
137921
137928
  NAME_ID:2, //简称
137922
- TYPE_ID:3 //类型
137929
+ TYPE_ID:3, //类型
137930
+ TYPE_NAME_ID:4, //类型中文名字
137923
137931
  }
137924
137932
 
137925
137933
 
@@ -137940,10 +137948,12 @@ function ChartSymbolList()
137940
137948
  this.IsDrawBorder=false; //是否绘制单元格边框
137941
137949
 
137942
137950
  this.ShowSymbol=[]; //显示的股票列表 { Index:序号(排序用), Symbol:股票代码 }
137951
+
137952
+ this.VScrollbar; //竖向滚动条
137943
137953
 
137944
137954
  this.BorderColor=g_JSChartResource.Keyboard.BorderColor; //边框线
137945
137955
  this.SelectedColor=g_JSChartResource.Keyboard.SelectedColor; //选中行
137946
- this.TextColor=g_JSChartResource.Keyboard.TextColor; //文字颜色
137956
+ this.TextColor=g_JSChartResource.Keyboard.TextColor; //文字颜色
137947
137957
 
137948
137958
  //表格内容配置
137949
137959
  this.ItemFontConfig={ Size:g_JSChartResource.Keyboard.Item.Font.Size, Name:g_JSChartResource.Keyboard.Item.Font.Name };
@@ -137967,14 +137977,20 @@ function ChartSymbolList()
137967
137977
  [
137968
137978
  { Type:KEYBOARD_COLUMN_ID.SHORT_SYMBOL_ID, Title:"代码", TextAlign:"left", Width:null, MaxText:"888888" },
137969
137979
  { Type:KEYBOARD_COLUMN_ID.NAME_ID, Title:"名称", TextAlign:"left", Width:null, MaxText:"擎擎擎擎擎擎" },
137970
- { Type:KEYBOARD_COLUMN_ID.TYPE_ID, Title:"类型", TextAlign:"right", Width:null, MaxText:"擎擎擎擎" },
137980
+ //{ Type:KEYBOARD_COLUMN_ID.TYPE_ID, Title:"类型", TextAlign:"right", Width:null, MaxText:"擎擎擎擎" },
137981
+ { Type:KEYBOARD_COLUMN_ID.TYPE_NAME_ID, Title:"类型", TextAlign:"right", Width:null, MaxText:"擎擎擎擎" },
137982
+
137971
137983
  ];
137972
137984
 
137973
137985
  this.RectClient={ };
137974
137986
 
137975
137987
  this.ReloadResource=function(resource)
137976
137988
  {
137977
-
137989
+ this.BorderColor=g_JSChartResource.Keyboard.BorderColor; //边框线
137990
+ this.SelectedColor=g_JSChartResource.Keyboard.SelectedColor; //选中行
137991
+ this.TextColor=g_JSChartResource.Keyboard.TextColor; //文字颜色
137992
+
137993
+ if (this.VScrollbar) this.VScrollbar.ReloadResource(resource);
137978
137994
  }
137979
137995
 
137980
137996
  this.SetColumn=function(aryColumn)
@@ -137989,10 +138005,11 @@ function ChartSymbolList()
137989
138005
  if (this.SizeChange) this.CalculateSize();
137990
138006
  else this.UpdateCacheData();
137991
138007
 
138008
+ var bShowVScrollbar=this.IsShowVScrollbar();
137992
138009
  this.Canvas.save();
137993
138010
 
137994
138011
  this.Canvas.beginPath();
137995
- this.Canvas.rect(this.RectClient.Left,this.RectClient.Top,(this.RectClient.Right-this.RectClient.Left),(this.RectClient.Bottom-this.RectClient.Top));
138012
+ this.Canvas.rect(this.RectClient.Left,this.RectClient.Top+1,(this.RectClient.Right-this.RectClient.Left),(this.RectClient.Bottom-(this.RectClient.Top+1)));
137996
138013
  //this.Canvas.stroke(); //调试用
137997
138014
  this.Canvas.clip();
137998
138015
 
@@ -138001,6 +138018,12 @@ function ChartSymbolList()
138001
138018
 
138002
138019
  this.DrawBorder();
138003
138020
 
138021
+ if (this.VScrollbar && bShowVScrollbar)
138022
+ {
138023
+ var bottom=this.ChartBorder.GetBottom();
138024
+ this.VScrollbar.DrawScrollbar(this.RectClient.Left,this.RectClient.Top+2, this.RectClient.Right+this.VScrollbar.ButtonSize+2, bottom-2);
138025
+ }
138026
+
138004
138027
  this.SizeChange=false;
138005
138028
  }
138006
138029
 
@@ -138011,6 +138034,12 @@ function ChartSymbolList()
138011
138034
  this.RectClient.Right=this.ChartBorder.GetRight();
138012
138035
  this.RectClient.Top=this.ChartBorder.GetTop();
138013
138036
  this.RectClient.Bottom=this.ChartBorder.GetBottom();
138037
+
138038
+ var bShowVScrollbar=this.IsShowVScrollbar();
138039
+ if (bShowVScrollbar && this.VScrollbar && this.VScrollbar.Enable)
138040
+ {
138041
+ this.RectClient.Right-=(this.VScrollbar.ButtonSize+2);
138042
+ }
138014
138043
  }
138015
138044
 
138016
138045
  this.GetPageSize=function(recalculate) //recalculate 是否重新计算
@@ -138044,6 +138073,8 @@ function ChartSymbolList()
138044
138073
 
138045
138074
  this.CalculateSize=function() //计算大小
138046
138075
  {
138076
+ if (this.VScrollbar && this.VScrollbar.Enable) this.VScrollbar.CalculateSize();
138077
+
138047
138078
  this.UpdateCacheData();
138048
138079
 
138049
138080
  var pixelRatio=GetDevicePixelRatio();
@@ -138213,11 +138244,11 @@ function ChartSymbolList()
138213
138244
  if (stock.Color) drawInfo.TextColor=stock.Color;
138214
138245
  }
138215
138246
  }
138216
- else if (column.Type==KEYBOARD_COLUMN_ID.TYPE_ID)
138247
+ else if (column.Type==KEYBOARD_COLUMN_ID.TYPE_NAME_ID)
138217
138248
  {
138218
- if (stock && stock.Type)
138249
+ if (stock && stock.TypeName)
138219
138250
  {
138220
- drawInfo.Text=this.TextEllipsis(stock.Type, textWidth, column.MaxText);
138251
+ drawInfo.Text=this.TextEllipsis(stock.TypeName, textWidth, column.MaxText);
138221
138252
  if (stock.Color) drawInfo.TextColor=stock.Color;
138222
138253
  }
138223
138254
  }
@@ -138238,6 +138269,7 @@ function ChartSymbolList()
138238
138269
  else if (textAlign=='right')
138239
138270
  {
138240
138271
  x=left+width-2;
138272
+ if (left+width-2>this.RectClient.Right) x=this.RectClient.Right-2;
138241
138273
  this.Canvas.textAlign="right";
138242
138274
  }
138243
138275
  else
@@ -138292,6 +138324,12 @@ function ChartSymbolList()
138292
138324
  else
138293
138325
  var uiElement={Left:null, Top:null};
138294
138326
 
138327
+ if (this.VScrollbar)
138328
+ {
138329
+ var item=this.VScrollbar.OnMouseDown(x,y,e);
138330
+ if (item) return { Type:5, VScrollbar:item }; //右侧滚动条
138331
+ }
138332
+
138295
138333
  var row=this.PtInBody(x,y);
138296
138334
  if (row)
138297
138335
  {
@@ -138452,6 +138490,57 @@ function ChartSymbolList()
138452
138490
  event.Callback(event,data,this);
138453
138491
  }
138454
138492
  }
138493
+
138494
+ this.GetYScrollRange=function()
138495
+ {
138496
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return 0;
138497
+
138498
+ var maxOffset=this.Data.Data.length-this.RowCount;
138499
+
138500
+ return maxOffset;
138501
+ }
138502
+
138503
+ //大于1屏数据 显示滚动条
138504
+ this.IsShowVScrollbar=function()
138505
+ {
138506
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return false;
138507
+
138508
+ return this.Data.Data.length>this.RowCount;
138509
+ }
138510
+ }
138511
+
138512
+ //纵向滚动条
138513
+ function ChartKeyboardVScrollbar()
138514
+ {
138515
+ this.newMethod=ChartVScrollbar; //派生
138516
+ this.newMethod();
138517
+ delete this.newMethod;
138518
+
138519
+ this.ClassName='ChartKeyboardVScrollbar';
138520
+ this.Enable=true;
138521
+
138522
+ this.ScrollBarHeight=g_JSChartResource.Keyboard.VScrollbar.ScrollBarHeight;
138523
+ this.ButtonColor=g_JSChartResource.Keyboard.VScrollbar.ButtonColor;
138524
+ this.BarColor=g_JSChartResource.Keyboard.VScrollbar.BarColor;
138525
+ this.BorderColor=g_JSChartResource.Keyboard.VScrollbar.BorderColor;
138526
+ this.BGColor=g_JSChartResource.Keyboard.VScrollbar.BGColor;
138527
+ this.Mergin={ Left:2, Right:2, Top:2, Bottom:2 };
138528
+ this.BarWithConfig={ Size:g_JSChartResource.Keyboard.VScrollbar.BarWidth.Size };
138529
+
138530
+ this.ReloadResource=function(resource)
138531
+ {
138532
+ this.ScrollBarHeight=g_JSChartResource.Keyboard.VScrollbar.ScrollBarHeight;
138533
+ this.ButtonColor=g_JSChartResource.Keyboard.VScrollbar.ButtonColor;
138534
+ this.BarColor=g_JSChartResource.Keyboard.VScrollbar.BarColor;
138535
+ this.BorderColor=g_JSChartResource.Keyboard.VScrollbar.BorderColor;
138536
+ this.BGColor=g_JSChartResource.Keyboard.VScrollbar.BGColor;
138537
+ this.BarWithConfig={ Size:g_JSChartResource.Keyboard.VScrollbar.BarWidth.Size };
138538
+ }
138539
+
138540
+ this.IsShowCallback=function()
138541
+ {
138542
+ return true;
138543
+ }
138455
138544
  }
138456
138545
 
138457
138546
  /*
@@ -141367,7 +141456,7 @@ function JSPopMinuteChart()
141367
141456
  divDom.appendChild(divTitle);
141368
141457
 
141369
141458
  var divInfoText=document.createElement("div");
141370
- divInfoText.className="";
141459
+ divInfoText.className="jschart_pop_minute_chart_Title";
141371
141460
  divInfoText.innerText="分时图";
141372
141461
  this.DivInfoText=divInfoText;
141373
141462
  divTitle.appendChild(divInfoText);
@@ -141649,10 +141738,21 @@ function JSPopKeyboard()
141649
141738
 
141650
141739
  var divTitle=document.createElement("div");
141651
141740
  divTitle.className='jschart_keyboard_Title_Div';
141652
- divTitle.innerText=this.Title;
141653
141741
  divTitle.onmousedown=(e)=>{ this.OnMouseDownTitle(e); }
141654
141742
  divDom.appendChild(divTitle);
141655
141743
 
141744
+ var divInfoText=document.createElement("div");
141745
+ divInfoText.className="jschart_keyboard_Title";
141746
+ divInfoText.innerText=this.Title;
141747
+ this.DivInfoText=divInfoText;
141748
+ divTitle.appendChild(divInfoText);
141749
+
141750
+ var divClose=document.createElement("div");
141751
+ divClose.className='jschart_keyboard_Close_Div';
141752
+ divClose.innerText="x";
141753
+ divClose.onmousedown=(e)=>{ this.Hide(); }
141754
+ divTitle.appendChild(divClose);
141755
+
141656
141756
  var divInput=document.createElement("div");
141657
141757
  divInput.className='jschart_keyboard_Input_Div';
141658
141758
  divDom.appendChild(divInput);
@@ -141857,7 +141957,7 @@ JSPopKeyboard.GetOption=function()
141857
141957
  Top:1 //顶部间距
141858
141958
  },
141859
141959
 
141860
- BorderLine:0,
141960
+ BorderLine:1|2|4|8,
141861
141961
  EnableResize:true
141862
141962
  };
141863
141963
 
@@ -141987,7 +142087,7 @@ function HQChartScriptWorker()
141987
142087
 
141988
142088
 
141989
142089
 
141990
- var HQCHART_VERSION="1.1.13671";
142090
+ var HQCHART_VERSION="1.1.13681";
141991
142091
 
141992
142092
  function PrintHQChartVersion()
141993
142093
  {