awesome_admin_layout 0.1.1 → 0.1.2
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/CHANGELOG.md +7 -2
- data/README.md +3 -0
- data/app/assets/javascripts/awesome_admin_layout.coffee +2 -2
- data/app/assets/stylesheets/awesome_admin_layout.scss +44 -27
- data/lib/awesome_admin_layout/helpers.rb +1 -5
- data/lib/awesome_admin_layout/navigation.rb +17 -10
- data/lib/awesome_admin_layout/navigation/brand.rb +18 -2
- data/lib/awesome_admin_layout/navigation/item.rb +5 -1
- data/lib/awesome_admin_layout/tasks/release.rake +1 -0
- data/lib/awesome_admin_layout/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a87bb0e26832f381231cda7d2feecbfd0291a4b3
|
4
|
+
data.tar.gz: 026e65ecdc919f9470c2d6ea83b5a38f23e8a323
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c024eda385110fc2be6c26b0ba245af9e190a99cbe7226238b342d99450f08c55e326f543b7d08f91dcd98594c1b85121a6728f8544d1bce33efa5b69fae1b1f
|
7
|
+
data.tar.gz: a65fbcf3394de53784fcfc1279f513a3b70aacd9531498365e3f9c2ce91fe592a87bd5840b16d6fcd1b606351ae295b82a6603193c09d2b3c0c76f9a525a4703
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,13 @@
|
|
1
|
-
##
|
1
|
+
## 0.1.2 (June 17, 2015) ##
|
2
|
+
|
3
|
+
* Implement the functionality for the brand image.
|
4
|
+
|
5
|
+
|
6
|
+
## 0.1.1 (June 09, 2015) ##
|
2
7
|
|
3
8
|
* Support Rails 3.2, 4.0 and 4.1.
|
4
9
|
|
5
10
|
|
6
|
-
##
|
11
|
+
## 0.1.0 (June 08, 2015) ##
|
7
12
|
|
8
13
|
* Initialize this gem.
|
data/README.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# AwesomeAdminLayout
|
2
2
|
|
3
|
+
[](http://travis-ci.org/appirits/awesome_admin_layout)
|
4
|
+
[](https://rubygems.org/gems/awesome_admin_layout)
|
5
|
+
|
3
6
|
AwesomeAdminLayout provides a simple way to add admin panel layout to your application.
|
4
7
|
|
5
8
|
## Installation
|
@@ -11,12 +11,12 @@ $(document).ready(->
|
|
11
11
|
#
|
12
12
|
$navigation.on('click', 'li:not(.nested)', ->
|
13
13
|
$navigation.find('.open').removeClass('open')
|
14
|
-
$navigation.
|
14
|
+
$navigation.removeClass('expanded')
|
15
15
|
)
|
16
16
|
|
17
17
|
$navigation.on('click', 'li.nested', (event) ->
|
18
18
|
$navigation.find('.open').removeClass('open')
|
19
|
-
$
|
19
|
+
$navigation.addClass('expanded')
|
20
20
|
$(this).find('.awesome_admin_layout-nested-navigation').addClass('open')
|
21
21
|
)
|
22
22
|
|
@@ -137,6 +137,16 @@ $awesome_admin_layout-notice-size: 10px !default;
|
|
137
137
|
|
138
138
|
span {
|
139
139
|
margin: 0 20px;
|
140
|
+
|
141
|
+
&.awesome_admin_layout-image {
|
142
|
+
margin-right: 1em;
|
143
|
+
position: relative;
|
144
|
+
top: -1px;
|
145
|
+
}
|
146
|
+
|
147
|
+
&.awesome_admin_layout-image + span {
|
148
|
+
margin-left: 0;
|
149
|
+
}
|
140
150
|
}
|
141
151
|
|
142
152
|
a:link, a:visited, a:hover, a:active {
|
@@ -182,6 +192,40 @@ $awesome_admin_layout-notice-size: 10px !default;
|
|
182
192
|
}
|
183
193
|
|
184
194
|
.awesome_admin_layout-navigation {
|
195
|
+
&.expanded {
|
196
|
+
background-color: $awesome_admin_layout-navigation-expanded-bg;
|
197
|
+
|
198
|
+
.awesome_admin_layout-navigation-brand .awesome_admin_layout-image + .awesome_admin_layout-text {
|
199
|
+
display: none;
|
200
|
+
}
|
201
|
+
|
202
|
+
& > * > ul > li {
|
203
|
+
& > .awesome_admin_layout-text,
|
204
|
+
& > a > .awesome_admin_layout-text {
|
205
|
+
display: none;
|
206
|
+
}
|
207
|
+
|
208
|
+
&.active > a {
|
209
|
+
background-color: transparent;
|
210
|
+
}
|
211
|
+
}
|
212
|
+
|
213
|
+
.awesome_admin_layout-notice,
|
214
|
+
.awesome_admin_layout-badge {
|
215
|
+
height: $awesome_admin_layout-notice-size / 2;
|
216
|
+
width: $awesome_admin_layout-notice-size / 2;
|
217
|
+
}
|
218
|
+
|
219
|
+
.awesome_admin_layout-badge {
|
220
|
+
padding: 0;
|
221
|
+
text-indent: -99999px;
|
222
|
+
}
|
223
|
+
|
224
|
+
li.nested i.fa-angle-right {
|
225
|
+
display: none;
|
226
|
+
}
|
227
|
+
}
|
228
|
+
|
185
229
|
ul {
|
186
230
|
@include awesome_admin_layout-display-flex;
|
187
231
|
@include awesome_admin_layout-flex-direction(column);
|
@@ -194,33 +238,6 @@ $awesome_admin_layout-notice-size: 10px !default;
|
|
194
238
|
bottom: 0;
|
195
239
|
left: 0;
|
196
240
|
right: 0;
|
197
|
-
|
198
|
-
&.expanded {
|
199
|
-
background-color: $awesome_admin_layout-navigation-expanded-bg;
|
200
|
-
|
201
|
-
& > li > a > .awesome_admin_layout-text {
|
202
|
-
display: none;
|
203
|
-
}
|
204
|
-
|
205
|
-
.awesome_admin_layout-notice,
|
206
|
-
.awesome_admin_layout-badge {
|
207
|
-
height: $awesome_admin_layout-notice-size / 2;
|
208
|
-
width: $awesome_admin_layout-notice-size / 2;
|
209
|
-
}
|
210
|
-
|
211
|
-
.awesome_admin_layout-badge {
|
212
|
-
padding: 0;
|
213
|
-
text-indent: -99999px;
|
214
|
-
}
|
215
|
-
|
216
|
-
li.nested i.fa-angle-right {
|
217
|
-
display: none;
|
218
|
-
}
|
219
|
-
|
220
|
-
& > li.active > a {
|
221
|
-
background-color: transparent;
|
222
|
-
}
|
223
|
-
}
|
224
241
|
}
|
225
242
|
|
226
243
|
li {
|
@@ -9,11 +9,7 @@ module AwesomeAdminLayout
|
|
9
9
|
def render_admin_layout(&block)
|
10
10
|
<<-HTML
|
11
11
|
<div id="awesome_admin_layout">
|
12
|
-
|
13
|
-
<div class="awesome_admin_layout-wrapper">
|
14
|
-
#{AwesomeAdminLayout.script.to_html}
|
15
|
-
</div>
|
16
|
-
</nav>
|
12
|
+
#{AwesomeAdminLayout.script.to_html}
|
17
13
|
|
18
14
|
<main class="awesome_admin_layout-main">
|
19
15
|
<div class="awesome_admin_layout-navigation-toggle">
|
@@ -5,6 +5,8 @@ require 'awesome_admin_layout/navigation/flex_divider'
|
|
5
5
|
|
6
6
|
module AwesomeAdminLayout
|
7
7
|
class Navigation
|
8
|
+
attr_accessor :parent
|
9
|
+
|
8
10
|
@@collection = {}
|
9
11
|
|
10
12
|
class << self
|
@@ -30,7 +32,7 @@ module AwesomeAdminLayout
|
|
30
32
|
end
|
31
33
|
|
32
34
|
def item(name, &block)
|
33
|
-
item = Item.new(name)
|
35
|
+
item = Item.new(name, parent: self)
|
34
36
|
item.instance_eval(&block) if block_given?
|
35
37
|
@tree << item
|
36
38
|
end
|
@@ -43,12 +45,10 @@ module AwesomeAdminLayout
|
|
43
45
|
@tree << FlexDivider.new
|
44
46
|
end
|
45
47
|
|
46
|
-
def nest(key)
|
47
|
-
@tree << Navigation.find(key)
|
48
|
-
end
|
49
|
-
|
50
48
|
def to_s
|
51
|
-
|
49
|
+
__wrapper do
|
50
|
+
"#{@brand}<ul>#{__convered_nodes}</ul>"
|
51
|
+
end
|
52
52
|
end
|
53
53
|
|
54
54
|
def __has_active_item?
|
@@ -65,12 +65,19 @@ module AwesomeAdminLayout
|
|
65
65
|
@@collection[key] = { object: self, code: block }
|
66
66
|
end
|
67
67
|
|
68
|
-
def
|
69
|
-
|
68
|
+
def __wrapper
|
69
|
+
return yield if parent
|
70
|
+
<<-WRAPPER
|
71
|
+
<nav class="awesome_admin_layout-navigation #{'expanded' if __has_active_nested_item?}">
|
72
|
+
<div class="awesome_admin_layout-wrapper">
|
73
|
+
#{yield}
|
74
|
+
</div>
|
75
|
+
</nav>
|
76
|
+
WRAPPER
|
70
77
|
end
|
71
78
|
|
72
|
-
def
|
73
|
-
@tree.
|
79
|
+
def __convered_nodes
|
80
|
+
@tree.join
|
74
81
|
end
|
75
82
|
|
76
83
|
def __items
|
@@ -17,8 +17,12 @@ module AwesomeAdminLayout
|
|
17
17
|
@item[:external_link] = link
|
18
18
|
end
|
19
19
|
|
20
|
+
def image(src, option = {})
|
21
|
+
@item[:image] = option.merge(src: src)
|
22
|
+
end
|
23
|
+
|
20
24
|
def to_s
|
21
|
-
%Q{<div class="#{__css_class}">#{__link_to("#{__name}")}#{__enternal_link}</div>}
|
25
|
+
%Q{<div class="#{__css_class}">#{__link_to("#{__image}#{__name}")}#{__enternal_link}</div>}
|
22
26
|
end
|
23
27
|
|
24
28
|
private
|
@@ -28,7 +32,7 @@ module AwesomeAdminLayout
|
|
28
32
|
end
|
29
33
|
|
30
34
|
def __name
|
31
|
-
|
35
|
+
%Q{<span class="awesome_admin_layout-text">#{@item[:name].is_a?(Proc) ? @item[:name].call : @item[:name]}</span>}
|
32
36
|
end
|
33
37
|
|
34
38
|
def __link_to(name)
|
@@ -41,6 +45,18 @@ module AwesomeAdminLayout
|
|
41
45
|
%Q{<a href="#{@item[:external_link]}" target="_blank" class="awesome_admin_layout-external-link">#{__external_link_icon}</a>}
|
42
46
|
end
|
43
47
|
|
48
|
+
def __image
|
49
|
+
image_tag = __image_tag
|
50
|
+
return unless image_tag
|
51
|
+
%Q{<span class="awesome_admin_layout-image">#{image_tag}</span>}
|
52
|
+
end
|
53
|
+
|
54
|
+
def __image_tag
|
55
|
+
return unless @item[:image]
|
56
|
+
return ActionController::Base.helpers.image_tag(@item[:image][:src], @item[:image]) if defined? Rails
|
57
|
+
%Q{<img src="#{@item[:image][:src]}" />}
|
58
|
+
end
|
59
|
+
|
44
60
|
def __external_link_icon
|
45
61
|
'<i class="fa fa-external-link"></i>'
|
46
62
|
end
|
@@ -1,8 +1,11 @@
|
|
1
1
|
module AwesomeAdminLayout
|
2
2
|
class Navigation
|
3
3
|
class Item
|
4
|
-
|
4
|
+
attr_reader :parent
|
5
|
+
|
6
|
+
def initialize(name = nil, options = {})
|
5
7
|
@item = { name: name }
|
8
|
+
@parent = options[:parent]
|
6
9
|
end
|
7
10
|
|
8
11
|
def name(name = nil, &block)
|
@@ -27,6 +30,7 @@ module AwesomeAdminLayout
|
|
27
30
|
|
28
31
|
def nest(key)
|
29
32
|
@item[:nest] = Navigation.find(key)
|
33
|
+
@item[:nest].parent = parent
|
30
34
|
end
|
31
35
|
|
32
36
|
def to_s
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: awesome_admin_layout
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- YOSHIDA Hiroki
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06-
|
11
|
+
date: 2015-06-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: slim
|