From 01c3dc9985ceacabe9cf476ad48f4bc1548673f2 Mon Sep 17 00:00:00 2001 From: Thomas Schneider <qsx@chaotikum.eu> Date: Sat, 8 Feb 2020 21:22:24 +0100 Subject: [PATCH] Add datatables --- Gemfile | 2 ++ Gemfile.lock | 7 +++++++ app/assets/config/manifest.js | 1 + app/assets/javascripts/application.js | 5 +++++ app/assets/javascripts/datatables.js | 8 ++++++++ app/assets/stylesheets/application.scss | 1 + app/assets/stylesheets/datatables.scss | 3 +++ app/views/layouts/application.html.haml | 1 + app/views/users/index.html.haml | 2 +- 9 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 app/assets/javascripts/application.js create mode 100644 app/assets/javascripts/datatables.js create mode 100644 app/assets/stylesheets/datatables.scss diff --git a/Gemfile b/Gemfile index d58b8e4..0a46bf1 100644 --- a/Gemfile +++ b/Gemfile @@ -29,6 +29,8 @@ gem 'font-awesome-sass', '~> 5.12.0' gem 'activeldap', '~> 5.2', '>= 5.2.4', :require => 'active_ldap/railtie' gem 'net-ldap', '~> 0.16.2' +gem 'jquery-rails', '~> 4.3', '>= 4.3.5' +gem 'jquery-datatables', '~> 1.10', '>= 1.10.20' # Reduces boot times through caching; required in config/boot.rb gem 'bootsnap', '>= 1.4.2', require: false diff --git a/Gemfile.lock b/Gemfile.lock index c90d61e..fae8823 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -126,6 +126,11 @@ GEM jaro_winkler (1.5.4-java) jbuilder (2.9.1) activesupport (>= 4.2.0) + jquery-datatables (1.10.20) + jquery-rails (4.3.5) + rails-dom-testing (>= 1, < 3) + railties (>= 4.2.0) + thor (>= 0.14, < 2.0) listen (3.1.5) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) @@ -290,6 +295,8 @@ DEPENDENCIES font-awesome-sass (~> 5.12.0) haml-rails (~> 2.0) jbuilder (~> 2.7) + jquery-datatables (~> 1.10, >= 1.10.20) + jquery-rails (~> 4.3, >= 4.3.5) listen (>= 3.0.5, < 3.2) net-ldap (~> 0.16.2) pg (>= 0.18, < 2.0) diff --git a/app/assets/config/manifest.js b/app/assets/config/manifest.js index 5918193..7d52bcf 100644 --- a/app/assets/config/manifest.js +++ b/app/assets/config/manifest.js @@ -1,2 +1,3 @@ //= link_tree ../images //= link_directory ../stylesheets .css +//= link_directory ../javascripts .js diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js new file mode 100644 index 0000000..d079a31 --- /dev/null +++ b/app/assets/javascripts/application.js @@ -0,0 +1,5 @@ +//= require jquery +//= require datatables +$(document).ready(function() { + $('#dttb').DataTable(); +}); diff --git a/app/assets/javascripts/datatables.js b/app/assets/javascripts/datatables.js new file mode 100644 index 0000000..6aaa6f5 --- /dev/null +++ b/app/assets/javascripts/datatables.js @@ -0,0 +1,8 @@ +// Core component +//= require datatables/jquery.dataTables +// Bootstrap4 theme +//= require datatables/dataTables.bootstrap4 + +// Optional Datatables extensions +//= require datatables/extensions/Responsive/dataTables.responsive +//= require datatables/extensions/Responsive/responsive.bootstrap4 diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss index 4b4bd01..e72c227 100644 --- a/app/assets/stylesheets/application.scss +++ b/app/assets/stylesheets/application.scss @@ -1,4 +1,5 @@ @import "font-awesome-sprockets"; @import "font-awesome"; +@import 'datatables'; // Custom bootstrap variables must be set or imported *before* bootstrap. @import "bootstrap"; diff --git a/app/assets/stylesheets/datatables.scss b/app/assets/stylesheets/datatables.scss new file mode 100644 index 0000000..94e3aca --- /dev/null +++ b/app/assets/stylesheets/datatables.scss @@ -0,0 +1,3 @@ +@import 'datatables/dataTables.bootstrap4'; +@import 'datatables/extensions/Responsive/responsive.bootstrap4'; +@import 'datatables/extensions/Buttons/buttons.bootstrap4'; diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index fc72423..3c8a863 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -6,6 +6,7 @@ = csrf_meta_tags = csp_meta_tag = stylesheet_link_tag 'application', media: 'all' + = javascript_include_tag 'application', data_turbolinks_track: 'reload' %body %nav.navbar.navbar-dark.bg-dark.static-top.navbar-expand-lg .container diff --git a/app/views/users/index.html.haml b/app/views/users/index.html.haml index 631a5a1..86db768 100644 --- a/app/views/users/index.html.haml +++ b/app/views/users/index.html.haml @@ -1,4 +1,4 @@ -%table.table.table-striped +%table.table.table-striped#dttb %caption List of users %thead %tr -- GitLab