RailsAdmin Rollincode Theme
A modern override of default bootstrap 3 rails_admin theme. It provides news colors, adjustments and a brand new tree view menu.
You can fork it and change variables.scss
as you want !
Gemfile
gem 'rails_admin_rollincode', '~> 1.0'
gem 'rails_admin', git: 'https://github.com/sferik/rails_admin.git'
Inside config/application.rb
, just after Bundler.require
ENV['RAILS_ADMIN_THEME'] = 'rollincode'
You'll have to run theses commands for changes to take effect
rake assets:clean && rake assets:precompile
or
rm -rf tmp/cache/assets/development/
Like we can't include custom js in a bundled theme with rails_admin for now, you have to add in your app/assets/javascripts/rails_admin/custom/ui.js
the following code :
It will make the javascript menu works.
$(document).on('ready pjax:success', function() {
handleActiveBase();
function handleActiveBase() {
$('.sub-menu').each(function () {
if ($(this).hasClass('active')) {
$(this).parent().prev().addClass('active');
$(this).parent().prev().addClass('open');
$(this).parent().slideDown();
}
});
}
});
$(function () {
var width = $('.nav-stacked').width();
$('.navbar-header').width(width);
var array_menu = [];
var lvl_1 = null;
var count = 0;
$('.sidebar-nav li').each(function (index, item) {
if ($(item).hasClass('dropdown-header')) {
lvl_1 = count++;
array_menu[lvl_1] = []
} else {
$(item).addClass('sub-menu sub-menu-' + lvl_1);
}
});
for (var i = 0; i <= array_menu.length; i++) {
$('.sub-menu-' + i).wrapAll("<div class='sub-menu-container' />");
}
$('.sub-menu-container').hide();
handleActiveBase();
function handleActiveBase() {
$('.sub-menu').each(function () {
if ($(this).hasClass('active')) {
$(this).parent().prev().addClass('active');
$(this).parent().slideDown();
}
});
}
$('.dropdown-header').bind('click', function () {
$('.dropdown-header').removeClass('open');
$(this).addClass('open');
$('.dropdown-header').removeClass('active');
$('.sub-menu-container').stop().slideUp();
$(this).toggleClass('active');
$(this).next('.sub-menu-container').stop().slideDown();
});
});