From 25212adb81ffcea73c45c61bcb30f2ea30a2f876 Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Tue, 31 Jul 2018 23:21:37 +0200 Subject: [PATCH] [TASK] Add optional fullscreen mode --- assets/icons/fonts/icon.ttf | Bin 3780 -> 0 bytes assets/icons/fonts/icon.woff | Bin 2712 -> 0 bytes assets/icons/fonts/icon.woff2 | Bin 1908 -> 0 bytes assets/icons/fonts/meshviewer.ttf | Bin 0 -> 4332 bytes assets/icons/fonts/meshviewer.woff | Bin 0 -> 2948 bytes assets/icons/fonts/meshviewer.woff2 | Bin 0 -> 2336 bytes assets/icons/icon.scss | 8 +++++--- config.default.js | 2 ++ lib/gui.js | 15 +++++++++++++-- lib/utils/helper.js | 18 ++++++++++++++++++ locale/de.json | 3 ++- locale/en.json | 3 ++- 12 files changed, 42 insertions(+), 7 deletions(-) delete mode 100644 assets/icons/fonts/icon.ttf delete mode 100644 assets/icons/fonts/icon.woff delete mode 100644 assets/icons/fonts/icon.woff2 create mode 100644 assets/icons/fonts/meshviewer.ttf create mode 100644 assets/icons/fonts/meshviewer.woff create mode 100644 assets/icons/fonts/meshviewer.woff2 diff --git a/assets/icons/fonts/icon.ttf b/assets/icons/fonts/icon.ttf deleted file mode 100644 index cd41d4d0dd2fb8b978372baf8d72c5fa9f6a7cd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3780 zcmdrPYit{7ac0-{dN*r3ekW;Sdu`Wln>dg4D@`Bqwb!&%ML6Y1s$Ky*v6J|k#F3px z3k_#+1+}6Q6}ldWuG~e3P_N~oAOr|bpn$~vKo#^y3!DHERrdpaaY=d-(n%@vtshOL zL&tB{{`Q-hZ)SF8zM1)U0Rg}S72qK~H1ymj7k+Z|5rFwEqP8D@_Sg^{0|Vh#2={&J z(>-eHOPMbM;2FY4#%Ho~7k~HSJ;MJ%VC2KkTMm8zO&k#b z?!SHS8;#iqK3vCj!i`W})?_qFca=ae)3o!_X_OWi&|Cve5;a(H&;HJcby-9$FisK85b9mogB(9Z|w z;VPtPPSc&uDd;46ntl|-+GqzPi0uKdLG9$j8sS~UuLBuiL$_hvXxcDs?B0lO?%h1M zncJM-{L|(?w-&d)w)Ohf%GP(bzQ6V3MO{Gs{p=KH4iOm|E_ zGQDPsnH2do`6YQ?F3V$bPR=&{v}Pew|36)5Xaoo-@K3^2m#%tT$Nt}EKRio0_Is3Z z9}eMVd>!B6g4|*59QQJJkC*v9e42lOf0_Rk1p+CD0=SHS14=@BGSPz}3mP0=bPZx6 z{Ks2@;1R^TJbzatKtTARAbO0#176}E2!dD8k{Brq16Zl*z;K8pN!~$vNLv#3F(snF zl#uX$QGzUwagJ)Oi;VJzLp>OeC1cS!33I@RtAnX9TqsgdB%Xo_8 zns}SU$wuj%WRy9{#y4?X&@wC=pX6X|L zPK&4dnV}%;I7YJbY9=%q6?g;19(Ts>>0MB?Eqg!=)w;p&{T8Aq?c7@%s-R z3mfkpNKem^o}!RBy6k#hxSbQ%f4p9aT z(}8_sLkBz_ee+&#Tc%r4x)od-Qlppm?lHIq52bzTwBl}2lomJ3LF(GLM*2+Phy4^g zH-!#aO;V;A^xa5zDvdBJQ7x>P5S}8kx@8ivV#kR8uiOWS)l4sh^lw# zX>lh}5HwZ+pC9J=VNp2E^QVP#79Dqp=lAnEU9%t#>vY4y^F%sGB#!5-yvQ>)o;3ls zcT~M}=J6n~7}E9x!cHZwSK`XOOlB3=wy&dadws6={odZ&DvP;}&ZP{lQq5ImC|iOBk9_L zv`QAHC^y%rKRK(piGglbj`S3#m7b$eE3(qF*_LaYZ&$2Q%F`&`7}W>50{T%~YpV_S z(S6k>%QpE3+xPaY@4;2)u3gSn+x9!!@_?bbGR0Xp~Su)w2LrAATgttqwJcPb@qnpU@)RgDaAy*tHB14=naV8=5!)a*t>KU=BO_zHJFE!)KRK*9r1jx2J7jmcWbbL z=~xum}Z$mS~g!X7c5!#X^25Pw;6XO~L|9LzXR_&QC5(X9*aBBFw_PHkXJa zPpPXyH}ujxK;xqnS65`$5n)PM!gqh|e<;)xy$(PE7;;gT)n~;xHLbb5-!kvf)v)+%uA%{HbP>%)_(1;>R z*hKGOCNxvuZbmEG(2fptqDvm1$}g6Rvytii#Js7FlnRqm^ZZ<4R<~4`DDe4GYu9?)_st2(oJ{vLQ##s Q7Wcb{-uwe&*!d0jA3_O<_W%F@ diff --git a/assets/icons/fonts/icon.woff b/assets/icons/fonts/icon.woff deleted file mode 100644 index 03e724034622df36da164c59145c9ea5912e9dea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2712 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 diff --git a/assets/icons/fonts/icon.woff2 b/assets/icons/fonts/icon.woff2 deleted file mode 100644 index 6237616aab64af385fde716d472dcfe925b9e42a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1908 zcmV-)2aEW3Pew8T0RR9100(pc4FCWD01m_e00$fZ0RR9100000000000000000000 z0000#Mn+Uk92y`7Rse%y5eN#7e2Xv(G5`TK0we=C1Rw>2CkKLD8{iAbj?qh}OgP~L zNjhQR#KZUd{eJC(c@mxOks*mi(+rK!Ux-+L5h#gJ#G6jHfA8hz_xInXe=d@eyStF( z!IDthh!QeHDo#~Mk&1%19@E__*?rFml&T~ZkuMYEiF>Zb+Q+*$!F^|_9~v6_8ETrm zd+OqzJVZi<(3x+Y7&*+dATITwe=x}rvAXLKdmjVveC5gO4numi0$tA{L8NpL8IXWT zfQ~>;5z~+tz#{MQUxp2JiM#*1DzS1vbj4IzF?}uk8if=~ znVY6Lj3q;YtU6OD=_K9cQsO)yUQN^j1h0t{Q2O%(J|`-b zgO+vSaWte(bB6Tbw=XJ8EEQ=MBB{w_G8ylmqk}f4smU}&8Xa~|SCA^K)aqoKaUO#e z7%K?HzEeoO-r@Tq)e9L{eN7h(V{!5ak4 zfha&z@QI}OoPQ=f;o$HuEK-(;N&d}KaYQ=?Td&<`nPsg6V%4Fup!wDi9Ln0=MU{lu z&39ouJHj(z!3QJ(cfe;1^SZHE=;FHxqO!{n5#v1vk9qy?`8M5;W#OzSeUtb7YBCfe z44b`L@20a&?Um36is@Q8ejQ29V`Uv)fa{d_yaa_5a(T|;1GJck!G{H-<4B2*`u{TeDk1S*~C6?PZ=*6%^gQHDwy|+*JOHyv66=E7wOI0 z=1@53E~w6ur_ufBG#NM-fO!2J$(GKM6|qZWz8B|OMWl>bym(AXW>Kb2GE$-Z;H{cH zM_TOmpaMd5@6{;-?Yjcgm2>>~vhtzp-%O7G?d7kGnQYnOHW7jGH^!NZc5kNDx74! z+(P5?^%-oWqd=xFuMpOO&z!0zRis|k)=X6#oo6x^O!{zA z0nF;umw99=6{H=S41L21hIvbK*@4>T7%%CY&<^AV_FvE&l0CEPxox-k8rD}BOq|I8 zj^~ptEi$}}UUa!kcjpPVef5~X7EeI`GTqbOPIDZ6{(O+;;A*?eA5>C7S0Jbl=H;Qc zD79Wqy@fjT9YH;e>4|7)#{OiIQB+(fy&6CXvZEEf2kTSJg`0hK-2B#nfB=J&Gwv@| z4gXEiBmr_EoaNQ=A+>OQG>qo;m{AFR4(GY3P7s~+h9y`JuL7%}CDg81t^>@f^( zM;K5Mv;4jY=rWXSYDDk=ra(=zFrZz?!I%<~UP_@#u8mL)y9G4}pH|eukuu5>Ri|Q& z;6Xwu6QrgX0x}xiAjf#HehQ5rt>jV7uTDUTsJB~Ify4c3|Bvw&23Y0cQ)`8#aLAh^ zy864L_XN%#-$dYK>z36dfilA{#V3n@@4!iYd5 zqL31)P#U6<8ohutNQ)TK<@eN8tzJdv#8MSb@UAIc6Idmy4|oGoPooDftpc0Z8*A4X zoutL^VIssRnaUXBH`ih*l@rXd3i3OKV!hiqYrS4i)p-6g_XN)h6}cU0q|##PE{>&# u8{N2?7GoC)trM0000xba>bR diff --git a/assets/icons/fonts/meshviewer.ttf b/assets/icons/fonts/meshviewer.ttf new file mode 100644 index 0000000000000000000000000000000000000000..96878e608f694eeee32befab8470ae4a7eb1f708 GIT binary patch literal 4332 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 NLJT9rztDGR{|54%3zYx> literal 0 HcmV?d00001 diff --git a/assets/icons/fonts/meshviewer.woff b/assets/icons/fonts/meshviewer.woff new file mode 100644 index 0000000000000000000000000000000000000000..9f3e44ce8c1a1de6f5d3b94d0346a26ec3388fea GIT binary patch literal 2948 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 G0000~6?!fJ literal 0 HcmV?d00001 diff --git a/assets/icons/icon.scss b/assets/icons/icon.scss index a3ec26b..212f775 100644 --- a/assets/icons/icon.scss +++ b/assets/icons/icon.scss @@ -7,9 +7,9 @@ $cache-breaker: unique-id(); font-family: 'ionicons'; font-style: normal; font-weight: normal; - src: url('fonts/icon.woff2?rel=#{$cache-breaker}') format('woff2'), - url('fonts/icon.woff?rel=#{$cache-breaker}') format('woff'), - url('fonts/icon.ttf?rel=#{$cache-breaker}') format('truetype'); + src: url('fonts/meshviewer.woff2?rel=#{$cache-breaker}') format('woff2'), + url('fonts/meshviewer.woff?rel=#{$cache-breaker}') format('woff'), + url('fonts/meshviewer.ttf?rel=#{$cache-breaker}') format('truetype'); } [class^='ion-'], @@ -49,3 +49,5 @@ $cache-breaker: unique-id(); @include icon('arrow-resize', '\f264'); @include icon('arrow-left-c', '\f108'); @include icon('arrow-right-c', '\f10b'); +@include icon('full-enter', '\e901'); +@include icon('full-exit', '\e900'); diff --git a/config.default.js b/config.default.js index e34d567..cb4a61b 100644 --- a/config.default.js +++ b/config.default.js @@ -6,6 +6,8 @@ module.exports = function () { 'nodeZoom': 18, 'labelZoom': 13, 'clientZoom': 15, + 'fullscreen': true, + 'fullscreenFrame': true, 'nodeAttr': [ // value can be a node attribute (1 depth) or a a function in utils/node with prefix show { diff --git a/lib/gui.js b/lib/gui.js index 19c2a2c..f4b7d4a 100644 --- a/lib/gui.js +++ b/lib/gui.js @@ -1,10 +1,10 @@ define(['d3-interpolate', 'map', 'sidebar', 'tabs', 'container', 'legend', 'linklist', 'nodelist', 'simplenodelist', 'infobox/main', 'proportions', 'forcegraph', 'title', 'about', 'datadistributor', - 'filters/filtergui', 'filters/hostname'], + 'filters/filtergui', 'filters/hostname', 'helper'], function (d3Interpolate, Map, Sidebar, Tabs, Container, Legend, Linklist, Nodelist, SimpleNodelist, Infobox, Proportions, ForceGraph, - Title, About, DataDistributor, FilterGUI, HostnameFilter) { + Title, About, DataDistributor, FilterGUI, HostnameFilter, helper) { 'use strict'; return function (language) { @@ -77,6 +77,17 @@ function (d3Interpolate, Map, Sidebar, Tabs, Container, Legend, Linklist, buttons.appendChild(buttonToggle); + if (config.fullscreen || config.fullscreenFrame && window.frameElement) { + var buttonFullscreen = document.createElement('button'); + buttonFullscreen.classList.add('ion-full-enter'); + buttonFullscreen.setAttribute('aria-label', _.t('button.fullscreen')); + buttonFullscreen.onclick = function onclick() { + helper.fullscreen(buttonFullscreen); + }; + + buttons.appendChild(buttonFullscreen); + } + var title = new Title(); var header = new Container('header'); diff --git a/lib/utils/helper.js b/lib/utils/helper.js index 6371721..fd698b9 100644 --- a/lib/utils/helper.js +++ b/lib/utils/helper.js @@ -176,5 +176,23 @@ define({ } } ctx.fill(); + }, + fullscreen: function fullscreen(btn) { + if (!document.fullscreenElement) { + var fel = document.firstElementChild; + var func = fel.requestFullscreen + || fel.webkitRequestFullScreen + || fel.msRequestFullscreen; + func.call(fel); + btn.classList.add('ion-full-exit'); + } else { + func = document.exitFullscreen + || document.webkitexitFullscreen + || document.msexitFullscreen; + if (func) { + func.call(document); + btn.classList.add('ion-full-enter'); + } + } } }); diff --git a/locale/de.json b/locale/de.json index de06b9e..7a69241 100644 --- a/locale/de.json +++ b/locale/de.json @@ -59,7 +59,8 @@ "button": { "switchView": "Ansicht wechseln", "location": "Koordinaten wählen", - "tracking": "Lokalisierung" + "tracking": "Lokalisierung", + "fullscreen": "Vollbildmodus wechseln" }, "momentjs": { "calendar": { diff --git a/locale/en.json b/locale/en.json index ecaf07b..23f438d 100644 --- a/locale/en.json +++ b/locale/en.json @@ -59,7 +59,8 @@ "button": { "switchView": "Switch view", "location": "Pick coordinates", - "tracking": "Localisation" + "tracking": "Localisation", + "fullscreen": "Toggle fullscreen" }, "momentjs": { "calendar": {