simple_sidebar 0.0.1.pre → 0.0.5.pre
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/Rakefile +2 -0
- data/app/assets/javascripts/simple_sidebar/application/core.js.coffee +103 -61
- data/app/assets/javascripts/simple_sidebar/application/core.js.coffee~ +151 -0
- data/app/assets/stylesheets/simple_sidebar/application/core.css +16 -22
- data/app/assets/stylesheets/simple_sidebar/default_theme.css +4 -0
- data/app/view_helpers/simple_sidebar/application_view_helper.rb +71 -0
- data/app/views/simple_sidebar/application_view_helper/_render_sidebar.html.erb +9 -0
- data/config/initializers/assets.rb +1 -1
- data/lib/simple_sidebar/version.rb +1 -1
- data/lib/simple_sidebar.rb +3 -0
- metadata +107 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e7a64b43e41a0c5e8329c8a7ea796c2f48dd99ead237f91f3709ebd2b523aea
|
4
|
+
data.tar.gz: b53501cea0aeeceaa9715559dfb6359fed536e636662426aeb8b0f2d2340f618
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 119cc66208ea5e6f7f4930fff4d69d10a8ac2cc2da9659682e3015e0ba7c136fc49de45e352423fc937d5ad45d0cb875e1a4abb76f6f121d6e17fa9ebf449156
|
7
|
+
data.tar.gz: c4461c81889535cac550f56f3d51757214e7b73939d862a14602497e5522c9293e6ba57e10278389bdbec93b4c0830dbfccfec8a4bc24b95513c0b8165b97d51
|
data/Rakefile
CHANGED
@@ -9,12 +9,12 @@
|
|
9
9
|
# </button>
|
10
10
|
# </div>
|
11
11
|
# <aside
|
12
|
-
# id="example-sidebar"
|
12
|
+
# id="example-sidebar"
|
13
13
|
# data-sidebar-load="/de/backend/authentifizierung/user_sidebar.html"
|
14
14
|
# data-sidebar-mode="overlay"
|
15
15
|
# data-sidebar-position="right"
|
16
16
|
# data-sidebar-size="20rem"
|
17
|
-
# data-sidebar-state="closed"
|
17
|
+
# data-sidebar-state="closed">
|
18
18
|
# <h3>Hello from the example sidebar!</h3>
|
19
19
|
# </aside>
|
20
20
|
# </body>
|
@@ -28,77 +28,119 @@
|
|
28
28
|
# modal: Like overlay, but with a modal background.
|
29
29
|
# position: left|right|top|bottom
|
30
30
|
# size: size that the sidebar will take up (width for left and right, height for top and bottom). Pass any css size in px, rem or whatever you like.
|
31
|
+
# state: open|closed
|
31
32
|
#
|
32
33
|
$ ->
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
34
|
+
initializeSidebars = ->
|
35
|
+
$('[data-sidebar-position]').each (_, e) ->
|
36
|
+
# add css classes
|
37
|
+
position = $(@).data('sidebar-position')
|
38
|
+
mode = $(@).data('sidebar-mode')
|
39
|
+
size = $(@).data('sidebar-size')
|
40
|
+
state = $(@).data('sidebar-state')
|
41
|
+
|
42
|
+
$(e).addClass("sidebar sidebar-#{position} sidebar-#{mode}")
|
43
|
+
|
44
|
+
# set correct size
|
45
|
+
if position in ['top', 'bottom']
|
46
|
+
$(e).outerHeight(size)
|
47
|
+
else
|
48
|
+
$(e).outerWidth(size)
|
49
|
+
|
50
|
+
# position outside of viewport
|
51
|
+
outer_width = $(e).outerWidth()
|
52
|
+
$(e).css(position, "-#{outer_width}px")
|
51
53
|
|
52
|
-
|
53
|
-
|
54
|
+
# display it
|
55
|
+
$(e).css("display", "inherit")
|
54
56
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
size = target.data('sidebar-size')
|
57
|
+
# set initial state
|
58
|
+
if state == 'open'
|
59
|
+
openSidebar($(@), false)
|
59
60
|
|
60
|
-
target.css("display", "inherit")
|
61
|
-
target.css(size_attribute, size)
|
62
|
-
main_content.css("margin-#{position}", size) if mode == 'push'
|
63
61
|
|
62
|
+
initializeModalBackground = ->
|
63
|
+
$('body').on 'click', '#sidebar-modal-background', ->
|
64
|
+
target = $("##{$(@).data('sidebar-target')}")
|
65
|
+
closeSidebar(target)
|
64
66
|
|
65
|
-
# modal
|
66
|
-
if mode == 'modal'
|
67
|
-
$("body").append("<div id=\"sidebar-modal-background\" data-sidebar-target=\"#{target.attr('id')}\"></div>")
|
68
67
|
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
type: 'GET'
|
74
|
-
url: url
|
75
|
-
success: (response) ->
|
76
|
-
$(target).html(response)
|
77
|
-
return
|
68
|
+
initializeTriggers = ->
|
69
|
+
$('[data-sidebar-trigger]').on 'click', ->
|
70
|
+
target = $($(@).data('sidebar-trigger'))
|
71
|
+
state = target.data('sidebar-state')
|
78
72
|
|
79
|
-
|
80
|
-
|
73
|
+
if state == 'closed'
|
74
|
+
openSidebar(target, true)
|
75
|
+
else
|
76
|
+
closeSidebar(target, true)
|
81
77
|
|
82
|
-
closeModal = (target) ->
|
83
|
-
main_content = $('#main-content')
|
84
78
|
|
85
|
-
|
86
|
-
|
87
|
-
size_attribute = if position in ['top', 'bottom'] then 'height' else 'width'
|
88
|
-
size = target.data('sidebar-size')
|
89
|
-
|
90
|
-
# push
|
91
|
-
if mode == 'push'
|
92
|
-
main_content.css("margin-#{position}", size)
|
79
|
+
openSidebar = (target, animate = false) ->
|
80
|
+
main_content = $('#main-content')
|
93
81
|
|
94
|
-
|
95
|
-
|
96
|
-
|
82
|
+
position = target.data('sidebar-position')
|
83
|
+
mode = target.data('sidebar-mode')
|
84
|
+
size = target.data('sidebar-size')
|
85
|
+
|
86
|
+
# Move sidebar into viewport
|
87
|
+
if(animate == true)
|
88
|
+
target.animate({ "#{position}": 0 }, 500);
|
89
|
+
else
|
90
|
+
target.css(position, 0)
|
91
|
+
|
92
|
+
# Add margin equal to sidebar width/height to main content to make room
|
93
|
+
# for the sidebar if in push mode
|
94
|
+
if(animate == true)
|
95
|
+
main_content.animate({ "margin-#{position}": size }, 500);
|
96
|
+
else
|
97
|
+
main_content.css("margin-#{position}", size) if mode == 'push'
|
97
98
|
|
98
|
-
|
99
|
+
# add modal if in modal mode
|
100
|
+
if mode == 'modal'
|
101
|
+
$("body").append("<div id=\"sidebar-modal-background\" data-sidebar-target=\"#{target.attr('id')}\"></div>")
|
102
|
+
$('#sidebar-modal-background').fadeIn()
|
103
|
+
|
104
|
+
# load content via ajay if the load option was given
|
105
|
+
if target.data('sidebar-load')
|
106
|
+
url = target.data('sidebar-load')
|
107
|
+
$.ajax
|
108
|
+
type: 'GET'
|
109
|
+
url: url
|
110
|
+
success: (response) ->
|
111
|
+
$(target).html(response)
|
112
|
+
return
|
113
|
+
|
114
|
+
# set state
|
115
|
+
target.data('sidebar-state', 'open')
|
116
|
+
|
117
|
+
closeSidebar = (target, animate = false) ->
|
118
|
+
main_content = $('#main-content')
|
119
|
+
|
120
|
+
position = target.data('sidebar-position')
|
121
|
+
mode = target.data('sidebar-mode')
|
122
|
+
size_attribute = if position in ['top', 'bottom'] then 'height' else 'width'
|
123
|
+
size = target.data('sidebar-size')
|
124
|
+
|
125
|
+
# push
|
126
|
+
if mode == 'push'
|
127
|
+
if(animate == true)
|
128
|
+
main_content.animate({ 'marginLeft': 0 }, 500);
|
129
|
+
else
|
130
|
+
main_content.css("margin-#{position}", '0px')
|
131
|
+
|
132
|
+
# modal
|
133
|
+
if mode == 'modal'
|
134
|
+
$("#sidebar-modal-background").remove()
|
135
|
+
|
136
|
+
if(animate == true)
|
137
|
+
target.animate({ "#{position}": "-#{target.outerWidth()}px" }, 500);
|
138
|
+
else
|
139
|
+
target.css(position, "-#{target.outerWidth()}px")
|
99
140
|
|
100
|
-
|
101
|
-
|
141
|
+
# set state
|
142
|
+
target.data('sidebar-state', 'closed')
|
102
143
|
|
103
|
-
|
104
|
-
|
144
|
+
initializeSidebars()
|
145
|
+
initializeModalBackground()
|
146
|
+
initializeTriggers()
|
@@ -0,0 +1,151 @@
|
|
1
|
+
# Usage:
|
2
|
+
#
|
3
|
+
# Put all the content that is not in the sidebar in a container with the id #main-content a trigger button and add a sidebar.
|
4
|
+
#
|
5
|
+
# <body>
|
6
|
+
# <div id="main-content">
|
7
|
+
# <button data-sidebar-trigger="#example-sidebar">
|
8
|
+
# Toggle the example sidebar!
|
9
|
+
# </button>
|
10
|
+
# </div>
|
11
|
+
# <aside
|
12
|
+
# id="example-sidebar"
|
13
|
+
# data-sidebar-load="/de/backend/authentifizierung/user_sidebar.html"
|
14
|
+
# data-sidebar-mode="overlay"
|
15
|
+
# data-sidebar-position="right"
|
16
|
+
# data-sidebar-size="20rem"
|
17
|
+
# data-sidebar-state="closed">
|
18
|
+
# <h3>Hello from the example sidebar!</h3>
|
19
|
+
# </aside>
|
20
|
+
# </body>
|
21
|
+
#
|
22
|
+
# Options:
|
23
|
+
#
|
24
|
+
# load: Passing an url to load will load the content of the url via ajax and display it in the sidebar.
|
25
|
+
# mode:
|
26
|
+
# push: This will decrease the size of the main content, making room for the sidebar.
|
27
|
+
# overlay: This will show the sidebar on top of the content, without moving it.
|
28
|
+
# modal: Like overlay, but with a modal background.
|
29
|
+
# position: left|right|top|bottom
|
30
|
+
# size: size that the sidebar will take up (width for left and right, height for top and bottom). Pass any css size in px, rem or whatever you like.
|
31
|
+
#
|
32
|
+
$ ->
|
33
|
+
initializeSidebars = ->
|
34
|
+
$('[data-sidebar-position]').each (_, e) ->
|
35
|
+
# add css classes
|
36
|
+
position = $(@).data('sidebar-position')
|
37
|
+
mode = $(@).data('sidebar-mode')
|
38
|
+
size = $(@).data('sidebar-size')
|
39
|
+
state = $(@).data('sidebar-state')
|
40
|
+
console.log(state)
|
41
|
+
$(e).addClass("sidebar sidebar-#{position} sidebar-#{mode}")
|
42
|
+
|
43
|
+
# set correct size
|
44
|
+
if position in ['top', 'bottom']
|
45
|
+
$(e).outerHeight(size)
|
46
|
+
else
|
47
|
+
$(e).outerWidth(size)
|
48
|
+
|
49
|
+
# position outside of viewport
|
50
|
+
outer_width = $(e).outerWidth()
|
51
|
+
$(e).css(position, "-#{outer_width}px")
|
52
|
+
|
53
|
+
# display it
|
54
|
+
$(e).css("display", "inherit")
|
55
|
+
|
56
|
+
# set initial state
|
57
|
+
if state == 'opened'
|
58
|
+
openSidebar($(@), false)
|
59
|
+
|
60
|
+
|
61
|
+
initializeModalBackground = ->
|
62
|
+
$('body').on 'click', '#sidebar-modal-background', ->
|
63
|
+
target = $("##{$(@).data('sidebar-target')}")
|
64
|
+
closeSidebar(target)
|
65
|
+
|
66
|
+
|
67
|
+
initializeTriggers = ->
|
68
|
+
$('[data-sidebar-trigger]').on 'click', ->
|
69
|
+
target = $($(@).data('sidebar-trigger'))
|
70
|
+
state = target.data('sidebar-state')
|
71
|
+
|
72
|
+
if state == 'closed'
|
73
|
+
openSidebar(target)
|
74
|
+
else
|
75
|
+
closeSidebar(target)
|
76
|
+
|
77
|
+
|
78
|
+
openSidebar = (target, fadeIn = true) ->
|
79
|
+
main_content = $('#main-content')
|
80
|
+
|
81
|
+
position = target.data('sidebar-position')
|
82
|
+
mode = target.data('sidebar-mode')
|
83
|
+
size = target.data('sidebar-size')
|
84
|
+
|
85
|
+
# Add margin equal to sidebar width/height to main content to make room
|
86
|
+
# for the sidebar if in push mode
|
87
|
+
if(mode == 'push')
|
88
|
+
if(fadeIn == true)
|
89
|
+
# main_content.toggleClass('transition-none')
|
90
|
+
main_content.css("transition", "margin .5s")
|
91
|
+
|
92
|
+
# Move sidebar into viewport
|
93
|
+
target.css(position, 0)
|
94
|
+
|
95
|
+
main_content.css("margin-#{position}", size)
|
96
|
+
|
97
|
+
if(fadeIn == true)
|
98
|
+
main_content.offsetHeight;
|
99
|
+
target.offsetHeight;
|
100
|
+
# main_content.toggleClass('transition-none')
|
101
|
+
main_content.css("transition", "none")
|
102
|
+
else
|
103
|
+
# Move sidebar into viewport
|
104
|
+
target.css(position, 0)
|
105
|
+
|
106
|
+
# add modal if in modal mode
|
107
|
+
if mode == 'modal'
|
108
|
+
$("body").append("<div id=\"sidebar-modal-background\" data-sidebar-target=\"#{target.attr('id')}\"></div>")
|
109
|
+
if(fadeIn == true)
|
110
|
+
$('#sidebar-modal-background').fadeIn()
|
111
|
+
else
|
112
|
+
$('#sidebar-modal-background').show()
|
113
|
+
|
114
|
+
# load content via ajax if the load option was given
|
115
|
+
if target.data('sidebar-load')
|
116
|
+
url = target.data('sidebar-load')
|
117
|
+
$.ajax
|
118
|
+
type: 'GET'
|
119
|
+
url: url
|
120
|
+
success: (response) ->
|
121
|
+
$(target).html(response)
|
122
|
+
return
|
123
|
+
|
124
|
+
# set state
|
125
|
+
target.data('sidebar-state', 'opened')
|
126
|
+
|
127
|
+
closeSidebar = (target) ->
|
128
|
+
main_content = $('#main-content')
|
129
|
+
|
130
|
+
position = target.data('sidebar-position')
|
131
|
+
mode = target.data('sidebar-mode')
|
132
|
+
size_attribute = if position in ['top', 'bottom'] then 'height' else 'width'
|
133
|
+
size = target.data('sidebar-size')
|
134
|
+
|
135
|
+
# push
|
136
|
+
if mode == 'push'
|
137
|
+
# main_content.css("margin-#{position}", size)
|
138
|
+
main_content.css("margin-#{position}", '0px')
|
139
|
+
|
140
|
+
# modal
|
141
|
+
if mode == 'modal'
|
142
|
+
$("#sidebar-modal-background").remove()
|
143
|
+
|
144
|
+
target.css(position, "-#{target.outerWidth()}px")
|
145
|
+
|
146
|
+
# set state
|
147
|
+
target.data('sidebar-state', 'closed')
|
148
|
+
|
149
|
+
initializeSidebars()
|
150
|
+
initializeModalBackground()
|
151
|
+
initializeTriggers()
|
@@ -1,51 +1,45 @@
|
|
1
|
-
.sidebar {
|
1
|
+
.sidebar, [data-sidebar-position] {
|
2
2
|
position: fixed;
|
3
|
+
display: none;
|
3
4
|
z-index: 3000;
|
4
|
-
overflow-x: hidden;
|
5
|
-
transition: 0.5s;
|
6
5
|
}
|
6
|
+
.sidebar {}
|
7
|
+
|
8
|
+
.sidebar-push {}
|
9
|
+
.sidebar-overlay {}
|
10
|
+
.sidebar-modal {}
|
11
|
+
|
12
|
+
.sidebar-closed {}
|
13
|
+
.sidebar-opened {}
|
7
14
|
|
8
15
|
.sidebar-left {
|
9
16
|
height: 100%;
|
10
|
-
width: 0;
|
11
17
|
top: 0;
|
12
|
-
|
18
|
+
overflow-y: auto;
|
13
19
|
}
|
14
20
|
.sidebar-right {
|
15
21
|
height: 100%;
|
16
|
-
width: 0;
|
17
22
|
top: 0;
|
18
|
-
|
23
|
+
overflow-y: auto;
|
19
24
|
}
|
20
25
|
.sidebar-top {
|
21
26
|
width: 100%;
|
22
|
-
height: 0;
|
23
27
|
left: 0;
|
24
|
-
top: 0;
|
25
28
|
}
|
26
29
|
.sidebar-bottom {
|
27
30
|
width: 100%;
|
28
|
-
height: 0;
|
29
31
|
left: 0;
|
30
|
-
bottom: 0;
|
31
32
|
}
|
32
33
|
|
34
|
+
#main-content {}
|
35
|
+
|
33
36
|
#sidebar-modal-background {
|
37
|
+
display: none;
|
34
38
|
position: fixed;
|
35
39
|
z-index: 2000;
|
36
40
|
left: 0;
|
37
41
|
top: 0;
|
38
42
|
width: 100%;
|
39
43
|
height: 100%;
|
40
|
-
background
|
41
|
-
background-color: rgba(0,0,0,0.4);
|
42
|
-
}
|
43
|
-
|
44
|
-
#main-content {
|
45
|
-
transition: margin .5s;
|
44
|
+
background: rgba(0,0,0,0.4);
|
46
45
|
}
|
47
|
-
|
48
|
-
/* @media screen and (max-height: 450px) {
|
49
|
-
.sidebar {padding-top: 15px;}
|
50
|
-
.sidebar a {font-size: 18px;}
|
51
|
-
} */
|
@@ -0,0 +1,71 @@
|
|
1
|
+
module SimpleSidebar
|
2
|
+
# Usage:
|
3
|
+
#
|
4
|
+
# # app/controllers/application_controller.rb
|
5
|
+
# class ApplicationController < AcitonController::Base
|
6
|
+
# view_helper SimpleSidebar::ApplicationViewHelper, as: :simple_sidebar_helper
|
7
|
+
# end
|
8
|
+
#
|
9
|
+
class ApplicationViewHelper < Rao::ViewHelper::Base
|
10
|
+
# Usage
|
11
|
+
#
|
12
|
+
# Adding a sidebar:
|
13
|
+
#
|
14
|
+
#
|
15
|
+
# This will add a sidebar on the left in push mode and add some custom html to the
|
16
|
+
# sidebar container:
|
17
|
+
#
|
18
|
+
# <div id="main-content">
|
19
|
+
# <button data-sidebar-trigger="#sidebar1">Sidebar 1</button>
|
20
|
+
# </div>
|
21
|
+
#
|
22
|
+
# <%= simple_sidebar_helper(self).render_sidebar(:sidebar1, position: :left, mode: :push, container_html: { style: 'padding: 20px; overflow: scroll;'}) do %>
|
23
|
+
# <h3>This is sidebar 1</h3>
|
24
|
+
# <button data-sidebar-trigger="#sidebar1">Close me</button>
|
25
|
+
# <% end %>
|
26
|
+
#
|
27
|
+
# This will add a sidebar to the right in default mode (overlay):
|
28
|
+
#
|
29
|
+
# <div id="main-content">
|
30
|
+
# <button data-sidebar-trigger="#sidebar2">Sidebar 2</button>
|
31
|
+
# </div>
|
32
|
+
# <%= simple_sidebar_helper(self).render_sidebar(:sidebar2, position: :right) do %>
|
33
|
+
# <h3>This is sidebar 2</h3>
|
34
|
+
# <button data-sidebar-trigger="#sidebar2">Close me</button>
|
35
|
+
# <% end %>
|
36
|
+
#
|
37
|
+
# This will add a sidebar to the top, loading custom content into the sidebar via ajax:
|
38
|
+
#
|
39
|
+
# <div id="main-content">
|
40
|
+
# <button data-sidebar-trigger="#sidebar3">Sidebar 3</button>
|
41
|
+
# </div>
|
42
|
+
# <%= simple_sidebar_helper(self).render_sidebar(:sidebar3, position: :top, load: '/current_user_profile') do %>
|
43
|
+
# <h3>This is sidebar 3</h3>
|
44
|
+
# <button data-sidebar-trigger="#sidebar3">Close me</button>
|
45
|
+
# <% end %>
|
46
|
+
#
|
47
|
+
# If you want to load content from external urls you will have to add the correct policies to the cors settings.
|
48
|
+
#
|
49
|
+
# This will render a sidebar to the bottom in modal mode:
|
50
|
+
#
|
51
|
+
# <div id="main-content">
|
52
|
+
# <button data-sidebar-trigger="#sidebar4">Sidebar 4</button>
|
53
|
+
# </div>
|
54
|
+
# <%= simple_sidebar_helper(self).render_sidebar(:sidebar4, position: :bottom, mode: :modal) do %>
|
55
|
+
# <h3>This is sidebar 4</h3>
|
56
|
+
# <button data-sidebar-trigger="#sidebar4">Close me</button>
|
57
|
+
# <% end %>
|
58
|
+
#
|
59
|
+
def render_sidebar(name, options = {}, &block)
|
60
|
+
options.reverse_merge!(
|
61
|
+
load: nil,
|
62
|
+
mode: :overlay,
|
63
|
+
position: :left,
|
64
|
+
size: '25rem',
|
65
|
+
state: :closed,
|
66
|
+
container_html: {}
|
67
|
+
)
|
68
|
+
c.render partial: '/simple_sidebar/application_view_helper/render_sidebar', locals: { name: name, options: options, block: block }
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<aside
|
2
|
+
id="<%= name %>"
|
3
|
+
data-sidebar-load="<%= options[:load] %>"
|
4
|
+
data-sidebar-mode="<%= options[:mode] %>"
|
5
|
+
data-sidebar-position="<%= options[:position] %>"
|
6
|
+
data-sidebar-size="<%= options[:size] %>"
|
7
|
+
data-sidebar-state="<%= options[:state] %>" <%= options[:container_html].collect { |k,v| "#{k}=\"#{v}\"" }.join(' ').html_safe %>>
|
8
|
+
<%= capture(&block) %>
|
9
|
+
</aside>
|
@@ -1,4 +1,4 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
Rails.application.config.assets.precompile += %w( simple_sidebar.css )
|
3
|
+
Rails.application.config.assets.precompile += %w( simple_sidebar.css simple_sidebar/default_theme.css )
|
4
4
|
Rails.application.config.assets.precompile += %w( simple_sidebar.js )
|
data/lib/simple_sidebar.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,113 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_sidebar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roberto Vasquez Angel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
11
|
+
date: 2021-09-15 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rails
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 5.0.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 5.0.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: coffee-rails
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rao-view_helper
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.0.17.pre
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.0.17.pre
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: sqlite3
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.3.6
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.3.6
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: guard-rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rails-dummy
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rspec-rails
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
13
111
|
description:
|
14
112
|
email:
|
15
113
|
- roberto@vasquez-angel.de
|
@@ -22,9 +120,13 @@ files:
|
|
22
120
|
- app/assets/javascripts/simple_sidebar.js
|
23
121
|
- app/assets/javascripts/simple_sidebar/application.js
|
24
122
|
- app/assets/javascripts/simple_sidebar/application/core.js.coffee
|
123
|
+
- app/assets/javascripts/simple_sidebar/application/core.js.coffee~
|
25
124
|
- app/assets/stylesheets/simple_sidebar.css
|
26
125
|
- app/assets/stylesheets/simple_sidebar/application.css
|
27
126
|
- app/assets/stylesheets/simple_sidebar/application/core.css
|
127
|
+
- app/assets/stylesheets/simple_sidebar/default_theme.css
|
128
|
+
- app/view_helpers/simple_sidebar/application_view_helper.rb
|
129
|
+
- app/views/simple_sidebar/application_view_helper/_render_sidebar.html.erb
|
28
130
|
- config/initializers/assets.rb
|
29
131
|
- lib/simple_sidebar.rb
|
30
132
|
- lib/simple_sidebar/engine.rb
|
@@ -41,15 +143,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
41
143
|
requirements:
|
42
144
|
- - ">="
|
43
145
|
- !ruby/object:Gem::Version
|
44
|
-
version:
|
146
|
+
version: 2.4.0
|
45
147
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
46
148
|
requirements:
|
47
149
|
- - ">"
|
48
150
|
- !ruby/object:Gem::Version
|
49
151
|
version: 1.3.1
|
50
152
|
requirements: []
|
51
|
-
|
52
|
-
rubygems_version: 2.7.7
|
153
|
+
rubygems_version: 3.0.8
|
53
154
|
signing_key:
|
54
155
|
specification_version: 4
|
55
156
|
summary: Simple sidebar.
|