From 123c0fc0a761c77655e4b3e75d9927b3a27ba9b3 Mon Sep 17 00:00:00 2001
From: Karl Hasselbring <Karl Hasselbring>
Date: Tue, 4 Jul 2017 09:27:15 +0200
Subject: [PATCH] Added js-only class, that only shows its element when js is
 activated

---
 css/js/utility-e565527090.js                  |  5 +++++
 css/rev-manifest.json                         |  3 +++
 gulpfile.js                                   | 21 ++++++++++++++-----
 public/css/utility.css                        |  5 +++++
 public/js/utility.js                          |  5 +++++
 resources/assets/js/scriptResultPage.js       |  7 -------
 resources/assets/js/scriptStartPage.js        |  1 -
 resources/assets/js/utility.js                |  3 +++
 resources/assets/less/utility.less            |  3 +++
 resources/views/index.blade.php               | 19 ++++++++---------
 .../views/layouts/researchandtabs.blade.php   |  2 +-
 resources/views/layouts/result.blade.php      |  2 +-
 resources/views/layouts/resultPage.blade.php  |  2 ++
 resources/views/layouts/staticPages.blade.php |  1 +
 14 files changed, 54 insertions(+), 25 deletions(-)
 create mode 100644 css/js/utility-e565527090.js
 create mode 100644 css/rev-manifest.json
 create mode 100644 public/css/utility.css
 create mode 100644 public/js/utility.js
 create mode 100644 resources/assets/js/utility.js
 create mode 100644 resources/assets/less/utility.less

diff --git a/css/js/utility-e565527090.js b/css/js/utility-e565527090.js
new file mode 100644
index 000000000..2029fcd57
--- /dev/null
+++ b/css/js/utility-e565527090.js
@@ -0,0 +1,5 @@
+$(document).ready(function () {
+  $('.js-only').removeClass('js-only');
+});
+
+//# sourceMappingURL=utility.js.map
diff --git a/css/rev-manifest.json b/css/rev-manifest.json
new file mode 100644
index 000000000..6ce4f4b37
--- /dev/null
+++ b/css/rev-manifest.json
@@ -0,0 +1,3 @@
+{
+  "js/utility.js": "js/utility-e565527090.js"
+}
\ No newline at end of file
diff --git a/gulpfile.js b/gulpfile.js
index 4ac2ffad3..77fbbb468 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -22,12 +22,23 @@ elixir(function (mix) {
    | scriptStartPage.js
    | settings.js
   */
-  mix.scripts(['lib/jquery.js', 'lib/jquery-ui.min.js', 'lib/bootstrap.js', 'lib/lightslider.js', 'lib/masonry.js', 'lib/imagesloaded.js', 'lib/openpgp.min.js', 'lib/iframeResizer.min.js', 'lib/md5.js'], 'public/js/lib.js')
-  mix.scripts(['lib/jquery.js', 'lib/iframeResizer.contentWindow.min.js'], 'public/js/quicktips.js')
+  // lib
+  mix.scripts(['lib/jquery.js', 'lib/jquery-ui.min.js', 'lib/bootstrap.js', 'lib/lightslider.js', 'lib/masonry.js', 'lib/imagesloaded.js', 'lib/openpgp.min.js', 'lib/iframeResizer.min.js', 'lib/md5.js'], 'public/js/lib.js');
+  // quicktips
+  mix.scripts(['lib/jquery.js', 'lib/iframeResizer.contentWindow.min.js'], 'public/js/quicktips.js');
+  // start page
   mix.scripts(['scriptStartPage.js', 'results.js'], 'public/js/scriptStartPage.js');
+  // result page
   mix.scripts(['scriptResultPage.js', 'results.js'], 'public/js/scriptResultPage.js');
+  // versioning
   mix.version(['css/themes/default.css', 'js/lib.js', 'js/quicktips.js']);
-  mix.less('metager/beitritt.less', 'public/css/beitritt.css')
-  mix.version(['css/beitritt.css'])
-  mix.version(['js/widgets.js', 'js/editLanguage.js', 'js/kontakt.js', 'js/scriptResultPage.js', 'js/scriptStartPage.js', 'js/settings.js'])
+  // utility
+  mix.scripts('utility.js', 'public/js/utility.js');
+  mix.less('utility.less', 'public/css/utility.css');
+  mix.version('js/utility.js', 'css/utility.css');
+  // beitritt
+  mix.less('metager/beitritt.less', 'public/css/beitritt.css');
+  mix.version(['css/beitritt.css']);
+  // general versioning
+  mix.version(['js/widgets.js', 'js/editLanguage.js', 'js/kontakt.js', 'js/scriptResultPage.js', 'js/scriptStartPage.js', 'js/settings.js']);
 })
