hqchart 1.1.15039 → 1.1.15046
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 +26 -21
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogDrawTool.js +35 -1
- package/src/jscommon/umychart.js +178 -53
- package/src/jscommon/umychart.resource/font/drawtool/demo_index.html +26 -3
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.css +7 -3
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.js +1 -1
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.json +7 -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 +179 -54
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +214 -55
|
@@ -4518,7 +4518,13 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4518
4518
|
|
|
4519
4519
|
if (option.DrawTool) //画图工具
|
|
4520
4520
|
{
|
|
4521
|
-
|
|
4521
|
+
var item=option.DrawTool;
|
|
4522
|
+
if (chart.ChartDrawStorage)
|
|
4523
|
+
{
|
|
4524
|
+
if (item.StorageKey) chart.ChartDrawStorage.Load(item.StorageKey);
|
|
4525
|
+
if (IFrameSplitOperator.IsBool(item.EnableCrossPeriod)) chart.ChartDrawStorage.EnableCrossPeriod=item.EnableCrossPeriod;
|
|
4526
|
+
}
|
|
4527
|
+
|
|
4522
4528
|
}
|
|
4523
4529
|
|
|
4524
4530
|
if (option.KeyboardMove)
|
|
@@ -14122,6 +14128,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
14122
14128
|
|
|
14123
14129
|
drawPicture.PointMagnetKLine();
|
|
14124
14130
|
drawPicture.Status=10; //完成
|
|
14131
|
+
drawPicture.Period=this.Period;
|
|
14125
14132
|
drawPicture.PointToValue();
|
|
14126
14133
|
|
|
14127
14134
|
if (this.ChartDrawStorage) this.ChartDrawStorage.SaveDrawData(drawPicture);
|
|
@@ -68726,10 +68733,89 @@ function IChartDrawPicture()
|
|
|
68726
68733
|
}
|
|
68727
68734
|
}
|
|
68728
68735
|
|
|
68729
|
-
this.
|
|
68736
|
+
this.GetkData=function()
|
|
68730
68737
|
{
|
|
68731
|
-
if (!this.Frame) return
|
|
68738
|
+
if (!this.Frame) return null;
|
|
68732
68739
|
var data=this.Frame.Data;
|
|
68740
|
+
if (!data) return null;
|
|
68741
|
+
|
|
68742
|
+
return data;
|
|
68743
|
+
}
|
|
68744
|
+
|
|
68745
|
+
//周期变动 X重新定位
|
|
68746
|
+
this.ChangePeriod=function(period)
|
|
68747
|
+
{
|
|
68748
|
+
var kData=this.GetkData();
|
|
68749
|
+
if (!kData) return;
|
|
68750
|
+
|
|
68751
|
+
var aryDateTime=[];
|
|
68752
|
+
for(var i=0; i<this.Value.length; ++i)
|
|
68753
|
+
{
|
|
68754
|
+
var item=this.Value[i];
|
|
68755
|
+
if (!item.DateTime) break;
|
|
68756
|
+
var dateTime={ Date:item.DateTime.Date, Time:0, Match:null };
|
|
68757
|
+
if (IFrameSplitOperator.IsNumber(item.DateTime.Time)) dateTime.Time=item.DateTime.Time;
|
|
68758
|
+
aryDateTime[i]=dateTime;
|
|
68759
|
+
}
|
|
68760
|
+
|
|
68761
|
+
var findCount=0;
|
|
68762
|
+
var perData=null;
|
|
68763
|
+
var perIndex=-1;
|
|
68764
|
+
for(var i=0, j=0;i<kData.Data.length;++i)
|
|
68765
|
+
{
|
|
68766
|
+
var kItem=kData.Data[i];
|
|
68767
|
+
|
|
68768
|
+
for(j=0;j<aryDateTime.length;++j)
|
|
68769
|
+
{
|
|
68770
|
+
var item=aryDateTime[j];
|
|
68771
|
+
if (item.Match) continue;
|
|
68772
|
+
|
|
68773
|
+
if (ChartData.IsDayPeriod(period, true))
|
|
68774
|
+
{
|
|
68775
|
+
if (kItem.Date>item.Date)
|
|
68776
|
+
{
|
|
68777
|
+
item.Match={ KItem:perData, Index:perIndex };
|
|
68778
|
+
++findCount;
|
|
68779
|
+
}
|
|
68780
|
+
}
|
|
68781
|
+
else if (ChartData.IsMinutePeriod(period, true))
|
|
68782
|
+
{
|
|
68783
|
+
if (kItem.Date>item.Date || (kItem.Date==item.Date && kItem.Time>item.Time))
|
|
68784
|
+
{
|
|
68785
|
+
item.Match={ KItem:perData, Index:perIndex };
|
|
68786
|
+
++findCount;
|
|
68787
|
+
}
|
|
68788
|
+
}
|
|
68789
|
+
}
|
|
68790
|
+
|
|
68791
|
+
perData=kItem;
|
|
68792
|
+
perIndex=i;
|
|
68793
|
+
|
|
68794
|
+
if (findCount>=aryDateTime.length) break;
|
|
68795
|
+
}
|
|
68796
|
+
|
|
68797
|
+
for(var i=0;i<aryDateTime.length;++i)
|
|
68798
|
+
{
|
|
68799
|
+
var item=aryDateTime[i];
|
|
68800
|
+
var valueItem=this.Value[i];
|
|
68801
|
+
if (item.Match && item.Match.KItem)
|
|
68802
|
+
{
|
|
68803
|
+
valueItem.DateTime={ Date:item.Match.Date, Time:item.Match.Time };
|
|
68804
|
+
valueItem.XValue=item.Match.Index;
|
|
68805
|
+
}
|
|
68806
|
+
else
|
|
68807
|
+
{
|
|
68808
|
+
valueItem.DateTime=null;
|
|
68809
|
+
valueItem.XValue=null;
|
|
68810
|
+
}
|
|
68811
|
+
}
|
|
68812
|
+
|
|
68813
|
+
this.Period=period;
|
|
68814
|
+
}
|
|
68815
|
+
|
|
68816
|
+
this.UpdateXValue=function() //通过datetime更新x的索引
|
|
68817
|
+
{
|
|
68818
|
+
var data=this.GetkData();
|
|
68733
68819
|
if (!data) return false;
|
|
68734
68820
|
|
|
68735
68821
|
var aryDateTime=[];
|
|
@@ -80439,9 +80525,12 @@ function ChartDrawTVShortPosition()
|
|
|
80439
80525
|
|
|
80440
80526
|
function ChartDrawStorage()
|
|
80441
80527
|
{
|
|
80442
|
-
this.DrawData=new Map();
|
|
80528
|
+
//this.DrawData=new Map(); //画图工具数据 key=symbol-Period, value=Map() Key:Guid, Value:{ Guid, Symbol, Period, ClassName, Value }
|
|
80529
|
+
this.DrawDataV2=new Map(); //画图工具数据 key=symbol, value=Map() Key:Guid, Value:{ Guid, Symbol, Period, ClassName, Value }
|
|
80530
|
+
|
|
80443
80531
|
this.StorageKey;
|
|
80444
|
-
this.GetEventCallback;
|
|
80532
|
+
this.GetEventCallback; //事件回调
|
|
80533
|
+
this.EnableCrossPeriod=false; //跨周期
|
|
80445
80534
|
|
|
80446
80535
|
this.Load=function(key) //从本地读取画图工具
|
|
80447
80536
|
{
|
|
@@ -80454,18 +80543,39 @@ function ChartDrawStorage()
|
|
|
80454
80543
|
if (typeof(cacheValue) != "string") return;
|
|
80455
80544
|
|
|
80456
80545
|
var saveData=JSON.parse(cacheValue);
|
|
80457
|
-
|
|
80458
|
-
{
|
|
80459
|
-
var item=saveData[i];
|
|
80460
|
-
var drawMap=new Map();
|
|
80546
|
+
if (!saveData) return;
|
|
80461
80547
|
|
|
80462
|
-
|
|
80548
|
+
if (IFrameSplitOperator.IsNonEmptyArray(saveData)) //老版本 key=symbol-Period
|
|
80549
|
+
{
|
|
80550
|
+
for(var i=0;i<saveData.length;++i)
|
|
80463
80551
|
{
|
|
80464
|
-
var
|
|
80465
|
-
|
|
80552
|
+
var item=saveData[i];
|
|
80553
|
+
for(var j=0;j<item.Value.length;++j)
|
|
80554
|
+
{
|
|
80555
|
+
var drawItem=item.Value[j];
|
|
80556
|
+
var symbol=drawItem.Value.Symbol;
|
|
80557
|
+
if (!this.DrawDataV2.has(symbol))
|
|
80558
|
+
this.DrawDataV2.set(symbol, {Symbol:symbol, MapPicture: new Map() });
|
|
80559
|
+
|
|
80560
|
+
var stockItem=this.DrawDataV2.get(symbol);
|
|
80561
|
+
stockItem.MapPicture.set(drawItem.Value.Guid, drawItem.Value);
|
|
80562
|
+
}
|
|
80466
80563
|
}
|
|
80564
|
+
}
|
|
80565
|
+
else if (saveData.Ver==2.0 && IFrameSplitOperator.IsNonEmptyArray(saveData.Data))
|
|
80566
|
+
{
|
|
80567
|
+
for(var i=0;i<saveData.Data.length;++i)
|
|
80568
|
+
{
|
|
80569
|
+
var item=saveData.Data[i]; //{ Symbol:, AryPicture:[ { Guid, Symbol, Period, ClassName, Value }, ] }
|
|
80570
|
+
var stockItem={ Symbol:item.Symbol, MapPicture:new Map() };
|
|
80571
|
+
for(var j=0; j<item.AryPicture.length;++j)
|
|
80572
|
+
{
|
|
80573
|
+
var drawItem=item.AryPicture[j];
|
|
80574
|
+
stockItem.MapPicture.set(drawItem.Guid, drawItem);
|
|
80575
|
+
}
|
|
80467
80576
|
|
|
80468
|
-
|
|
80577
|
+
this.DrawDataV2.set(stockItem.Symbol,stockItem);
|
|
80578
|
+
}
|
|
80469
80579
|
}
|
|
80470
80580
|
}
|
|
80471
80581
|
|
|
@@ -80474,89 +80584,95 @@ function ChartDrawStorage()
|
|
|
80474
80584
|
if (!this.StorageKey) return;
|
|
80475
80585
|
|
|
80476
80586
|
var saveData=[];
|
|
80477
|
-
for(var
|
|
80587
|
+
for(var mapItem of this.DrawDataV2)
|
|
80478
80588
|
{
|
|
80479
|
-
var
|
|
80480
|
-
var
|
|
80481
|
-
var itemData={ Key:key, Value:[]};
|
|
80589
|
+
var symbol=mapItem[0];
|
|
80590
|
+
var stockItem=mapItem[1];
|
|
80482
80591
|
|
|
80483
|
-
|
|
80592
|
+
var itemData={ Symbol:symbol, AryPicture:[] };
|
|
80593
|
+
|
|
80594
|
+
for(var pictureItem of stockItem.MapPicture)
|
|
80484
80595
|
{
|
|
80485
|
-
|
|
80596
|
+
var drawItem=pictureItem[1];
|
|
80597
|
+
if (drawItem.EnableSave===false) continue;
|
|
80486
80598
|
|
|
80487
|
-
itemData.
|
|
80599
|
+
itemData.AryPicture.push(drawItem);
|
|
80488
80600
|
}
|
|
80489
80601
|
|
|
80490
|
-
if (IFrameSplitOperator.IsNonEmptyArray(itemData.
|
|
80602
|
+
if (IFrameSplitOperator.IsNonEmptyArray(itemData.AryPicture))
|
|
80491
80603
|
saveData.push(itemData);
|
|
80492
80604
|
}
|
|
80493
80605
|
|
|
80494
80606
|
JSConsole.Chart.Log(`[ChartDrawStorage::Save] save to localStorage, key=${this.StorageKey}`);
|
|
80495
|
-
var strData=JSON.stringify(saveData);
|
|
80607
|
+
var strData=JSON.stringify({Ver:2.0, Data:saveData});
|
|
80496
80608
|
localStorage[this.StorageKey]=strData;
|
|
80497
80609
|
}
|
|
80498
80610
|
|
|
80499
|
-
this.GetItemKey=function(obj) //生成每个画图工具的key
|
|
80500
|
-
{
|
|
80501
|
-
var strKey=`${obj.Symbol}-${obj.Period}`;
|
|
80502
|
-
return strKey;
|
|
80503
|
-
}
|
|
80504
|
-
|
|
80505
80611
|
this.SaveDrawData=function(drawPicture) //保存一个画图工具
|
|
80506
80612
|
{
|
|
80507
|
-
var
|
|
80613
|
+
var symbol=drawPicture.Symbol;
|
|
80508
80614
|
var data=drawPicture.ExportStorageData();
|
|
80509
80615
|
if (!data) return;
|
|
80510
80616
|
|
|
80511
|
-
if (this.
|
|
80617
|
+
if (this.DrawDataV2.has(symbol)) //更新
|
|
80512
80618
|
{
|
|
80513
|
-
JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] Upate:
|
|
80514
|
-
this.
|
|
80619
|
+
JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] Upate: symbol, drawPicture, data', symbol, drawPicture, data);
|
|
80620
|
+
var stockItem=this.DrawDataV2.get(symbol);
|
|
80621
|
+
stockItem.MapPicture.set(data.Guid, data);
|
|
80515
80622
|
}
|
|
80516
80623
|
else //新增
|
|
80517
80624
|
{
|
|
80518
|
-
JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] Insert:
|
|
80519
|
-
var
|
|
80520
|
-
|
|
80521
|
-
this.
|
|
80625
|
+
JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] Insert: symbol, drawPicture, data', symbol, drawPicture,data);
|
|
80626
|
+
var stockItem={ Symbol:symbol, MapPicture:new Map() } ;
|
|
80627
|
+
stockItem.set(data.Guid, data);
|
|
80628
|
+
this.DrawDataV2.set(symbol,newData);
|
|
80522
80629
|
}
|
|
80523
80630
|
|
|
80524
|
-
JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] All draw data: ', this.
|
|
80631
|
+
JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] All draw data: ', this.DrawDataV2);
|
|
80525
80632
|
|
|
80526
80633
|
this.Save();
|
|
80527
80634
|
}
|
|
80528
80635
|
|
|
80529
80636
|
this.DeleteDrawData=function(drawPicture) //删除一个画图工具
|
|
80530
80637
|
{
|
|
80531
|
-
var
|
|
80532
|
-
if (!this.
|
|
80638
|
+
var symbol=drawPicture.Symbol;
|
|
80639
|
+
if (!this.DrawDataV2.has(symbol)) return;
|
|
80533
80640
|
|
|
80534
|
-
var
|
|
80535
|
-
if (!
|
|
80641
|
+
var stockItem=this.DrawDataV2.get(symbol);
|
|
80642
|
+
if (!stockItem.MapPicture.has(drawPicture.Guid)) return;
|
|
80536
80643
|
|
|
80537
|
-
|
|
80644
|
+
stockItem.MapPicture.delete(drawPicture.Guid);
|
|
80538
80645
|
this.Save();
|
|
80539
80646
|
}
|
|
80540
80647
|
|
|
80541
80648
|
this.Clear=function()
|
|
80542
80649
|
{
|
|
80543
|
-
this.
|
|
80650
|
+
this.DrawDataV2=new Map();
|
|
80544
80651
|
this.Save();
|
|
80545
80652
|
}
|
|
80546
80653
|
|
|
80547
|
-
this.GetDrawData=function(obj) //获取已有的画图工具数据{Symbol: , Period:, }
|
|
80654
|
+
this.GetDrawData=function(obj) //获取已有的画图工具数据{ Symbol: , Period:, }
|
|
80548
80655
|
{
|
|
80549
|
-
var
|
|
80550
|
-
var
|
|
80551
|
-
if (!this.DrawData.has(strKey)) return data;
|
|
80656
|
+
var aryData=[];
|
|
80657
|
+
var symbol=obj.Symbol;
|
|
80552
80658
|
|
|
80553
|
-
|
|
80554
|
-
|
|
80659
|
+
if (!this.DrawDataV2.has(symbol)) return aryData;
|
|
80660
|
+
|
|
80661
|
+
var stockItem=this.DrawDataV2.get(symbol);
|
|
80662
|
+
for(var mapItem of stockItem.MapPicture)
|
|
80555
80663
|
{
|
|
80556
|
-
|
|
80664
|
+
var drawItem=mapItem[1];
|
|
80665
|
+
if (this.EnableCrossPeriod)
|
|
80666
|
+
{
|
|
80667
|
+
aryData.push(drawItem);
|
|
80668
|
+
}
|
|
80669
|
+
else
|
|
80670
|
+
{
|
|
80671
|
+
if (drawItem.Period==obj.Period) aryData.push(drawItem);
|
|
80672
|
+
}
|
|
80557
80673
|
}
|
|
80558
80674
|
|
|
80559
|
-
return
|
|
80675
|
+
return aryData;
|
|
80560
80676
|
}
|
|
80561
80677
|
}
|
|
80562
80678
|
|
|
@@ -91877,7 +91993,16 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
91877
91993
|
drawPicture.Option=this.ChartDrawOption;
|
|
91878
91994
|
|
|
91879
91995
|
if (drawPicture.ImportStorageData) drawPicture.ImportStorageData(item);
|
|
91880
|
-
drawPicture.
|
|
91996
|
+
if (drawPicture.Period!=this.Period)
|
|
91997
|
+
{
|
|
91998
|
+
drawPicture.ChangePeriod(this.Period);
|
|
91999
|
+
}
|
|
92000
|
+
else
|
|
92001
|
+
{
|
|
92002
|
+
drawPicture.UpdateXValue();
|
|
92003
|
+
}
|
|
92004
|
+
|
|
92005
|
+
|
|
91881
92006
|
drawPicture.ValueToPoint();
|
|
91882
92007
|
|
|
91883
92008
|
var self=this;
|
|
@@ -99675,7 +99800,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
99675
99800
|
{
|
|
99676
99801
|
if (!this.ChartDrawStorageCache || this.ChartDrawStorageCache.length<=0) return;
|
|
99677
99802
|
|
|
99678
|
-
var
|
|
99803
|
+
var kData=this.GetKData();
|
|
99679
99804
|
for(var i=0; i<this.ChartDrawStorageCache.length; ++i)
|
|
99680
99805
|
{
|
|
99681
99806
|
var item=this.ChartDrawStorageCache[i];
|
|
@@ -153171,7 +153296,7 @@ function ScrollBarBGChart()
|
|
|
153171
153296
|
|
|
153172
153297
|
|
|
153173
153298
|
|
|
153174
|
-
var HQCHART_VERSION="1.1.
|
|
153299
|
+
var HQCHART_VERSION="1.1.15045";
|
|
153175
153300
|
|
|
153176
153301
|
function PrintHQChartVersion()
|
|
153177
153302
|
{
|