awesome_admin_layout 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
[![Build Status](https://img.shields.io/travis/appirits/awesome_admin_layout.svg?style=flat-square)](http://travis-ci.org/appirits/awesome_admin_layout)
|
4
|
+
[![Gem Version](https://img.shields.io/gem/v/awesome_admin_layout.svg?style=flat-square)](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
|