diff --git a/public/css/utility.css b/public/css/utility.css
new file mode 100644
index 000000000..4ee959877
--- /dev/null
+++ b/public/css/utility.css
@@ -0,0 +1,5 @@
+.js-only {
+  display: none !important;
+}
+
+/*# sourceMappingURL=utility.css.map */
diff --git a/public/js/utility.js b/public/js/utility.js
new file mode 100644
index 000000000..2029fcd57
--- /dev/null
+++ b/public/js/utility.js
@@ -0,0 +1,5 @@
+$(document).ready(function () {
+  $('.js-only').removeClass('js-only');
+});
+
+//# sourceMappingURL=utility.js.map
diff --git a/resources/assets/js/scriptResultPage.js b/resources/assets/js/scriptResultPage.js
index 203f5ec4e..838c4b820 100644
--- a/resources/assets/js/scriptResultPage.js
+++ b/resources/assets/js/scriptResultPage.js
@@ -1,5 +1,4 @@
 $(document).ready(function () {
-  activateJSOnlyContent();
   createCustomFocuses();
   var focus = $('#foki > li.active > a').attr('aria-controls');
   var custom = $('#foki > li.active').hasClass('custom-focus-tab-selector');
@@ -11,11 +10,6 @@ $(document).ready(function () {
   }
 });
 
-function activateJSOnlyContent () {
-  $('#searchplugin').removeClass('hide');
-  $('.options').removeClass('hide');
-}
-
 function tabs () {
   $('#foki > li.tab-selector > a').each(function () {
     if ($(this).attr('target') != '_blank') {
@@ -42,7 +36,6 @@ function tabs () {
 }
 
 function getDocumentReadyForUse (fokus, custom = false) {
-  activateJSOnlyContent();
   clickLog();
   popovers();
   if (fokus === 'bilder') imageLoader();
diff --git a/resources/assets/js/scriptStartPage.js b/resources/assets/js/scriptStartPage.js
index d9c1c7626..3416e0001 100644
--- a/resources/assets/js/scriptStartPage.js
+++ b/resources/assets/js/scriptStartPage.js
@@ -3,7 +3,6 @@ $(document).ready(function () {
   if (location.href.indexOf('#plugin-modal') > -1) {
     $('#plugin-modal').modal('show');
   }
-  $('#addFocusBtn').removeClass('hide');
   $('button').popover();
   if (localStorage) {
     var theme = localStorage.getItem('theme');
diff --git a/resources/assets/js/utility.js b/resources/assets/js/utility.js
new file mode 100644
index 000000000..d94161ea2
--- /dev/null
+++ b/resources/assets/js/utility.js
@@ -0,0 +1,3 @@
+$(document).ready(function () {
+  $('.js-only').removeClass('js-only');
+});
diff --git a/resources/assets/less/utility.less b/resources/assets/less/utility.less
new file mode 100644
index 000000000..2d1f7f920
--- /dev/null
+++ b/resources/assets/less/utility.less
@@ -0,0 +1,3 @@
+.js-only {
+  display: none !important;
+}
\ No newline at end of file
diff --git a/resources/views/index.blade.php b/resources/views/index.blade.php
index 73f2263fa..edf21767b 100644
--- a/resources/views/index.blade.php
+++ b/resources/views/index.blade.php
@@ -252,7 +252,7 @@
 			</div>
 		@endif
 		<div id="addFocusBtnDiv">
-			<button id="addFocusBtn" class="btn btn-default hide">
+			<button id="addFocusBtn" class="btn btn-default js-only">
 			<i class="fa fa-plus" aria-hidden="true"></i>
 			</button>
 		</div>
@@ -265,7 +265,7 @@
 		<fieldset>
 			<form id="searchForm" @if(Request::has('request') && Request::input('request') === "POST") method="POST" @elseif(Request::has('request') && Request::input('request') === "GET") method="GET" @else method="GET" @endif action="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/meta/meta.ger3") }}" accept-charset="UTF-8">
 				<div class="input-group">
-					<div class="input-group-addon">
+					<div class="input-group-addon js-only">
 						<button type="button" data-toggle="popover" data-html="true" data-container="body" title="{{ trans('index.design') }}" data-content='&lt;ul id="color-chooser" class="list-inline list-unstyled"&gt;
 							&lt;li &gt;&lt;a id="standard" data-rgba="255,194,107,1" href="#"&gt;&lt;/a&gt;&lt;/li&gt;
 							&lt;li &gt;&lt;a id="standardHard" data-rgba="255,128,0,1" href="#"&gt;&lt;/a&gt;&lt;/li&gt;
@@ -304,19 +304,18 @@
 			</form>
 		</fieldset>
 		<ul class="list-inline searchform-bonus">
-			<li id="plug"
 			@unless ($browser === 'Firefox' || $browser === 'Mozilla' || $browser === 'Chrome' || $browser === 'Opera' || $browser === 'IE' || $browser === 'Edge' || $browser === 'Safari' || $browser === 'Vivaldi')
-				class="hidden"
-			@endunless>
-			<a href="#" data-toggle="modal" data-target="#plugin-modal" class="btn btn-default mutelink" title="{{ trans('index.plugintitle') }}"><i class="fa fa-plug" aria-hidden="true"></i> {{ trans('index.plugin') }}</a></li>
+			<li id="plug"	class="js-only">
+				<a href="#" data-toggle="modal" data-target="#plugin-modal" class="btn btn-default mutelink" title="{{ trans('index.plugintitle') }}"><i class="fa fa-plug" aria-hidden="true"></i> {{ trans('index.plugin') }}</a>
+			</li>
+			@endunless
 			<li>
-                <a href="http://blog.suma-ev.de/node/225" target="_blank" class="btn btn-default mutelink">
-                    Neu: Die Suche in der Suche
-                </a>
-            </li>
+				<a href="http://blog.suma-ev.de/node/225" target="_blank" class="btn btn-default mutelink">Neu: Die Suche in der Suche</a>
+			</li>
 		</ul>
 	<script src="{{ elixir('js/lib.js') }}"></script>
 	<script src="{{ elixir('js/scriptStartPage.js') }}"></script>
+	<script type="text/javascript" src="{{ elixir('js/utility.js') }}"></script>
 @endsection
 
 @section('optionalContent')
diff --git a/resources/views/layouts/researchandtabs.blade.php b/resources/views/layouts/researchandtabs.blade.php
index 70469bd0b..f86aedad5 100644
--- a/resources/views/layouts/researchandtabs.blade.php
+++ b/resources/views/layouts/researchandtabs.blade.php
@@ -1,5 +1,5 @@
 @if( strpos(rtrim(Request::header('REFERER'), '/'), LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/") )  === 0 && ( $browser === 'Firefox' || $browser === 'Mozilla' || $browser === 'Chrome' || $browser === 'IE' || $browser === 'Edge') )
-	<div id="searchplugin" class="alert alert-warning alert-dismissible hide" role="alert" style="">
+	<div id="searchplugin" class="alert alert-warning alert-dismissible js-only" role="alert" style="">
 		<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
 		{!! trans('researchandtabs.plugin.1', ['browser' => $browser]) !!}
 		<br />
diff --git a/resources/views/layouts/result.blade.php b/resources/views/layouts/result.blade.php
index b75fa0466..0a977b9ba 100644
--- a/resources/views/layouts/result.blade.php
+++ b/resources/views/layouts/result.blade.php
@@ -16,7 +16,7 @@
 							{{ $result->anzeigeLink }}
 						</a>
 					</div>
-					<div class="options hide">
+					<div class="options js-only">
 						<a tabindex="0" data-toggle="popover" data-trigger="focus" data-placement="auto bottom" data-container="body" data-html="true" data-title="<i class='fa fa-cog' aria-hidden='true'></i> Optionen">
 							@if(strlen($metager->getSite()) === 0)
 								<i class="fa fa-caret-down" aria-hidden="true"></i>
diff --git a/resources/views/layouts/resultPage.blade.php b/resources/views/layouts/resultPage.blade.php
index f9b55afe7..e2321177f 100644
--- a/resources/views/layouts/resultPage.blade.php
+++ b/resources/views/layouts/resultPage.blade.php
@@ -16,6 +16,7 @@
 		<link type="text/css" rel="stylesheet" href="/css/lightslider.css" />
 		<link type="text/css" rel="stylesheet" href="/font-awesome/css/font-awesome.min.css" />
 		<link id="theme" type="text/css" rel="stylesheet" href="/css/theme.css.php" />
+		<link type="text/css" rel="stylesheet" href="{{ elixir('css/utility.css') }}" />
 	</head>
 	<body id="resultBody">
 		@if( !isset($suspendheader) )
@@ -43,5 +44,6 @@
 		<img src="{{ action('ImageController@generateImage')}}?site={{ urlencode(url()->current()) }}" class="hidden" />
 		<script type="text/javascript" src="{{ elixir('js/lib.js') }}"></script>
 		<script type="text/javascript" src="{{ elixir('js/scriptResultPage.js') }}"></script>
+		<script type="text/javascript" src="{{ elixir('js/utility.js') }}"></script>
 	</body>
 </html>
diff --git a/resources/views/layouts/staticPages.blade.php b/resources/views/layouts/staticPages.blade.php
index 08f861706..43480c004 100644
--- a/resources/views/layouts/staticPages.blade.php
+++ b/resources/views/layouts/staticPages.blade.php
@@ -17,6 +17,7 @@
 		<link type="text/css" rel="stylesheet" href="/font-awesome/css/font-awesome.min.css" />
 		<link type="text/css" rel="stylesheet" href="{{ elixir('css/themes/default.css') }}" />
 		<link id="theme" type="text/css" rel="stylesheet" href="/css/theme.css.php" />
+		<link type="text/css" rel="stylesheet" href="{{ elixir('css/utility.css') }}" />
 		@if (isset($css))
 			@if(is_array($css))
 				@foreach($css as $el)
-- 
GitLab