Ver código fonte

Patients table - persist grid state in localStorage

Vijayakrishnan 3 anos atrás
pai
commit
6d0581547b

+ 25 - 2
resources/views/app/admin/patients-table-extended.blade.php

@@ -1,7 +1,7 @@
 <div>
     <div class="pl-3 mb-3 d-inline-flex align-items-baseline">
-        <a href="#" native class="mr-3 text-decoration-none" onclick="$('#admin-patients-list-extended>table').addClass('stag-compact-grid'); return false;"><i class="fa fa-list text-sm"></i> Grid</a>
-        <a href="#" native class="text-decoration-none" onclick="$('#admin-patients-list-extended>table').removeClass('stag-compact-grid'); return false;"><i class="fa fa-file text-sm"></i> Details</a>
+        <a href="#" native class="mr-3 text-decoration-none enable-grid" onclick="$('#admin-patients-list-extended>table').addClass('stag-compact-grid'); return false;"><i class="fa fa-list text-sm"></i> Grid</a>
+        <a href="#" native class="text-decoration-none disable-grid" onclick="$('#admin-patients-list-extended>table').removeClass('stag-compact-grid'); return false;"><i class="fa fa-file text-sm"></i> Details</a>
     </div>
 </div>
 <div class="table-responsive border-top" style="height: calc(100vh - 280px)" id="admin-patients-list-extended">
@@ -366,6 +366,29 @@
                 .on('mouseup.pan', function (_e) {
                     panning = false;
                 });
+
+            $(document)
+                .off('click.enable-grid', '.enable-grid')
+                .on('click.enable-grid', '.enable-grid', function() {
+                    $('#admin-patients-list-extended>table').addClass('stag-compact-grid');
+                    localStorage.adminPatientsTableFormat = 'grid';
+                    return false;
+                });
+
+            $(document)
+                .off('click.disable-grid', '.disable-grid')
+                .on('click.disable-grid', '.disable-grid', function() {
+                    $('#admin-patients-list-extended>table').removeClass('stag-compact-grid');
+                    localStorage.adminPatientsTableFormat = 'regular';
+                    return false;
+                });
+
+            if(localStorage.adminPatientsTableFormat === 'grid') {
+                $('#admin-patients-list-extended>table').addClass('stag-compact-grid');
+            }
+            else {
+                $('#admin-patients-list-extended>table').removeClass('stag-compact-grid');
+            }
         }
 
         addMCInitializer('admin-patients-list-extended', init, '#admin-patients-list-extended');