waiter 2.0.4 → 2.0.5
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/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
|