0.0
No commit activity in last 3 years
No release in over 3 years
ReadyBootDash is NEEAD Nice Easy Elegant Admin Dashboard based on Bootstrap 4 Framework
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

ReadyBootDash

ReadyBootDash is NEEAD (Nice Easy Elegant Admin Dashboard) based on Bootstrap 4 Framework. This gem included:

  • JQuery 3.2.1
  • JQuery UI 1.12.1
  • JQuery Validate
  • Jquery Scrollbar
  • JQuery Mapael
  • JQuery Mapael/World Countries
  • Ready CSS Admin Style
  • Bootstrap 4
  • Bootstrap 4/Bootstrap Notify
  • Bootstrap 4/Bootstrap Toggle
  • Popper
  • Chartist
  • Chartist Plugin Tooltip
  • Moment JS

Installation

Add this line to your application's Gemfile:

gem 'ready_boot_dash'
gem 'jquery-validation-rails'

And then execute:

$ bundle

Or install it yourself as:

$ gem install ready_boot_dash

Usage

All assets included in this gem. You just need to require css and javascript inside application.css and application.js.

Inside application.css:

*= require ready_boot_dash

And inside application.js:

//= require ready_boot_dash

Initializing Datepicker and Validate Form.

$(document).ready(function() {
  // Initialize datepicker for bootstrap 4
  $('#idDate').datepicker({
    showOtherMonths: true,
    format: 'dd/mm/yyyy',
    uiLibrary: 'bootstrap4'
  });

  // Validation Room Form
  $('#idForm').validate();
});

Setup inside application.html.slim

.wrapper
  .main-header
    = render 'shared/external-admin/header'
  = render 'shared/external-admin/sidenav'

  .main-panel
    .content
      .container-fluid
        .row
          .col-lg-12.col-md-12
            = yield

= javascript_include_tag 'application'
script src="https://unpkg.com/default-passive-events@1.0.10/dist/index.js"
script src="https://buttons.github.io/buttons.js"
script src="https://cdn.jsdelivr.net/npm/gijgo@1.9.10/js/gijgo.min.js" type="text/javascript"

or if you prefer use the = javascript_include_tag 'application' on header tag you can move it there as well.

Inside shared/external-admin/_header.html.slim

.logo-header
  a.logo href=admin_root_url
    | Your Company Name
  button.navbar-toggler.sidenav-toggler.ml-auto aria-controls="sidebar" aria-expanded="false" aria-label=("Toggle navigation") data-target="collapse" data-toggle="collapse" type="button"
    span.navbar-toggler-icon
  button.topbar-toggler.more
    i.la.la-ellipsis-v
nav.navbar.navbar-header.navbar-expand-lg
  .container-fluid
    ul.navbar-nav.topbar-nav.ml-md-auto.align-items-center
      li.nav-item.dropdown
        a.dropdown-toggle.profile-pic aria-expanded="false" data-toggle="dropdown" href="#"
          = image_tag("profile.jpg", class: 'img-circle', width: 36)
          - if current_user.name.present?
            span= current_user.name
          - else
            span Admin Your Company Name
        ul.dropdown-menu.dropdown-user
          li
            .user-box
              .u-img
                = image_tag("profile.jpg")
              .u-text
                - if current_user.name.present?
                  h4= current_user.name
                - else
                  h4 Your Company Name
                p.text-muted= current_user.email
                a.btn.btn-rounded.btn-danger.btn-sm href="#"
                  | Change Profile
          .dropdown-divider
          = link_to destroy_user_session_url, method: :delete, class: 'dropdown-item' do
            | Logout

Inside shared/external-admin/_menu.html.erb

<li class="nav-item <%= active_for(controller: "dashboards") %>">
  <%= link_to admin_root_url, class: "nav-link" do %>
    <i class="material-icons">dashboard</i>
    <p>Dashboard</p>
  <% end %>
</li>

Inside shared/external-admin/sidenav.html.slim

.sidebar
  .scrollbar-inner.sidebar-wrapper
    .user
      .photo
        = image_tag("profile.jpg")
      .info
        a aria-expanded="true" data-toggle="collapse" href="#collapseExample"
          - if current_user.name.present?
            span
              = current_user.name
              span.user-level.text-capitalize= "Role: #{current_user.role}"
          - else
            span
              | Admin Your Company Name
              span.user-level.text-capitalize= "Role: #{current_user.role}"
    ul.nav
      = render 'shared/external-admin/menu'

For helper active_for added this code into application_helper.rb

def active_for(options = {})
  name_of_controller = options[:controller] || nil
  name_of_action     = options[:action]     || nil
  request_path       = options[:path]       || nil

  if request_path.nil?
    if (name_of_action.nil? || name_of_action == action_name) && name_of_controller == controller_name
      'active'
    else
      ''
    end
  else
    request_path == request.path ? 'active' : ''
  end
end

And for example generated views by controller you just need to adding some card class admin/payments/index.html.slim

.card
  .card-header.bg-danger
    .float-left.text-white Payments
    .float-right
      = link_to 'New Payment', new_admin_payment_url, class: 'text-white badge badge-primary'
  .card-body
    // Your table here

Contributing

Bug reports and pull requests are welcome on GitHub at ReadyBootDash.

License

The gem is available as open source under the terms of the MIT License.