waiter 2.0.4 → 2.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/waiter/menu.css.scss +44 -12
- data/app/views/waiter/_column.haml +7 -0
- data/app/views/waiter/_section.haml +5 -4
- data/app/views/waiter/_sub_item.haml +6 -2
- data/app/views/waiter/_submenu.haml +1 -4
- data/app/views/waiter/_submenu_item.haml +2 -0
- data/lib/waiter/dsl.rb +5 -1
- data/lib/waiter/menu.rb +8 -2
- data/lib/waiter/menu/column.rb +15 -0
- data/lib/waiter/menu/drawer.rb +3 -2
- data/lib/waiter/menu/item.rb +9 -1
- data/lib/waiter/menu/section.rb +5 -1
- data/lib/waiter/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3e58f7bdbd2922ea052ab0c23c895520a241e1a
|
4
|
+
data.tar.gz: 6ba519cb637f4b2e7c25e984c8dd7a8650f89a19
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5d028f8175b04b91580262ac7c5b0a212f75bb78433d0a4079ad722ea1582f89858e84273bbbc5be1b4cfb28a01218fdbe0e23d3a4ddb8646a70e6f93c60858
|
7
|
+
data.tar.gz: 37de015b017b0b9893c585e76b6ae00abbcd60c0ef6b7c24e0e5df21dba7ff02c2ce962f83f35fdfd91ff3a1b633a67e1b3a43fe273b20533a0f13bd826a1213
|
@@ -51,18 +51,45 @@
|
|
51
51
|
$submenu-border-color: #888;
|
52
52
|
$submenu-item-border-color: #CCC;
|
53
53
|
$submenu-item-height: 20px;
|
54
|
+
$submenu-item-bgcolor: #E6E9EF;
|
55
|
+
$submenu-item-hover: #006EB6;
|
54
56
|
|
55
57
|
ul.submenu
|
56
58
|
{
|
57
59
|
position: absolute;
|
58
60
|
top: 30px;
|
59
61
|
left: 0;
|
60
|
-
background-color:
|
62
|
+
background-color: $submenu-item-bgcolor;
|
61
63
|
display: none;
|
62
64
|
z-index: 10500;
|
63
65
|
margin: 0;
|
64
66
|
padding: 0;
|
65
67
|
border: 2px solid $submenu-border-color;
|
68
|
+
border-collapse: collapse;
|
69
|
+
|
70
|
+
div.column
|
71
|
+
{
|
72
|
+
border: 2px solid $submenu-border-color;
|
73
|
+
border-collapse: collapse;
|
74
|
+
}
|
75
|
+
|
76
|
+
div.section
|
77
|
+
{
|
78
|
+
& + div.section
|
79
|
+
{
|
80
|
+
border-top: 2px solid $submenu-border-color;
|
81
|
+
}
|
82
|
+
|
83
|
+
li:last-of-type
|
84
|
+
{
|
85
|
+
border-bottom: none;
|
86
|
+
}
|
87
|
+
}
|
88
|
+
|
89
|
+
div.column
|
90
|
+
{
|
91
|
+
display: table-cell;
|
92
|
+
}
|
66
93
|
|
67
94
|
li
|
68
95
|
{
|
@@ -70,20 +97,19 @@
|
|
70
97
|
min-height: $submenu-item-height;
|
71
98
|
line-height: $submenu-item-height;
|
72
99
|
vertical-align: middle;
|
73
|
-
background-color:
|
74
|
-
border-
|
100
|
+
background-color: $submenu-item-bgcolor;
|
101
|
+
border-bottom: 1px solid $submenu-item-border-color;
|
75
102
|
min-width: 150px;
|
76
103
|
text-align: left;
|
77
104
|
white-space: nowrap;
|
78
|
-
color: #
|
105
|
+
color: #000;
|
79
106
|
border-collapse: collapse;
|
80
|
-
|
81
107
|
font-weight: normal;
|
82
108
|
font-size: 12px;
|
83
109
|
|
84
|
-
a, a:hover
|
110
|
+
a, a:hover, &.heading
|
85
111
|
{
|
86
|
-
color:
|
112
|
+
color: inherit;
|
87
113
|
font-weight: normal;
|
88
114
|
padding-left: 8px;
|
89
115
|
padding-right: 8px;
|
@@ -91,14 +117,22 @@
|
|
91
117
|
height: $submenu-item-height + 12px;
|
92
118
|
}
|
93
119
|
|
120
|
+
&.heading
|
121
|
+
{
|
122
|
+
font-weight: bold;
|
123
|
+
font-size: 14px;
|
124
|
+
color: #000;
|
125
|
+
}
|
126
|
+
|
94
127
|
&:first-child
|
95
128
|
{
|
96
129
|
border-top: 0;
|
97
130
|
}
|
98
131
|
|
99
|
-
&:hover
|
132
|
+
&:not(.heading):hover
|
100
133
|
{
|
101
|
-
background-color:
|
134
|
+
background-color: $submenu-item-hover;
|
135
|
+
color: white;
|
102
136
|
}
|
103
137
|
|
104
138
|
&.separator
|
@@ -123,9 +157,7 @@
|
|
123
157
|
|
124
158
|
&:hover ul.submenu
|
125
159
|
{
|
126
|
-
|
127
|
-
/*border:1px solid #333333;*/
|
128
|
-
display: block;
|
160
|
+
display: table;
|
129
161
|
}
|
130
162
|
}
|
131
163
|
}
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
.section
|
2
|
+
- if section.heading
|
3
|
+
%li.heading= section.heading
|
3
4
|
|
4
|
-
-
|
5
|
-
|
5
|
+
- section.items(true).each do |subitem|
|
6
|
+
= render 'waiter/submenu_item', item: item, subitem: subitem
|
@@ -1,2 +1,6 @@
|
|
1
|
-
|
2
|
-
=
|
1
|
+
- if subitem.column?
|
2
|
+
= render 'waiter/column', parent: parent, column: subitem
|
3
|
+
- elsif subitem.section?
|
4
|
+
= render 'waiter/section', item: parent, section: subitem, last: idx == count - 1
|
5
|
+
- else
|
6
|
+
= render 'waiter/submenu_item', item: parent, subitem: subitem
|
@@ -1,6 +1,3 @@
|
|
1
1
|
%ul.submenu
|
2
2
|
- items.each.with_index do |subitem, idx|
|
3
|
-
|
4
|
-
= render 'waiter/section', item: parent, section: subitem, last: idx == items.count - 1
|
5
|
-
- else
|
6
|
-
= render 'waiter/sub_item', item: parent, subitem: subitem
|
3
|
+
= render 'waiter/sub_item', parent: parent, subitem: subitem, idx: idx, count: items.count
|
data/lib/waiter/dsl.rb
CHANGED
@@ -6,6 +6,10 @@ module Waiter
|
|
6
6
|
add_section(options, &block)
|
7
7
|
end
|
8
8
|
|
9
|
+
def column(options = {}, &block)
|
10
|
+
add_column(options, &block)
|
11
|
+
end
|
12
|
+
|
9
13
|
def method_missing(name, *args, &block)
|
10
14
|
return context.send(name, *args, &block) if context.respond_to?(name)
|
11
15
|
|
@@ -21,4 +25,4 @@ module Waiter
|
|
21
25
|
return nil
|
22
26
|
end
|
23
27
|
end
|
24
|
-
end
|
28
|
+
end
|
data/lib/waiter/menu.rb
CHANGED
@@ -2,6 +2,7 @@ require 'waiter/dsl'
|
|
2
2
|
require 'waiter/menu/item_list'
|
3
3
|
require 'waiter/menu/item'
|
4
4
|
require 'waiter/menu/section'
|
5
|
+
require 'waiter/menu/column'
|
5
6
|
require 'waiter/menu/drawer'
|
6
7
|
require 'active_support/core_ext/hash/slice'
|
7
8
|
|
@@ -38,7 +39,12 @@ module Waiter
|
|
38
39
|
|
39
40
|
def add_section(options = {}, &block)
|
40
41
|
section = Section.new(self, options, &block)
|
41
|
-
items << section
|
42
|
+
items << section unless section.empty?
|
43
|
+
end
|
44
|
+
|
45
|
+
def add_column(options = {}, &block)
|
46
|
+
column = Column.new(self, options, &block)
|
47
|
+
items << column unless column.empty?
|
42
48
|
end
|
43
49
|
|
44
50
|
def sections
|
@@ -62,4 +68,4 @@ module Waiter
|
|
62
68
|
"#<#{self.class.name}:#{'0x%x' % (36971870 << 1)} name=#{name.inspect} options=#{options.inspect}>"
|
63
69
|
end
|
64
70
|
end
|
65
|
-
end
|
71
|
+
end
|
data/lib/waiter/menu/drawer.rb
CHANGED
@@ -18,7 +18,8 @@ module Waiter
|
|
18
18
|
render partial: 'waiter/menu_bar', locals: { menu: menu }
|
19
19
|
end
|
20
20
|
|
21
|
-
|
21
|
+
protected
|
22
|
+
|
22
23
|
def menu_selected?(name, controller, action = nil, controllers = [])
|
23
24
|
controllers = [] unless controllers
|
24
25
|
|
@@ -40,4 +41,4 @@ module Waiter
|
|
40
41
|
end
|
41
42
|
end
|
42
43
|
end
|
43
|
-
end
|
44
|
+
end
|
data/lib/waiter/menu/item.rb
CHANGED
@@ -31,10 +31,18 @@ module Waiter
|
|
31
31
|
false
|
32
32
|
end
|
33
33
|
|
34
|
+
def column?
|
35
|
+
false
|
36
|
+
end
|
37
|
+
|
34
38
|
def items
|
35
39
|
@submenu.try(:items) || []
|
36
40
|
end
|
37
41
|
|
42
|
+
def empty?
|
43
|
+
items.empty?
|
44
|
+
end
|
45
|
+
|
38
46
|
def [](name)
|
39
47
|
return nil if items.empty?
|
40
48
|
items[name]
|
@@ -134,4 +142,4 @@ module Waiter
|
|
134
142
|
end
|
135
143
|
end
|
136
144
|
end
|
137
|
-
end
|
145
|
+
end
|
data/lib/waiter/menu/section.rb
CHANGED
@@ -11,6 +11,10 @@ module Waiter
|
|
11
11
|
true
|
12
12
|
end
|
13
13
|
|
14
|
+
def heading
|
15
|
+
options[:heading]
|
16
|
+
end
|
17
|
+
|
14
18
|
def items(sorted = false)
|
15
19
|
return super() unless sorted
|
16
20
|
ItemList.new(super(), options.slice(:sort, :reverse))
|
@@ -23,4 +27,4 @@ module Waiter
|
|
23
27
|
end
|
24
28
|
end
|
25
29
|
end
|
26
|
-
end
|
30
|
+
end
|
data/lib/waiter/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: waiter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Vandersluis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-02-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -96,14 +96,17 @@ files:
|
|
96
96
|
- app/assets/images/waiter/bg.gif
|
97
97
|
- app/assets/images/waiter/selected-bg.gif
|
98
98
|
- app/assets/stylesheets/waiter/menu.css.scss
|
99
|
+
- app/views/waiter/_column.haml
|
99
100
|
- app/views/waiter/_item.haml
|
100
101
|
- app/views/waiter/_menu_bar.haml
|
101
102
|
- app/views/waiter/_section.haml
|
102
103
|
- app/views/waiter/_sub_item.haml
|
103
104
|
- app/views/waiter/_submenu.haml
|
105
|
+
- app/views/waiter/_submenu_item.haml
|
104
106
|
- lib/waiter.rb
|
105
107
|
- lib/waiter/dsl.rb
|
106
108
|
- lib/waiter/menu.rb
|
109
|
+
- lib/waiter/menu/column.rb
|
107
110
|
- lib/waiter/menu/drawer.rb
|
108
111
|
- lib/waiter/menu/item.rb
|
109
112
|
- lib/waiter/menu/item_list.rb
|