]> git.immae.eu Git - github/shaarli/Shaarli.git/blobdiff - tpl/default/js/shaarli.js
Minor adjustments
[github/shaarli/Shaarli.git] / tpl / default / js / shaarli.js
index d73bd29beadd7f4aac23498882a91fff4d3b3b57..3afec7f32babcad4d0eef6984636b7bf221dd461 100644 (file)
@@ -68,16 +68,18 @@ var searchInputs = document.querySelectorAll('#search input[type="text"]');
 });
 
 /**
- * Fold/Expand shaares description.
+ * Fold/Expand shaares description and thumbnail.
  */
 var foldButtons = document.querySelectorAll('.fold-button');
 [].forEach.call(foldButtons, function(foldButton) {
     // Retrieve description
     var description = null;
+    var thumbnail = null;
     var linklistItem = getParentByClass(foldButton, 'linklist-item');
     if (linklistItem != null) {
         description = linklistItem.querySelector('.linklist-item-description');
-        if (description != null) {
+        thumbnail = linklistItem.querySelector('.linklist-item-thumbnail');
+        if (description != null || thumbnail != null) {
             foldButton.style.display = 'inline';
         }
     }
@@ -87,15 +89,99 @@ var foldButtons = document.querySelectorAll('.fold-button');
 
         // Switch fold/expand - up = fold
         if (event.target.classList.contains('fa-chevron-up')) {
-
             event.target.title = 'Expand';
-            description.style.display = 'none';
+            if (description != null) {
+                description.style.display = 'none';
+            }
+            if (thumbnail != null) {
+                thumbnail.style.display = 'none';
+            }
         }
         else {
             event.target.title = 'Fold';
-            description.style.display = 'block';
+            if (description != null) {
+                description.style.display = 'block';
+            }
+            if (thumbnail != null) {
+                thumbnail.style.display = 'block';
+            }
         }
         event.target.classList.toggle('fa-chevron-down');
         event.target.classList.toggle('fa-chevron-up');
     });
-});
\ No newline at end of file
+});
+
+/**
+ * Confirmation message before deletion.
+ */
+var deleteLinks = document.querySelectorAll('.delete-link');
+[].forEach.call(deleteLinks, function(deleteLink) {
+    deleteLink.addEventListener('click', function(event) {
+        if(!confirm('Are you sure you want to delete this link ?')) {
+            event.preventDefault();
+        }
+    });
+});
+
+/**
+ * Close alerts
+ */
+var closeLinks = document.querySelectorAll('.pure-alert-close');
+[].forEach.call(closeLinks, function(closeLink) {
+    closeLink.addEventListener('click', function(event) {
+        var alert = getParentByClass(event.target, 'pure-alert-closable');
+        alert.style.display = 'none';
+    });
+});
+
+/**
+ * New version dismiss.
+ * Hide the message for one week using localStorage.
+ */
+var newVersionDismiss = document.getElementById('new-version-dismiss');
+var newVersionMessage = document.querySelector('.new-version-message');
+if (newVersionMessage != null
+    && localStorage.getItem('newVersionDismiss') != null
+    && parseInt(localStorage.getItem('newVersionDismiss')) + 7*24*60*60*1000 > (new Date()).getTime()
+) {
+    newVersionMessage.style.display = 'none';
+}
+if (newVersionDismiss != null) {
+    newVersionDismiss.addEventListener('click', function () {
+        localStorage.setItem('newVersionDismiss', (new Date()).getTime());
+    });
+}
+
+/**
+ * Login button
+ */
+var loginButton = document.getElementById('login-button');
+var loginBlock = document.getElementById('header-login-form');
+
+if (loginButton != null) {
+    loginButton.addEventListener('click', function(event) {
+        event.preventDefault();
+        loginBlock.classList.toggle('open');
+        document.getElementById('content').style.boxShadow = 'none';
+    });
+}
+
+// Focus on login field.
+if (loginBlock != null) {
+    loginBlock.addEventListener('transitionend', function () {
+        loginBlock.firstElementChild.focus();
+    });
+}
+
+var hiddenReturnurl = document.getElementsByName('returnurl');
+if (hiddenReturnurl != null) {
+    hiddenReturnurl.value = window.location.href;
+}
+
+/**
+ * Autofocus text fields
+ */
+var autofocusElements = document.querySelector('.autofocus');
+if (autofocusElements != null) {
+    autofocusElements.focus();
+}
\ No newline at end of file