five-two-nw-olivander 0.2.0.22 → 0.2.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|