awesome_admin_layout 0.1.2 → 0.2.0
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 +10 -0
- data/README.md +4 -4
- data/Rakefile +1 -1
- data/app/assets/stylesheets/awesome_admin_layout.scss +20 -1
- data/lib/awesome_admin_layout.rb +14 -7
- data/lib/awesome_admin_layout/engine.rb +7 -0
- data/lib/awesome_admin_layout/helpers.rb +5 -3
- data/lib/awesome_admin_layout/recognize_path.rb +1 -0
- data/lib/awesome_admin_layout/script.rb +5 -3
- data/lib/awesome_admin_layout/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f5fa2bba6c312e2c990e1dc7560acdb9ed5d21a8
|
|
4
|
+
data.tar.gz: c618519d892b38e7e902010c774f5c1457668b34
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cc0fc9b72cb09b7696c6ecdbb43a75f31ba042c9a8380081b37deaa7f1b31c899a0b5175cffde782e249fcd3123734e23347934da96c2b7a12407af1a2068750
|
|
7
|
+
data.tar.gz: af837f5448e29a06d516086b4d863f61522213dc84ca60d32768cda79615aff8c3178031d79c90caec34e5f2ba55c38dff6a02b0aecf6e4f45caa328b4bc28db
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## 0.2.0 (August 13, 2015) ##
|
|
2
|
+
|
|
3
|
+
* Provides the `app/navigations` directory.
|
|
4
|
+
|
|
5
|
+
* Implement the navigation key.
|
|
6
|
+
You are able to define the multiple navigations.
|
|
7
|
+
|
|
8
|
+
* Improve the look and feel of the navigation.
|
|
9
|
+
|
|
10
|
+
|
|
1
11
|
## 0.1.2 (June 17, 2015) ##
|
|
2
12
|
|
|
3
13
|
* Implement the functionality for the brand image.
|
data/README.md
CHANGED
|
@@ -46,7 +46,7 @@ $ gem install awesome_admin_layout
|
|
|
46
46
|
#= require awesome_admin_layout
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
4. Create a file
|
|
49
|
+
4. Create a file into `app/navigations`.
|
|
50
50
|
And writing the definitions as follows:
|
|
51
51
|
|
|
52
52
|
```ruby
|
|
@@ -54,9 +54,9 @@ $ gem install awesome_admin_layout
|
|
|
54
54
|
# NOTE: if you only use this layout in admin controller,
|
|
55
55
|
# you can write like this:
|
|
56
56
|
#
|
|
57
|
-
# `AwesomeAdminLayout.
|
|
57
|
+
# `AwesomeAdminLayout.define(only: Admin::ApplicationController)`
|
|
58
58
|
#
|
|
59
|
-
AwesomeAdminLayout.
|
|
59
|
+
AwesomeAdminLayout.define do |controller|
|
|
60
60
|
navigation do
|
|
61
61
|
brand 'AwesomeAdminLayout' do
|
|
62
62
|
external_link controller.root_path
|
|
@@ -174,7 +174,7 @@ $ gem install awesome_admin_layout
|
|
|
174
174
|
5. Use the helper method in your views.
|
|
175
175
|
|
|
176
176
|
```erb
|
|
177
|
-
|
|
177
|
+
<%= render_admin_layout do %>
|
|
178
178
|
<%# Put your main contents ... %>
|
|
179
179
|
<% end %>
|
|
180
180
|
```
|
data/Rakefile
CHANGED
|
@@ -5,7 +5,7 @@ Dir.glob('lib/awesome_admin_layout/tasks/*.rake').each { |r| load r }
|
|
|
5
5
|
|
|
6
6
|
Rake::TestTask.new(:test) do |t|
|
|
7
7
|
t.libs << 'test'
|
|
8
|
-
t.test_files = FileList['test
|
|
8
|
+
t.test_files = FileList['test/**/*_test.rb']
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
description = Rake::Task[:release].comment
|
|
@@ -21,6 +21,7 @@ $awesome_admin_layout-badge-bg: #479ccf !default;
|
|
|
21
21
|
$awesome_admin_layout-badge-height: 25px !default;
|
|
22
22
|
$awesome_admin_layout-notice-bg: #479ccf !default;
|
|
23
23
|
$awesome_admin_layout-notice-size: 10px !default;
|
|
24
|
+
$awesome_admin_layout-icon-size: 20px !default;
|
|
24
25
|
|
|
25
26
|
// Mixins
|
|
26
27
|
@mixin awesome_admin_layout-display-flex() {
|
|
@@ -94,6 +95,12 @@ $awesome_admin_layout-notice-size: 10px !default;
|
|
|
94
95
|
transition: $transitions;
|
|
95
96
|
}
|
|
96
97
|
|
|
98
|
+
@mixin awesome_admin_layout-ellipsis {
|
|
99
|
+
white-space: nowrap;
|
|
100
|
+
overflow: hidden;
|
|
101
|
+
text-overflow: ellipsis;
|
|
102
|
+
}
|
|
103
|
+
|
|
97
104
|
// Rules
|
|
98
105
|
#awesome_admin_layout {
|
|
99
106
|
}
|
|
@@ -108,6 +115,9 @@ $awesome_admin_layout-notice-size: 10px !default;
|
|
|
108
115
|
bottom: 0;
|
|
109
116
|
z-index: 300;
|
|
110
117
|
overflow: hidden;
|
|
118
|
+
// for Firefox and iOS
|
|
119
|
+
// refs: http://stackoverflow.com/questions/12463658/parent-child-with-position-fixed-parent-overflowhidden-bug/23859719#23859719
|
|
120
|
+
clip: rect(0, auto, auto, 0);
|
|
111
121
|
|
|
112
122
|
.awesome_admin_layout-wrapper {
|
|
113
123
|
width: 100%;
|
|
@@ -164,6 +174,8 @@ $awesome_admin_layout-notice-size: 10px !default;
|
|
|
164
174
|
margin-left: auto;
|
|
165
175
|
margin-right: 20px;
|
|
166
176
|
padding: 0;
|
|
177
|
+
width: $awesome_admin_layout-icon-size;
|
|
178
|
+
min-width: $awesome_admin_layout-icon-size;
|
|
167
179
|
height: auto;
|
|
168
180
|
|
|
169
181
|
i {
|
|
@@ -178,6 +190,10 @@ $awesome_admin_layout-notice-size: 10px !default;
|
|
|
178
190
|
}
|
|
179
191
|
}
|
|
180
192
|
|
|
193
|
+
.awesome_admin_layout-text {
|
|
194
|
+
@include awesome_admin_layout-ellipsis;
|
|
195
|
+
}
|
|
196
|
+
|
|
181
197
|
.awesome_admin_layout-badge {
|
|
182
198
|
@include awesome_admin_layout-border-radius(10px);
|
|
183
199
|
font-size: smaller;
|
|
@@ -250,7 +266,8 @@ $awesome_admin_layout-notice-size: 10px !default;
|
|
|
250
266
|
|
|
251
267
|
i {
|
|
252
268
|
margin-right: 0.5em;
|
|
253
|
-
width:
|
|
269
|
+
width: $awesome_admin_layout-icon-size;
|
|
270
|
+
min-width: $awesome_admin_layout-icon-size;
|
|
254
271
|
color: $awesome_admin_layout-navigation-item-icon-color;
|
|
255
272
|
font-size: larger;
|
|
256
273
|
text-align: center;
|
|
@@ -308,6 +325,8 @@ $awesome_admin_layout-notice-size: 10px !default;
|
|
|
308
325
|
top: 0;
|
|
309
326
|
bottom: 0;
|
|
310
327
|
z-index: 400;
|
|
328
|
+
overflow-x: hidden;
|
|
329
|
+
overflow-y: auto;
|
|
311
330
|
|
|
312
331
|
&.open {
|
|
313
332
|
@include awesome_admin_layout-transform(translate3d(65px, 0, 0));
|
data/lib/awesome_admin_layout.rb
CHANGED
|
@@ -28,13 +28,20 @@ module AwesomeAdminLayout
|
|
|
28
28
|
@@script.instance_exec(context, &block)
|
|
29
29
|
end
|
|
30
30
|
|
|
31
|
-
def
|
|
32
|
-
|
|
33
|
-
if defined? Rails
|
|
34
|
-
(options[:only] || ActionController::Base).send(:before_filter, -> { AwesomeAdminLayout.awesome_admin_layout(self, &block) })
|
|
35
|
-
else
|
|
36
|
-
awesome_admin_layout(&block)
|
|
37
|
-
end
|
|
31
|
+
def normal_define(&block)
|
|
32
|
+
awesome_admin_layout(&block)
|
|
38
33
|
end
|
|
34
|
+
|
|
35
|
+
def eager_define(options = {}, &block)
|
|
36
|
+
(options[:only] || ActionController::Base).send(:before_filter, -> { AwesomeAdminLayout.awesome_admin_layout(self, &block) })
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def define(options = {}, &block)
|
|
40
|
+
@@request = options.delete(:request)
|
|
41
|
+
defined?(Rails) ? eager_define(options, &block) : normal_define(&block)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# TODO: Deprecated
|
|
45
|
+
alias_method :setup, :define
|
|
39
46
|
end
|
|
40
47
|
end
|
|
@@ -7,5 +7,12 @@ module AwesomeAdminLayout
|
|
|
7
7
|
ActiveSupport.on_load(:action_controller) do
|
|
8
8
|
ActionController::Base.send(:extend, AwesomeAdminLayout::Helpers::ClassMethods)
|
|
9
9
|
end
|
|
10
|
+
|
|
11
|
+
config.to_prepare do
|
|
12
|
+
engines = [Rails] + Rails::Engine.subclasses
|
|
13
|
+
engines.each do |engine|
|
|
14
|
+
Dir.glob(engine.root.join('app/navigations/**/*.rb')).each { |c| require_dependency(c) }
|
|
15
|
+
end
|
|
16
|
+
end
|
|
10
17
|
end
|
|
11
18
|
end
|
|
@@ -6,10 +6,10 @@ module AwesomeAdminLayout
|
|
|
6
6
|
end
|
|
7
7
|
end
|
|
8
8
|
|
|
9
|
-
def render_admin_layout(&block)
|
|
10
|
-
<<-HTML
|
|
9
|
+
def render_admin_layout(key = nil, &block)
|
|
10
|
+
html = <<-HTML
|
|
11
11
|
<div id="awesome_admin_layout">
|
|
12
|
-
#{AwesomeAdminLayout.script.to_html}
|
|
12
|
+
#{AwesomeAdminLayout.script.to_html(key)}
|
|
13
13
|
|
|
14
14
|
<main class="awesome_admin_layout-main">
|
|
15
15
|
<div class="awesome_admin_layout-navigation-toggle">
|
|
@@ -19,6 +19,8 @@ module AwesomeAdminLayout
|
|
|
19
19
|
</main>
|
|
20
20
|
</div>
|
|
21
21
|
HTML
|
|
22
|
+
html = html.html_safe if html.respond_to? :html_safe
|
|
23
|
+
html
|
|
22
24
|
end
|
|
23
25
|
end
|
|
24
26
|
end
|
|
@@ -27,6 +27,7 @@ module AwesomeAdminLayout
|
|
|
27
27
|
|
|
28
28
|
begin
|
|
29
29
|
recognized_path = engine_instance.routes.recognize_path(path_for_engine, options)
|
|
30
|
+
break
|
|
30
31
|
rescue ActionController::RoutingError => e
|
|
31
32
|
Rails.logger.debug "[#{engine}] ActionController::RoutingError: #{e.message}"
|
|
32
33
|
end
|
|
@@ -4,12 +4,14 @@ require 'awesome_admin_layout/navigation/flex_divider'
|
|
|
4
4
|
|
|
5
5
|
module AwesomeAdminLayout
|
|
6
6
|
class Script
|
|
7
|
-
def navigation(key =
|
|
7
|
+
def navigation(key = nil, &block)
|
|
8
|
+
key ||= :default
|
|
8
9
|
Navigation.new(key, &block)
|
|
9
10
|
end
|
|
10
11
|
|
|
11
|
-
def to_s
|
|
12
|
-
|
|
12
|
+
def to_s(key = nil)
|
|
13
|
+
key ||= :default
|
|
14
|
+
Navigation.find(key).to_s
|
|
13
15
|
end
|
|
14
16
|
|
|
15
17
|
alias_method :to_html, :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.
|
|
4
|
+
version: 0.2.0
|
|
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-
|
|
11
|
+
date: 2015-08-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: slim
|
|
@@ -173,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
173
173
|
version: '0'
|
|
174
174
|
requirements: []
|
|
175
175
|
rubyforge_project:
|
|
176
|
-
rubygems_version: 2.
|
|
176
|
+
rubygems_version: 2.4.5
|
|
177
177
|
signing_key:
|
|
178
178
|
specification_version: 4
|
|
179
179
|
summary: Providing a simple way to add admin panel layout.
|