express_ui 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/express_ui/styleguide.js +1 -1
- data/app/assets/stylesheets/express_ui/atoms/_buttons.sass +2 -2
- data/app/assets/stylesheets/express_ui/atoms/_headings.sass +2 -2
- data/app/assets/stylesheets/express_ui/atoms/_icons.sass +2 -2
- data/app/assets/stylesheets/express_ui/atoms/_typography.sass +8 -0
- data/app/assets/stylesheets/express_ui/molecules/_button_group.sass +8 -9
- data/app/assets/stylesheets/express_ui/molecules/_form_groups.sass +1 -1
- data/app/assets/stylesheets/express_ui/molecules/_forms.sass +8 -1
- data/app/assets/stylesheets/express_ui/molecules/_tables.sass +9 -0
- data/app/assets/stylesheets/express_ui/organisms/_footer.sass +3 -0
- data/app/assets/stylesheets/express_ui/organisms/_header.sass +1 -1
- data/app/assets/stylesheets/express_ui/style.sass +1 -0
- data/app/assets/stylesheets/express_ui/templates/_full_width.sass +4 -0
- data/app/components/component_docitem.rb +55 -19
- data/app/components/component_example.rb +47 -10
- data/app/components/express_ui/panel.rb +37 -0
- data/app/components/express_ui/table/express_table.rb +6 -0
- data/app/components/express_ui/unordered_list.rb +18 -4
- data/app/helpers/express_ui/application_helper.rb +7 -0
- data/app/models/express_ui/examples/person.rb +12 -0
- data/app/views/express_ui/uicomponents/_lists.html.et +39 -19
- data/app/views/express_ui/uicomponents/_panels.html.et +14 -0
- data/app/views/express_ui/uicomponents/examples/_panel.html.et +9 -0
- data/app/views/express_ui/uicomponents/examples/_unordered_list.html.et +5 -0
- data/app/views/express_ui/uicomponents/examples/_unordered_list_with_ids.html.et +5 -0
- data/app/views/express_ui/uicomponents/index.html.et +25 -30
- data/app/views/layouts/express_ui/_head.html.erb +3 -1
- data/app/views/layouts/express_ui/full_width.html.erb +2 -2
- data/app/views/layouts/express_ui/half_width.html.erb +2 -2
- data/app/views/layouts/express_ui/master_detail.html.html.erb +2 -2
- data/app/views/layouts/express_ui/master_detail_fixed.html.erb +2 -2
- data/lib/express_ui/engine.rb +1 -0
- data/lib/express_ui/version.rb +1 -1
- metadata +13 -21
- data/app/views/express_ui/uicomponents/_panel.html.et +0 -33
- data/app/views/express_ui/uicomponents/_unordered_list.html.et +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f5860624c101208efa7c57aa801fe58ec2f46b8a
|
4
|
+
data.tar.gz: 0bf1177ac93dc0cae44e6687047eb727465bc757
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 007cc3f0516976e55ae6e845fa306fa53eaf8624580b9ebf51b70d833cc2e27b309882912ab98a24b0adba8b3cbf17b49a1153faa4fdfafa3a49411c57cc7bf0
|
7
|
+
data.tar.gz: 5e58e6d6eef6ff5d5b1328db471a92a1b148598737aa8229e723d141f81ec14d3c1cc2a55c5e891e49661d99868dd12d03f7954aeb4bcecea44a2a18245f5449
|
@@ -1,3 +1,3 @@
|
|
1
1
|
.fa
|
2
|
-
@include font-size(
|
3
|
-
color: $icon-color
|
2
|
+
@include font-size(14px, 16px)
|
3
|
+
color: $icon-color
|
@@ -103,6 +103,8 @@ button
|
|
103
103
|
@include p
|
104
104
|
@include body-font
|
105
105
|
|
106
|
+
em
|
107
|
+
@include p
|
106
108
|
|
107
109
|
a:link
|
108
110
|
color: $link-color
|
@@ -128,6 +130,12 @@ a:hover
|
|
128
130
|
&-deleted
|
129
131
|
@include status-deleted
|
130
132
|
|
133
|
+
.ae-text
|
134
|
+
&-success
|
135
|
+
color: $success !important
|
136
|
+
&-cancelled
|
137
|
+
color: $cancelled !important
|
138
|
+
|
131
139
|
@mixin badge
|
132
140
|
background: $primary-color
|
133
141
|
color: #fff
|
@@ -41,14 +41,13 @@
|
|
41
41
|
width: 100%
|
42
42
|
@include clearfix
|
43
43
|
|
44
|
-
|
45
|
-
|
46
|
-
width: auto
|
44
|
+
.ae-btn
|
45
|
+
width: auto
|
47
46
|
|
48
|
-
|
49
|
-
|
50
|
-
|
47
|
+
.ae-btn-left
|
48
|
+
float: left
|
49
|
+
display: inline-block
|
51
50
|
|
52
|
-
|
53
|
-
|
54
|
-
|
51
|
+
.ae-btn-right
|
52
|
+
float: right
|
53
|
+
display: inline-block
|
@@ -84,7 +84,7 @@
|
|
84
84
|
|
85
85
|
.ae-input-lg
|
86
86
|
@include h4
|
87
|
-
padding: rem(
|
87
|
+
padding: rem(12px)
|
88
88
|
|
89
89
|
@include desktop
|
90
90
|
padding: rem(7px)
|
@@ -97,6 +97,13 @@ label
|
|
97
97
|
.ae-actions
|
98
98
|
margin: 20px 0
|
99
99
|
|
100
|
+
@include tablet-max
|
101
|
+
text-align: center
|
102
|
+
|
103
|
+
.ae-btn
|
104
|
+
width: 100%
|
105
|
+
display: block
|
106
|
+
|
100
107
|
.ae-hint
|
101
108
|
margin: 0 0 20px 0
|
102
109
|
padding: 0
|
@@ -44,12 +44,21 @@ table
|
|
44
44
|
tr:nth-child(even)
|
45
45
|
background: transparent
|
46
46
|
|
47
|
+
&.ae-table-list
|
48
|
+
tbody
|
49
|
+
tr
|
50
|
+
border-bottom: 1px solid $border-light
|
51
|
+
|
52
|
+
|
47
53
|
@include laptop-max
|
48
54
|
width: 100%!important
|
49
55
|
|
50
56
|
.ae-table-responsive
|
51
57
|
overflow-x: scroll
|
52
58
|
|
59
|
+
.ae-table-actions
|
60
|
+
vertical-align: middle
|
61
|
+
|
53
62
|
.ae-table-filter
|
54
63
|
background-color: $gray-background
|
55
64
|
|
@@ -1,12 +1,21 @@
|
|
1
1
|
class ComponentDocitem < ExpressTemplates::Container
|
2
2
|
|
3
|
+
has_option :examples, "Examples. Keys are partial names. :assigns and :expected_output are passed to component_example.", type: :hash
|
4
|
+
|
5
|
+
# TODO: See if we could pull this from RDoc
|
6
|
+
has_option :description, "A description of the component."
|
7
|
+
|
3
8
|
prepends -> {
|
4
9
|
h3(style: 'text-transform: none') { component_class.to_s.demodulize }
|
5
10
|
|
6
|
-
|
11
|
+
h4 "General Information"
|
12
|
+
|
13
|
+
para(style: 'padding: 0 0.25rem 1rem 0.25rem', only_when: !!config[:description]) {
|
14
|
+
config[:description]
|
15
|
+
}
|
7
16
|
|
8
17
|
table {
|
9
|
-
tbody {
|
18
|
+
tbody {
|
10
19
|
tr {
|
11
20
|
th(width: "25%", style: "text-transform: none") { "Builder Method" }
|
12
21
|
td {
|
@@ -28,36 +37,61 @@ class ComponentDocitem < ExpressTemplates::Container
|
|
28
37
|
}
|
29
38
|
}
|
30
39
|
|
31
|
-
if component_class.respond_to?(:
|
32
|
-
|
40
|
+
if component_class.respond_to?(:supported_arguments) &&
|
41
|
+
component_class.supported_arguments.any?
|
42
|
+
|
43
|
+
h4 "Supported Arguments"
|
33
44
|
|
34
45
|
table {
|
35
46
|
thead {
|
36
47
|
th { "option" }
|
37
48
|
th { "type" }
|
38
49
|
th { "default" }
|
50
|
+
th { "required" }
|
39
51
|
th { "Description" }
|
40
52
|
}
|
41
53
|
tbody {
|
42
|
-
component_class.
|
54
|
+
component_class.supported_arguments.each do |arg, config|
|
43
55
|
tr {
|
44
|
-
td(
|
45
|
-
code {
|
46
|
-
option.inspect
|
47
|
-
}
|
56
|
+
td(style: "text-transform: none") {
|
57
|
+
code { arg.inspect }
|
48
58
|
}
|
49
|
-
td {
|
50
|
-
|
51
|
-
|
52
|
-
|
59
|
+
td { pre { option_types(config[:type]) } }
|
60
|
+
td { pre { config[:default] } }
|
61
|
+
td { pre { config[:required] ? 'yes' : 'no' } }
|
62
|
+
td(width: "50%") {
|
63
|
+
config[:description].html_safe
|
53
64
|
}
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
65
|
+
}
|
66
|
+
end
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
end
|
71
|
+
|
72
|
+
|
73
|
+
if component_class.respond_to?(:supported_options)
|
74
|
+
h4 "Supported Options"
|
75
|
+
|
76
|
+
table {
|
77
|
+
thead {
|
78
|
+
th { "option" }
|
79
|
+
th { "type" }
|
80
|
+
th { "default" }
|
81
|
+
th { "required" }
|
82
|
+
th { "Description" }
|
83
|
+
}
|
84
|
+
tbody {
|
85
|
+
component_class.supported_options.each do |option, config|
|
86
|
+
tr {
|
87
|
+
td(style: "text-transform: none") {
|
88
|
+
code { option.inspect }
|
58
89
|
}
|
59
|
-
td {
|
60
|
-
|
90
|
+
td { pre { option_types(config[:type]) } }
|
91
|
+
td { pre { config[:default] } }
|
92
|
+
td { pre { config[:required] ? 'yes' : 'no' } }
|
93
|
+
td(width: "50%") {
|
94
|
+
config[:description].html_safe
|
61
95
|
}
|
62
96
|
}
|
63
97
|
end
|
@@ -95,6 +129,8 @@ class ComponentDocitem < ExpressTemplates::Container
|
|
95
129
|
types.keys.map(&:inspect).join(', ')
|
96
130
|
when config[:type].kind_of?(Array)
|
97
131
|
types.map(&:inspect).join(', ')
|
132
|
+
when types.nil?
|
133
|
+
''
|
98
134
|
else
|
99
135
|
types.inspect
|
100
136
|
end
|
@@ -3,23 +3,42 @@ class ComponentExample < ExpressTemplates::Component
|
|
3
3
|
tag :section
|
4
4
|
|
5
5
|
has_option :expected_output, "The markup that the example is expected to produce."
|
6
|
+
has_option :assigns, "Values to be passed in.", type: :hash
|
7
|
+
has_option :example_name, "A distinguishing name for the example if part of a set."
|
6
8
|
|
7
9
|
contains -> {
|
10
|
+
|
11
|
+
h4 { example_title }
|
12
|
+
|
13
|
+
panel(only_when: config[:assigns].present?) {
|
14
|
+
para { "Input:" }
|
15
|
+
table {
|
16
|
+
tbody {
|
17
|
+
config[:assigns].each do |key, value|
|
18
|
+
tr {
|
19
|
+
td { code { key.to_s } }
|
20
|
+
td { pre { format(value) } }
|
21
|
+
}
|
22
|
+
end
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
8
27
|
div(class: 'ae-demo-container') {
|
9
28
|
ul(class: 'ae-tabs') {
|
10
|
-
li(class: 'ae-tab active-tab', 'data-tab' =>
|
11
|
-
"
|
29
|
+
li(class: 'ae-tab active-tab', 'data-tab' => usage_id){
|
30
|
+
"Usage"
|
12
31
|
}
|
13
32
|
li(class: 'ae-tab', 'data-tab' => output_id){
|
14
33
|
"Output"
|
15
34
|
}
|
16
35
|
li(class: 'ae-tab', 'data-tab' => expected_id,
|
17
|
-
:only_when => config[:expected_output]){
|
36
|
+
:only_when => !!config[:expected_output]){
|
18
37
|
"Expected Output"
|
19
38
|
}
|
20
39
|
}
|
21
40
|
|
22
|
-
div(id:
|
41
|
+
div(id: usage_id, class: 'ae-tab-content active-tab'){
|
23
42
|
highlight_code_block {
|
24
43
|
partial_body
|
25
44
|
}
|
@@ -27,12 +46,12 @@ class ComponentExample < ExpressTemplates::Component
|
|
27
46
|
|
28
47
|
div(id: output_id, class: 'ae-tab-content'){
|
29
48
|
div(class: 'demo-container'){
|
30
|
-
render
|
49
|
+
render(partial: example_partial_path, locals: config[:assigns])
|
31
50
|
}
|
32
51
|
}
|
33
52
|
|
34
53
|
div(id: expected_id, class: 'ae-tab-content',
|
35
|
-
only_when: config[:expected_output]){
|
54
|
+
only_when: !!config[:expected_output]){
|
36
55
|
div(class: 'demo-container'){
|
37
56
|
highlight_code_block {
|
38
57
|
config[:expected_output]
|
@@ -42,9 +61,27 @@ class ComponentExample < ExpressTemplates::Component
|
|
42
61
|
}
|
43
62
|
}
|
44
63
|
|
45
|
-
def
|
46
|
-
|
47
|
-
|
64
|
+
def format(value)
|
65
|
+
io = StringIO.new
|
66
|
+
PP.pp value, io
|
67
|
+
io.string.html_safe
|
68
|
+
end
|
69
|
+
|
70
|
+
def usage_id; "#{example_partial_name}_usage"; end
|
71
|
+
def output_id; "#{example_partial_name}_output"; end
|
72
|
+
def expected_id; "#{example_partial_name}_expected"; end
|
73
|
+
|
74
|
+
def example_title
|
75
|
+
if config[:example_name]
|
76
|
+
"Example #{config[:example_name].to_s.titleize}"
|
77
|
+
else
|
78
|
+
"Example"
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
def example_partial_path
|
83
|
+
"express_ui/uicomponents/examples/#{example_partial_name}"
|
84
|
+
end
|
48
85
|
|
49
86
|
def example_partial_name
|
50
87
|
s = component_name.dup
|
@@ -54,7 +91,7 @@ class ComponentExample < ExpressTemplates::Component
|
|
54
91
|
|
55
92
|
def partial_body
|
56
93
|
location = File.dirname(__FILE__)
|
57
|
-
File.read(File.join(location, '..', 'views', 'express_ui', 'uicomponents', "_#{example_partial_name}.html.et"))
|
94
|
+
File.read(File.join(location, '..', 'views', 'express_ui', 'uicomponents', 'examples', "_#{example_partial_name}.html.et"))
|
58
95
|
end
|
59
96
|
|
60
97
|
def component_name
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module ExpressUi
|
2
|
+
class Panel < ExpressTemplates::Container
|
3
|
+
|
4
|
+
has_option :heading, "The panel heading text. Set to false to supress", default: true
|
5
|
+
has_option :footer, "The panel footing text."
|
6
|
+
|
7
|
+
before_build -> {
|
8
|
+
add_class 'panel'
|
9
|
+
}
|
10
|
+
|
11
|
+
contains -> (&block) {
|
12
|
+
div(class: "panel-heading", only_when: !!config[:heading]) {
|
13
|
+
panel_header
|
14
|
+
}
|
15
|
+
div(class: "panel-body") {
|
16
|
+
block.call
|
17
|
+
}
|
18
|
+
div(class: "panel-footer", only_when: !!config[:footer]) {
|
19
|
+
panel_footer
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
def panel_footer
|
24
|
+
config[:footer]
|
25
|
+
end
|
26
|
+
|
27
|
+
def panel_header
|
28
|
+
case config[:header]
|
29
|
+
when String
|
30
|
+
config[:header]
|
31
|
+
else
|
32
|
+
config[:id].to_s.titleize
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
@@ -1,15 +1,29 @@
|
|
1
1
|
module ExpressUi
|
2
2
|
class UnorderedList < ExpressTemplates::Container
|
3
3
|
|
4
|
+
include ExpressTemplates::Components::Capabilities::Iteration
|
5
|
+
|
4
6
|
tag :ul
|
5
7
|
|
8
|
+
has_option :collection_name, "Optional name for the collection if different from the :id"
|
9
|
+
|
6
10
|
contains -> (&block) {
|
7
|
-
|
8
|
-
|
9
|
-
li {
|
11
|
+
for_all(collection_name) {
|
12
|
+
li(id: item_id, class: singular_item_name) {
|
10
13
|
block.call()
|
11
14
|
}
|
12
|
-
|
15
|
+
}
|
13
16
|
}
|
17
|
+
|
18
|
+
def collection_name
|
19
|
+
config[:collection_name] || config[:id]
|
20
|
+
end
|
21
|
+
|
22
|
+
def item_id
|
23
|
+
if item.respond_to?(:id)
|
24
|
+
"#{singular_item_name}:#{item.id}"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
14
28
|
end
|
15
29
|
end
|
@@ -24,5 +24,12 @@ module ExpressUi
|
|
24
24
|
code_block.strip_heredoc.html_safe
|
25
25
|
end
|
26
26
|
end
|
27
|
+
|
28
|
+
# This only works for controllers within this engine. (eg test/dummy)
|
29
|
+
# Put this method in your application_helper.rb and
|
30
|
+
# customize it to your purpose.
|
31
|
+
def user_role_classes
|
32
|
+
return "role-user" if defined?(current_user) && current_user.present?
|
33
|
+
end
|
27
34
|
end
|
28
35
|
end
|
@@ -1,29 +1,49 @@
|
|
1
1
|
component_docitem(:unordered_list) {
|
2
2
|
component_example(:unordered_list,
|
3
|
-
|
3
|
+
assigns: {
|
4
|
+
people: ["Callahan", 'Reyes', 'Morrison', 'Quimby']
|
5
|
+
},
|
6
|
+
expected_output: <<-HTML
|
4
7
|
<ul class="unordered-list" id="people">
|
5
|
-
<li>
|
6
|
-
<strong>
|
8
|
+
<li class="person">
|
9
|
+
<strong>Callahan</strong>
|
7
10
|
</li>
|
8
|
-
<li>
|
9
|
-
<strong>
|
11
|
+
<li class="person">
|
12
|
+
<strong>Reyes</strong>
|
10
13
|
</li>
|
11
|
-
<li>
|
12
|
-
<strong>
|
14
|
+
<li class="person">
|
15
|
+
<strong>Morrison</strong>
|
16
|
+
</li>
|
17
|
+
<li class="person">
|
18
|
+
<strong>Quimby</strong>
|
13
19
|
</li>
|
14
20
|
</ul>
|
15
21
|
HTML
|
16
|
-
|
17
|
-
}
|
18
|
-
|
19
|
-
|
22
|
+
)
|
20
23
|
|
21
|
-
|
24
|
+
component_example(:unordered_list, example_name: 'with_ids',
|
25
|
+
assigns: {
|
26
|
+
people: [ExpressUi::Examples::Person.new(id: 1, name: 'Callahan'),
|
27
|
+
ExpressUi::Examples::Person.new(id: 2, name: 'Reyes'),
|
28
|
+
ExpressUi::Examples::Person.new(id: 3, name: 'Morrison'),
|
29
|
+
ExpressUi::Examples::Person.new(id: 4, name: 'Quimby')]
|
30
|
+
},
|
31
|
+
expected_output: <<-HTML
|
32
|
+
<ul class="unordered-list" id="people_with_ids">
|
33
|
+
<li id="person:1" class="person">
|
34
|
+
<strong>Callahan</strong>
|
35
|
+
</li>
|
36
|
+
<li id="person:2" class="person">
|
37
|
+
<strong>Reyes</strong>
|
38
|
+
</li>
|
39
|
+
<li id="person:3" class="person">
|
40
|
+
<strong>Morrison</strong>
|
41
|
+
</li>
|
42
|
+
<li id="person:4" class="person">
|
43
|
+
<strong>Quimby</strong>
|
44
|
+
</li>
|
45
|
+
</ul>
|
46
|
+
HTML
|
47
|
+
)
|
22
48
|
|
23
|
-
|
24
|
-
code_demo {
|
25
|
-
%Q{
|
26
|
-
definition_list()
|
27
|
-
}
|
28
|
-
}
|
29
|
-
}
|
49
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
component_docitem(:panel,
|
2
|
+
description:
|
3
|
+
%q(
|
4
|
+
A Panel provides a way of boxing up groups of related
|
5
|
+
contents to separate it from the rest of the document.
|
6
|
+
|
7
|
+
Panels usually have a header, content body, and footer.
|
8
|
+
Normal content blocks don't need to be in panels
|
9
|
+
if they only include texts or images. Panels offer styling
|
10
|
+
options.
|
11
|
+
)
|
12
|
+
) {
|
13
|
+
component_example(:panel)
|
14
|
+
}
|
@@ -9,49 +9,44 @@ div(class: "ae-template-content-sidebar-fixed") {
|
|
9
9
|
|
10
10
|
div(class: "js-anchorific-content") {
|
11
11
|
|
12
|
-
h2 "Lists"
|
12
|
+
h2 "Lists"
|
13
13
|
render "express_ui/uicomponents/lists"
|
14
14
|
|
15
|
+
h2 "Panels"
|
16
|
+
render "express_ui/uicomponents/panels"
|
15
17
|
|
16
|
-
|
18
|
+
h2 "Buttons"
|
19
|
+
# render "express_ui/uicomponents/buttons"
|
17
20
|
|
18
|
-
|
21
|
+
h2 "Forms"
|
22
|
+
# render "express_ui/uicomponents/forms"
|
19
23
|
|
20
|
-
|
21
|
-
#
|
22
|
-
# <h2>Flash Messages</h2>
|
23
|
-
# render "express_ui/uicomponents/flash_message"
|
24
|
+
h2 "Flash Messages"
|
25
|
+
# render "express_ui/uicomponents/flash_message"
|
24
26
|
|
25
|
-
|
26
|
-
#
|
27
|
+
h2 "Heading"
|
28
|
+
# render "express_ui/uicomponents/heading"
|
27
29
|
|
28
|
-
|
29
|
-
#
|
30
|
+
h2 "Icons"
|
31
|
+
# render "express_ui/uicomponents/icons"
|
30
32
|
|
31
|
-
|
32
|
-
#
|
33
|
+
h2 "Layout"
|
34
|
+
# render "express_ui/uicomponents/layout"
|
33
35
|
|
34
|
-
|
35
|
-
#
|
36
|
+
h2 "Nav"
|
37
|
+
# render "express_ui/uicomponents/nav"
|
36
38
|
|
37
|
-
|
38
|
-
#
|
39
|
+
h2 "Popups"
|
40
|
+
# render "express_ui/uicomponents/popup"
|
39
41
|
|
40
|
-
|
41
|
-
#
|
42
|
+
h2 "Tables"
|
43
|
+
# render "express_ui/uicomponents/table"
|
42
44
|
|
43
|
-
|
44
|
-
#
|
45
|
-
# <h2>Widget Box</h2>
|
45
|
+
h2 "Templates"
|
46
|
+
# render "express_ui/templates/templates"
|
46
47
|
|
47
|
-
|
48
|
-
|
49
|
-
# <h2>Templates</h2>
|
50
|
-
# render "express_ui/templates/templates"
|
51
|
-
|
52
|
-
# <h2>Pages</h2>
|
53
|
-
# render "express_ui/uicomponents/pages"
|
54
|
-
# -->
|
48
|
+
h2 "Pages"
|
49
|
+
# render "express_ui/uicomponents/pages"
|
55
50
|
}
|
56
51
|
}
|
57
52
|
}
|
@@ -5,9 +5,11 @@
|
|
5
5
|
<head>
|
6
6
|
<meta charset="utf-8"/>
|
7
7
|
<meta content="AppExpress" name="author"/>
|
8
|
-
<title><%= @page_title || (page_title rescue "No Page Title Set") %></title>
|
8
|
+
<title><%= @page_title || content_for(:page_title) || (page_title rescue "No Page Title Set") %></title>
|
9
9
|
<%= csrf_meta_tags %>
|
10
10
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
11
11
|
<%= stylesheet_link_tag 'express_ui/styleguide', :media => "all" %>
|
12
|
+
<%= stylesheet_link_tag 'application', :media => "all" %>
|
12
13
|
<%= javascript_include_tag 'express_ui/application', 'data-turbolinks-track': 'reload' %>
|
14
|
+
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
|
13
15
|
</head>
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<html>
|
2
2
|
<%= render partial: 'layouts/express_ui/head' %>
|
3
|
-
<body>
|
3
|
+
<body class="<%= controller_name %> <%= controller_name%>-<%= params[:action] %> <%= user_role_classes if defined?(user_role_classes) %>">
|
4
4
|
<header>
|
5
5
|
<%= content_for(:header) || render(partial: 'shared/header') rescue nil %>
|
6
6
|
</header>
|
7
|
-
<div class="
|
7
|
+
<div class="ae-template-full-width">
|
8
8
|
<div class="ae-container">
|
9
9
|
<div class="ae-content">
|
10
10
|
<%= yield %>
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<html>
|
2
2
|
<%= render partial: 'layouts/express_ui/head' %>
|
3
|
-
<body>
|
3
|
+
<body class="<%= controller_name %> <%= controller_name%>-<%= params[:action] %> <%= user_role_classes if defined?(user_role_classes) %>">
|
4
4
|
<header>
|
5
5
|
<%= content_for(:header) || render(partial: 'shared/header') rescue nil %>
|
6
6
|
</header>
|
7
|
-
<div class="
|
7
|
+
<div class="ae-template-half-width">
|
8
8
|
<div class="ae-container">
|
9
9
|
<div class="ae-content">
|
10
10
|
<%= yield %>
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<html>
|
2
2
|
<%= render partial: 'layouts/express_ui/head' %>
|
3
|
-
<body>
|
3
|
+
<body class="<%= controller_name %> <%= controller_name%>-<%= params[:action] %> <%= user_role_classes if defined?(user_role_classes) %>">
|
4
4
|
<header>
|
5
5
|
<%= content_for(:header) || render(partial: 'shared/header') rescue nil %>
|
6
6
|
</header>
|
7
|
-
<div class="
|
7
|
+
<div class="ae-template-master-detail">
|
8
8
|
<div class="ae-container">
|
9
9
|
<div class="ae-content">
|
10
10
|
<%= yield %>
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<html>
|
2
2
|
<%= render partial: 'layouts/express_ui/head' %>
|
3
|
-
<body>
|
3
|
+
<body class="<%= controller_name %> <%= controller_name%>-<%= params[:action] %> <%= user_role_classes if defined?(user_role_classes) %>">
|
4
4
|
<header>
|
5
5
|
<%= content_for(:header) || render(partial: 'shared/header') rescue nil %>
|
6
6
|
</header>
|
7
|
-
<div class="
|
7
|
+
<div class="ae-template-master-detail-fixed">
|
8
8
|
<div class="ae-container">
|
9
9
|
<div class="ae-content">
|
10
10
|
<%= yield %>
|
data/lib/express_ui/engine.rb
CHANGED
@@ -32,6 +32,7 @@ module ExpressUi
|
|
32
32
|
)
|
33
33
|
|
34
34
|
# Load all component definitions.
|
35
|
+
# TODO: does this really belong here?
|
35
36
|
Dir.glob(File.expand_path('../../../app/components/**/*.rb', __FILE__)).each do |component_file|
|
36
37
|
component_name = File.basename(component_file).split('.').first
|
37
38
|
part_to_remove = File.expand_path('../../../app/components/',__FILE__)
|
data/lib/express_ui/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: express_ui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steven Talcott Smith
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2017-04-
|
13
|
+
date: 2017-04-12 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: express_templates
|
@@ -18,14 +18,14 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - '='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.11.
|
21
|
+
version: 0.11.18
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - '='
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: 0.11.
|
28
|
+
version: 0.11.18
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: rails
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -82,20 +82,6 @@ dependencies:
|
|
82
82
|
- - "~>"
|
83
83
|
- !ruby/object:Gem::Version
|
84
84
|
version: '4.7'
|
85
|
-
- !ruby/object:Gem::Dependency
|
86
|
-
name: pry
|
87
|
-
requirement: !ruby/object:Gem::Requirement
|
88
|
-
requirements:
|
89
|
-
- - ">="
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
version: '0'
|
92
|
-
type: :development
|
93
|
-
prerelease: false
|
94
|
-
version_requirements: !ruby/object:Gem::Requirement
|
95
|
-
requirements:
|
96
|
-
- - ">="
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
version: '0'
|
99
85
|
description: User interface library for AppExpress components (https://appexpress.io)
|
100
86
|
email:
|
101
87
|
- steve@aelogica.com
|
@@ -144,6 +130,7 @@ files:
|
|
144
130
|
- app/assets/stylesheets/express_ui/molecules/_nav.sass
|
145
131
|
- app/assets/stylesheets/express_ui/molecules/_tables.sass
|
146
132
|
- app/assets/stylesheets/express_ui/molecules/_tabs.sass
|
133
|
+
- app/assets/stylesheets/express_ui/organisms/_footer.sass
|
147
134
|
- app/assets/stylesheets/express_ui/organisms/_header.sass
|
148
135
|
- app/assets/stylesheets/express_ui/organisms/_sidebar.sass
|
149
136
|
- app/assets/stylesheets/express_ui/style.sass
|
@@ -155,6 +142,8 @@ files:
|
|
155
142
|
- app/components/code_demo.rb
|
156
143
|
- app/components/component_docitem.rb
|
157
144
|
- app/components/component_example.rb
|
145
|
+
- app/components/express_ui/panel.rb
|
146
|
+
- app/components/express_ui/table/express_table.rb
|
158
147
|
- app/components/express_ui/unordered_list.rb
|
159
148
|
- app/controllers/express_ui/about_controller.rb
|
160
149
|
- app/controllers/express_ui/application_controller.rb
|
@@ -166,6 +155,7 @@ files:
|
|
166
155
|
- app/jobs/express_ui/application_job.rb
|
167
156
|
- app/mailers/express_ui/application_mailer.rb
|
168
157
|
- app/models/express_ui/application_record.rb
|
158
|
+
- app/models/express_ui/examples/person.rb
|
169
159
|
- app/views/express_ui/atoms/_animations.html.erb
|
170
160
|
- app/views/express_ui/atoms/_buttons.html.erb
|
171
161
|
- app/views/express_ui/atoms/_headings.html.erb
|
@@ -217,13 +207,15 @@ files:
|
|
217
207
|
- app/views/express_ui/uicomponents/_lists.html.et
|
218
208
|
- app/views/express_ui/uicomponents/_nav.html.et
|
219
209
|
- app/views/express_ui/uicomponents/_pages.html.erb
|
220
|
-
- app/views/express_ui/uicomponents/
|
210
|
+
- app/views/express_ui/uicomponents/_panels.html.et
|
221
211
|
- app/views/express_ui/uicomponents/_popup.html.et
|
222
212
|
- app/views/express_ui/uicomponents/_register.html.erb
|
223
213
|
- app/views/express_ui/uicomponents/_sidebar.html.et
|
224
214
|
- app/views/express_ui/uicomponents/_table.html.et
|
225
|
-
- app/views/express_ui/uicomponents/_unordered_list.html.et
|
226
215
|
- app/views/express_ui/uicomponents/_widget_box.html.et
|
216
|
+
- app/views/express_ui/uicomponents/examples/_panel.html.et
|
217
|
+
- app/views/express_ui/uicomponents/examples/_unordered_list.html.et
|
218
|
+
- app/views/express_ui/uicomponents/examples/_unordered_list_with_ids.html.et
|
227
219
|
- app/views/express_ui/uicomponents/index.html.et
|
228
220
|
- app/views/layouts/express_ui/_head.html.erb
|
229
221
|
- app/views/layouts/express_ui/content_and_sidebar.html.erb
|
@@ -261,7 +253,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
261
253
|
version: '0'
|
262
254
|
requirements: []
|
263
255
|
rubyforge_project:
|
264
|
-
rubygems_version: 2.
|
256
|
+
rubygems_version: 2.4.7
|
265
257
|
signing_key:
|
266
258
|
specification_version: 4
|
267
259
|
summary: User interface library for AppExpress components
|
@@ -1,33 +0,0 @@
|
|
1
|
-
section {
|
2
|
-
para {
|
3
|
-
"A panel is a way of boxing up groups of related contents to separate it from the rest of the document. Panels usually have a header, content body, and footer. Normal content blocks don't need to be in panels if all they are are texts or images. Panels have styling options. "
|
4
|
-
}
|
5
|
-
|
6
|
-
para {
|
7
|
-
'This outlines the basic structure of a panel'
|
8
|
-
}
|
9
|
-
|
10
|
-
highlight_code_block {
|
11
|
-
%Q{
|
12
|
-
<div class=\"panel\">
|
13
|
-
<div class=\"panel-heading\">
|
14
|
-
<h2>Heading</h2>
|
15
|
-
</div>
|
16
|
-
|
17
|
-
<div class=\"panel-body\">
|
18
|
-
{Content}
|
19
|
-
</div>
|
20
|
-
|
21
|
-
<div class=\"panel-footer\"></div>
|
22
|
-
</div>
|
23
|
-
}
|
24
|
-
}
|
25
|
-
|
26
|
-
|
27
|
-
code_demo {
|
28
|
-
%Q{
|
29
|
-
pane(){
|
30
|
-
}
|
31
|
-
}
|
32
|
-
}
|
33
|
-
}
|