From 44da10e6135829caee8d4935a65138f135de71c4 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Wed, 28 Feb 2018 10:58:51 +0100 Subject: [PATCH] History being plotted well --- .vs/AAMariam-Plotter/v15/.suo | Bin 18944 -> 18432 bytes History.js | 71 ++++++++++++++---- ...am-Plotter.njsproj.CoreCompileInputs.cache | 1 + ...ariam-Plotter.njsproj.FileListAbsolute.txt | 3 + ...tter.njsprojResolveAssemblyReference.cache | Bin 0 -> 2216 bytes 5 files changed, 60 insertions(+), 15 deletions(-) create mode 100644 obj/Debug/AAMariam-Plotter.njsproj.CoreCompileInputs.cache create mode 100644 obj/Debug/AAMariam-Plotter.njsproj.FileListAbsolute.txt create mode 100644 obj/Debug/AAMariam-Plotter.njsprojResolveAssemblyReference.cache diff --git a/.vs/AAMariam-Plotter/v15/.suo b/.vs/AAMariam-Plotter/v15/.suo index e587ee6e315034abbaf24886f6bb6b951b52db16..c558203f3923cbf335a6466f815322f523b8867d 100644 GIT binary patch delta 486 zcmZpe!q_l@ae{#?0}Kc-FbD$Kj6nSF|Ns9WVaCah9OfGnY8WRm<*+6MH?6MPT*ws8 z$RQ4t11kAHIZ#|>^B3j{Ce{M+TiHNKws1ByNgjX3&CYs_jGK?}H!$)@0yWAbYc3Hy z&$!rGn`!c4Hp9s!q9Gi7$g*EVdl=P27%~|O7y=kl8HyN+f$U<25+FN|AsI-z0C5?E zA%g*f_GCpSNdYYeCPp!!3DQWWOfC_T*(@NjgOP&^S=7OeW%Cco3p^YkPa`~|7Qh5{ zC9(;dOEk{|eId-s#DVPi$tAi0Jgh+7$ZnqeMc03`Gan=4W*2=MCQ=;Fs5RM9(jVy3 t&5XQYPhdLNcssY?F`$Joa0$pz*nGhLJ+t6bm>7`$1jP264>&up0075cj${A; delta 417 zcmZpez}PT_ae{#?69W_oFfgzHnT$aE@Bjb*AW`PYjvVG26KWVIG3BsMFnywxxw()j zoRNbMC%H}W36-=xQKM$_V+FZyM&c?xoBFW>=xY=2ck&y?ahaXw0g#Q8~ zk2p|73`JD%JWzu+D-(w_lJMjb(GU(vB!SIeM0*$~OGvr!fZPEClLe&=Hc6adoP2^! zXR?DE%jO@F7kD^8c7RksT&otq#KQ^{K{kGKiRO96#m>S^lMgc)PA<_6;1L9>K(=r4 z7hV6&&U}rGn~&)4!DaCgMjnt~kOKhX3ghkEg4cjDFz_D4*nGhLJ+t5`m>7^=0mO2f M4>&upEOKK40GK$G;Q#;t diff --git a/History.js b/History.js index 9d4ed88fb..1fa7fb78c 100644 --- a/History.js +++ b/History.js @@ -80,6 +80,8 @@ timePeriod = pTimePeriod; + recalculate(); + } function setDatetime(newDatetime) { @@ -98,7 +100,21 @@ function recalculate() { - for (let i = 0; i < file.length; i++) { + if (file === undefined) { return; } + + /* + + We are going to filter the records depending on the Time Period. We want that for a 1 min time peroid all the records appears on screen, + but for higher periods, we will filter out some records, so that they do not overlap ever. + + */ + + history = []; + + let oneMin = 60000; + let step = timePeriod / oneMin; + + for (let i = 0; i < file.length; i = i + step) { let newHistoryRecord = { @@ -185,58 +201,83 @@ let dateValue = datetime.valueOf(); - if (dateValue >= record.date - 30000 && dateValue + 30000 - 1 <= record.date) { + if (dateValue >= record.date - timePeriod / 2 && dateValue <= record.date + timePeriod / 2 - 1) { - /* highlight the current record */ - - browserCanvasContext.fillStyle = 'rgba(255, 233, 31, 1)'; // Current record accroding to time isCurrentRecord = true; } } let radiusFactor = 3; + let opacity = '0.2'; let radius1 = record.newPositions * radiusFactor; let radius2 = radius1 + record.movedPositions * radiusFactor; let radius3 = radius2 + record.newTrades * radiusFactor; + /* Outer Circle */ + browserCanvasContext.beginPath(); + browserCanvasContext.strokeStyle = 'rgba(27, 105, 7, ' + opacity + ')'; + if (isCurrentRecord === false) { - browserCanvasContext.strokeStyle = 'rgba(27, 105, 7, 1)'; - browserCanvasContext.fillStyle = 'rgba(64, 217, 26, 1)'; + browserCanvasContext.fillStyle = 'rgba(64, 217, 26, ' + opacity + ')'; + + } else { + + browserCanvasContext.fillStyle = 'rgba(255, 233, 31, ' + opacity + ')'; /* highlight the current record */ } browserCanvasContext.arc(point.x, point.y, radius3, 0, Math.PI * 2, true); - //browserCanvasContext.closePath(); - //browserCanvasContext.beginPath(); + browserCanvasContext.closePath(); + browserCanvasContext.fill(); + + /* Middle Circle */ + + browserCanvasContext.beginPath(); + + browserCanvasContext.strokeStyle = 'rgba(44, 61, 89, ' + opacity + ')'; if (isCurrentRecord === false) { - browserCanvasContext.strokeStyle = 'rgba(105, 27, 7, 1)'; - browserCanvasContext.fillStyle = 'rgba(217, 64, 26, 1)'; + browserCanvasContext.fillStyle = 'rgba(50, 108, 201, ' + opacity + ')'; + + } else { + + browserCanvasContext.fillStyle = 'rgba(255, 233, 31, ' + opacity + ')'; /* highlight the current record */ } browserCanvasContext.arc(point.x, point.y, radius2, 0, Math.PI * 2, true); - //browserCanvasContext.closePath(); - //browserCanvasContext.beginPath(); + browserCanvasContext.closePath(); + browserCanvasContext.fill(); + + /* Inner Circle */ + + browserCanvasContext.beginPath(); + + browserCanvasContext.strokeStyle = 'rgba(27, 7, 105, ' + opacity + ')'; if (isCurrentRecord === false) { - browserCanvasContext.strokeStyle = 'rgba(27, 7, 105, 1)'; - browserCanvasContext.fillStyle = 'rgba(64, 26, 217, 1)'; + browserCanvasContext.fillStyle = 'rgba(64, 26, 217, ' + opacity + ')'; + + } else { + + browserCanvasContext.fillStyle = 'rgba(255, 233, 31, ' + opacity + ')'; /* highlight the current record */ } browserCanvasContext.arc(point.x, point.y, radius1, 0, Math.PI * 2, true); browserCanvasContext.closePath(); + browserCanvasContext.fill(); + if ( point.x < viewPort.visibleArea.topLeft.x + 50 diff --git a/obj/Debug/AAMariam-Plotter.njsproj.CoreCompileInputs.cache b/obj/Debug/AAMariam-Plotter.njsproj.CoreCompileInputs.cache new file mode 100644 index 000000000..43ce23bd9 --- /dev/null +++ b/obj/Debug/AAMariam-Plotter.njsproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +a4fca7697da12adc1a74c13ff1ccc52af419c79d diff --git a/obj/Debug/AAMariam-Plotter.njsproj.FileListAbsolute.txt b/obj/Debug/AAMariam-Plotter.njsproj.FileListAbsolute.txt new file mode 100644 index 000000000..f4231dbb4 --- /dev/null +++ b/obj/Debug/AAMariam-Plotter.njsproj.FileListAbsolute.txt @@ -0,0 +1,3 @@ +C:\Users\Luis\source\repos\AAMariam-Plotter\obj\Debug\AAMariam-Plotter.njsprojResolveAssemblyReference.cache +C:\Users\Luis\source\repos\AAMariam-Plotter\obj\Debug\AAMariam-Plotter.njsproj.CoreCompileInputs.cache +C:\Users\Luis\source\repos\AAMariam-Plotter\bin\Microsoft.NodejsTools.WebRole.dll diff --git a/obj/Debug/AAMariam-Plotter.njsprojResolveAssemblyReference.cache b/obj/Debug/AAMariam-Plotter.njsprojResolveAssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..67d5be9b7a12b38e6fe524eedeba2ea6a1a31246 GIT binary patch literal 2216 zcmb_d+iu%N5T)*RdTpA)&tW2&Cd7K4^8EmeX{a^_^}K>O{gp42hO3tnZvAqmX;w!0b$% zLwqo5wu4Tv8?;(}r^(u^M8-b7-o{|2G(-cA|0w}SaS=4l}-Sv+P}L{la~Zj;ik@ZnU73+{t7>BoTo2t|xY zl^?M%0c9A4f>A1MnAh3r&vo6t#^?SO{ja{i_ay~et&;Orkwgi_HqB_ETt;!w-5);g zpM3S*tN7z& z1%zec5=J+x+udE(@j9Qk_S$!$d2g>ow%*8Fg005XY9uC811)(xwz(ScXc_`RaeKlP z)|&@P33({J3D;QT*i`+vmr&fa$>LFzq~&f)h}d)reou<1Kxr+0lEwNEf~-B(0L2ySaRO}Wl?GcxSQfv{Ynk^4-6>1GX3bE*3e!?BQDPoj_3KYK!UMXaR= zKXkE3L_8*Q$U3Kt%Ug3DDYmgjSoijga%qms{?wJh_Q7o9~R z!~q{Ck`bHE%LQ9_KAo*O`*x>3yIPl5Li^&T{$&2IA#ja>)qYFi$(J`Vdm9Tg6092K z{U;RVEfhy|&+IoEjqZLUBiY8XvXNvP3zBUtS*Ed~kVw|rMpebX@H%}vtf-MI7j(b4 zu3;8`M#g@P%19xuV441jvv&e(-9kznuTbYrFkC