decidim-decidim_awesome 0.6.2 → 0.6.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +25 -6
- data/app/assets/config/decidim_admin_decidim_awesome_manifest.js +1 -0
- data/app/assets/javascripts/decidim/decidim_awesome/admin.js +1 -0
- data/app/assets/javascripts/decidim/decidim_awesome/admin/codemirror.js.es6 +15 -0
- data/app/assets/javascripts/decidim/decidim_awesome/admin/form_exit_warn.js.es6 +30 -0
- data/app/assets/javascripts/decidim/decidim_awesome/awesome_map/hashtags.js.es6 +48 -0
- data/app/assets/javascripts/decidim/decidim_awesome/awesome_map/layers.js.es6 +106 -0
- data/app/assets/javascripts/decidim/decidim_awesome/awesome_map/legacy_map.js.es6 +12 -19
- data/app/assets/javascripts/decidim/decidim_awesome/awesome_map/legacy_proposals.js.es6 +3 -2
- data/app/assets/javascripts/decidim/decidim_awesome/awesome_map/map.js.es6 +166 -170
- data/app/assets/javascripts/decidim/decidim_awesome/awesome_map/markers.js.es6 +56 -0
- data/app/assets/javascripts/decidim/decidim_awesome/awesome_map/meetings.js.es6 +4 -3
- data/app/assets/javascripts/decidim/decidim_awesome/awesome_map/proposals.js.es6 +17 -4
- data/app/assets/javascripts/decidim/decidim_awesome/awesome_map/utilities.js.es6 +48 -0
- data/app/assets/stylesheets/decidim/decidim_awesome/admin.scss +10 -3
- data/app/assets/stylesheets/decidim/decidim_awesome/admin/codemirror.scss +16 -0
- data/app/assets/stylesheets/decidim/decidim_awesome/awesome_map/leaflet.scss.erb +9 -0
- data/app/assets/stylesheets/decidim/decidim_awesome/awesome_map/map.scss +95 -0
- data/app/assets/stylesheets/decidim/decidim_awesome/editors/markdown_editor.scss +1 -1
- data/app/awesome_overrides/presenters/decidim/menu_presenter_override.rb +39 -0
- data/app/commands/decidim/decidim_awesome/admin/create_menu_hack.rb +51 -0
- data/app/commands/decidim/decidim_awesome/admin/create_scoped_style.rb +34 -0
- data/app/commands/decidim/decidim_awesome/admin/destroy_menu_hack.rb +47 -0
- data/app/commands/decidim/decidim_awesome/admin/destroy_scoped_style.rb +40 -0
- data/app/commands/decidim/decidim_awesome/admin/update_config.rb +5 -2
- data/app/commands/decidim/decidim_awesome/admin/update_menu_hack.rb +47 -0
- data/app/controllers/decidim/decidim_awesome/admin/application_controller.rb +4 -3
- data/app/controllers/decidim/decidim_awesome/admin/config_controller.rb +40 -4
- data/app/controllers/decidim/decidim_awesome/admin/constraints_controller.rb +13 -0
- data/app/controllers/decidim/decidim_awesome/admin/menu_hacks_controller.rb +116 -0
- data/app/forms/decidim/decidim_awesome/admin/config_form.rb +22 -2
- data/app/forms/decidim/decidim_awesome/admin/constraint_form.rb +0 -2
- data/app/forms/decidim/decidim_awesome/admin/intergram_form.rb +0 -2
- data/app/forms/decidim/decidim_awesome/admin/menu_form.rb +39 -0
- data/app/helpers/decidim/decidim_awesome/admin/config_constraints_helpers.rb +5 -1
- data/app/helpers/decidim/decidim_awesome/map_helper.rb +9 -3
- data/app/permissions/decidim/decidim_awesome/admin/permissions.rb +19 -0
- data/app/permissions/decidim/decidim_awesome/permissions.rb +2 -0
- data/app/views/decidim/decidim_awesome/admin/config/_form_styles.html.erb +28 -0
- data/app/views/decidim/decidim_awesome/admin/config/show.html.erb +2 -3
- data/app/views/decidim/decidim_awesome/admin/menu_hacks/_form.html.erb +7 -0
- data/app/views/decidim/decidim_awesome/admin/menu_hacks/edit.html.erb +13 -0
- data/app/views/decidim/decidim_awesome/admin/menu_hacks/index.html.erb +44 -0
- data/app/views/decidim/decidim_awesome/admin/menu_hacks/new.html.erb +13 -0
- data/app/views/decidim/decidim_awesome/map_component/map/show.html.erb +9 -6
- data/app/views/layouts/decidim/admin/decidim_awesome.html.erb +10 -0
- data/app/views/layouts/decidim/decidim_awesome/_awesome_config.html.erb +5 -2
- data/app/views/layouts/decidim/decidim_awesome/_custom_styles.html.erb +3 -0
- data/app/views/v0.22/layouts/decidim/_head.html.erb +1 -0
- data/app/views/v0.23/layouts/decidim/_head.html.erb +1 -0
- data/config/locales/ca.yml +70 -2
- data/config/locales/cs.yml +71 -3
- data/config/locales/en.yml +75 -2
- data/config/locales/es.yml +70 -2
- data/config/locales/eu.yml +225 -0
- data/config/locales/fr.yml +172 -104
- data/config/locales/nl.yml +225 -0
- data/config/locales/sv.yml +93 -25
- data/lib/decidim/decidim_awesome.rb +27 -0
- data/lib/decidim/decidim_awesome/admin_engine.rb +3 -0
- data/lib/decidim/decidim_awesome/awesome_helpers.rb +16 -0
- data/lib/decidim/decidim_awesome/checksums.yml +6 -0
- data/lib/decidim/decidim_awesome/config.rb +13 -12
- data/lib/decidim/decidim_awesome/engine.rb +1 -1
- data/lib/decidim/decidim_awesome/map_component/component.rb +7 -1
- data/lib/decidim/decidim_awesome/menu_hacker.rb +90 -0
- data/lib/decidim/decidim_awesome/test/shared_examples/config_examples.rb +4 -2
- data/lib/decidim/decidim_awesome/test/shared_examples/menu_hack_contexts.rb +71 -0
- data/lib/decidim/decidim_awesome/version.rb +1 -1
- data/vendor/assets/javascripts/codemirror.js +9801 -0
- data/vendor/assets/javascripts/jquery.truncate.js +105 -0
- data/vendor/assets/javascripts/keymap/sublime.js +720 -0
- data/vendor/assets/javascripts/mode/css/css.js +864 -0
- data/vendor/assets/stylesheets/codemirror.css +350 -0
- data/vendor/assets/stylesheets/inscrybmde.min.scss +180 -0
- metadata +48 -3
- data/vendor/assets/stylesheets/inscrybmde.min.css +0 -8
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module DecidimAwesome
|
5
|
+
module Admin
|
6
|
+
class MenuForm < Decidim::Form
|
7
|
+
include Decidim::TranslatableAttributes
|
8
|
+
VISIBILITY_STATES = %w(default hidden logged non_logged).freeze
|
9
|
+
|
10
|
+
translatable_attribute :raw_label, String
|
11
|
+
attribute :url, String
|
12
|
+
attribute :position, Integer
|
13
|
+
attribute :target, String
|
14
|
+
attribute :visibility, String
|
15
|
+
|
16
|
+
validates :raw_label, translatable_presence: true
|
17
|
+
validates :url, presence: true
|
18
|
+
validates :position, numericality: { greater_than: 0 }
|
19
|
+
validates :visibility, inclusion: { in: VISIBILITY_STATES }
|
20
|
+
validates :target, inclusion: { in: ["", "_blank"] }
|
21
|
+
|
22
|
+
# remove query string from native menu element (to avoid interactions with the locale in the generated url)
|
23
|
+
def map_model(model)
|
24
|
+
self.url = Addressable::URI.parse(model.url).path if model.native?
|
25
|
+
end
|
26
|
+
|
27
|
+
def to_params
|
28
|
+
{
|
29
|
+
label: raw_label,
|
30
|
+
position: position,
|
31
|
+
url: url,
|
32
|
+
target: target,
|
33
|
+
visibility: visibility
|
34
|
+
}
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -18,7 +18,11 @@ module Decidim
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def config_enabled?(var)
|
21
|
-
|
21
|
+
unless var.is_a?(Array)
|
22
|
+
return false unless DecidimAwesome.config.has_key?(var.to_sym)
|
23
|
+
|
24
|
+
return DecidimAwesome.config.send(var) != :disabled
|
25
|
+
end
|
22
26
|
|
23
27
|
var.detect { |v| DecidimAwesome.config.send(v) != :disabled }
|
24
28
|
end
|
@@ -24,11 +24,17 @@ module Decidim
|
|
24
24
|
}
|
25
25
|
end.to_json,
|
26
26
|
"data-collapsed" => current_component.settings.collapse,
|
27
|
+
"data-truncate" => current_component.settings.truncate,
|
28
|
+
"data-map-center" => current_component.settings.map_center,
|
29
|
+
"data-map-zoom" => current_component.settings.map_zoom,
|
30
|
+
"data-menu-amendments" => current_component.settings.menu_amendments,
|
31
|
+
"data-menu-meetings" => current_component.settings.menu_meetings,
|
32
|
+
"data-menu-hashtags" => current_component.settings.menu_hashtags,
|
27
33
|
"data-show-not-answered" => current_component.current_settings.show_not_answered,
|
28
34
|
"data-show-accepted" => current_component.current_settings.show_accepted,
|
29
35
|
"data-show-withdrawn" => current_component.current_settings.show_withdrawn,
|
30
|
-
"data-show-evaluating" => current_component.current_settings.show_evaluating
|
31
|
-
|
36
|
+
"data-show-evaluating" => current_component.current_settings.show_evaluating,
|
37
|
+
"data-show-rejected" => current_component.current_settings.show_rejected
|
32
38
|
}
|
33
39
|
content_tag(:div, map, map_html_options)
|
34
40
|
end
|
@@ -54,7 +60,7 @@ module Decidim
|
|
54
60
|
"data-show-accepted" => current_component.current_settings.show_accepted,
|
55
61
|
"data-show-withdrawn" => current_component.current_settings.show_withdrawn,
|
56
62
|
"data-show-evaluating" => current_component.current_settings.show_evaluating,
|
57
|
-
|
63
|
+
"data-show-rejected" => current_component.current_settings.show_rejected,
|
58
64
|
"data-markers-data" => [].to_json
|
59
65
|
}
|
60
66
|
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module DecidimAwesome
|
5
|
+
module Admin
|
6
|
+
class Permissions < Decidim::DefaultPermissions
|
7
|
+
include ConfigConstraintsHelpers
|
8
|
+
|
9
|
+
def permissions
|
10
|
+
return permission_action if permission_action.scope != :admin
|
11
|
+
|
12
|
+
toggle_allow(config_enabled?(permission_action.subject)) if permission_action.action == :edit_config
|
13
|
+
|
14
|
+
permission_action
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<div class="row column decidim_awesome-form">
|
2
|
+
<% if config_enabled? :scoped_styles %>
|
3
|
+
<p class="help-text"><%= t("help.scoped_styles", scope: "decidim.decidim_awesome.admin.config.form") %></p>
|
4
|
+
<p class="help-text">
|
5
|
+
<%= t("help.scoped_styles_variables", scope: "decidim.decidim_awesome.admin.config.form") %><br>
|
6
|
+
<% [:primary, :secondary, :success, :warning, :alert, :highlight, :highlight_alternative].each do |color| %>
|
7
|
+
var(--<%= color %>),
|
8
|
+
<% end %>
|
9
|
+
</p>
|
10
|
+
|
11
|
+
<% form.object.scoped_styles&.each do |key, value| %>
|
12
|
+
<div class="scoped-style" data-key="<%= key %>">
|
13
|
+
<%= label_tag :scoped_styles do %>
|
14
|
+
<%= t("config.scoped_styles", scope: "activemodel.attributes", id: key) %>
|
15
|
+
<%= link_to t(".remove"), decidim_admin_decidim_awesome.destroy_scoped_style_path(key: key), method: :post, class: "float-right", data: { confirm: t(".sure_to_remove") } %>
|
16
|
+
<% end %>
|
17
|
+
<p class="form-error is-visible" id="custom-style-error-<%= $key %>"><%= errors[key.to_sym].join("<br>") if errors %></p>
|
18
|
+
<%= text_area_tag key, value, name: "config[scoped_styles][#{key}]", rows: 5 %>
|
19
|
+
<%= render(partial: "decidim/decidim_awesome/admin/config/constraints", locals: { key: "scoped_style_#{key}", constraints: constraints_for("scoped_style_#{key}") }) %>
|
20
|
+
</div>
|
21
|
+
<% end %>
|
22
|
+
|
23
|
+
<%= link_to t(".new"), decidim_admin_decidim_awesome.new_scoped_style_path, method: :post %>
|
24
|
+
|
25
|
+
<% end %>
|
26
|
+
</div>
|
27
|
+
|
28
|
+
<%= javascript_include_tag "decidim/decidim_awesome/admin/form_exit_warn" %>
|
@@ -1,15 +1,14 @@
|
|
1
|
-
<%= decidim_form_for(@form, method: :patch, url: decidim_admin_decidim_awesome.config_path(params[:var])) do |f| %>
|
1
|
+
<%= decidim_form_for(@form, method: :patch, url: decidim_admin_decidim_awesome.config_path(params[:var]), html: { class: "awesome-edit-config" }, data: { "safe-path" => decidim_admin_decidim_awesome.config_path(params[:var]) }) do |f| %>
|
2
2
|
<div class="card">
|
3
3
|
<div class="card-divider">
|
4
4
|
<h2 class="card-title"><%= t(".title", setting: params[:var]) %></h2>
|
5
5
|
</div>
|
6
6
|
<div class="card-section">
|
7
|
-
<%= render partial: "form_#{params[:var]}", locals: { form: f } %>
|
7
|
+
<%= render partial: "form_#{params[:var]}", locals: { form: f, errors: defined?(errors) ? errors : nil } %>
|
8
8
|
</div>
|
9
9
|
</div>
|
10
10
|
<div class="button--double form-general-submit">
|
11
11
|
<%= f.submit t(".update") %>
|
12
12
|
</div>
|
13
13
|
<% end %>
|
14
|
-
|
15
14
|
<%= render partial: "modal" %>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<div>
|
2
|
+
<%= form.translated :text_field, :raw_label, help_text: t(".label_help") %>
|
3
|
+
<%= form.text_field :url , readonly: form.object.url.present? %>
|
4
|
+
<%= form.text_field :position %>
|
5
|
+
<%= form.select :target, target_options %>
|
6
|
+
<%= form.select :visibility, visibility_options %>
|
7
|
+
</div>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<%= decidim_form_for(@form, url: menu_hack_path, method: :patch) do |f| %>
|
2
|
+
<div class="card">
|
3
|
+
<div class="card-divider">
|
4
|
+
<h2 class="card-title"><%= t ".title" %></h2>
|
5
|
+
</div>
|
6
|
+
<div class="card-section">
|
7
|
+
<%= render partial: "form", object: f %>
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
<div class="button--double form-general-submit">
|
11
|
+
<%= f.submit t(".save") %>
|
12
|
+
</div>
|
13
|
+
<% end %>
|
@@ -0,0 +1,44 @@
|
|
1
|
+
<div class="card">
|
2
|
+
<div class="card-divider">
|
3
|
+
<h2 class="card-title">
|
4
|
+
<%= t(".title") %>
|
5
|
+
<%= link_to t(".new"), decidim_admin_decidim_awesome.new_menu_hack_path, class: "button tiny button--title" %>
|
6
|
+
</h2>
|
7
|
+
</div>
|
8
|
+
<div class="card-section">
|
9
|
+
<div class="row column decidim_awesome-form">
|
10
|
+
<table class="table-list">
|
11
|
+
<thead>
|
12
|
+
<tr>
|
13
|
+
<th><%= t("menu.raw_label", scope: "activemodel.attributes") %></th>
|
14
|
+
<th><%= t("menu.url", scope: "activemodel.attributes") %></th>
|
15
|
+
<th><%= t("menu.position", scope: "activemodel.attributes") %></th>
|
16
|
+
<th><%= t("menu.target", scope: "activemodel.attributes") %></th>
|
17
|
+
<th><%= t("menu.visibility", scope: "activemodel.attributes") %></th>
|
18
|
+
<th class="actions"></th>
|
19
|
+
</tr>
|
20
|
+
</thead>
|
21
|
+
<tbody>
|
22
|
+
<% current_items.each do |item| %>
|
23
|
+
<tr<%= " class=menu_hack-addition" if item.try(:overrided?) == false %>>
|
24
|
+
<td><%= item.label %></td>
|
25
|
+
<td><%= item.url %></td>
|
26
|
+
<td><%= item.position %></td>
|
27
|
+
<td><%= target_options.invert[item.try(:target)||""] %></td>
|
28
|
+
<td><%= visibility_options.invert[item.try(:visibility)] %></td>
|
29
|
+
<td class="table-list__actions">
|
30
|
+
<%= icon_link_to "pencil", decidim_admin_decidim_awesome.edit_menu_hack_path(md5(item.url)), t(".edit"), class: "action-icon--edit" %>
|
31
|
+
<% if item.respond_to?(:overrided?) %>
|
32
|
+
<%= icon_link_to "circle-x", decidim_admin_decidim_awesome.menu_hack_path(md5(item.url)), t(".remove#{'_hack' if item.overrided?}"), method: :delete, class: "action-icon--remove", data: { confirm: t(".confirm_destroy") } %>
|
33
|
+
<% else %>
|
34
|
+
<span class="action-icon">
|
35
|
+
<%= icon "circle-x", class: "action-icon action-icon--disabled", role: "img" %>
|
36
|
+
</span>
|
37
|
+
<% end %>
|
38
|
+
</td>
|
39
|
+
</tr>
|
40
|
+
<% end %>
|
41
|
+
</tbody>
|
42
|
+
</table>
|
43
|
+
</div>
|
44
|
+
</div>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<%= decidim_form_for(@form, url: menu_hacks_path) do |f| %>
|
2
|
+
<div class="card">
|
3
|
+
<div class="card-divider">
|
4
|
+
<h2 class="card-title"><%= t ".title" %></h2>
|
5
|
+
</div>
|
6
|
+
<div class="card-section">
|
7
|
+
<%= render partial: "form", object: f %>
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
<div class="button--double form-general-submit">
|
11
|
+
<%= f.submit t(".save") %>
|
12
|
+
</div>
|
13
|
+
<% end %>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<div class="map-info__content">
|
7
7
|
<h3>{{>title}}</h3>
|
8
8
|
<div id="bodyContent">
|
9
|
-
<
|
9
|
+
<div class="description">{{:body}}</div>
|
10
10
|
<div class="map__date-adress">
|
11
11
|
<div class="address card__extra">
|
12
12
|
<div class="address__icon">{{:icon}}</div>
|
@@ -28,7 +28,7 @@
|
|
28
28
|
<div class="map-info__content">
|
29
29
|
<h3>{{>title.translation}}</h3>
|
30
30
|
<div id="bodyContent">
|
31
|
-
<
|
31
|
+
<div class="description">{{:body.translation}}</div>
|
32
32
|
<div class="map__date-adress">
|
33
33
|
<div class="address card__extra">
|
34
34
|
<div class="address__icon">{{:icon}}</div>
|
@@ -50,7 +50,7 @@
|
|
50
50
|
<div class="map-info__content">
|
51
51
|
<h3>{{>title.translation}}</h3>
|
52
52
|
<div id="bodyContent">
|
53
|
-
<
|
53
|
+
<div class="description">{{:description.translation}}</div>
|
54
54
|
<div class="map__date-adress">
|
55
55
|
<div class="card__datetime">
|
56
56
|
<div class="card__datetime__date">
|
@@ -78,14 +78,17 @@
|
|
78
78
|
|
79
79
|
<%= stylesheet_link_tag "decidim/decidim_awesome/awesome_map/map" %>
|
80
80
|
<style type="text/css">
|
81
|
-
#map {
|
81
|
+
#map, .wrapper #map {
|
82
82
|
height: <%= current_component.settings.map_height %>px;
|
83
83
|
}
|
84
84
|
<% current_categories.each do |category| %>
|
85
|
-
|
86
|
-
|
85
|
+
/* TODO: remove when diching 0.22 */
|
86
|
+
i.awesome_map-category_<%= category[:id] %> {
|
87
87
|
margin-left: <%= category[:parent] ? "1" : "0" %>em;
|
88
88
|
}
|
89
|
+
.awesome_map-category-<%= category[:id] %> i {
|
90
|
+
background-color: <%= category[:color] %> !important;
|
91
|
+
}
|
89
92
|
<% end %>
|
90
93
|
</style>
|
91
94
|
<script>
|
@@ -16,6 +16,11 @@
|
|
16
16
|
<%= aria_selected_link_to I18n.t("menu.surveys", scope: "decidim.decidim_awesome.admin"), decidim_admin_decidim_awesome.config_path(:surveys) %>
|
17
17
|
</li>
|
18
18
|
<% end %>
|
19
|
+
<% if config_enabled? :scoped_styles %>
|
20
|
+
<li <% if is_active_link?(decidim_admin_decidim_awesome.config_path(:styles)) %> class="is-active" <% end %>>
|
21
|
+
<%= aria_selected_link_to I18n.t("menu.styles", scope: "decidim.decidim_awesome.admin"), decidim_admin_decidim_awesome.config_path(:styles) %>
|
22
|
+
</li>
|
23
|
+
<% end %>
|
19
24
|
<% if config_enabled? :allow_images_in_proposals %>
|
20
25
|
<li <% if is_active_link?(decidim_admin_decidim_awesome.config_path(:proposals)) %> class="is-active" <% end %>>
|
21
26
|
<%= aria_selected_link_to I18n.t("menu.proposals", scope: "decidim.decidim_awesome.admin"), decidim_admin_decidim_awesome.config_path(:proposals) %>
|
@@ -26,6 +31,11 @@
|
|
26
31
|
<%= aria_selected_link_to I18n.t("menu.livechat", scope: "decidim.decidim_awesome.admin"), decidim_admin_decidim_awesome.config_path(:livechat) %>
|
27
32
|
</li>
|
28
33
|
<% end %>
|
34
|
+
<% if config_enabled? :menu %>
|
35
|
+
<li <% if is_active_link?(decidim_admin_decidim_awesome.menu_hacks_path) %> class="is-active" <% end %>>
|
36
|
+
<%= aria_selected_link_to I18n.t("menu.menu_hacks", scope: "decidim.decidim_awesome.admin"), decidim_admin_decidim_awesome.menu_hacks_path %>
|
37
|
+
</li>
|
38
|
+
<% end %>
|
29
39
|
<li <% if is_active_link?(decidim_admin_decidim_awesome.checks_path) %> class="is-active" <% end %>>
|
30
40
|
<%= aria_selected_link_to I18n.t("menu.checks", scope: "decidim.decidim_awesome.admin"), decidim_admin_decidim_awesome.checks_path %>
|
31
41
|
</li>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<script>
|
2
|
-
window.DecidimAwesome = <%=
|
2
|
+
window.DecidimAwesome = <%= javascript_config_vars %>;
|
3
3
|
window.DecidimAwesome.editor_uploader_path = "<%= decidim_decidim_awesome.editor_images_path %>";
|
4
4
|
window.DecidimAwesome.texts = {
|
5
5
|
"drag_and_drop_image": "<%= j t(".drag_and_drop_image") %>",
|
@@ -7,9 +7,12 @@ window.DecidimAwesome.texts = {
|
|
7
7
|
"autosaved_error": "<%= j t(".autosaved_error") %>",
|
8
8
|
"autosaved_retrieved": "<%= j t(".autosaved_retrieved") %>",
|
9
9
|
"categories": "<%= j t(".categories") %>",
|
10
|
+
"hashtags": "<%= j t(".hashtags") %>",
|
10
11
|
"proposals": "<%= j t(".proposals") %>",
|
11
12
|
"meetings": "<%= j t(".meetings") %>",
|
12
|
-
"amendments": "<%= j t(".amendments") %>"
|
13
|
+
"amendments": "<%= j t(".amendments") %>",
|
14
|
+
"items": "<%= j t(".items") %>",
|
15
|
+
"select_deselect_all": "<%= j t(".select_deselect_all") %>"
|
13
16
|
}
|
14
17
|
<% if defined? questionnaire %>
|
15
18
|
window.DecidimAwesome.current_questionnaire = "edit_questionnaire_<%= questionnaire.id %>";
|
@@ -23,6 +23,7 @@
|
|
23
23
|
|
24
24
|
<%= stylesheet_link_tag "decidim/decidim_awesome/application", media: "all" %>
|
25
25
|
<%= stylesheet_link_tag(tenant_stylesheets, media: "all") if tenant_stylesheets %>
|
26
|
+
<%= render(partial: "layouts/decidim/decidim_awesome/custom_styles") if awesome_custom_styles %>
|
26
27
|
|
27
28
|
<%= organization_colors %>
|
28
29
|
<%= javascript_include_tag "decidim/confirm" %>
|
@@ -23,6 +23,7 @@
|
|
23
23
|
|
24
24
|
<%= stylesheet_link_tag "decidim/decidim_awesome/application", media: "all" %>
|
25
25
|
<%= stylesheet_link_tag(tenant_stylesheets, media: "all") if tenant_stylesheets %>
|
26
|
+
<%= render(partial: "layouts/decidim/decidim_awesome/custom_styles") if awesome_custom_styles %>
|
26
27
|
|
27
28
|
<%= organization_colors %>
|
28
29
|
<%= javascript_include_tag "decidim/confirm" %>
|
data/config/locales/ca.yml
CHANGED
@@ -17,12 +17,19 @@ ca:
|
|
17
17
|
intergram_title_closed: Títol del xat tancat
|
18
18
|
intergram_title_open: Títol del xat obert
|
19
19
|
intergram_use_floating_button: Si està marcat, el xat tancat és sempre un botó en lloc d'un text
|
20
|
+
scoped_styles: 'Estils personalitzats #%{id}'
|
20
21
|
use_markdown_editor: Fes servir l'editor Markdown en comptes de l'editor HTML
|
21
22
|
constraint:
|
22
23
|
component_id: o específicament a
|
23
24
|
component_manifest: Només en components de tipus
|
24
25
|
participatory_space_manifest: Aplica-ho a espais participatius de tipus
|
25
26
|
participatory_space_slug: Només a
|
27
|
+
menu:
|
28
|
+
position: Posició
|
29
|
+
raw_label: Etiqueta
|
30
|
+
target: Obre a
|
31
|
+
url: URL
|
32
|
+
visibility: Visibilitat
|
26
33
|
decidim:
|
27
34
|
admin:
|
28
35
|
menu:
|
@@ -46,7 +53,15 @@ ca:
|
|
46
53
|
global:
|
47
54
|
announcement: Anunci
|
48
55
|
collapse: Inicia amb el menú col·lapsat
|
56
|
+
map_center: Centre del mapa (Latitud, Longitud)
|
57
|
+
map_center_help: 'Utilitza un punt per marcar els decimals (pe: 41.38879, 2.15899). Deixa aquest camp buit per incloure automàticament tots els marcadors'
|
49
58
|
map_height: Alçada del mapa (px)
|
59
|
+
map_zoom: Zoom (qualsevol nombre entre 0 i 18)
|
60
|
+
map_zoom_help: Només s’aplica si es defineix el punt central del mapa
|
61
|
+
menu_amendments: Mostrar esmenes
|
62
|
+
menu_hashtags: Mostrar el menú de cerca per hashtag
|
63
|
+
menu_meetings: Mostrar trobades
|
64
|
+
truncate: Nombre màxim de caràcters per les descripcions emergents
|
50
65
|
step:
|
51
66
|
announcement: Anunci
|
52
67
|
show_accepted: Mostra les propostes acceptades
|
@@ -75,8 +90,16 @@ ca:
|
|
75
90
|
delete: Esborra
|
76
91
|
edit: Edita
|
77
92
|
title: 'S''aplica només en aquests casos:'
|
93
|
+
create_scoped_style:
|
94
|
+
error: Error en crear una nova caixa CSS! %{error}
|
95
|
+
success: Caixa CSS %{key} creada correctament
|
96
|
+
destroy_scoped_style:
|
97
|
+
error: Error en eliminar una caixa CSS! %{error}
|
98
|
+
success: Caixa CSS %{key} eliminada correctament
|
78
99
|
experimental: Opcions experimentals
|
79
100
|
form:
|
101
|
+
errors:
|
102
|
+
incorrect_css: 'El CSS de la caixa #%{key} no és vàlid'
|
80
103
|
help:
|
81
104
|
allow_images_in_full_editor: Això afegirà un botó per pujar imatges a l'editor HTML complet.
|
82
105
|
allow_images_in_markdown_editor: Això permetrà a l'editor markdown pujar imatges amb "copiar i enganxar" o "arrastrant i deixant anar".
|
@@ -86,7 +109,13 @@ ca:
|
|
86
109
|
drag_and_drop_supported: Quan es pugin imatges, es pot fer a través del mètode de "arrossegar i deixar anar". Les imatges seran pujades al servidor i inserides com recursos externs (no es fa servir codificació en línia base64).
|
87
110
|
intergram_about: Intergram utilitza el Telegram Messenger per gestionar un widget de xat en viu de suport incrustat a la part inferior de la pàgina.
|
88
111
|
intergram_config: 'Convida a la <a href="https://web.telegram.org/#/im?p=@IntergramBot">@Intergram bot</a> al teu grup o comença un xat amb ella directament. <a href="https://github.com/idoco/intergram#embed-intergram-in-your-website-with-these-2-simple-steps">+ info</a>'
|
112
|
+
scoped_styles: Crea CSS personalitzats que només s'apliquin a determinades parts de la web pública (per fer-ho, utilitza l'editor de restriccions)
|
113
|
+
scoped_styles_variables: 'Pots fer servir les següents variables CSS pels colors personalitzats de l''organització:'
|
89
114
|
use_markdown_editor: Això substituirà l'editor HTML (Quill), en el seu lloc s'utilitzarà un editor Markdown tant a l'admin com a la pàgina pública per processar el text (a la base de dades el text es desarà com a markdown)
|
115
|
+
form_styles:
|
116
|
+
new: Afegeix una nova caixa CSS
|
117
|
+
remove: Elimina aquesta caixa CSS
|
118
|
+
sure_to_remove: Estàs segura que vols eliminar aquesta caixa CSS?
|
90
119
|
rich_text_editor_in_public_views: 'NOTA: "Editor de text enriquit per participants" està habilitat a la configuració general, aquesta opció no aplicarà. Feu servir les modificacions d''editor general per afegir imatges a les propostes.'
|
91
120
|
show:
|
92
121
|
title: Modificacions per %{setting}
|
@@ -94,7 +123,7 @@ ca:
|
|
94
123
|
system: A tot arreu excepte espais participatius
|
95
124
|
update:
|
96
125
|
error: Error actualitzant la configuració! %{error}
|
97
|
-
success: Configuració actualitzada correctament
|
126
|
+
success: Configuració actualitzada correctament
|
98
127
|
constraints:
|
99
128
|
create:
|
100
129
|
error: Error creant una nova restricció
|
@@ -119,8 +148,44 @@ ca:
|
|
119
148
|
checks: Compatibilitat de sistema
|
120
149
|
editors: Modificacions als editors
|
121
150
|
livechat: Xat en directe
|
151
|
+
menu_hacks: Retocs al menú
|
122
152
|
proposals: Modificacions a propostes
|
153
|
+
styles: Estils personalitzats
|
123
154
|
surveys: Formularis i enquestes
|
155
|
+
menu_hacks:
|
156
|
+
create:
|
157
|
+
error: 'Error en crear un nou ítem de menú: %{error}'
|
158
|
+
success: Ítem de menú creat correctament
|
159
|
+
destroy:
|
160
|
+
error: 'Error en eliminar l''ítem de menú: %{error}'
|
161
|
+
success: Ítem de menú eliminat correctament
|
162
|
+
edit:
|
163
|
+
save: Desar
|
164
|
+
title: Editar ítem de menú
|
165
|
+
form:
|
166
|
+
label_help: Les traduccions no es detecten automàticament, asegura't de completar tots els camps!
|
167
|
+
target:
|
168
|
+
blank: Nova finestra
|
169
|
+
self: La mateixa finestra
|
170
|
+
visibility:
|
171
|
+
default: Visible
|
172
|
+
hidden: Sempre ocult
|
173
|
+
logged: Només visible per usuàries loguejades
|
174
|
+
non_logged: Només visible per usuàries no loguejades
|
175
|
+
index:
|
176
|
+
confirm_destroy: Estàs segura que vols eliminar aquest retoc?
|
177
|
+
edit: Editar
|
178
|
+
new: Nou ítem
|
179
|
+
remove: Eliminar addició
|
180
|
+
remove_hack: Eliminar retoc
|
181
|
+
title: Menú principal
|
182
|
+
new:
|
183
|
+
save: Desar
|
184
|
+
title: Nou ítem de menú
|
185
|
+
update:
|
186
|
+
error: 'Error en actualitzar l''ítem de menú: %{error}'
|
187
|
+
success: Ítem de menú actualitzat correctament
|
188
|
+
url_exists: Aquesta URL ha estat configurada en un altre ítem de menú, si us plau edita'l en comptes de crear-ne un de nou.
|
124
189
|
config:
|
125
190
|
intergram:
|
126
191
|
auto_no_response: Sembla que no hi ha ningú disponible per a respondre en aquest moment. Si us plau, indica'ns com et podem contactar i ens comunicarem amb tu tan aviat com ens sigui possible.
|
@@ -132,7 +197,7 @@ ca:
|
|
132
197
|
editor_images:
|
133
198
|
create:
|
134
199
|
error: Error en pujar la imatge!
|
135
|
-
success:
|
200
|
+
success: Imatge pujada correctament
|
136
201
|
map_component:
|
137
202
|
map:
|
138
203
|
error:
|
@@ -153,5 +218,8 @@ ca:
|
|
153
218
|
autosaved_success: Dades desades a l'emmagatzematge local
|
154
219
|
categories: Categories
|
155
220
|
drag_and_drop_image: Afegeix imatges "arrastrant i deixant anar" o bé enganxant-les.
|
221
|
+
hashtags: Hashtags
|
222
|
+
items: elements
|
156
223
|
meetings: Trobades
|
157
224
|
proposals: Propostes
|
225
|
+
select_deselect_all: Seleccionar/desseleccionar tot
|