tabulous 0.0.2 → 1.0.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.
- data/CHANGELOG.rdoc +4 -0
- data/README.rdoc +6 -4
- data/lib/generators/tabs/tabs_generator.rb +3 -3
- data/lib/generators/tabs/templates/tabulous.rb +24 -25
- data/lib/tabulous/formatter.rb +2 -4
- data/lib/tabulous/railtie.rb +3 -9
- data/lib/tabulous/tab.rb +4 -30
- data/lib/tabulous/tabulous.rb +58 -38
- data/lib/tabulous/version.rb +1 -1
- data/lib/tasks/tabulous.rake +2 -2
- data/test/applications/main/{config/initializers → app/tabs}/tabulous.rb +38 -39
- data/test/applications/main/test/integration/actions_test.rb +36 -32
- data/test/applications/main/test/integration/active_tab_clickable_test.rb +36 -32
- data/test/applications/main/test/integration/always_render_subtabs_test.rb +36 -32
- data/test/applications/main/test/integration/css_no_scaffolding_test.rb +36 -32
- data/test/applications/main/test/integration/css_scaffolding_test.rb +36 -32
- data/test/applications/main/test/integration/display_text_test.rb +36 -32
- data/test/applications/main/test/integration/enabled_test.rb +36 -32
- data/test/applications/main/test/integration/html5_test.rb +36 -32
- data/test/applications/main/test/integration/path_test.rb +36 -32
- data/test/applications/main/test/integration/visible_test.rb +36 -32
- data/test/applications/main/test/unit/tabs_generator_test.rb +1 -1
- data/test/applications/simple_tabs/{config/initializers → app/tabs}/tabulous.rb +31 -32
- data/test/applications/subtabs/app/tabs/tabulous.rb +166 -0
- data/test/test_application_integration_test_helper.rb +1 -1
- data/test/{test_initializers → test_tab_files}/empty +0 -0
- data/test/test_tab_files/expected +59 -0
- data/test/test_tab_files/random_horizontal_whitespace +59 -0
- data/test/test_tab_files/random_vertical_whitespace +106 -0
- data/test/{test_initializers → test_tab_files}/text +0 -0
- data/test/test_tab_files/trailing_comments +59 -0
- data/test/units/tabulous_formatter_test.rb +8 -8
- metadata +13 -13
- data/test/applications/subtabs/config/initializers/tabulous.rb +0 -167
- data/test/test_initializers/expected +0 -55
- data/test/test_initializers/random_horizontal_whitespace +0 -55
- data/test/test_initializers/random_vertical_whitespace +0 -102
- data/test/test_initializers/trailing_comments +0 -55
@@ -3,41 +3,45 @@ require File.expand_path("../integration_test_helper", File.dirname(__FILE__))
|
|
3
3
|
class PathTest < ActionController::IntegrationTest
|
4
4
|
|
5
5
|
def setup
|
6
|
-
|
6
|
+
use_tab_file %Q{
|
7
7
|
Tabulous.setup do |config|
|
8
8
|
|
9
|
-
config.tabs
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
9
|
+
config.tabs do
|
10
|
+
[
|
11
|
+
#------------------------------------------------------------------------------------------------------------------------------------------------------#
|
12
|
+
# TAB NAME | DISPLAY TEXT | PATH | VISIBLE? | ENABLED? #
|
13
|
+
#------------------------------------------------------------------------------------------------------------------------------------------------------#
|
14
|
+
[ :home_tab , 'Explanation' , "/" , true , true ],
|
15
|
+
[ :galaxies_tab , 'Galaxies' , "/galaxies" , true , true ],
|
16
|
+
[ :stars_tab , 'Stars' , controller_name == 'galaxies' ? "/stars" : "/planets" , true , true ],
|
17
|
+
[ :planets_tab , 'Planets' , "/planets" , true , true ],
|
18
|
+
[ :subtabs_tab , 'Subtabs' , "/subtabs/one" , true , true ],
|
19
|
+
[ :one_subtab , 'One' , "/subtabs/one" , true , true ],
|
20
|
+
[ :two_subtab , 'Two' , "/subtabs/two" , true , true ],
|
21
|
+
[ :three_subtab , 'Three' , "/subtabs" + "/three" , true , true ],
|
22
|
+
#------------------------------------------------------------------------------------------------------------------------------------------------------#
|
23
|
+
# TAB NAME | DISPLAY TEXT | PATH | VISIBLE? | ENABLED? #
|
24
|
+
#------------------------------------------------------------------------------------------------------------------------------------------------------#
|
25
|
+
]
|
26
|
+
end
|
25
27
|
|
26
|
-
config.actions
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
28
|
+
config.actions do
|
29
|
+
[
|
30
|
+
#-------------------------------------------------------------#
|
31
|
+
# CONTROLLER | ACTION | TAB #
|
32
|
+
#-------------------------------------------------------------#
|
33
|
+
[ :home , :all_actions , :home_tab ],
|
34
|
+
[ :galaxies , :all_actions , :galaxies_tab ],
|
35
|
+
[ :stars , :all_actions , :stars_tab ],
|
36
|
+
[ :planets , :all_actions , :planets_tab ],
|
37
|
+
[ :subtabs , :one , :one_subtab ],
|
38
|
+
[ :subtabs , :two , :two_subtab ],
|
39
|
+
[ :subtabs , :three , :three_subtab ],
|
40
|
+
#-------------------------------------------------------------#
|
41
|
+
# CONTROLLER | ACTION | TAB #
|
42
|
+
#-------------------------------------------------------------#
|
43
|
+
]
|
44
|
+
end
|
41
45
|
|
42
46
|
config.css.scaffolding = true
|
43
47
|
|
@@ -3,41 +3,45 @@ require File.expand_path("../integration_test_helper", File.dirname(__FILE__))
|
|
3
3
|
class VisibleTest < ActionController::IntegrationTest
|
4
4
|
|
5
5
|
def setup
|
6
|
-
|
6
|
+
use_tab_file %Q{
|
7
7
|
Tabulous.setup do |config|
|
8
8
|
|
9
|
-
config.tabs
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
9
|
+
config.tabs do
|
10
|
+
[
|
11
|
+
#-------------------------------------------------------------------------------------------------------------------------------#
|
12
|
+
# TAB NAME | DISPLAY TEXT | PATH | VISIBLE? | ENABLED? #
|
13
|
+
#-------------------------------------------------------------------------------------------------------------------------------#
|
14
|
+
[ :home_tab , 'Explanation' , "/" , true , true ],
|
15
|
+
[ :galaxies_tab , 'Galaxies' , "/galaxies" , true , true ],
|
16
|
+
[ :stars_tab , 'Stars' , "/stars" , controller_name =~ /s/ , true ],
|
17
|
+
[ :planets_tab , 'Planets' , "/planets" , false , true ],
|
18
|
+
[ :subtabs_tab , 'Subtabs' , "/subtabs/one" , true , true ],
|
19
|
+
[ :one_subtab , 'One' , "/subtabs/one" , true , true ],
|
20
|
+
[ :two_subtab , 'Two' , "/subtabs/two" , false , true ],
|
21
|
+
[ :three_subtab , 'Three' , "/subtabs/three" , !true , true ],
|
22
|
+
#-------------------------------------------------------------------------------------------------------------------------------#
|
23
|
+
# TAB NAME | DISPLAY TEXT | PATH | VISIBLE? | ENABLED? #
|
24
|
+
#-------------------------------------------------------------------------------------------------------------------------------#
|
25
|
+
]
|
26
|
+
end
|
25
27
|
|
26
|
-
config.actions
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
28
|
+
config.actions do
|
29
|
+
[
|
30
|
+
#-------------------------------------------------------------#
|
31
|
+
# CONTROLLER | ACTION | TAB #
|
32
|
+
#-------------------------------------------------------------#
|
33
|
+
[ :home , :all_actions , :home_tab ],
|
34
|
+
[ :galaxies , :all_actions , :galaxies_tab ],
|
35
|
+
[ :stars , :all_actions , :stars_tab ],
|
36
|
+
[ :planets , :all_actions , :planets_tab ],
|
37
|
+
[ :subtabs , :one , :one_subtab ],
|
38
|
+
[ :subtabs , :two , :two_subtab ],
|
39
|
+
[ :subtabs , :three , :three_subtab ],
|
40
|
+
#-------------------------------------------------------------#
|
41
|
+
# CONTROLLER | ACTION | TAB #
|
42
|
+
#-------------------------------------------------------------#
|
43
|
+
]
|
44
|
+
end
|
41
45
|
|
42
46
|
config.css.scaffolding = true
|
43
47
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# Tabulous gives you an easy way to set up tabs for your Rails application.
|
2
2
|
#
|
3
|
-
# 1. Configure this
|
3
|
+
# 1. Configure this file.
|
4
4
|
# 2. Add <%= tabs %> and <%= subtabs %> in your layout(s) wherever you want
|
5
5
|
# your tabs to appear.
|
6
6
|
# 3. Add styles for these tabs in your stylesheets.
|
@@ -26,6 +26,8 @@ Tabulous.setup do |config|
|
|
26
26
|
#
|
27
27
|
# * No comments are allowed between rows.
|
28
28
|
# * Comments are allowed to the right of rows, except for header rows.
|
29
|
+
# * The start of a table is signified by a [ all by itself on a line.
|
30
|
+
# * The end of a table is signified by a ] all by itself on a line.
|
29
31
|
# * And most importantly: commas that separate cells should be surrounded
|
30
32
|
# by spaces and commas that are within cells should not. This gives the
|
31
33
|
# formatter an easy way to distinguish between cells without having
|
@@ -50,18 +52,20 @@ Tabulous.setup do |config|
|
|
50
52
|
# ENABLED
|
51
53
|
# whether the tab is disabled (unclickable)
|
52
54
|
|
53
|
-
config.tabs
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
55
|
+
config.tabs do
|
56
|
+
[
|
57
|
+
#-------------------------------------------------------------------------------------------------#
|
58
|
+
# TAB NAME | DISPLAY TEXT | PATH | VISIBLE? | ENABLED? #
|
59
|
+
#-------------------------------------------------------------------------------------------------#
|
60
|
+
[ :home_tab , 'Explanation' , "/" , true , true ],
|
61
|
+
[ :galaxies_tab , 'Galaxies' , "/galaxies" , true , true ],
|
62
|
+
[ :stars_tab , 'Stars' , "/stars" , true , true ],
|
63
|
+
[ :planets_tab , 'Planets' , "/planets" , true , true ],
|
64
|
+
#-------------------------------------------------------------------------------------------------#
|
65
|
+
# TAB NAME | DISPLAY TEXT | PATH | VISIBLE? | ENABLED? #
|
66
|
+
#-------------------------------------------------------------------------------------------------#
|
67
|
+
]
|
68
|
+
end
|
65
69
|
|
66
70
|
#-------------
|
67
71
|
# ACTIONS
|
@@ -77,18 +81,20 @@ Tabulous.setup do |config|
|
|
77
81
|
# TAB
|
78
82
|
# the name of the tab or subtab that is active when this action is rendered
|
79
83
|
|
80
|
-
config.actions
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
84
|
+
config.actions do
|
85
|
+
[
|
86
|
+
#-------------------------------------------------------------#
|
87
|
+
# CONTROLLER | ACTION | TAB #
|
88
|
+
#-------------------------------------------------------------#
|
89
|
+
[ :home , :all_actions , :home_tab ],
|
90
|
+
[ :galaxies , :all_actions , :galaxies_tab ],
|
91
|
+
[ :stars , :all_actions , :stars_tab ],
|
92
|
+
[ :planets , :all_actions , :planets_tab ],
|
93
|
+
#-------------------------------------------------------------#
|
94
|
+
# CONTROLLER | ACTION | TAB #
|
95
|
+
#-------------------------------------------------------------#
|
96
|
+
]
|
97
|
+
end
|
92
98
|
|
93
99
|
#-------------
|
94
100
|
# OPTIONS
|
@@ -139,11 +145,4 @@ Tabulous.setup do |config|
|
|
139
145
|
# config.css.inactive_tab_color = '#aaa'
|
140
146
|
# config.css.inactive_text_color = '#888'
|
141
147
|
|
142
|
-
#-----------
|
143
|
-
# NOTES
|
144
|
-
#-----------
|
145
|
-
#
|
146
|
-
# In development mode this initializer is reloaded for each request so that
|
147
|
-
# you don't have to restart the server each time you edit this file.
|
148
|
-
|
149
148
|
end
|
@@ -0,0 +1,166 @@
|
|
1
|
+
# Tabulous gives you an easy way to set up tabs for your Rails application.
|
2
|
+
#
|
3
|
+
# 1. Configure this file.
|
4
|
+
# 2. Add <%= tabs %> and <%= subtabs %> in your layout(s) wherever you want
|
5
|
+
# your tabs to appear.
|
6
|
+
# 3. Add styles for these tabs in your stylesheets.
|
7
|
+
# 4. Profit!
|
8
|
+
|
9
|
+
Tabulous.setup do |config|
|
10
|
+
|
11
|
+
#---------------------------
|
12
|
+
# HOW TO USE THE TABLES
|
13
|
+
#---------------------------
|
14
|
+
#
|
15
|
+
# The following tables are just an array of arrays. As such, you can put
|
16
|
+
# any Ruby code into a cell. For example, you could put "/foo/bar" in
|
17
|
+
# a path cell or you could put "/foo" + "/bar". You can even wrap up code
|
18
|
+
# in a lambda to be executed later. These will be executed in the context
|
19
|
+
# of a Rails view meaning they will have access to view helpers.
|
20
|
+
#
|
21
|
+
# However, there is something special about the format of these tables.
|
22
|
+
# Because it would be a pain for you to manually prettify the tables each
|
23
|
+
# time you edit them, there is a special rake task that does this for
|
24
|
+
# you: rake tabs:format. However, for this prettifier to work properly
|
25
|
+
# you have to follow some special rules:
|
26
|
+
#
|
27
|
+
# * No comments are allowed between rows.
|
28
|
+
# * Comments are allowed to the right of rows, except for header rows.
|
29
|
+
# * The start of a table is signified by a [ all by itself on a line.
|
30
|
+
# * The end of a table is signified by a ] all by itself on a line.
|
31
|
+
# * And most importantly: commas that separate cells should be surrounded
|
32
|
+
# by spaces and commas that are within cells should not. This gives the
|
33
|
+
# formatter an easy way to distinguish between cells without having
|
34
|
+
# to actually parse the Ruby.
|
35
|
+
|
36
|
+
#----------
|
37
|
+
# TABS
|
38
|
+
#----------
|
39
|
+
#
|
40
|
+
# This is where you define your tabs and subtabs. The order that the tabs
|
41
|
+
# appear in this list is the order they will appear in your views. Any
|
42
|
+
# subtabs defined will have the previous tab as their parent.
|
43
|
+
#
|
44
|
+
# TAB NAME
|
45
|
+
# must end in _tab or _subtab
|
46
|
+
# DISPLAY TEXT
|
47
|
+
# the text the user sees on the tab
|
48
|
+
# PATH
|
49
|
+
# the URL that gets sent to the server when the tab is clicked
|
50
|
+
# VISIBLE
|
51
|
+
# whether to display the tab
|
52
|
+
# ENABLED
|
53
|
+
# whether the tab is disabled (unclickable)
|
54
|
+
|
55
|
+
config.tabs do
|
56
|
+
[
|
57
|
+
#--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
|
58
|
+
# TAB NAME | DISPLAY TEXT | PATH | VISIBLE? | ENABLED? #
|
59
|
+
#--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
|
60
|
+
[ :home_tab , 'Explanation' , '/' , true , true ],
|
61
|
+
[ :galaxies_tab , 'Galaxies' , '/galaxies/elliptical_galaxies' , true , true ],
|
62
|
+
[ :elliptical_galaxies_subtab , 'Elliptical Galaxies' , '/galaxies/elliptical_galaxies' , true , true ],
|
63
|
+
[ :spiral_galaxies_subtab , 'Spiral Galaxies' , '/galaxies/spiral_galaxies' , true , true ],
|
64
|
+
[ :lenticular_galaxies_subtab , 'Lenticular Galaxies' , '/galaxies/lenticular_galaxies' , true , true ],
|
65
|
+
[ :planets_tab , 'Planets' , '/exoplanets' , true , true ],
|
66
|
+
[ :exoplanets_subtab , 'Exoplanets' , '/exoplanets' , true , true ],
|
67
|
+
[ :rogue_planets_subtab , 'Rogue Planets' , '/rogue_planets' , true , true ],
|
68
|
+
[ :stars_tab , request.path =~ /stars/ ? 'Stars!' : 'Stars' , stars_path , true , true ],
|
69
|
+
[ :hidden_tab , 'Hidden' , '/hidden/always_visible' , request.path =~ /(hidden|galaxies)/ , true ],
|
70
|
+
[ :always_visible_subtab , 'Always Visible' , '/hidden/always_visible' , true , true ],
|
71
|
+
[ :always_hidden_subtab , 'Always Hidden' , '/hidden/always_hidden' , false , true ],
|
72
|
+
[ :disabled_tab , 'Disabled' , '/disabled/always_enabled' , true , request.path =~ /(disabled|stars)/ ],
|
73
|
+
[ :always_enabled_subtab , 'Always Enabled' , '/disabled/always_enabled' , true , true ],
|
74
|
+
[ :always_disabled_subtab , 'Always Disabled' , '/disabled/always_disabled' , true , false ],
|
75
|
+
#--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
|
76
|
+
# TAB NAME | DISPLAY TEXT | PATH | VISIBLE? | ENABLED? #
|
77
|
+
#--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
|
78
|
+
]
|
79
|
+
end
|
80
|
+
|
81
|
+
#-------------
|
82
|
+
# ACTIONS
|
83
|
+
#-------------
|
84
|
+
#
|
85
|
+
# This is where you hook up actions with tabs. That way tabulous knows
|
86
|
+
# which tab and subtab to mark active when an action is rendered.
|
87
|
+
#
|
88
|
+
# CONTROLLER
|
89
|
+
# the name of the controller
|
90
|
+
# ACTION
|
91
|
+
# the name of the action, or :all_actions
|
92
|
+
# TAB
|
93
|
+
# the name of the tab or subtab that is active when this action is rendered
|
94
|
+
|
95
|
+
config.actions do
|
96
|
+
[
|
97
|
+
#-----------------------------------------------------------------------------------------#
|
98
|
+
# CONTROLLER | ACTION | TAB #
|
99
|
+
#-----------------------------------------------------------------------------------------#
|
100
|
+
[ :home , :all_actions , :home_tab ],
|
101
|
+
[ :elliptical_galaxies , :all_actions , :elliptical_galaxies_subtab ],
|
102
|
+
[ :spiral_galaxies , :all_actions , :spiral_galaxies_subtab ],
|
103
|
+
[ :lenticular_galaxies , :all_actions , :lenticular_galaxies_subtab ],
|
104
|
+
[ :exoplanets , :all_actions , :exoplanets_subtab ],
|
105
|
+
[ :rogue_planets , :all_actions , :rogue_planets_subtab ],
|
106
|
+
[ :stars , :all_actions , :stars_tab ],
|
107
|
+
[ :misc , :always_visible , :always_visible_subtab ],
|
108
|
+
[ :misc , :always_hidden , :always_hidden_subtab ],
|
109
|
+
[ :misc , :always_enabled , :always_enabled_subtab ],
|
110
|
+
[ :misc , :always_disabled , :always_disabled_subtab ],
|
111
|
+
#-----------------------------------------------------------------------------------------#
|
112
|
+
# CONTROLLER | ACTION | TAB #
|
113
|
+
#-----------------------------------------------------------------------------------------#
|
114
|
+
]
|
115
|
+
end
|
116
|
+
|
117
|
+
#-------------
|
118
|
+
# OPTIONS
|
119
|
+
#-------------
|
120
|
+
|
121
|
+
# By default, you cannot click on the active tab.
|
122
|
+
config.active_tab_clickable = false
|
123
|
+
|
124
|
+
# By default, the subtabs HTML element is not rendered if it is empty.
|
125
|
+
config.always_render_subtabs = false
|
126
|
+
|
127
|
+
# By default, when an action renders and no tab is defined for that action,
|
128
|
+
# an error is thrown. If you turn this off, no error is thrown and the
|
129
|
+
# tabs are simply not rendered.
|
130
|
+
config.raise_error_if_no_tab_found = true
|
131
|
+
|
132
|
+
# By default, div elements are used in the tab markup. When html5 is
|
133
|
+
# true, nav elements are used instead.
|
134
|
+
config.html5 = false
|
135
|
+
|
136
|
+
#------------
|
137
|
+
# STYLES
|
138
|
+
#------------
|
139
|
+
#
|
140
|
+
# The markup that is generated has the following properties:
|
141
|
+
#
|
142
|
+
# Tabs and subtabs that are selected have the class "active".
|
143
|
+
# Tabs and subtabs that are not selected have the class "inactive".
|
144
|
+
# Tabs that are disabled have the class "disabled"; otherwise, "enabled".
|
145
|
+
# Tabs that are not visible do not appear in the markup at all.
|
146
|
+
#
|
147
|
+
# These classes are provided to make it easier for you to create your
|
148
|
+
# own CSS (and JavaScript) for the tabs.
|
149
|
+
|
150
|
+
# Some styles will be generated for you to get you off to a good start.
|
151
|
+
# Scaffolded styles are not meant to be used in production as they
|
152
|
+
# generate invalid HTML markup. They are merely meant to give you a
|
153
|
+
# head start or an easy way to prototype quickly.
|
154
|
+
#
|
155
|
+
config.css.scaffolding = true
|
156
|
+
|
157
|
+
# You can tweak the colors of the generated CSS.
|
158
|
+
#
|
159
|
+
config.css.background_color = '#cec'
|
160
|
+
config.css.text_color = '#464'
|
161
|
+
config.css.active_tab_color = '#fff'
|
162
|
+
config.css.hover_tab_color = '#dfd'
|
163
|
+
config.css.inactive_tab_color = '#aca'
|
164
|
+
config.css.inactive_text_color = '#8a8'
|
165
|
+
|
166
|
+
end
|
File without changes
|
@@ -0,0 +1,59 @@
|
|
1
|
+
Tabulous.setup do |config|
|
2
|
+
|
3
|
+
config.tabs do
|
4
|
+
[
|
5
|
+
#----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
|
6
|
+
# TAB NAME | DISPLAY TEXT | PATH | VISIBLE? | ENABLED? #
|
7
|
+
#----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
|
8
|
+
[ :home_tab , 'Explanation' , '/' , true , true ],
|
9
|
+
[ :galaxies_tab , 'Galaxies' , '/galaxies/elliptical_galaxies' , true , true ],
|
10
|
+
[ :elliptical_galaxies_subtab , 'Elliptical Galaxies' , '/galaxies/elliptical_galaxies' , true , true ],
|
11
|
+
[ :spiral_galaxies_subtab , 'Spiral Galaxies' , '/galaxies/spiral_galaxies' , true , true ],
|
12
|
+
[ :lenticular_galaxies_subtab , 'Lenticular Galaxies' , '/galaxies/lenticular_galaxies' , true , true ],
|
13
|
+
[ :planets_tab , 'Planets' , '/exoplanets' , true , true ],
|
14
|
+
[ :exoplanets_subtab , 'Exoplanets' , '/exoplanets' , true , true ],
|
15
|
+
[ :rogue_planets_subtab , 'Rogue Planets' , '/rogue_planets' , true , true ],
|
16
|
+
[ :stars_tab , 'Stars' , '/stars' , true , true ],
|
17
|
+
[ :hidden_tab , 'Hidden' , '/hidden/always_visible' , lambda { request.path =~ /(hidden|galaxies)/ } , true ],
|
18
|
+
[ :always_visible_subtab , 'Always Visible' , '/hidden/always_visible' , true , true ],
|
19
|
+
[ :always_hidden_subtab , 'Always Hidden' , '/hidden/always_hidden' , false , true ],
|
20
|
+
[ :disabled_tab , 'Disabled' , '/disabled/always_enabled' , true , lambda { request.path =~ /(disabled|stars)/ } ],
|
21
|
+
[ :always_enabled_subtab , 'Always Enabled' , '/disabled/always_enabled' , true , true ],
|
22
|
+
[ :always_disabled_subtab , 'Always Disabled' , '/disabled/always_disabled' , true , false ],
|
23
|
+
#----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
|
24
|
+
# TAB NAME | DISPLAY TEXT | PATH | VISIBLE? | ENABLED? #
|
25
|
+
#----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
|
26
|
+
]
|
27
|
+
end
|
28
|
+
|
29
|
+
config.actions do
|
30
|
+
[
|
31
|
+
#-----------------------------------------------------------------------------------------#
|
32
|
+
# CONTROLLER | ACTION | TAB #
|
33
|
+
#-----------------------------------------------------------------------------------------#
|
34
|
+
[ :home , :all_actions , :home_tab ],
|
35
|
+
[ :elliptical_galaxies , :all_actions , :elliptical_galaxies_subtab ],
|
36
|
+
[ :spiral_galaxies , :all_actions , :spiral_galaxies_subtab ],
|
37
|
+
[ :lenticular_galaxies , :all_actions , :lenticular_galaxies_subtab ],
|
38
|
+
[ :exoplanets , :all_actions , :exoplanets_subtab ],
|
39
|
+
[ :rogue_planets , :all_actions , :rogue_planets_subtab ],
|
40
|
+
[ :stars , :all_actions , :stars_tab ],
|
41
|
+
[ :misc , :always_visible , :always_visible_subtab ],
|
42
|
+
[ :misc , :always_hidden , :always_hidden_subtab ],
|
43
|
+
[ :misc , :always_enabled , :always_enabled_subtab ],
|
44
|
+
[ :misc , :always_disabled , :always_disabled_subtab ],
|
45
|
+
#-----------------------------------------------------------------------------------------#
|
46
|
+
# CONTROLLER | ACTION | TAB #
|
47
|
+
#-----------------------------------------------------------------------------------------#
|
48
|
+
]
|
49
|
+
end
|
50
|
+
|
51
|
+
config.css.scaffolding = true
|
52
|
+
config.css.background_color = '#cec'
|
53
|
+
config.css.text_color = '#464'
|
54
|
+
config.css.active_tab_color = '#fff'
|
55
|
+
config.css.hover_tab_color = '#dfd'
|
56
|
+
config.css.inactive_tab_color = '#aca'
|
57
|
+
config.css.inactive_text_color = '#8a8'
|
58
|
+
|
59
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
Tabulous.setup do |config|
|
2
|
+
|
3
|
+
config.tabs do
|
4
|
+
[
|
5
|
+
#----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
|
6
|
+
# TAB NAME | DISPLAY TEXT | PATH | VISIBLE? | ENABLED? #
|
7
|
+
#----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
|
8
|
+
[ :home_tab , 'Explanation' , '/' , true , true ],
|
9
|
+
[ :galaxies_tab , 'Galaxies' , '/galaxies/elliptical_galaxies' , true , true ],
|
10
|
+
[ :elliptical_galaxies_subtab , 'Elliptical Galaxies' , '/galaxies/elliptical_galaxies' , true , true ],
|
11
|
+
[ :spiral_galaxies_subtab , 'Spiral Galaxies' , '/galaxies/spiral_galaxies' , true , true ],
|
12
|
+
[ :lenticular_galaxies_subtab , 'Lenticular Galaxies' , '/galaxies/lenticular_galaxies' , true , true ],
|
13
|
+
[ :planets_tab , 'Planets' , '/exoplanets' , true , true ],
|
14
|
+
[ :exoplanets_subtab , 'Exoplanets' , '/exoplanets' , true , true ],
|
15
|
+
[ :rogue_planets_subtab , 'Rogue Planets' , '/rogue_planets' , true , true ],
|
16
|
+
[ :stars_tab , 'Stars' , '/stars' , true , true ],
|
17
|
+
[ :hidden_tab , 'Hidden' , '/hidden/always_visible' , lambda { request.path =~ /(hidden|galaxies)/ } , true ],
|
18
|
+
[ :always_visible_subtab , 'Always Visible' , '/hidden/always_visible' , true , true ],
|
19
|
+
[ :always_hidden_subtab , 'Always Hidden' , '/hidden/always_hidden' , false , true ],
|
20
|
+
[ :disabled_tab , 'Disabled' , '/disabled/always_enabled' , true , lambda { request.path =~ /(disabled|stars)/ } ],
|
21
|
+
[ :always_enabled_subtab , 'Always Enabled' , '/disabled/always_enabled' , true , true ],
|
22
|
+
[ :always_disabled_subtab , 'Always Disabled' , '/disabled/always_disabled' , true , false ],
|
23
|
+
#----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
|
24
|
+
# TAB NAME | DISPLAY TEXT | PATH | VISIBLE? | ENABLED? #
|
25
|
+
#----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
|
26
|
+
]
|
27
|
+
end
|
28
|
+
|
29
|
+
config.actions do
|
30
|
+
[
|
31
|
+
#-----------------------------------------------------------------------------------------#
|
32
|
+
# CONTROLLER | ACTION | TAB #
|
33
|
+
#-----------------------------------------------------------------------------------------#
|
34
|
+
[ :home , :all_actions , :home_tab ],
|
35
|
+
[ :elliptical_galaxies , :all_actions , :elliptical_galaxies_subtab ],
|
36
|
+
[ :spiral_galaxies , :all_actions , :spiral_galaxies_subtab ],
|
37
|
+
[ :lenticular_galaxies , :all_actions , :lenticular_galaxies_subtab ],
|
38
|
+
[ :exoplanets , :all_actions , :exoplanets_subtab ],
|
39
|
+
[ :rogue_planets , :all_actions , :rogue_planets_subtab ],
|
40
|
+
[ :stars , :all_actions , :stars_tab ],
|
41
|
+
[ :misc , :always_visible , :always_visible_subtab ],
|
42
|
+
[ :misc , :always_hidden , :always_hidden_subtab ],
|
43
|
+
[ :misc , :always_enabled , :always_enabled_subtab ],
|
44
|
+
[ :misc , :always_disabled , :always_disabled_subtab ],
|
45
|
+
#-----------------------------------------------------------------------------------------#
|
46
|
+
# CONTROLLER | ACTION | TAB #
|
47
|
+
#-----------------------------------------------------------------------------------------#
|
48
|
+
]
|
49
|
+
end
|
50
|
+
|
51
|
+
config.css.scaffolding = true
|
52
|
+
config.css.background_color = '#cec'
|
53
|
+
config.css.text_color = '#464'
|
54
|
+
config.css.active_tab_color = '#fff'
|
55
|
+
config.css.hover_tab_color = '#dfd'
|
56
|
+
config.css.inactive_tab_color = '#aca'
|
57
|
+
config.css.inactive_text_color = '#8a8'
|
58
|
+
|
59
|
+
end
|