para 0.6.9 → 0.7.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/images/para/admin/tangram-mosaic.png +0 -0
- data/app/assets/images/para/admin/template-section.svg +23 -0
- data/app/assets/javascripts/para/admin.coffee +20 -0
- data/app/assets/javascripts/para/admin/tabs.coffee +22 -5
- data/app/assets/javascripts/para/admin/theme_actions.coffee +3 -3
- data/app/assets/javascripts/para/inputs/material-input.coffee +4 -0
- data/app/assets/javascripts/para/inputs/multi-select-input.coffee +173 -0
- data/app/assets/javascripts/para/inputs/nested_many.coffee +9 -9
- data/app/assets/stylesheets/para/admin.sass +5 -5
- data/app/assets/stylesheets/para/admin/main.sass +32 -0
- data/app/assets/stylesheets/para/admin/src/_alert.sass +17 -0
- data/app/assets/stylesheets/para/admin/src/_base.sass +51 -0
- data/app/assets/stylesheets/para/admin/src/_bootstrap-variables.scss +874 -0
- data/app/assets/stylesheets/para/admin/src/_breadcrumb.sass +22 -0
- data/app/assets/stylesheets/para/admin/src/_buttons.sass +107 -0
- data/app/assets/stylesheets/para/admin/src/_checkable.sass +94 -0
- data/app/assets/stylesheets/para/admin/src/_common.sass +203 -0
- data/app/assets/stylesheets/para/admin/src/_dropdown.sass +40 -0
- data/app/assets/stylesheets/para/admin/src/_form.sass +271 -0
- data/app/assets/stylesheets/para/admin/src/_list.sass +61 -0
- data/app/assets/stylesheets/para/admin/src/_mixins.sass +113 -0
- data/app/assets/stylesheets/para/admin/src/_multi-select.sass +91 -0
- data/app/assets/stylesheets/para/admin/src/_navigation.sass +150 -0
- data/app/assets/stylesheets/para/admin/src/_navtabs.sass +41 -0
- data/app/assets/stylesheets/para/admin/src/_nested-many.sass +69 -0
- data/app/assets/stylesheets/para/admin/src/_nested_one.sass +13 -0
- data/app/assets/stylesheets/para/admin/src/_orderable.sass +44 -0
- data/app/assets/stylesheets/para/admin/src/_page-loading.sass +39 -0
- data/app/assets/stylesheets/para/admin/src/_pagination.sass +34 -0
- data/app/assets/stylesheets/para/admin/src/_panel.sass +55 -0
- data/app/assets/stylesheets/para/admin/src/_responsive.sass +100 -0
- data/app/assets/stylesheets/para/admin/{theme → src}/_sorting.sass +11 -3
- data/app/assets/stylesheets/para/admin/src/_statcard.sass +41 -0
- data/app/assets/stylesheets/para/admin/src/_table.sass +33 -0
- data/app/assets/stylesheets/para/admin/src/_tree.sass +52 -0
- data/app/assets/stylesheets/para/admin/src/_variables.sass +37 -0
- data/app/assets/stylesheets/para/admin/src/_well.sass +12 -0
- data/app/assets/stylesheets/para/{admin/src → lib}/datetimepicker.sass +1 -3
- data/app/assets/stylesheets/para/{admin/src → lib}/fuelux.sass +3 -5
- data/app/assets/stylesheets/para/lib/jasny-bootstrap.sass +97 -0
- data/app/assets/stylesheets/para/{admin/src → lib}/redactor.sass +2 -5
- data/app/assets/stylesheets/para/lib/selectize.sass +112 -0
- data/app/assets/stylesheets/para/lib/slider.sass +12 -0
- data/app/controllers/concerns/para/admin/resource_controller_concerns.rb +14 -2
- data/app/controllers/para/admin/base_controller.rb +7 -0
- data/app/controllers/para/admin/crud_resources_controller.rb +13 -6
- data/app/controllers/para/admin/form_resources_controller.rb +5 -3
- data/app/controllers/para/admin/resources_controller.rb +9 -3
- data/app/controllers/para/admin/search_controller.rb +15 -0
- data/app/controllers/para/application_controller.rb +10 -2
- data/app/helpers/para/admin/page_helper.rb +9 -9
- data/app/helpers/para/application_helper.rb +1 -10
- data/app/helpers/para/form_helper.rb +5 -6
- data/app/helpers/para/model_helper.rb +13 -3
- data/app/helpers/para/ordering_helper.rb +1 -1
- data/app/helpers/para/search_results_helper.rb +16 -0
- data/app/helpers/para/tree_helper.rb +10 -6
- data/app/models/para/page.rb +5 -0
- data/app/models/para/page/section.rb +42 -0
- data/app/models/para/page/section_resource.rb +12 -0
- data/app/views/layouts/para/admin.html.haml +5 -8
- data/app/views/para/admin/dashboard.html.haml +21 -8
- data/app/views/para/admin/form_resources/show.html.haml +1 -1
- data/app/views/para/admin/imports/new.html.haml +2 -2
- data/app/views/para/admin/resources/_actions.html.haml +3 -3
- data/app/views/para/admin/resources/_add_button.html.haml +1 -1
- data/app/views/para/admin/resources/_exports_menu.html.haml +6 -6
- data/app/views/para/admin/resources/_filters.html.haml +7 -8
- data/app/views/para/admin/resources/_imports_menu.html.haml +6 -6
- data/app/views/para/admin/resources/_list.html.haml +14 -15
- data/app/views/para/admin/resources/_per_page_select.html.haml +4 -3
- data/app/views/para/admin/resources/_subclassable_add_button.html.haml +3 -3
- data/app/views/para/admin/resources/_tree.html.haml +7 -9
- data/app/views/para/admin/resources/_tree_item.html.haml +5 -6
- data/app/views/para/admin/resources/edit.html.haml +1 -1
- data/app/views/para/admin/resources/new.html.haml +1 -1
- data/app/views/para/admin/search/_result.html.haml +7 -0
- data/app/views/para/admin/search/index.html.haml +1 -0
- data/app/views/para/admin/settings_component/show.html.haml +1 -1
- data/app/views/para/admin/shared/_breadcrumbs.html.haml +2 -3
- data/app/views/para/admin/shared/_header.html.haml +16 -27
- data/app/views/para/admin/shared/_navigation.html.haml +20 -19
- data/app/views/para/form/_tabs.html.haml +6 -7
- data/app/views/para/inputs/_multi_select.html.haml +40 -0
- data/app/views/para/inputs/_nested_many.html.haml +4 -4
- data/app/views/para/inputs/multi_select/_no_items.html.haml +6 -0
- data/app/views/para/inputs/nested_many/_add.html.haml +1 -2
- data/app/views/para/inputs/nested_many/_add_with_subclasses.html.haml +4 -5
- data/app/views/para/inputs/nested_many/_container.html.haml +7 -8
- data/app/views/shared/_breadcrumbs.html.haml +4 -0
- data/config/locales/fr.yml +29 -4
- data/db/migrate/20170324125547_create_para_page_section_resources.rb +15 -0
- data/lib/generators/para/filters/templates/_filters.html.haml +3 -5
- data/lib/generators/para/install/templates/initializer.rb +12 -0
- data/lib/generators/para/page/section/section_generator.rb +13 -2
- data/lib/generators/para/page/section/templates/section.html.haml.erb +3 -0
- data/lib/generators/para/resource/resource_generator.rb +1 -1
- data/lib/para.rb +25 -21
- data/lib/para/attribute_field.rb +2 -0
- data/lib/para/attribute_field/base.rb +1 -1
- data/lib/para/attribute_field/belongs_to.rb +1 -1
- data/lib/para/attribute_field/boolean.rb +1 -1
- data/lib/para/attribute_field/friendly_id.rb +19 -0
- data/lib/para/attribute_field/has_many.rb +43 -4
- data/lib/para/attribute_field/nested_field.rb +46 -0
- data/lib/para/attribute_field/nested_many.rb +30 -9
- data/lib/para/attribute_field/nested_one.rb +28 -9
- data/lib/para/attribute_field/password.rb +1 -1
- data/lib/para/attribute_field/relation.rb +19 -1
- data/lib/para/attribute_field_mappings.rb +9 -3
- data/lib/para/breadcrumbs/breadcrumb.rb +57 -10
- data/lib/para/breadcrumbs/controller.rb +19 -6
- data/lib/para/breadcrumbs/manager.rb +9 -1
- data/lib/para/config.rb +3 -0
- data/lib/para/controller_resource.rb +34 -0
- data/lib/para/engine.rb +33 -14
- data/lib/para/exporter/base.rb +1 -1
- data/lib/para/ext.rb +1 -1
- data/lib/para/ext/active_record_nested_attributes.rb +51 -0
- data/lib/para/ext/paperclip.rb +2 -6
- data/lib/para/form_builder.rb +3 -0
- data/lib/para/form_builder/attributes_mappings_tracker.rb +45 -0
- data/lib/para/form_builder/containers.rb +13 -17
- data/lib/para/form_builder/nested_form.rb +2 -3
- data/lib/para/helpers.rb +8 -0
- data/lib/para/helpers/attributes_mappings.rb +13 -0
- data/lib/para/helpers/resource_name.rb +14 -0
- data/lib/para/inputs.rb +1 -0
- data/lib/para/inputs/multi_select_input.rb +90 -0
- data/lib/para/inputs/nested_many_input.rb +6 -1
- data/lib/para/markup/resources_table.rb +15 -11
- data/lib/para/model_field_parsers.rb +3 -2
- data/lib/para/model_field_parsers/base.rb +7 -2
- data/lib/para/model_field_parsers/friendly_id.rb +19 -0
- data/lib/para/model_field_parsers/relations.rb +20 -1
- data/lib/para/page/model.rb +3 -1
- data/lib/para/routes.rb +1 -0
- data/lib/para/simple_form_config.rb +85 -0
- data/lib/para/version.rb +1 -1
- data/lib/rails/routing_mapper.rb +5 -8
- data/vendor/assets/javascripts/jasny-bootstrap.js +577 -0
- data/vendor/assets/stylesheets/animate.css +3340 -0
- data/vendor/assets/stylesheets/hint.css +649 -0
- data/vendor/assets/stylesheets/jasny-bootstrap.css +287 -0
- metadata +114 -67
- data/app/assets/images/para/admin/bg.png +0 -0
- data/app/assets/javascripts/para/admin.js +0 -20
- data/app/assets/stylesheets/admin/theme.sass +0 -0
- data/app/assets/stylesheets/para/admin/src/jasny.bootstrap.sass +0 -40
- data/app/assets/stylesheets/para/admin/src/nested_many.sass +0 -5
- data/app/assets/stylesheets/para/admin/src/page-loading.sass +0 -24
- data/app/assets/stylesheets/para/admin/src/page-top-bar.sass +0 -9
- data/app/assets/stylesheets/para/admin/src/selectize.sass +0 -46
- data/app/assets/stylesheets/para/admin/src/slider.sass +0 -12
- data/app/assets/stylesheets/para/admin/theme.sass +0 -22
- data/app/assets/stylesheets/para/admin/theme/_base.sass +0 -176
- data/app/assets/stylesheets/para/admin/theme/_breadcrumb.sass +0 -75
- data/app/assets/stylesheets/para/admin/theme/_buttons.sass +0 -27
- data/app/assets/stylesheets/para/admin/theme/_checkable.sass +0 -108
- data/app/assets/stylesheets/para/admin/theme/_commonds.sass +0 -210
- data/app/assets/stylesheets/para/admin/theme/_dropdown.sass +0 -52
- data/app/assets/stylesheets/para/admin/theme/_form.sass +0 -150
- data/app/assets/stylesheets/para/admin/theme/_list.sass +0 -139
- data/app/assets/stylesheets/para/admin/theme/_navigation.sass +0 -229
- data/app/assets/stylesheets/para/admin/theme/_navtabs.sass +0 -151
- data/app/assets/stylesheets/para/admin/theme/_orderable.sass +0 -45
- data/app/assets/stylesheets/para/admin/theme/_panel.sass +0 -264
- data/app/assets/stylesheets/para/admin/theme/_responsive.sass +0 -123
- data/app/assets/stylesheets/para/admin/theme/_table.sass +0 -28
- data/app/assets/stylesheets/para/admin/theme/_tree.sass +0 -74
- data/app/assets/stylesheets/para/admin/theme/_variables.sass +0 -31
- data/app/assets/stylesheets/para/application.css +0 -15
- data/app/assets/stylesheets/para/lib/_variables.scss +0 -646
- data/app/assets/stylesheets/para/overrides/responsive.sass +0 -62
- data/app/assets/stylesheets/para/overrides/theme.sass +0 -172
- data/lib/para/ext/cancan.rb +0 -26
- data/vendor/assets/javascripts/jasny.bootstrap.min.js +0 -7
- data/vendor/assets/stylesheets/animate.min.css +0 -6
- data/vendor/assets/stylesheets/jasny.bootstrap.min.css +0 -7
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module Para
|
|
2
|
+
module SearchResultsHelper
|
|
3
|
+
def selected_item_for(result)
|
|
4
|
+
content_tag(:tr, class: 'selected-item', data: { :'selected-item-id' => result.id }) do
|
|
5
|
+
content_tag(:td, reorder_anchor, class: 'reorder-anchor-cell') +
|
|
6
|
+
content_tag(:td, resource_name(result)) +
|
|
7
|
+
|
|
8
|
+
content_tag(:td, class: 'remove-button-cell') do
|
|
9
|
+
button_tag type: :button, class: 'btn btn-xs btn-danger', data: { :'remove-item' => true } do
|
|
10
|
+
fa_icon 'arrow-left'
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -9,9 +9,7 @@ module Para
|
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
def actions(resource)
|
|
12
|
-
|
|
13
|
-
edit_button(resource) + delete_button(resource)
|
|
14
|
-
end
|
|
12
|
+
edit_button(resource) + delete_button(resource)
|
|
15
13
|
end
|
|
16
14
|
|
|
17
15
|
def edit_button(resource)
|
|
@@ -19,7 +17,10 @@ module Para
|
|
|
19
17
|
component.relation_path(
|
|
20
18
|
resource, action: :edit, return_to: view.request.fullpath
|
|
21
19
|
),
|
|
22
|
-
class: 'btn btn-primary'
|
|
20
|
+
class: 'btn btn-sm btn-icon-primary btn-shadow hint--left',
|
|
21
|
+
aria: {
|
|
22
|
+
label: ::I18n.t('para.shared.edit')
|
|
23
|
+
}
|
|
23
24
|
) do
|
|
24
25
|
content_tag(:i, '', class: 'fa fa-pencil')
|
|
25
26
|
end
|
|
@@ -32,9 +33,12 @@ module Para
|
|
|
32
33
|
data: {
|
|
33
34
|
confirm: ::I18n.t('para.list.delete_confirmation')
|
|
34
35
|
},
|
|
35
|
-
class: 'btn btn-danger'
|
|
36
|
+
class: 'btn btn-sm btn-icon-danger btn-shadow hint--left',
|
|
37
|
+
aria: {
|
|
38
|
+
label: ::I18n.t('para.shared.destroy')
|
|
39
|
+
}
|
|
36
40
|
) do
|
|
37
|
-
content_tag(:i, '', class: 'fa fa-
|
|
41
|
+
content_tag(:i, '', class: 'fa fa-times')
|
|
38
42
|
end
|
|
39
43
|
end
|
|
40
44
|
end
|
|
@@ -10,6 +10,48 @@ module Para
|
|
|
10
10
|
def css_class
|
|
11
11
|
@css_class ||= self.class.name.demodulize.underscore.gsub(/_/, '-')
|
|
12
12
|
end
|
|
13
|
+
|
|
14
|
+
class << self
|
|
15
|
+
# This method is a shortcut to create a has_many through relation
|
|
16
|
+
def section_resources(*args, &block)
|
|
17
|
+
_ensure_section_resources_relation
|
|
18
|
+
_create_section_resource_relation_for(*args, &block)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
private
|
|
22
|
+
|
|
23
|
+
def _ensure_section_resources_relation
|
|
24
|
+
return if @section_resources_already_initialized
|
|
25
|
+
|
|
26
|
+
has_many :section_resources, -> { ordered },
|
|
27
|
+
foreign_key: 'section_id',
|
|
28
|
+
class_name: '::Para::Page::SectionResource',
|
|
29
|
+
dependent: :destroy
|
|
30
|
+
accepts_nested_attributes_for :section_resources, allow_destroy: true
|
|
31
|
+
|
|
32
|
+
@section_resources_already_initialized = true
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def _create_section_resource_relation_for(*args, &block)
|
|
36
|
+
options = args.extract_options!
|
|
37
|
+
|
|
38
|
+
# Allow using :class_name option instead of :source_type to feel more
|
|
39
|
+
# like a direct has_many relation macro, and try to deduce the target
|
|
40
|
+
# class name from the relation name.
|
|
41
|
+
target_class_name = options.fetch(:class_name) do
|
|
42
|
+
args.first.to_s.singularize.camelize
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Fill the through relation options but let the user override them
|
|
46
|
+
options.reverse_merge!(
|
|
47
|
+
through: :section_resources,
|
|
48
|
+
source: :resource,
|
|
49
|
+
source_type: target_class_name
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
has_many(*args, options, &block)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
13
55
|
end
|
|
14
56
|
end
|
|
15
57
|
end
|
|
@@ -18,15 +18,12 @@
|
|
|
18
18
|
= csrf_meta_tags
|
|
19
19
|
|
|
20
20
|
%body
|
|
21
|
-
|
|
21
|
+
= render partial: 'para/admin/shared/navigation'
|
|
22
|
+
= render partial: 'para/admin/shared/header'
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
.container-fluid.page-content
|
|
25
|
+
= display_admin_flash
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
= render partial: 'para/admin/shared/header'
|
|
28
|
-
= display_admin_flash
|
|
29
|
-
|
|
30
|
-
= yield
|
|
27
|
+
= yield
|
|
31
28
|
|
|
32
29
|
= javascript_include_tag 'para/admin', :'data-turbolinks-eval' => false
|
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
= page_top_bar(title: t('para.dashboard.title'), type: 'dashboard/show')
|
|
2
2
|
|
|
3
|
-
.
|
|
4
|
-
-
|
|
5
|
-
.
|
|
6
|
-
|
|
7
|
-
.
|
|
8
|
-
=
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
- ordered_components.each_slice(3) do |components|
|
|
4
|
+
- components.each do |component|
|
|
5
|
+
.col-sm-6.col-md-6.col-lg-4.m-t-lg
|
|
6
|
+
= link_to component.path, class: 'statcard statcard-icon' do
|
|
7
|
+
%i.icon-rounded.bg-primary
|
|
8
|
+
= component.name[0,1]
|
|
9
|
+
.startcard-body
|
|
10
|
+
%h2.statcard-title
|
|
11
|
+
= component.name
|
|
11
12
|
|
|
13
|
+
%span.text-muted
|
|
14
|
+
- if component.type == "Para::Component::Crud"
|
|
15
|
+
= t('para.dashboard.statcard.ressources_count', count: component.resources.count)
|
|
16
|
+
- else
|
|
17
|
+
= t('para.dashboard.statcard.component_form_ressource')
|
|
18
|
+
|
|
19
|
+
-# Comment because is not dev at all for now
|
|
20
|
+
= link_to '#', class: 'thumbtack-link' do
|
|
21
|
+
%i.fa.fa-thumb-tack
|
|
22
|
+
|
|
23
|
+
-# Create spacing at the end off all statcards
|
|
24
|
+
.col-xs-12.m-t-lg
|
|
@@ -9,6 +9,6 @@
|
|
|
9
9
|
= form.input :attachment, label: false, placeholder: t('para.import.placeholder')
|
|
10
10
|
|
|
11
11
|
= modal.footer do
|
|
12
|
-
%button.btn.btn-primary{ type: 'submit' }
|
|
13
|
-
|
|
12
|
+
%button.btn.btn-primary.btn-shadow{ type: 'submit' }
|
|
13
|
+
%i.fa.fa-upload.fa-fw
|
|
14
14
|
= t('para.import.name')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
= add_button_for(component, relation, model) if allow_adding_resource
|
|
2
|
+
|
|
3
|
+
%ul.actions-control.pull-right
|
|
4
4
|
%li
|
|
5
5
|
= render partial: find_partial_for(relation, :exports_menu), locals: { component: component, model: model }
|
|
6
6
|
%li
|
|
@@ -1 +1 @@
|
|
|
1
|
-
= icon_link_to t('para.shared.add'), component.relation_path(model.model_name.singular_route_key, action: :new),
|
|
1
|
+
= icon_link_to t('para.shared.add'), component.relation_path(model.model_name.singular_route_key, action: :new), class: 'btn btn-primary btn-shadow add-button'
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
- if component.exporters.length == 1
|
|
3
3
|
- exporter = component.exporters.first
|
|
4
4
|
|
|
5
|
-
= link_to component.path(namespace: :exports, exporter: exporter.name, q: params[:q]), class: 'btn btn-default', method: :post, remote: true, data: { :'job-tracker-button' => true, :'refresh-on-close' => false } do
|
|
6
|
-
|
|
5
|
+
= link_to component.path(namespace: :exports, exporter: exporter.name, q: params[:q]), class: 'btn btn-default btn-shadow', method: :post, remote: true, data: { :'job-tracker-button' => true, :'refresh-on-close' => false } do
|
|
6
|
+
%i.fa.fa-download.fa-fw
|
|
7
7
|
= exporter.model_name.human
|
|
8
8
|
|
|
9
9
|
- else
|
|
10
|
-
.btn-group
|
|
11
|
-
%button.btn.btn-default{ type: 'button', data: { toggle: 'dropdown' } }
|
|
12
|
-
|
|
10
|
+
.btn-group.dropdown
|
|
11
|
+
%button.btn.btn-default.btn-shadow{ type: 'button', data: { toggle: 'dropdown' } }
|
|
12
|
+
%i.fa.fa-download.fa-fw
|
|
13
13
|
= t('para.export.name')
|
|
14
|
-
%
|
|
14
|
+
%i.fa.fa-angle-down
|
|
15
15
|
%ul.dropdown-menu
|
|
16
16
|
- component.exporters.each do |exporter|
|
|
17
17
|
%li
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
.
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
.flextable-item.flextable-primary
|
|
2
|
+
= search_form_for @q, builder: SimpleForm::FormBuilder, url: @component.path, html: { data: { :'filters-form' => true } } do |form|
|
|
3
|
+
.input-group.filter-form
|
|
4
|
+
= form.input_field fulltext_search_param_for(attributes), as: :string, placeholder: t('para.shared.search'), class: 'form-control'
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
= form.submit t('para.shared.search'), class: 'btn btn-default'
|
|
6
|
+
%span.input-group-btn
|
|
7
|
+
%button.btn{ type: 'submit' }
|
|
8
|
+
%i.fa.fa-search
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
- if component.importers.length == 1
|
|
3
3
|
- importer = component.importers.first
|
|
4
4
|
|
|
5
|
-
= link_to component.path(namespace: :import, action: :new, importer: importer.model_name.singular_route_key), class: 'btn btn-default', remote: true, data: { :'job-tracker-button' => true } do
|
|
6
|
-
|
|
5
|
+
= link_to component.path(namespace: :import, action: :new, importer: importer.model_name.singular_route_key), class: 'btn btn-default btn-shadow', remote: true, data: { :'job-tracker-button' => true } do
|
|
6
|
+
%i.fa.fa-upload.fa-fw
|
|
7
7
|
= importer.model_name.human
|
|
8
8
|
|
|
9
9
|
- else
|
|
10
|
-
.btn-group
|
|
11
|
-
%button.btn.btn-default{ type: 'button', data: { toggle: 'dropdown' } }
|
|
12
|
-
|
|
10
|
+
.btn-group.dropdown
|
|
11
|
+
%button.btn.btn-default.btn-shadow{ type: 'button', data: { toggle: 'dropdown' } }
|
|
12
|
+
%i.fa.fa-upload.fa-fw
|
|
13
13
|
= t('para.import.name')
|
|
14
|
-
%
|
|
14
|
+
%i.fa.fa-angle-down
|
|
15
15
|
%ul.dropdown-menu
|
|
16
16
|
- component.importers.each do |importer|
|
|
17
17
|
%li
|
|
@@ -1,28 +1,27 @@
|
|
|
1
1
|
.page-content-wrap
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
.page-list
|
|
3
|
+
.page-list-heading
|
|
4
4
|
= render partial: find_partial_for(relation, :actions), locals: { relation: relation, component: component, model: model, allow_adding_resource: allow_adding_resource }
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
.page-list-heading
|
|
7
|
+
.flextable
|
|
8
|
+
= render partial: find_partial_for(relation, :filters), locals: { attributes: attributes }
|
|
8
9
|
|
|
9
10
|
- if resources.length > 0
|
|
10
|
-
|
|
11
|
+
.page-entries-info
|
|
11
12
|
= page_entries(resources)
|
|
12
|
-
|
|
13
|
-
= panel.body class: '' do
|
|
13
|
+
.page-list-body
|
|
14
14
|
= table_for(resources: resources, model: model, component: component, attributes: attributes)
|
|
15
15
|
|
|
16
16
|
- else
|
|
17
|
-
=
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
= t('para.list.empty')
|
|
17
|
+
= alert class: 'no-results', dismissable: false do
|
|
18
|
+
- if filtered?(attributes)
|
|
19
|
+
= t('para.list.no_results')
|
|
20
|
+
- else
|
|
21
|
+
= t('para.list.empty')
|
|
23
22
|
|
|
24
|
-
|
|
23
|
+
= add_button_for(component, relation, model) if allow_adding_resource
|
|
25
24
|
|
|
26
25
|
- if resources.total_count > resources.length
|
|
27
|
-
|
|
26
|
+
.page-list-footer
|
|
28
27
|
= paginate resources, theme: Para.config.pagination_theme
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
\.
|
|
2
|
+
%br.visible-xs
|
|
2
3
|
= t('helpers.page_entries_info.number_per_page')
|
|
3
4
|
\:
|
|
4
5
|
%span.dropdown
|
|
5
|
-
%button.btn.btn-default.btn-xs{ data: { toggle: 'dropdown' } }
|
|
6
|
+
%button.btn.btn-default.btn-shadow.btn-xs.dropdown-toggle{ data: { toggle: 'dropdown' } }
|
|
6
7
|
= current_per_page
|
|
7
|
-
%span.
|
|
8
|
+
%span.fa.fa-angle-down
|
|
8
9
|
%ul.dropdown-menu
|
|
9
10
|
- count_with_url.each do |count, url|
|
|
10
|
-
%li= link_to count, url
|
|
11
|
+
%li= link_to count, url
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
.btn-group.add-button
|
|
2
|
-
%button.btn.btn-primary.dropdown-toggle{ type: 'button', data: { toggle: 'dropdown' }, aria: { haspopup: true, expanded: false }}
|
|
1
|
+
.btn-group.add-button.dropdown
|
|
2
|
+
%button.btn.btn-primary.btn-shadow.dropdown-toggle{ type: 'button', data: { toggle: 'dropdown' }, aria: { haspopup: true, expanded: false }}
|
|
3
3
|
= t('para.shared.add')
|
|
4
|
-
%
|
|
4
|
+
%i.fa.fa-angle-down
|
|
5
5
|
|
|
6
6
|
%ul.dropdown-menu
|
|
7
7
|
- component.subclass_names.each do |subclass|
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
.page-content-wrap
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
.page-content-wrap
|
|
2
|
+
.page-list
|
|
3
|
+
.page-list-heading
|
|
4
4
|
= render partial: find_partial_for(relation, :actions), locals: { relation: relation, component: component, model: model, allow_adding_resource: allow_adding_resource }
|
|
5
5
|
|
|
6
6
|
- if resources.length > 0
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
= render partial: find_partial_for(model, 'tree_item'), collection: resources.roots, as: :root, locals: { model: model}
|
|
7
|
+
%ul.tree.root-tree{ data: { url: component.relation_path(model.model_name.route_key, action: :tree), :"max-depth" => max_depth_for(model) } }
|
|
8
|
+
= render partial: find_partial_for(model, 'tree_item'), collection: resources.roots, as: :root, locals: { model: model}
|
|
10
9
|
|
|
11
10
|
- else
|
|
12
|
-
=
|
|
13
|
-
=
|
|
14
|
-
= filtered?(attributes) ? t('para.list.no_results') : t('para.list.empty')
|
|
11
|
+
= alert class: '', dismissable: false do
|
|
12
|
+
= filtered?(attributes) ? t('para.list.no_results') : t('para.list.empty')
|
|
15
13
|
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
%li.node{ data: { id: root.id } }
|
|
2
2
|
.node-row
|
|
3
3
|
%span.handle
|
|
4
|
-
%i.
|
|
4
|
+
%i.sort-dots
|
|
5
5
|
%span.node-name
|
|
6
6
|
= root.name
|
|
7
7
|
|
|
8
|
-
.pull-right
|
|
9
|
-
= link_to @component.relation_path(root, action: :edit, return_to: request.fullpath), class: "btn btn-primary" do
|
|
8
|
+
.pull-right
|
|
9
|
+
= link_to @component.relation_path(root, action: :edit, return_to: request.fullpath), class: "btn btn-icon-primary btn-shadow btn-sm hint--left", :'aria-label' => ::I18n.t('para.shared.edit') do
|
|
10
10
|
%i.fa.fa-pencil
|
|
11
11
|
|
|
12
|
-
= link_to @component.relation_path(root), method: :delete, data: { confirm: ::I18n.t('para.list.delete_confirmation') }, class: 'btn btn-danger' do
|
|
13
|
-
%i.fa.fa-
|
|
12
|
+
= link_to @component.relation_path(root), method: :delete, data: { confirm: ::I18n.t('para.list.delete_confirmation') }, class: 'btn btn-icon-danger btn-shadow btn-sm hint--left', :'aria-label' => ::I18n.t('para.shared.destroy') do
|
|
13
|
+
%i.fa.fa-times
|
|
14
14
|
|
|
15
15
|
.clearfix
|
|
16
16
|
%ul.tree
|
|
17
17
|
%li.placeholder{ class: "#{ 'hidden' unless needs_placeholder?(root) }"}
|
|
18
18
|
= render partial: find_partial_for(model, 'tree_item'), collection: root.children.ordered, as: :root, locals: { model: model }
|
|
19
|
-
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
%tr.available-item{ data: { :'available-item-id' => result.id, :available => true, :'selected-item-template' => selected_item_for(result) } }
|
|
2
|
+
%td= resource_name(result)
|
|
3
|
+
|
|
4
|
+
%td.add-button-cell
|
|
5
|
+
= button_tag type: :button, class: 'btn btn-xs btn-success', data: { :'add-item' => true } do
|
|
6
|
+
= fa_icon 'arrow-right'
|
|
7
|
+
%span.badge= t('para.form.multi_select.available.already_selected')
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
= render partial: 'para/admin/search/result', collection: @results
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
= page_top_bar(title: @component.name, type: 'settings/show')
|
|
2
2
|
|
|
3
|
-
.page-content-wrap
|
|
3
|
+
.page-content-wrap.form-fixed-actions
|
|
4
4
|
= para_form_for @settings, url: admin_settings_path(@component) do |form|
|
|
5
5
|
= form.fieldset do
|
|
6
6
|
- @component.settings.each do |setting, type|
|
|
@@ -1,29 +1,18 @@
|
|
|
1
|
-
.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
.visible-sm.visible-xs
|
|
9
|
-
%i.fa.fa-home
|
|
1
|
+
.navbar.navbar-default.navbar-fixed-top{ data: { header: true } }
|
|
2
|
+
%button.navbar-toggle{ type: 'button', data: { toggle: 'offcanvas', target: '.navmenu' } }
|
|
3
|
+
%span.sr-only
|
|
4
|
+
= t('para.admin.toggle_navigation')
|
|
5
|
+
%span.icon-bar
|
|
6
|
+
%span.icon-bar
|
|
7
|
+
%span.icon-bar
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
= t('para.admin.toggle_navigation')
|
|
15
|
-
%span.icon-bar
|
|
16
|
-
%span.icon-bar
|
|
17
|
-
%span.icon-bar
|
|
18
|
-
|
|
19
|
-
%li.pull-right
|
|
20
|
-
= link_to destroy_admin_user_session_path, method: :delete do
|
|
21
|
-
%i.fa.fa-power-off
|
|
22
|
-
%span.text-hidden
|
|
23
|
-
= t('para.admin.sign_out')
|
|
24
|
-
|
|
25
|
-
%li.pull-right
|
|
26
|
-
= link_to root_path, target: "_blank" do
|
|
9
|
+
%ul.nav.navbar-nav.pull-right
|
|
10
|
+
%li
|
|
11
|
+
= link_to root_path, target: "_blank", class: 'hint--bottom-left btn-home btn-shadow', aria: { label: t('para.admin.back_to_app') } do
|
|
27
12
|
%i.fa.fa-home
|
|
28
|
-
|
|
29
|
-
|
|
13
|
+
|
|
14
|
+
%li
|
|
15
|
+
= link_to destroy_admin_user_session_path, method: :delete, class: 'hint--bottom-left btn-power-off btn-shadow', aria: { label: t('para.admin.sign_out') } do
|
|
16
|
+
%i.fa.fa-sign-out
|
|
17
|
+
|
|
18
|
+
= render_breadcrumbs
|