five-two-nw-olivander 0.2.0.22 → 0.2.0.23
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/datatables/olivander/datatable.rb +5 -1
- data/app/views/layouts/olivander/adminlte/_content.html.haml +5 -0
- data/app/views/layouts/olivander/adminlte/_navbar.html.haml +9 -4
- data/app/views/layouts/olivander/adminlte/main.html.haml +4 -2
- data/lib/olivander/application_context.rb +43 -10
- data/lib/olivander/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7d0296c18b05b98a8346e7c04c1dbfc31b449ad9bd3328103f3fedbb0be36e29
|
4
|
+
data.tar.gz: c54615ded2e32f20658347245f453922abd816812867a74861f929387380a5eb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b83fa3327c1e436a3e7266694604ae415df5e63afaa87ebd32d33e86f3366858b9c848b2952e15d457c109cc3d6099c8f769d71e261b66fa2b54c65752ff8c54
|
7
|
+
data.tar.gz: 4f9f587b5eefd520da0d09672fea7244079f1042880cc8169c810d1af4177ed2a590ee9c07c141b7a265dec313feb763f45cc8a41aa5b8317c325041be2a57ed
|
@@ -61,6 +61,7 @@ module Olivander
|
|
61
61
|
end
|
62
62
|
|
63
63
|
datatable do
|
64
|
+
puts "firing datatable do block"
|
64
65
|
order(order_by[0], order_by[1]) if order_by.size == 2
|
65
66
|
# bulk_actions_col if datatable._bulk_actions.size.positive?
|
66
67
|
|
@@ -69,7 +70,10 @@ module Olivander
|
|
69
70
|
label = field_label_for(klazz, key)
|
70
71
|
sym = key.gsub('_id', '')
|
71
72
|
visible = show.include?(key) || !(default_hidden.include?(key) || hide.include?(key))
|
72
|
-
|
73
|
+
already_implemented_method = "col_for_#{sym}"
|
74
|
+
if datatable.respond_to?(already_implemented_method)
|
75
|
+
datatable.send(already_implemented_method, visible: visible)
|
76
|
+
elsif %w[id name first_name last_name display_name title].include?(sym)
|
73
77
|
col sym, visible: visible, action: :show
|
74
78
|
elsif sym.include?('.')
|
75
79
|
col sym, visible: visible, label: label
|
@@ -1,4 +1,6 @@
|
|
1
1
|
.content-wrapper
|
2
|
+
- if Olivander::CurrentContext.application_context.layout_container?
|
3
|
+
<div class='container'>
|
2
4
|
%section.content-header
|
3
5
|
.container-fluid
|
4
6
|
.row.mb-2
|
@@ -10,3 +12,6 @@
|
|
10
12
|
%section.content
|
11
13
|
.container-fluid
|
12
14
|
= content
|
15
|
+
- if Olivander::CurrentContext.application_context.layout_container?
|
16
|
+
</div>
|
17
|
+
|
@@ -1,10 +1,13 @@
|
|
1
|
+
- if Olivander::CurrentContext.application_context.nav_container?
|
2
|
+
<div class='container'>
|
1
3
|
/ Navbar
|
2
|
-
%nav.main-header.navbar.
|
4
|
+
%nav.main-header.navbar{ class: Olivander::CurrentContext.application_context.nav_class }
|
3
5
|
/ Left navbar links
|
4
6
|
%ul.navbar-nav
|
5
|
-
|
6
|
-
%
|
7
|
-
%
|
7
|
+
- if Olivander::CurrentContext.application_context.sidebar?
|
8
|
+
%li.nav-item
|
9
|
+
%a.nav-link{"data-widget" => "pushmenu", :href => "#", :role => "button", 'data-enable-remember': "true"}
|
10
|
+
%i.fas.fa-bars
|
8
11
|
- Olivander::CurrentContext.application_context.visible_modules.each do |menu_item|
|
9
12
|
%li.nav-item.d-none.d-sm-inline-block
|
10
13
|
= link_to menu_item.text, menu_item.href, class: 'nav-link'
|
@@ -124,3 +127,5 @@
|
|
124
127
|
-# %li.nav-item
|
125
128
|
-# %a.nav-link{title: 'Show Sidebar Options', "data-controlsidebar-slide" => "true", "data-widget" => "control-sidebar", :href => "#", :role => "button"}
|
126
129
|
-# %i.fas.fa-th-large
|
130
|
+
- if Olivander::CurrentContext.application_context.nav_container?
|
131
|
+
</div>
|
@@ -2,13 +2,15 @@
|
|
2
2
|
%html
|
3
3
|
= render partial: 'layouts/olivander/adminlte/head'
|
4
4
|
- sidebar_collapse = cookies['lte.pushmenu.collapsed'] == 'true' ? 'sidebar-collapse' : ''
|
5
|
-
|
5
|
+
- layout_class = Olivander::CurrentContext.application_context.layout_class
|
6
|
+
%body{ class: [layout_class, sidebar_collapse].join(' ') }
|
6
7
|
.wrapper
|
7
8
|
/ Preloader
|
8
9
|
-# .preloader.flex-column.justify-content-center.align-items-center
|
9
10
|
-# %img.animation__shake{:alt => "FFES Logo", :height => "60", :src => image_path("logo.gif")}
|
10
11
|
= render partial: 'layouts/olivander/adminlte/navbar'
|
11
|
-
|
12
|
+
- if Olivander::CurrentContext.application_context.sidebar?
|
13
|
+
= render partial: 'layouts/olivander/adminlte/sidebar'
|
12
14
|
-# = render partial: 'layouts/olivander/adminlte/content'
|
13
15
|
= render partial: @content_partial || 'layouts/olivander/adminlte/content', locals: { content: yield }
|
14
16
|
= turbo_frame_tag 'modal'
|
@@ -1,14 +1,34 @@
|
|
1
1
|
module Olivander
|
2
2
|
class ApplicationContext
|
3
|
-
attr_accessor :name, :logo, :login_logo, :company, :menu_items,
|
3
|
+
attr_accessor :name, :logo, :login_logo, :company, :menu_items,
|
4
|
+
:route_builder, :sign_out_path, :sidebar_background_class,
|
5
|
+
:nav_container, :nav_class, :layout_container, :layout_class,
|
6
|
+
:sidebar
|
7
|
+
|
8
|
+
DEFAULT_APPLICATION_NAME = 'Application Name'.freeze
|
9
|
+
DEFAULT_SIGN_OUT_PATH = '/users/sign_out'.freeze
|
10
|
+
DEFAULT_HEADER_CLASSES = ''.freeze
|
11
|
+
DEFAULT_LOGO_URL = '/images/olivander_logo.png'.freeze
|
12
|
+
DEFAULT_LOGO_ALT = 'Logo Image'.freeze
|
13
|
+
DEFAULT_LOGIN_LOGO_URL = '/images/olivander_login_logo.png'.freeze
|
14
|
+
DEFAULT_LOGIN_LOGO_ALT = 'Login Logo Image'.freeze
|
15
|
+
DEFAULT_COMPANY_URL = '/'.freeze
|
16
|
+
DEFAULT_COMPANY_ALT = 'Company Name'.freeze
|
17
|
+
DEFAULT_LAYOUT_CLASS = 'hold-transition sidebar-mini layout-fixed'.freeze
|
18
|
+
DEFAULT_NAV_CLASS = 'navbar-expand navbar-white navbar-light'.freeze
|
4
19
|
|
5
20
|
def initialize(**kwargs)
|
6
|
-
self.name = kwargs[:name] || ENV['OLIVANDER_APP_NAME'] ||
|
21
|
+
self.name = kwargs[:name] || ENV['OLIVANDER_APP_NAME'] || DEFAULT_APPLICATION_NAME
|
7
22
|
self.logo = kwargs[:logo] || Logo.new(url: kwargs[:logo_url], alt: kwargs[:logo_alt])
|
8
23
|
self.login_logo = kwargs[:login_logo] || LoginLogo.new(url: kwargs[:login_logo_url], alt: kwargs[:login_logo_alt])
|
9
24
|
self.company = kwargs[:company] || Company.new(name: kwargs[:company_name], url: kwargs[:company_url])
|
10
|
-
self.sign_out_path = kwargs[:sign_out_path] ||
|
25
|
+
self.sign_out_path = kwargs[:sign_out_path] || DEFAULT_SIGN_OUT_PATH
|
11
26
|
self.menu_items = kwargs[:menu_items] || []
|
27
|
+
self.nav_container = kwargs[:nav_container] || 'false'.freeze == 'true'.freeze
|
28
|
+
self.nav_class = kwargs[:nav_class] || DEFAULT_NAV_CLASS
|
29
|
+
self.layout_container = kwargs[:layout_container] || 'false'.freeze == 'true'.freeze
|
30
|
+
self.layout_class = kwargs[:layout_class] || DEFAULT_LAYOUT_CLASS
|
31
|
+
self.sidebar = kwargs[:sidebar] || 'true' == 'true'.freeze
|
12
32
|
begin
|
13
33
|
self.route_builder = RouteBuilder.new
|
14
34
|
rescue NameError
|
@@ -16,6 +36,18 @@ module Olivander
|
|
16
36
|
end
|
17
37
|
end
|
18
38
|
|
39
|
+
def nav_container?
|
40
|
+
nav_container == true
|
41
|
+
end
|
42
|
+
|
43
|
+
def layout_container?
|
44
|
+
layout_container == true
|
45
|
+
end
|
46
|
+
|
47
|
+
def sidebar?
|
48
|
+
sidebar == true
|
49
|
+
end
|
50
|
+
|
19
51
|
def visible_modules
|
20
52
|
[].tap do |arr|
|
21
53
|
menu_items.each do |menu_item|
|
@@ -37,8 +69,8 @@ module Olivander
|
|
37
69
|
attr_accessor :url, :alt
|
38
70
|
|
39
71
|
def initialize(**kwargs)
|
40
|
-
self.url = kwargs[:url] || ENV['OLIVANDER_LOGO_URL'] ||
|
41
|
-
self.alt = kwargs[:alt] || ENV['OLIVANDER_LOGO_ALT'] ||
|
72
|
+
self.url = kwargs[:url] || ENV['OLIVANDER_LOGO_URL'] || DEFAULT_LOGO_URL
|
73
|
+
self.alt = kwargs[:alt] || ENV['OLIVANDER_LOGO_ALT'] || DEFAULT_LOGO_ALT
|
42
74
|
end
|
43
75
|
end
|
44
76
|
|
@@ -46,8 +78,8 @@ module Olivander
|
|
46
78
|
attr_accessor :url, :alt
|
47
79
|
|
48
80
|
def initialize(**kwargs)
|
49
|
-
self.url = kwargs[:url] || ENV['OLIVANDER_LOGIN_LOGO_URL'] ||
|
50
|
-
self.alt = kwargs[:alt] || ENV['OLIVANDER_LOGIN_LOGO_ALT'] ||
|
81
|
+
self.url = kwargs[:url] || ENV['OLIVANDER_LOGIN_LOGO_URL'] || DEFAULT_LOGIN_LOGO_URL
|
82
|
+
self.alt = kwargs[:alt] || ENV['OLIVANDER_LOGIN_LOGO_ALT'] || DEFAULT_LOGIN_LOGO_ALT
|
51
83
|
end
|
52
84
|
end
|
53
85
|
|
@@ -55,8 +87,8 @@ module Olivander
|
|
55
87
|
attr_accessor :name, :url
|
56
88
|
|
57
89
|
def initialize(**kwargs)
|
58
|
-
self.url = kwargs[:url] || ENV['OLIVANDER_COMPANY_URL'] ||
|
59
|
-
self.name = kwargs[:name] || ENV['OLIVANDER_COMPANY_NAME'] ||
|
90
|
+
self.url = kwargs[:url] || ENV['OLIVANDER_COMPANY_URL'] || DEFAULT_COMPANY_URL
|
91
|
+
self.name = kwargs[:name] || ENV['OLIVANDER_COMPANY_NAME'] || DEFAULT_COMPANY_ALT
|
60
92
|
end
|
61
93
|
end
|
62
94
|
end
|
@@ -64,6 +96,7 @@ module Olivander
|
|
64
96
|
class CurrentContext < ActiveSupport::CurrentAttributes
|
65
97
|
attribute :application_context
|
66
98
|
attribute :user, :ability
|
99
|
+
DEFAULT_USER_DISPLAY = 'No User Set'.freeze
|
67
100
|
|
68
101
|
def build(&block)
|
69
102
|
self.application_context ||= ::Olivander::ApplicationContext.new
|
@@ -76,7 +109,7 @@ module Olivander
|
|
76
109
|
private
|
77
110
|
|
78
111
|
def build_dummy_user
|
79
|
-
OpenStruct.new({ display_name:
|
112
|
+
OpenStruct.new({ display_name: DEFAULT_USER_DISPLAY })
|
80
113
|
end
|
81
114
|
|
82
115
|
def build_dummy_ability
|
data/lib/olivander/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: five-two-nw-olivander
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.0.
|
4
|
+
version: 0.2.0.23
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Dennis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-07-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chartkick
|