express_admin 1.2.1 → 1.3.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/app/assets/javascripts/express_admin.js +2 -0
- data/app/assets/javascripts/express_admin/admin.js +2 -0
- data/app/assets/stylesheets/express_admin.css +0 -5
- data/app/assets/stylesheets/express_admin/components/_definition.sass +8 -0
- data/app/assets/stylesheets/express_admin/components/_pane.sass +2 -2
- data/app/assets/stylesheets/express_admin/components/_sub_menu.sass +2 -2
- data/app/assets/stylesheets/express_admin/components/_widget_box.sass +4 -4
- data/app/assets/stylesheets/express_admin/globals/_foundation_overrides.sass +2 -1
- data/app/assets/stylesheets/express_admin/globals/_mixins.sass +0 -2
- data/app/assets/stylesheets/express_admin/plugins/_select2.sass +475 -68
- data/app/assets/stylesheets/express_admin/plugins/_tinymce.sass +2 -0
- data/app/assets/stylesheets/express_admin/screen.sass +6 -1
- data/app/assets/stylesheets/express_admin/sections/_header.sass +1 -0
- data/app/assets/stylesheets/express_admin/sections/_main_content.sass +6 -2
- data/app/assets/stylesheets/express_admin/sections/_main_region.sass +10 -7
- data/app/assets/stylesheets/express_admin/sections/_page_body.sass +6 -3
- data/app/assets/stylesheets/express_admin/sections/_page_sidebar.sass +6 -2
- data/app/assets/stylesheets/express_admin/sections/_sidebar_region.sass +4 -3
- data/app/assets/stylesheets/express_admin/shared/_buttons.sass +0 -1
- data/app/assets/stylesheets/express_admin/shared/_forms.sass +14 -2
- data/app/assets/stylesheets/express_admin/shared/_trees.sass +7 -3
- data/app/assets/stylesheets/ionicons/{ionicons.css.sass → ionicons.sass} +0 -0
- data/app/components/express_admin/addon_sidebar_component.rb +23 -34
- data/app/components/express_admin/definition_list.rb +38 -0
- data/app/components/express_admin/definition_table.rb +51 -0
- data/app/components/express_admin/flash_message_component.rb +5 -11
- data/app/components/express_admin/layout_component.rb +2 -9
- data/app/components/express_admin/main_region.rb +4 -4
- data/app/components/express_admin/mega_menu_component.rb +40 -34
- data/app/components/express_admin/page_header_component.rb +8 -18
- data/app/components/express_admin/pane.rb +13 -10
- data/app/components/express_admin/setting_form.rb +23 -20
- data/app/components/express_admin/sidebar_region.rb +6 -4
- data/app/components/express_admin/smart_form.rb +21 -18
- data/app/components/express_admin/smart_table.rb +44 -40
- data/app/components/express_admin/widget_box.rb +8 -8
- data/app/helpers/express_admin/admin_helper.rb +1 -1
- data/app/views/devise/sessions/new.html.et +63 -0
- data/app/views/layouts/express_admin/admin.html.et +8 -9
- data/app/views/shared/express_admin/_navigation_bar.html.et +6 -5
- data/config/tinymce.yml +29 -0
- data/lib/core_extensions/string_promptify.rb +9 -0
- data/lib/express_admin.rb +1 -0
- data/lib/express_admin/engine.rb +11 -9
- data/lib/express_admin/version.rb +1 -1
- data/lib/generators/express_admin/install/install_generator.rb +7 -0
- data/lib/generators/express_admin/install/templates/views/devise/sessions/new.html.et +1 -0
- data/test/dummy/app/views/demo/sign_in.html.et +6 -6
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/test.log +11361 -0
- data/test/dummy/test/components/smart_form_test.rb +57 -34
- data/test/dummy/test/components/smart_table_test.rb +35 -35
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/1EoyfDwFVtgMAOjo7HPkor8TQbVaioOFx9hildx_DTQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/4OPIkynisipUm8vKo57HUhBMWFSHBno_IH6OdpK29IA.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/4hK1AdPGHbXGkebvk-nSvhxtCdOSlMYNWvA43CvQKhI.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/6c0H20s6oHf45XogeDELaojxa0PX1NmirTTWV1ClcRw.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/9QvwPXfTSVmgQX6tdK9GuCn0--MZ8Z8eJJbHpUEq1p8.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/BoKdGhgi5NHfGTc42p9nltpEIYj_BBUxVdv7YhpBmmA.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/GJGMlSyTg1AvPCV_6PaLOTVEKbHeVKY1jhCoaKuRlxM.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/H0aD5KRj-4fhORkqWcWZfKPOQfu_ggvt4OmYOl4S5mw.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/IBLgVNsKBbJxN8NQnh6zTc3bC_OG-8BhtA3xCNDV6ks.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Po8q4NrWy9Kymnz_HbOk-WbdGY_KuuXc6urGogTHe7U.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/V1aP9G-CVtOLR5PTnHleid8WC9TSfFAT1DzAygp_5CQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/WhePtBvZPmF1Jhdcc4glsjhxBJQo9Qw0CDgy_F8lClY.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/dVokuKbK8HbOtvPIksKGBAYE8x44l372dQ0gEISqbdo.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/oN1zSGeSEz4KhkAuUF_yFDsCVPkulfFjomEAjFzGdPc.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/qIeSoker4TjM7JYRQTOjgRd4nN0WeHnNY1GMK7Zpe8M.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/tTFLM1bjKSeg4nyH7GWbTY6JVvuYhNKFFvsOMS9h8O0.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/tzX-HHF4F70o-aSB9Z_duoPxFGDv3auYnrpko9SYafU.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/vMbWbI1SO5bEaiu2pRvV8NDmms_j5flYoRvCSJavhdU.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ypZCDLo54Pz2ZoUxrxSEUjT5FYMAq8Ozp8OTOYDRdAE.cache +0 -0
- data/test/fixtures/categories.yml +8 -0
- data/test/test_helper.rb +34 -0
- data/vendor/gems/express_templates/CHANGELOG.md +12 -0
- data/vendor/gems/express_templates/Gemfile.lock +4 -1
- data/vendor/gems/express_templates/README.md +22 -41
- data/vendor/gems/express_templates/express_templates.gemspec +1 -0
- data/vendor/gems/express_templates/lib/arbre/patches.rb +50 -0
- data/vendor/gems/express_templates/lib/core_extensions/proc.rb +1 -0
- data/vendor/gems/express_templates/lib/express_templates.rb +2 -3
- data/vendor/gems/express_templates/lib/express_templates/compiler.rb +2 -7
- data/vendor/gems/express_templates/lib/express_templates/components.rb +1 -9
- data/vendor/gems/express_templates/lib/express_templates/components/base.rb +33 -37
- data/vendor/gems/express_templates/lib/express_templates/components/capabilities/resourceful.rb +30 -18
- data/vendor/gems/express_templates/lib/express_templates/components/configurable.rb +41 -0
- data/vendor/gems/express_templates/lib/express_templates/components/form_rails_support.rb +5 -6
- data/vendor/gems/express_templates/lib/express_templates/components/forms.rb +0 -1
- data/vendor/gems/express_templates/lib/express_templates/components/forms/basic_fields.rb +3 -6
- data/vendor/gems/express_templates/lib/express_templates/components/forms/checkbox.rb +1 -1
- data/vendor/gems/express_templates/lib/express_templates/components/forms/express_form.rb +15 -25
- data/vendor/gems/express_templates/lib/express_templates/components/forms/form_component.rb +20 -11
- data/vendor/gems/express_templates/lib/express_templates/components/forms/option_support.rb +2 -2
- data/vendor/gems/express_templates/lib/express_templates/components/forms/radio.rb +7 -8
- data/vendor/gems/express_templates/lib/express_templates/components/forms/select.rb +61 -37
- data/vendor/gems/express_templates/lib/express_templates/components/forms/select_collection.rb +2 -8
- data/vendor/gems/express_templates/lib/express_templates/components/forms/submit.rb +7 -6
- data/vendor/gems/express_templates/lib/express_templates/components/tree_for.rb +26 -42
- data/vendor/gems/express_templates/lib/express_templates/version.rb +1 -1
- data/vendor/gems/express_templates/test/components/base_test.rb +17 -15
- data/vendor/gems/express_templates/test/components/capabilities/resourceful_test.rb +3 -3
- data/vendor/gems/express_templates/test/components/configurable_test.rb +27 -21
- data/vendor/gems/express_templates/test/components/forms/basic_fields_test.rb +57 -17
- data/vendor/gems/express_templates/test/components/forms/checkbox_test.rb +16 -22
- data/vendor/gems/express_templates/test/components/forms/express_form_test.rb +23 -76
- data/vendor/gems/express_templates/test/components/forms/radio_test.rb +31 -27
- data/vendor/gems/express_templates/test/components/forms/select_test.rb +46 -71
- data/vendor/gems/express_templates/test/components/forms/submit_test.rb +10 -5
- data/vendor/gems/express_templates/test/components/tree_for_test.rb +24 -52
- data/vendor/gems/express_templates/test/dummy/app/views/hello/show.html.et +4 -3
- data/vendor/gems/express_templates/test/dummy/app/views/layouts/application.html.et +1 -1
- data/vendor/gems/express_templates/test/dummy/log/test.log +4296 -0
- data/vendor/gems/express_templates/test/express_templates_test.rb +5 -1
- data/vendor/gems/express_templates/test/handler_test.rb +19 -17
- data/vendor/gems/express_templates/test/performance_test.rb +11 -7
- data/vendor/gems/express_templates/test/test_helper.rb +162 -1
- metadata +58 -47
- data/app/assets/stylesheets/express_admin/components/_megadropdown.sass +0 -66
- data/vendor/gems/express_templates/diagrams/diagram.graffle +0 -2404
- data/vendor/gems/express_templates/diagrams/diagram_express_templates.png +0 -0
- data/vendor/gems/express_templates/diagrams/diagram_haml_erb.png +0 -0
- data/vendor/gems/express_templates/lib/express_templates/components/capabilities/adoptable.rb +0 -20
- data/vendor/gems/express_templates/lib/express_templates/components/capabilities/building.rb +0 -14
- data/vendor/gems/express_templates/lib/express_templates/components/capabilities/conditionality.rb +0 -54
- data/vendor/gems/express_templates/lib/express_templates/components/capabilities/configurable.rb +0 -90
- data/vendor/gems/express_templates/lib/express_templates/components/capabilities/iterating.rb +0 -75
- data/vendor/gems/express_templates/lib/express_templates/components/capabilities/parenting.rb +0 -72
- data/vendor/gems/express_templates/lib/express_templates/components/capabilities/rendering.rb +0 -30
- data/vendor/gems/express_templates/lib/express_templates/components/capabilities/templating.rb +0 -198
- data/vendor/gems/express_templates/lib/express_templates/components/capabilities/wrapping.rb +0 -84
- data/vendor/gems/express_templates/lib/express_templates/components/column.rb +0 -13
- data/vendor/gems/express_templates/lib/express_templates/components/container.rb +0 -7
- data/vendor/gems/express_templates/lib/express_templates/components/content_for.rb +0 -42
- data/vendor/gems/express_templates/lib/express_templates/components/for_each.rb +0 -30
- data/vendor/gems/express_templates/lib/express_templates/components/forms/form_support.rb +0 -13
- data/vendor/gems/express_templates/lib/express_templates/components/null_wrap.rb +0 -41
- data/vendor/gems/express_templates/lib/express_templates/components/row.rb +0 -28
- data/vendor/gems/express_templates/lib/express_templates/components/table_for.rb +0 -163
- data/vendor/gems/express_templates/lib/express_templates/components/unless_block.rb +0 -40
- data/vendor/gems/express_templates/lib/express_templates/expander.rb +0 -140
- data/vendor/gems/express_templates/lib/express_templates/macro.rb +0 -45
- data/vendor/gems/express_templates/lib/express_templates/markup.rb +0 -9
- data/vendor/gems/express_templates/lib/express_templates/markup/html_tag.rb +0 -62
- data/vendor/gems/express_templates/lib/express_templates/markup/tag.rb +0 -150
- data/vendor/gems/express_templates/lib/express_templates/markup/wrapper.rb +0 -94
- data/vendor/gems/express_templates/lib/express_templates/markup/yielder.rb +0 -21
- data/vendor/gems/express_templates/test/components/column_test.rb +0 -11
- data/vendor/gems/express_templates/test/components/conditionality_test.rb +0 -37
- data/vendor/gems/express_templates/test/components/container_test.rb +0 -66
- data/vendor/gems/express_templates/test/components/content_for_test.rb +0 -60
- data/vendor/gems/express_templates/test/components/iterating_test.rb +0 -127
- data/vendor/gems/express_templates/test/components/null_wrap_test.rb +0 -28
- data/vendor/gems/express_templates/test/components/row_test.rb +0 -16
- data/vendor/gems/express_templates/test/components/table_for_test.rb +0 -211
- data/vendor/gems/express_templates/test/expander_stack_test.rb +0 -41
- data/vendor/gems/express_templates/test/expander_test.rb +0 -99
- data/vendor/gems/express_templates/test/markup/tag_test.rb +0 -149
- data/vendor/gems/express_templates/test/markup/wrapper_test.rb +0 -42
- data/vendor/gems/express_templates/test/markup/yielder_test.rb +0 -9
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
@import 'components/module_sidebar'
|
|
19
19
|
@import 'components/widget_box'
|
|
20
20
|
@import 'components/pane'
|
|
21
|
+
@import 'components/definition'
|
|
21
22
|
|
|
22
23
|
@import 'shared/media_object'
|
|
23
24
|
@import 'shared/breadcrumbs'
|
|
@@ -33,10 +34,11 @@
|
|
|
33
34
|
@import 'shared/reveal'
|
|
34
35
|
|
|
35
36
|
@import 'components/empty_state'
|
|
36
|
-
@import 'components/megadropdown'
|
|
37
37
|
|
|
38
38
|
@import 'plugins/dataTables'
|
|
39
39
|
@import 'plugins/select2'
|
|
40
|
+
@import 'plugins/tinymce'
|
|
41
|
+
@import '../ionicons/ionicons'
|
|
40
42
|
|
|
41
43
|
.generate-subdomain
|
|
42
44
|
cursor: pointer
|
|
@@ -45,6 +47,9 @@
|
|
|
45
47
|
margin:
|
|
46
48
|
bottom: 30px
|
|
47
49
|
|
|
50
|
+
.hidden
|
|
51
|
+
display: none
|
|
52
|
+
|
|
48
53
|
#app_subdomain
|
|
49
54
|
|
|
50
55
|
&:read-only
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
.main-container
|
|
2
|
-
@include
|
|
2
|
+
@include grid-frame($orientation: vertical)
|
|
3
3
|
|
|
4
4
|
> .main-page
|
|
5
|
-
@include
|
|
5
|
+
@include grid-block
|
|
6
|
+
@include breakpoint(small)
|
|
7
|
+
@include grid-orient(vertical)
|
|
8
|
+
@include breakpoint(medium)
|
|
9
|
+
@include grid-orient(horizontal)
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
.main-region
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
@include grid-content
|
|
3
|
+
@include breakpoint(small)
|
|
4
|
+
@include grid-size(12)
|
|
5
|
+
@include breakpoint(medium)
|
|
6
|
+
@include grid-size(8)
|
|
7
|
+
@include breakpoint(large)
|
|
8
|
+
@include grid-size(9)
|
|
9
|
+
|
|
10
|
+
border:
|
|
11
|
+
right: 1px solid $border-color
|
|
9
12
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
.page-body
|
|
2
|
+
@include grid-block
|
|
2
3
|
@include breakpoint(small)
|
|
3
|
-
@include
|
|
4
|
-
|
|
4
|
+
@include grid-orient(vertical)
|
|
5
5
|
@include breakpoint(medium)
|
|
6
|
-
@include
|
|
6
|
+
@include grid-orient(horizontal)
|
|
7
|
+
@include grid-size(10)
|
|
8
|
+
@include breakpoint(xlarge)
|
|
9
|
+
@include grid-size(11)
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
.sidebar-region
|
|
2
|
+
@include grid-block($orientation: vertical)
|
|
2
3
|
@include breakpoint(small)
|
|
3
|
-
@include
|
|
4
|
+
@include grid-size(12)
|
|
4
5
|
@include breakpoint(medium)
|
|
5
|
-
@include
|
|
6
|
+
@include grid-size(4)
|
|
6
7
|
@include breakpoint(large)
|
|
7
|
-
@include
|
|
8
|
+
@include grid-size(3)
|
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
form
|
|
2
|
-
|
|
2
|
+
margin:
|
|
3
|
+
bottom: 1rem
|
|
3
4
|
|
|
4
5
|
textarea
|
|
5
|
-
|
|
6
|
+
resize: none
|
|
6
7
|
|
|
7
8
|
select[multiple]
|
|
8
9
|
height: 6rem
|
|
10
|
+
|
|
11
|
+
.help
|
|
12
|
+
color: $gray
|
|
13
|
+
font:
|
|
14
|
+
style: italic
|
|
15
|
+
|
|
16
|
+
.login-box
|
|
17
|
+
background: #fff
|
|
18
|
+
border: 1px solid #ddd
|
|
19
|
+
margin: 100px 0
|
|
20
|
+
padding: 40px 20px 0 20px
|
|
File without changes
|
|
@@ -1,42 +1,31 @@
|
|
|
1
1
|
module ExpressAdmin
|
|
2
|
+
# renders a sidebar partial if one is available
|
|
3
|
+
# otherwise uses menu.yml
|
|
2
4
|
class AddonSidebarComponent < ExpressTemplates::Components::Base
|
|
3
|
-
# Replaces:
|
|
4
|
-
#
|
|
5
|
-
# .sidebar-wrapper
|
|
6
|
-
# %aside.sidebar
|
|
7
|
-
# %h5.title= <addon>::Engine.express_admin_menu.name
|
|
8
|
-
# %ul.side-nav
|
|
9
|
-
# - <addon>::Engine.express_admin_menu.items.each do |item|
|
|
10
|
-
# %li
|
|
11
|
-
# = link_to item.name, eval(item.path)
|
|
12
5
|
|
|
13
|
-
|
|
6
|
+
emits -> {
|
|
7
|
+
begin
|
|
8
|
+
render("shared/#{helpers.current_module_path_name}/sidebar")
|
|
9
|
+
rescue Exception => e
|
|
10
|
+
section(class: 'module-sidebar') {
|
|
11
|
+
ul(class: 'menu-items') {
|
|
12
|
+
li(class: 'title') { current_menu_name }
|
|
13
|
+
menu_list(helpers.current_menu.items)
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
end
|
|
17
|
+
}
|
|
14
18
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
menu_wrapper: -> {
|
|
22
|
-
section._module_sidebar {
|
|
23
|
-
ul._menu_items {
|
|
24
|
-
li.title { menu_name }
|
|
25
|
-
_yield
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
for_each -> { current_menu.items || [] }, as: :item, emit: :menu_item
|
|
31
|
-
|
|
32
|
-
wrap_with :menu_wrapper
|
|
19
|
+
def menu_list(list)
|
|
20
|
+
list.each do |item|
|
|
21
|
+
menu_list_item(item)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
33
24
|
|
|
34
|
-
def
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
#{super}
|
|
39
|
-
end)
|
|
25
|
+
def menu_list_item(item)
|
|
26
|
+
li {
|
|
27
|
+
link_to item.title.html_safe, helpers.instance_eval(item.path)
|
|
28
|
+
}
|
|
40
29
|
end
|
|
41
30
|
|
|
42
31
|
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
module ExpressAdmin
|
|
2
|
+
class DefinitionList < ExpressTemplates::Components::Configurable
|
|
3
|
+
include ExpressTemplates::Components::Capabilities::Resourceful
|
|
4
|
+
|
|
5
|
+
emits -> {
|
|
6
|
+
dl {
|
|
7
|
+
definitions.each do |label, content|
|
|
8
|
+
dt { label }
|
|
9
|
+
dd { content }
|
|
10
|
+
end
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
def definitions
|
|
15
|
+
if @args.first.kind_of?(Array)
|
|
16
|
+
definitions_from_array(@args.first)
|
|
17
|
+
elsif @args.first.kind_of?(Hash)
|
|
18
|
+
definitions_from_hash(@args.first)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def definitions_from_hash(hash)
|
|
23
|
+
processed = hash.map do |k,v|
|
|
24
|
+
if v.kind_of? Symbol
|
|
25
|
+
[k, resource.send(v)]
|
|
26
|
+
else
|
|
27
|
+
[k, v]
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
Hash[processed]
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def definitions_from_array(fields)
|
|
34
|
+
Hash[fields.map {|field| ["#{field.to_s.titleize}:", resource.send(field)]}]
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module ExpressAdmin
|
|
2
|
+
class DefinitionTable < ExpressTemplates::Components::Configurable
|
|
3
|
+
include ExpressTemplates::Components::Capabilities::Resourceful
|
|
4
|
+
|
|
5
|
+
emits -> {
|
|
6
|
+
table(class: 'definitions') {
|
|
7
|
+
tbody {
|
|
8
|
+
definitions.each do |label, content|
|
|
9
|
+
tr {
|
|
10
|
+
th(align: "right") { label }
|
|
11
|
+
td { content }
|
|
12
|
+
}
|
|
13
|
+
end
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
def definitions
|
|
19
|
+
if @args.nil?
|
|
20
|
+
definitions_from_hash(config)
|
|
21
|
+
elsif @args.first.try(:kind_of?, Array)
|
|
22
|
+
definitions_from_array(@args.first)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def definitions_from_hash(hash)
|
|
27
|
+
processed = hash.map do |k,v|
|
|
28
|
+
if v.kind_of? Symbol
|
|
29
|
+
[promptify(k), resource.send(v)]
|
|
30
|
+
else
|
|
31
|
+
[promptify(k), helpers.instance_eval("(#{v.source}).call(resource).to_s").html_safe]
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
Hash[processed]
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def definitions_from_array(fields)
|
|
38
|
+
Hash[fields.map {|field| ["#{field.to_s.titleize}:", "{{resource.#{field}}}"]}]
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
private
|
|
42
|
+
def promptify(k)
|
|
43
|
+
if k.kind_of?(Symbol)
|
|
44
|
+
k.to_s.promptify
|
|
45
|
+
else
|
|
46
|
+
k.to_s
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
module ExpressAdmin
|
|
2
2
|
class FlashMessageComponent < ExpressTemplates::Components::Base
|
|
3
3
|
|
|
4
|
-
helper(:safe_message) {|message| message[1] }
|
|
5
|
-
helper(:classes) {|message| "flash nav-alert alert-box " }
|
|
6
|
-
|
|
7
4
|
emits -> {
|
|
8
|
-
|
|
9
|
-
div(class:
|
|
10
|
-
|
|
11
|
-
a
|
|
5
|
+
helpers.flash.each do |flash_message|
|
|
6
|
+
div(class:"flash nav-alert alert-box ", data: {alert: ''}) {
|
|
7
|
+
span flash_message[1]
|
|
8
|
+
a(class: 'close', href: "#") { "×".html_safe }
|
|
12
9
|
}
|
|
13
|
-
|
|
10
|
+
end
|
|
14
11
|
}
|
|
15
|
-
|
|
16
|
-
for_each -> { flash }, as: :flash_message
|
|
17
|
-
|
|
18
12
|
end
|
|
19
13
|
end
|
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
module ExpressAdmin
|
|
2
|
-
class LayoutComponent < ExpressTemplates::Components::
|
|
3
|
-
include ExpressTemplates::Components::Capabilities::Configurable
|
|
4
|
-
include ExpressTemplates::Components::Capabilities::Parenting
|
|
5
|
-
|
|
2
|
+
class LayoutComponent < ExpressTemplates::Components::Configurable
|
|
6
3
|
def dom_id
|
|
7
|
-
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def classes
|
|
11
|
-
([macro_name] + (@config.try(:[], :class)||[])).join(" ")
|
|
4
|
+
config.try(:[], :id)
|
|
12
5
|
end
|
|
13
6
|
end
|
|
14
7
|
end
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
module ExpressAdmin
|
|
2
|
-
class MainRegion < ExpressTemplates::Components::
|
|
3
|
-
emits -> {
|
|
4
|
-
div
|
|
5
|
-
|
|
2
|
+
class MainRegion < ExpressTemplates::Components::Configurable
|
|
3
|
+
emits -> (block) {
|
|
4
|
+
div(class: 'main-region') {
|
|
5
|
+
block.call(self) if block
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
8
|
end
|
|
@@ -18,44 +18,50 @@ module ExpressAdmin
|
|
|
18
18
|
# %span.icon.ion-plus
|
|
19
19
|
# Add Module
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
emits -> {
|
|
22
|
+
menu_wrapper {
|
|
23
|
+
if helpers.admin_menus.any?
|
|
24
|
+
helpers.admin_menus.each do |menu|
|
|
25
|
+
menu_item(menu)
|
|
26
|
+
end
|
|
27
|
+
else
|
|
28
|
+
para(class: 'lead text-muted') {
|
|
29
|
+
"No modules added yet."
|
|
30
|
+
}
|
|
31
|
+
end
|
|
32
|
+
}
|
|
23
33
|
}
|
|
24
34
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
i.icon(class: "icon-express_{{menu.title.downcase}}")
|
|
29
|
-
span "{{menu.title}}"
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
|
|
34
|
-
empty_state: -> {
|
|
35
|
-
p.lead._text_muted "No modules added yet."
|
|
36
|
-
},
|
|
37
|
-
|
|
38
|
-
menu_wrapper: -> {
|
|
39
|
-
li._has_sub_menu {
|
|
40
|
-
a._sub_menu_expander(href: '#', onClick: 'return false;') {
|
|
41
|
-
span.item { 'Manage' }
|
|
42
|
-
i._ion_arrow_down_b
|
|
43
|
-
}
|
|
44
|
-
div._sub_menu.hidden {
|
|
45
|
-
ul._sub_menu_items {
|
|
46
|
-
li.title { 'Modules' }
|
|
47
|
-
_yield
|
|
48
|
-
}
|
|
49
|
-
ul._sub_menu_items {
|
|
50
|
-
extra_menu
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
35
|
+
def extra_menu
|
|
36
|
+
render(partial: 'shared/express_admin/express_admin_extra_menu') rescue nil
|
|
37
|
+
end
|
|
55
38
|
|
|
56
|
-
|
|
39
|
+
def menu_item(menu)
|
|
40
|
+
li {
|
|
41
|
+
a(href: helpers.instance_eval(menu.path)) {
|
|
42
|
+
i(class: "icon icon-express_#{menu.title.gsub(/\s+/, '').underscore}")
|
|
43
|
+
span menu.title
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
end
|
|
57
47
|
|
|
58
|
-
|
|
48
|
+
def menu_wrapper
|
|
49
|
+
li(class: "has-sub-menu") {
|
|
50
|
+
a(class: "sub-menu-expander", href: '#', onClick: 'return false;') {
|
|
51
|
+
span(class: 'item') {'Manage' }
|
|
52
|
+
i(class: "ion-arrow-down-b")
|
|
53
|
+
}
|
|
54
|
+
div(class: 'sub-menu hidden') {
|
|
55
|
+
ul(class: 'sub-menu-items') {
|
|
56
|
+
li(class: 'title') { 'Modules' }
|
|
57
|
+
yield
|
|
58
|
+
}
|
|
59
|
+
ul(class: 'sub-menu-items') {
|
|
60
|
+
extra_menu
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
end
|
|
59
65
|
|
|
60
66
|
end
|
|
61
67
|
end
|